This blog post describes a really simple (near-trivial) project – wiring up a thermistor!
Thermistors are great, but have a limited operational temperature range compared to (say) thermocouples. The aim was to use a thermistor for fast, accurate ambient temperature measurement because this is handy for checking the room for those who are slightly obsessive over their environmental temperature (i.e. me : ) or for recording the ambient conditions when performing an experiment. The final sensor is intended to provide +- 0.15 degree C accuracy in the room temperature range.
This photo shows the sensor in use; the measured voltage of 0.759V means a measured room temperature of (70.366 * 0.759) - 34.152 = 19.26 degrees C, where 70.366 and 34.152 are constants. This is explained in the text below.
The actual temperature of an object, or the perceived temperature for a person, isn’t solely related to the air temperature, but I figured it would be a starting point! The temperature of an object can differ from air temperature, depending on any radiant heat being absorbed, and how close the person or object is to another hot or cold entity – such as a cold wall nearby.
In theory all that is needed is a thermistor and a multimeter, and a table to refer to, to convert the measured resistance into a temperature value. Thermistors are non-linear so a table or the Steinhart-Hart formula is normally used. The resultant value based on the formula can be extremely accurate, in theory down to hundredths or even thousandths of a degree! (Note - ADC resolution matters! Even if [say] a 24-bit ADC is used, as will be seen below, the thermistor curve means that for part of the temperature range, the effective resolution can be far worse!).
In practice, I decided to use a ‘linear thermistor’, which is actually composed of two normal thermistors, arranged in such a way that when assembled into a potential divider circuit along with additional fixed resistors and a voltage source, the output takes on a straight line (y=mx+c from school-level lessons!) form instead of being a curve.
Nowadays it is far lower cost to just digitize a normal thermistor using an analog-to-digital converter (ADC) and then do the calculation in a microcontroller, however I wanted to try this linear thermistor for now until I eventually get around to such a project. I started a microcontroller-based thermistor project four years ago and got halfway through it. Building a Temperature Measurement System – Part 1 I hope to finish it one day.
So, this project is not necessarily a good solution nowadays, but it is a solution : ) Anyway, enough trashing of my own project : ) This solution provides an analog way of linearizing temperature measurements from non-linear sensors.
How does it work?
For the purpose of explanation, I will take a real . This is not the one I used in the end, but it could be used, and it has a detailed datasheet.
If a multimeter set to Ohms is connected across this thermistor, it can be observed that the measurement has a curve as shown here for the temperature range of 0 to 60 degrees C (it can operate beyond these temperatures, but this is the range I’m going to look at for now). You can see the thermistor response is definitely non-linear.
To measure the thermistor in a circuit rather than using an ohmmeter, ordinarily it is easier to measure a voltage, so it could be placed in series with a fixed resistance, so that a potential divider circuit is formed. For this example, the thermistor is connected to a 4 kohm fixed resistor, and 3.0V is applied to the circuit. Measuring across the thermistor would reveal the orange curve shown below. It is not straight. The dashed line is a straight line for comparison. The difference between the dashed straight line and the curve is as high as 3.5 degrees C at the low end. In other words, for the temperature range of 3.5 to 60 degrees C, if the measured voltage was assumed to have that straight line relationship to temperature, the error can be as high as 3.5 degrees C (not taking into account the tolerance of the components and the 3.0V supply and the temperature rise within the thermistor and resistor).
Next, a more complicated circuit was formed using two identical thermistors and an additional 10 kohm resistor.
Now if the voltage is measured, the output would look as shown on the blue curve below:
This is much better! Now the error for the range of 1 to 60 degrees C is no higher than 1 degree C, and in the room temperature range of 15-25 degrees C the error is no more than around 0.4 degrees C. So, to measure ambient temperature with a linear conversion from voltage to temperature, the dual thermistor solution could be an option.
Keeping the component values the same, if an overall reduced temperature range of just 10-50 degrees C was sufficient (and hopefully it should be, for room temperature), then it is possible to move the dashed straight line to hug the blue curve better in the 10-50 degree C range and that would reduce the linearity error to 0.27 degrees C maximum.
Incidentally the component values for the dual thermistor solution described above were arrived at by trial-and-error and are probably not optimal. There might be a formula-based procedure that could be written. Alternatively it would be straightforward to write a computer program to try hundreds or thousands of combinations and automatically determine the best one. But the above values might be ‘good enough’ depending on the application!
Building a Temperature Sensor
The solution described above relies on both thermistors being at the same temperature.
I was interested to try an integrated dual thermistor available from Omega, because the manufacturer has done the hard work of determining which two thermistors to integrate (they may be the same thermistor, or they may be of different composition; I’m unsure) and what resistor values to use. The manufacturer claims the solution is accurate to within +-0.15 degrees C and linear to within +- 0.065 degrees C, for the range of -5 to 45 degrees C. This is better than I achieved using trial-and-error, which is good news for the temperature-obsessed.
The dual thermistor comes with three leads, and it can be used in a circuit identical to the one shown earlier in blue, but with different values.
I followed the thermistor datasheet, and used a 12.0 kohm resistor for the lower leg of the circuit, and a 5.7 kohm resistor for the top of the potential divider. The thermistor is available in a kit with these resistors, but there’s no difference if the resistors are purchased separately provided they have a tight tolerance and low thermal change.
The voltage to measure, Vmeas is brought out to two twisted wires that can be connected to a voltmeter.
The wires were coiled rather than cut, so that when the ends were soldered, the thermal mass of the thermistor would still be low. I used a piece of wood sliced into a thin bridge as a support.
The enclosure has large holes for air flow. I epoxied the circuit board and cable in place, and used a tiny dab of epoxy to secure the thermistor to the wood bridge.
I glued in a camera tripod thread to allow me to position the sensor in a room at a repeatable position if desired.
Finally, I labelled the wires with the linear formula so that I wouldn’t forget it!
For the Omega thermistor, the formula is:
Temperature (degrees C) = (70.366 * Vmeas) - 34.152
Where Vmeas is the measured voltage across the 5.7 kohm resistor when 2.50V is applied to the circuit.
The next question was, how to obtain the 2.50 volts! I built a small battery-powered reference for that. It contains a chip from Texas Instruments (I just followed the REF5025 PDF datasheet). I also placed a ready-made charger circuit inside, to reduce the reliance on Alkalines a little bit. The current consumption of the linear thermistor circuit is low and the small battery will last for several days of continuous measurements.
By using a linear thermistor composed of two integrated thermistors, it was possible to build an sensor device for room temperature measurement with (hopefully) high accuracy and precision. I have not been able to confirm the performance, but I believe it will be the most accurate sensor that I currently own for such measurements, which is not bad for the cost (the 44018 thermistor costs £22.50 plus tax and delivery).
Thanks for reading!