Temperature sensor (NTC)


A temperature sensor used in the CanSat is the NTCLE203E3103JBO manufactured by Vishay/BC components. It is a NTC, or Negative Temperature Coefficient thermistor. The thermal conductivity rises with increasing temperature. Most ceramic materials exhibit such behaviour. Other materials however will have an opposite behaviour, with rising temperature the conductivity decreases. Most NTC thermistors are therefore made out of semi conductive materials, something in between an insulator and a conductor, with some special qualities.

Simply put, when the material is heated, the electrons in the material are energized, so even more electrons are able to move around, thus the material can conduct electricity more easily. When a material can conduct electricity more easily its resistance will decrease. Increased temperature will therefore lead to decreased resistance. This inverse relationship is the reason why this sensor is called a Negative Temperature Coefficient (NTC) resistor.

NTC measuring circuit.

On the sensor board, the temperature sensor is connected in series with a resistor (R1) which has a constant resistance of f.ex. 10 kΩ, as seen in the simplified diagram shown in figure to the right. V_{cc} is either 5V or 3,3V depending on what Arduino board you are using. For the CanSat shield and an Arduino Uno it is 5V. When resistors are connected in series the current in the circuit will be the same everywhere. The total resistance R_T in the circuit can be calculated by:

 R_T = R_1 +R_{NTC}

The current in the circuit is I = \frac{U}{R_T}  = \frac{V_{cc}}{R_1 + R_{NTC}}

The same current, I, flows through the fixed resistor R_1 and through the NTC giving a voltage V_{out} across the NTC. This can be put into the following equation:

I_{NTC} = \frac{V_{cc}}{R_{NTC}+R_1}  =\frac{V_{out}}{R_{NTC}}

From the above equation, we can find an expression for R_{NTC} :

 \frac{V_{cc}}{V_{out}}  =\frac{R_{NTC}+R_1}{R_{NTC}} = 1 + \frac{R_1}{R_NTC}

And therefore

 \frac{V_{cc} - V_{out}}{V_{out}} = \frac{R_1}{R_{NTC}}

and finally

R_{NTC} = \frac{V_{out}}{V_{cc} - V_{out}}\cdot R_1 .

To get a complete transfer function you will also need the relation between the temperature and the resistance of the sensor (R_{NTC}). You can find this in the sensor datasheet.

Here you can find an example of how to write the code for converting sensor voltage into temperature C using the Steinhart-Hart equation from the sensor datasheet. Note, that this example’s fixed resistor value, the equation constants and the ADC resolution (10 bits or 12 bits) perhaps need to be adjusted to fit your specific case.