Experimenting with Thermistors
Although I have used thermistors in many applications, I have never investigated them in depth, so this is a great opportunity to dive in and explore the technology. I mainly associate Molex with being a connector company, so it is interesting to investigate the Sensorcon side of their product line. This blog will be split into 2 postings, the first is an introduction to the thermistor kit, me and my experimentation project plan and the second will document execution of the build and test plan.
About Me
I am an electronics engineer with many years of experience designing with sensors and related instrumentation. I have participated in several element14 "Experimenting With xxx" challenges and find them to be an excellent way to learn about technology in a little more depth.
What Do I Plan To Do In This Challenge?
First of all, I want to learn more about thermistors and Molex's Sensorcon line.
Secondly, I want to do some measurements to get a feel for thermistor performance.
Thirdly, I want to explore building a reasonably accurate thermistor thermometer. An application I will test this thermometer on is measuring differences in body temperature in different locations on a human.
Fourthly, I want to build a warming oven for 3D printer filament, to keep the filament flexible during printing.
Unboxing
The 10 thermistors in the kit came in Multicomp box with a compartment for each thermistor and a sheet indicating which part was in each compartment. Unfortunately the jostling during shipping jumbled them up with several in the same compartments. Some quick measurements and perusing of datasheets was needed to sort out the color code and determine which part was which. Here are images of each part, indicating what is in the kit:
213860-1637 ring terminal, black wire 10,000 Ohms @ 25 C beta 3500K
213860-2637 ring terminal, black wire 10,000 Ohms @ 25 C beta 3500K
213862-2637 ring terminal, black wire 10,000 Ohms @ 25 C beta 3800K
215272-3307 black epoxy coated thermistor bead, black wire, 3,000 Ohms @ 25 C beta 3892K
215272-3407 blue epoxy bead, black wire, 4,700 Ohms @ 25 C beta 3892K
215272-3507 black epoxy bead, red wire, 5,000 Ohms @ 25 C beta 3892K
215272-3607 black epoxy bead, black wire, 10,000 Ohms @ 25 C beta 3892K
215272-3707 blue epoxy bead, red wire, 12,000 Ohms @ 25 C beta 3892K
215272-3807 blue epoxy bead, yellow wire, 30,000 Ohms @ 25 C beta 3892K
215272-3907 black epoxy bead, yellow wire, 47,000Ohms @ 25 C beta 3892K
All of the epoxy bead sensors are about the same size, 3 mm diameter x 7 mm long. Some of the pictures have a millimeter ruler showing their scale. The 2 black bead-black wire sensors have a slightly different shape that I am using to tell them apart. The ring sensors are larger of course and all 3 look the same, so I only included one picture of them.
Thermistor Characteristics
Thermistors are characterized by a large change in resistance with changes in temperature, this makes it easy to measure temperature changes. They are made of metal oxides of chromium, manganese, cobalt, iron and nickel and can have either a positive change of resistance with a positive change of temperature or a negative change of resistance with a positive change of temperature, depending on material composition. The main drawback to this technology is that the change of resistance is not linear with the change in temperature. Here is a typical curve of resistance versus temperature:
It is possible to somewhat correct this curve in hardware over a limited range of temperatures with a resistor divider circuit (see the red and green curves), since a 1/R relationship is similar to the thermistor curve, but this is not very accurate. It can be calibrated to be accurate at 2 temperatures, which is fine for some thermal switch applications, but not great for a thermometer. This plot shows that where the green and blue curves cross, the temperature is the same at those 2 points. Those 2 points can be adjusted by adjusting the circuit resistor values. The red curve is optimized at higher temperatures around 80 degrees. Note as the temperature gets above 50 C a small change in resistance corresponds to a large change in temperature, so very accurate resistance measurement is needed at higher temperatures. This can be a problem if there is a small amount of noise in the signal or if the A/D doesn't have a large dynamic range.
If more accuracy is needed there is an equation that relates temperature to resistance with good accuracy. This Steinhart-Hart equation has 3 constants that need to be determined for any specific thermistor, but once that is done the temperature can be determined from the resistance accurately and reliably. (because the thermistor is pretty stable and repeatable) Here is the Steinhart-Hart equation and a plot of temperature versus resistance for the equation and a real thermistor:
T = 1 / (a + b * ln(R) + c * ln(R)^3)-273
You can see the 2 plots are very close to overlapping - within a small fraction of a degree.
How to Determine Steinhart-Hart Constants
It is possible to determine Steinhart-Hart constants using matrix math, if you have 3 temperature versus resistance data points for your thermistor. I don't have a way to create 3 accurate temperatures, but Molex supplies a data sheet for each sensor with a whole table of resistance versus temperature. An easy way to obtain the Steinhart-Hart constants from this data is to use an on-line calculator such as the one here:
https://www.thinksrs.com/downloads/programs/therm%20calc/ntccalibrator/ntccalculator.html
I used this calculator with the datasheet data to obtain Steinhart-Hart constants and a spreadsheet to calculate temperatures using the Steinhart-Hart equation. The spreadsheet then generated the plot above. This process can be duplicated for each thermistor datasheet. Note that the constants have quite a few significant digits which may be difficult to handle accurately in a small MCU.
Other Characteristics I will Investigate:
Thermistors can be quite small, the kit includes 7 thermistors that are encapsulated in an epoxy bead that is 3 mm in diameter x 7 mm long. This small size means low thermal mass and the thermal response time is 3 seconds in water. I want to test this with an oscilloscope, and also determine the thermal time constant in dead air as well as moving air.
Of course temperature accuracy is fundamentally important to a temperature sensor and I want to test something in this regard.
I don't have any high precision reference temperature sensors, but I do have digital thermometers, a IR thermometer, a thermocouple meter, semiconductor temperature sensor and commercial thermistor temperature meters to compare with. I should also be able to calibrate using the freezing and boiling temperatures of water.
Interchangeability is a another property i may be able to test. The 3 ring sensors have similar impedance and connectors, so they should be physically interchangeable, although correction curves may differ. Molex provides tolerances which I can test at ice and boiling points of water. I have ordered mating connectors, we will see if they arrive in time, or if I have to cut the connectors off these sensors.
Power consumption & self heating is another property that can affect performance. I will do some quick calculations to try to quantify possible errors due to self heating. I can calculate the IR heat, and try to calculate a rough heat dissipation. I will also discuss the tradeoff between signal magnitude and self-heating errors. I can also compare if self heating is significant relative to the other thermometer technologies I have.
I will also discuss pros and cons relative to other temperature measurement technologies such as RTDs, thermocouples and semiconductor sensors.
Signal Conditioning Circuits
I will discuss signal conditioning circuits for thermistors. There are several popular circuits to linearize thermistor readings, but most have significant errors. Here are a couple of examples:
The circuit I want to use is a simple current source that allows easy measurement of resistance, followed by a high resolution A/D so that the Steinhart-Hart equation can be applied without losing accuracy.
Project Plans
Thermometer
As part of the project I will build a thermistor based thermometer using a Raspberry Pi Pico, a Wheatstone bridge thermistor circuit, an LCD display, and a 24 bit A/D converter. This system will be built on a custom PCB and have a 3D printed case. The A/D chip has a current source, hopefully it is accurate enough to keep up with the A/D. One application of the thermometer I want to explore is how temperature varies over the surface of a human body. The Steinhart-Hart correction should provide temperature accuracy well below 1 degree.
Filament Warming Oven
A second project I want to do is build a temperature controlled oven that only goes up to 40 or 50 C. This will be used to warm up filament for my 3D printer because old filament can get too brittle to feed without breaking. If it is heated up a bit it feeds a lot more reliably. I am thinking to bash an old PC chassis into an appropriate shape and use a thermistor as the control sensor in a temperature controlled heater.
Other Temperature Sensor Technologies
Platinum 100 ohm RTD typically has a temperature coefficient of 0.00385 ohms per ohm degree centigrade, which means it changes its resistance 38.5 Ohms for a temperature change of 100 degrees, or 35.8% over 100 degrees.
In contrast a thermistor may change its resistance from 32,650 ohms to 679 ohms over the same temperature range, which is a change of 4809%, implying thermistors are much more sensitive than RTDs. However because thermistors are highly non-linear, between 90 and 100 degrees, a thermistor only changes 26%.
Thermocouples are also used to measure temperature. They only generate small voltages so they need amplification. They also need a reference temperature sensor and if best accuracy is needed they also need to be linearized. However, they perform well at high temperatures where other sensors fail.
Semiconductor temperature sensors can have all the amplification, linearization and even digitization built-in, but can be costlier, especially if accuracy is needed and they cannot stand very high temperatures.
IR temperature sensors are dependent on the surface properties such as color and reflectivity of the thing being measured. They are usually significantly more expensive as well.
Summary and Discussion
This project has already resulted in lots of new knowledge. I spent quite a bit of time working through various methods of curve fitting to see if I could avoid finding Steinhart-Hart constants, and got within about 0.2 degrees, but eventually decided to go with the Steinhart-Hart equation, assuming those constants don't cause problems for my MCU. There is still a lot of work to do to get a thermometer PCB designed, built and tested, but at least I know what is involved now. I have ordered all the parts I think I will need, which may be a problem in today's climate of electronic parts shortages, however I have lots to keep busy with in the mean time.
Relevant Links:
Thermistor Thermometer - Blog 2
challenges-projects/design-challenges/experimenting-with-thermistors/?ICID=DCHmain-featured-2competitions
https://challenges-projects/design-challenges/experimenting-with-thermistors/w/documents/27632/experimenting-with-thermistors?ICID=expThermistors-DCH-topban
https://www.molex.com/molex/search/partSearch?query=215272&pQuery=
Top Comments