Before I get right into experimentation, it’s important to go over a few basics and perhaps not-so-basics. Rather than labour this discussion (as everyone’s probably going to cover this in some way), I’ll cover the basic 101s in a dot-point style and then go right into how they are characterised. I’ll do my best to make this blog worth your while to read!
Table of Contents
Thermistor 101
- A thermistor is a “thermal resistor” – one that changes its resistance in response to temperature.
- Two main categories – PTC (Positive Temperature Coefficient) and NTC (Negative Temperature Coefficient). PTC = increasing resistance with increasing temperature. NTC = decreasing resistance with increasing temperature.
- PTC usually used for over-current protection (polyfuses), self-regulating heating pads. NTC usually used for temperature sensing, soft-start/in-rush current limiting.
- Can exist in a chip, bead, rod, disc, probe, surface-mount and hermetically-sealed glass capsule form, terminated in leads or wires. Provided units are finished in a dipped epoxy coating, with some epoxied to a ring terminal.
- Resistance value given is usually the nominal resistance at 25°
- Beta (β) value is commonly given in units of K, describes the curve of the thermistor (but not all that accurately). This is sometimes also specified across the two temperatures used to compute the value. Steinhart-Hart coefficients (A, B and C) are more accurate across the whole operating range, or a table of absolute values may be provided.
- Tolerance values can relate to the nominal resistance or to the Beta value.
- Thermistors can be sold as “point-matched” or “curve-matched” by some vendors. Point-matched thermistors are tested at a single nominal temperature, while curve-matched track the curve over a wider range of temperatures to minimise errors in temperature-sensing applications.
- Characteristic curve of the thermistor depends on the semiconductor material mix, often powdered metal oxides. Response is highly non-linear, but knowing the curve allows for temperature to be derived from a measurement of resistance.
- Operating temperature range depends on the material and packaging of the thermistor. The Molex thermistors appear to be specified for -40°C to 135°C for the beads, and -40°C to 105°C for the ring type.
- Thermistors are generally easier to use as they can produce a higher voltage signal, are more immune to noise and lead resistance effects.
- Care is needed as errors can occur due to self-heating effects (i.e. passing current through the thermistor to measure its resistance will heat it up). Some circuits cause variable degrees of self-heating depending on the actual thermistor resistance (and, in turn, the measured temperature).
- You will often find thermistors in plenty of places – examples include Li-ion battery packs (for safety against charging in conditions which are too cold or too hot), lead-acid chargers (for float temperature compensation), in Ni-MH battery chargers (to detect cell temperature), electronic body temperature thermometers, 3D printers (nozzle, heated bed) and switch-mode power supplies (in-rush limiter, overtemperature protection).
This Beta be worth it!
As mentioned earlier, the behaviour of a thermistor is generally quite non-linear. As a result, we need a way to specify not only the resistance at one temperature (i.e. the nominal resistance) but also the shape of the curve passing through that point. This is the Beta (β) value (in K) provided by most datasheets.
Those Beta values don’t look like anything obvious to me – is a 3500K thermistor a suitable replacement for a 3650K thermistor for example? I definitely had no idea about this back when I did the Keysight Smart Bench Essentials RoadTest where the DMM had a temperature measurement feature using thermistors … so I just bought one of each Beta value I could find for testing, only to see that in practice, the differences seemed to be quite small. Now is my time to redeem myself from the sins of my laziness … and actually learn something about it.
A simplified form of the Steinhart-Hart equation is used which considers the resistance of the material at two points. The Beta value is computed between those two points and is defined by the equation β = ln (RT1/RT2) / (1/T1-1/T2) where all temperatures are given in Kelvin (i.e. temperature in degrees Celsius + 273.15).
Datasheets will often provide the Beta value (in K), alongside the nominal resistance at 25°C. Rearranging the equation allows us to solve for the resistance at a given temperature, or the temperature given a resistance. In a very seldom-used application of high-school math, I decided to do the rearrangement by hand (without simplification) …
… then I dutifully plugged it into a spreadsheet to see just what this all means in reality.
I created two spreadsheets - one to do the basic calculations in more "human-friendly" units, and another to compute the expected resistances at each temperature step for graphing purposes.
For the Molex beads, we can see just how much the resistance varies as a function of temperature. The curve is highly non-linear, dropping rapidly for temperatures below the reference 25°C and slower at temperatures above. This means the resistance of the thermistor can range from tens of kilo-ohms down to just a few hundred ohms across the operating temperature range.
This is more clearly seen on a semi-log plot – I have extended the axes past the operating temperature limit of 135°C just to show how it “flattens out” as the temperature increases. This does suggest that perhaps the nominal resistance value chosen can be a trade-off between the ease of measurement and precision, and the temperature range which is expected to be measured.
We do have a few other Beta values, so let’s see what the difference is between three different Beta values of 10kΩ nominal thermistors. In the linear plot, the difference is relatively small in resistance, with all curves passing through the same point at 25°C as expected.
Taking 3892K as the reference value, the difference in resistance between 3800K and 3500K is plotted. As expected, the resistance difference between 3800K and 3892K is relatively small above 25°C, as compared to 3500K. The differences below 25°C are much greater, due to the steep increase in resistance as temperature decreases.
But perhaps the more important point to consider is the impact on the derived temperature accuracy using the Beta model. In this case, over 0-150°C, the 3800K thermistor when calculated using a 3892K expected Beta gives an error of +0.5°C to -4.1°C which seems fairly reasonable. The 3500K thermistor has an error of +2.3°C to -17.1°C which is more severe. As a result, we can see just how a Beta value mismatch would introduce a temperature measurement error.
Getting to the (Stein)Hart of the Problem
What’s better than knowing the resistance at two points on the curve? Well, obviously, it’s knowing it at three, which is exactly what the Steinhart-Hart coefficients (A, B and C) are used for. Having these parameters allows for a more accurate approximation of the curve over the full operating temperature. While this is most accurate, it is not something that all thermistor manufacturers provide – I wasn’t able to find this directly stated on any of the Molex datasheets.
The equation is of the form 1/T = A + B.lnR + C(lnR)^3, which if taken at three precise operating points, provides three simultaneous equations that can be solved for coefficients A, B and C. Frequently, two of these points will be at freezing (0°C) and boiling (100°C) points of water, as the phase transitions are quite stable although dependent on how well stirred the ice bath is and atmospheric pressure where you are which affects the boiling point. The third temperature is often a standard reference ambient temperature of 25°C. Thankfully, the equations and the inverse are given on Wikipedia, making our lives a little easier, although we must remember to convert all our temperatures in Kelvin.
As the equations are a little unwieldy and I don’t have any real coefficients to play around with at the moment, I decided to just throw all of this into a spreadsheet too.
I used the example values given in the Molex whitepaper and received the same calculated data values out, so at least I know the spreadsheet is working fine when it comes to deriving the Steinhart-Hart coefficients.
What Is the Truth?
However, in truth, the Beta value and Steinhart-Hart coefficients are merely an approximation of the actual behaviour of a thermistor. Instead of three points, high-precision applications have extended it to four or five-points.
In reality, however, the most important truth to know is the expected resistance at as many points throughout the operational temperature region as possible. Thankfully, Molex has provided this in their drawing PDFs (and not their datasheets):
Having a table of resistance versus temperature characteristics allows us to compute Beta values and Steinhart-Hart coefficients as we please! For example, if we compute the Beta between -40°C and 135°C, that would come out to be 3852.76K. If I compute the Beta value but between 0°C and 100°C, this comes out to 3944.96K. That’s quite a difference, for what is essentially the same thermistor, all because the simplified Beta model is merely an approximation of thermistor behaviour.
If I do the same for the Steinhart-Hart coefficients, say for -40°C, 50°C and 135°C, I get the following results:
A=1.338403131056E-03
B=2.285811812655E-04
C=1.400620741000E-07
Retrying that for 0°C, 50°C and 100°C, I get:
A=1.296918470624E-03
B=2.368352557161E-04
C=9.168381900795E-08
The resulting coefficients do see some variation. However, if I were to challenge the models by picking a resistance … say 3790Ω corresponding to 30°C, the predicted temperatures are:
Beta 3852.76K -> 30.049°C
Beta 3944.96K -> 29.929°C
Steinhart-Hart Full Range -> 29.852°C
Steinhart-Hart Limited Range -> 29.902°C
In this case, while there is some obvious error, the results are pretty close. This is because I had calculated the values over a relatively large range and the characteristics of the thermistor do not seem to deviate much at this temperature. However, had the values been calculated over a more narrow range, I may expect the Beta models to perform worse.
Trying it at a great extreme of temperature, this time, at 79310Ω corresponding to -35°C, the predicted temperatures are:
Beta 3852.76K -> -28.500°C
Beta 3944.96K -> -27.469°C
Steinhart-Hart Full Range -> -30.322°C
Steinhart-Hart Limited Range -> -29.266°C
In this more extreme case, the Steinhart-Hart results were superior. This brings about an interesting finding – perhaps the resistance tolerance of a thermistor is not such a big deal if your calculation models themselves introduce a significant level of error, and perhaps the best way to characterise a thermistor may not be to derive these model coefficients but merely to measure a tabular value of resistances at each temperature instead. Perhaps the best accuracy may involve using a look-up table and interpolating between points rather than using these models.
Conclusion
Thermistors are resistors which are made of semiconductor material that changes resistance as a function of temperature in a highly non-linear way. Their behaviour can be modelled using two-points using the Beta parameter, three points using Steinhart-Hart coefficients or summarised in a table of values. Knowing this, it is possible to use thermistors to measure temperature, along with several other functions depending on its type (e.g. inrush current limiting, self-regulating heaters, over-current protection). Taking the time to build calculator spreadsheets to manipulate the equations and values has given me more of an insight into the parameters and how the Beta value is not ideal for high-accuracy, especially over a wide range of temperatures. While the Steinhart-Hart coefficients are generally more accurate with three parameters, high-accuracy applications have extended this to four or five.
If you would like to have a try at the spreadsheet based calculators - they are attached here in a ZIP file: thermistor-calculators-gough-lui.zip
[[Characterising Thermistors Blog Index]]
- Blog #1: Characterising Thermistors - Introduction
- Blog #2: Characterising Thermistors - What's In The Box?
- Blog #3: Characterising Thermistors – A Quick Primer, Beta Value & Steinhart-Hart Coefficients
- Blog #4: Characterising Thermistors – An Inconvenient Truth, Taking Things to the Fifth Degree
- Blog #5: Characterising Thermistors – Measuring Resistance Is Not So Easy!
- Blog #6: Characterising Thermistors – Is Self-Heating a Problem or Not?
- Blog #7: Characterising Thermistors – Boiling, Freezing and Zapping the Truth Out of Them!
- Blog #8: Characterising Thermistors – Practically Running Multiple Thermistors
- Blog #9: Characterising Thermistors – Multi-T Results, Insulation R Redux, 5th Order Fits & Model Performance
- Blog #10: Characterising Thermistors – Multiple Thermistors on ESP8266
- Blog #11: Characterising Thermistors – Show Me Your Curves
- Blog #12: Characterising Thermistors – Sticking Rings on Tabs & Sinks, Absolutely Crushing It!
- Blog #13: Characterising Thermistors – Pulling Out, Overload, Response Time, Building a Flow Meter & Final Conclusion