Thermistors are a low-cost way to measure temperature, especially if you are not looking for crazy levels of precision. They are simply a resistor whose value varies with temperature. The effect was discovered by Michael Faraday in 1893, although commercial components were not available until a hundred years after this. Faraday observed the effect in silver sulphide, however modern thermistors tend to be made of ceramic or polymer materials.
The most common types have a negative temperature coefficient (NTC) which means their resistance decreases with increasing temperatures. The biggest disadvantage of thermistors compared say to a more expensive resistance temperature detector (RTD) is that their temperature-resistance characteristic is not linear.
Figure 1 shows the relationship between temperature and resistance of a typical device. This is a Vishay NTCALUG39A103G model with a nominal resistance of 10kW. It is bult into an aluminium lug suitable for mounting to a heatsink, for example. The datasheet provides the nominal resistance which is measured at a nominal temperature (usually 25°C) along with a figure for Beta (b) of 3,984 Kelvin. Together, these figures describe the resistance-temperature relationship via the nasty exponential function below.
In this equation RT is the resistance at any given temperature T, R0 is the nominal resistance mentioned above, andT0 is the temperature that the nominal resistance is measured. Note that all temperatures are in Kelvin, so you need to add 273 to the temperatures in Celsius to use this equation.
To go the other way and calculate the temperature given the resistance, it helps to introduce another variable, R∞. This is the resistance at T = ∞, which makes no sense practically, but reduces the above equation to:
This is 15.6 × 10-3Ω for our device. We can use this to calculate the temperature given the resistance of our thermistor:
In practice, you will probably convert the thermistor resistance to a voltage using a voltage divider as shown in Figure 2. By putting the NTC thermistor in the upper part of the divider we get a voltage that increases with temperature as shown in Figure 3. We have used a 10kW series resistor and a 10.0V source. The figure shows the output voltage takes an S-shaped profile around the red dotted linear best fit line.
If we just wanted to detect an overtemperature condition on a heatsink, this would be all we need to do. We would just use a comparator to detect the voltage rising above a predetermined threshold. If we wanted to know the actual temperature, we will need to linearise this curve. We could do this by digitising the voltage and linearising in firmware with either a look-up table or a piecewise linear approximation.
If we want to stay in the analog world, we can improve the linearity of the voltage with respect to temperature with the addition of a single resistor in parallel with the thermistor as shown in Figure 4.
If you choose the parallel resistor Rp such that its value is about equal to the thermistor value at the centre of the range of interest, you will get a close-ish approximation of a linear voltage-temperature relationship as shown in Figure 5. In my case I chose Rp to be 4.3kW—around the value of the thermistor at 45°C. You can see the curve much better approximates the red dotted linear best fit line.
Of course, this improvement in linearity comes at the expense of a reduced dynamic range. You can optimize the dynamic range and linearity by careful adjustment of the series and parallel resistors. You will also get better results if you are only interested in a narrow range of temperatures. Like everything in electronics, it’s all about trade-offs and compromises.
“Thermistor.” In Wikipedia, June 7, 2021. https://en.wikipedia.org/w/index.php?title=Thermistor&oldid=1027407366.
“NTCALUG03A / LUG39A Mini Lug Series” Vishay, https://www.vishay.com/docs/29114/ntcalug3.pdf
“Thermistor App Notes” Siemens Matsushita Components, https://users.physics.unc.edu/~sean/Phys351/techresource/data_sheets/thermistor%20app%20notes.pdf