eChook GPT Documentation
  • Welcome to the eChook nano documentation
  • System Overview
  • The eChook Nano Kit
    • Versions
  • Build Instructions (Kit V1.x)
    • Build Steps Photos
    • First Power On
  • Build Instructions (Kit V2+)
  • Programming the Arduino
    • Install Arduino IDE
    • Arduino Drivers
    • Download the eChook Arduino Code
    • Programming the Arduino
  • Setting up the Bluetooth
    • Pairing with a phone
  • Connecting the eChook to the Car
    • Power and Voltage
    • Current Sensor
    • Throttle Input
    • External Buttons and Brake
    • Temperature Sensors
    • Wheel and Motor RPM
    • PWM Output
  • Calibrating the eChook
    • Wheel Speed and Motor RPM
    • Temperature
    • Voltage
    • Current
  • Using the App
    • Pair eChook to Phone
    • Setting up the App
    • Logging Data
    • Lap Counting
  • Telemetry (Live Data)
    • eChook Live Data
    • Node-Red Integration
    • DIY Web Dashboard
  • Using the Data
  • Circuit Schematics
    • 12 and 24v Inputs
    • Temperature Inputs
    • Bluetooth Module
    • Throttle Input
    • Current Input
    • Button Inputs
    • RPM Inputs
    • PWM Output
    • Power Regulator
    • Expansion Port
  • All about the Arduino nano
    • The eChook nano Code
  • Bluetooth Communication
    • Bluetooth Packet Encoding
    • Bluetooth Packet Decoding
  • Experimental Section
    • GUI Calibration
  • eChook Accessories
  • DIY eChook
  • Spare Parts
  • Troubleshooting
  • Contributing
Powered by GitBook
On this page

Was this helpful?

  1. Calibrating the eChook

Temperature

PreviousWheel Speed and Motor RPMNextVoltage

Last updated 6 years ago

Was this helpful?

These are the most involved sensors to calibrate, primarily due to the response of the thermistors being non-linear. A typical 10kΩ thermistor resistance vs temperature graph is shown below:

Note that the 10k refers to the resistance at room temperature (25°), and that the resistance decreases as temperature increases. This is called a negative temperature coefficient, or NTC. The eChook board uses a 10k NTC Thermistor.

On the board, the thermistor completes the lower half of a potential divider circuit with a 10kΩ resistor, as such the voltage at the output of the potentiometer falls as the temperature of the thermistor increases.

Enter the three temperature and resistance measurements and copy the A, B and C coefficients from the calculator into the calibration.h file.

//Board and Sensor Specific Calibrations
const float CAL_THERM_A = 0.001871300068; //Steinhart-Hart constants - See documentation for calibration method
const float CAL_THERM_B = 0.00009436080271;
const float CAL_THERM_C = 0.0000007954800125;

To get the default calibration we used a pan of water, digital thermometer and a multimeter. We wrapped the thermistor in cling film to prevent the water conducting across the legs and altering the reading.

To translate this voltage to a temperature, the resistance curve of the specific thermistor being used is needed. Due to tolerances, this is subtly different even between identical thermistors. To do this the eChook uses the equation which uses three coefficients calculated from the thermistor to convert the resistance seen to an accurate temperature reading.

The first step in calibrating the thermistor is calculating these coefficients. Thankfully there’s a useful online calculator to help! All that is required is three measurements of the resistance of the thermistor at different, known temperatures. The calculator can be found and looks like this:

Steinhart–Hart
here