element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Experimenting with Thermistors
  • Challenges & Projects
  • Design Challenges
  • Experimenting with Thermistors
  • More
  • Cancel
Experimenting with Thermistors
Challenge Blog Blog #5: Characterising Thermistors – Measuring Resistance Is Not So Easy!
  • Blog
  • Forum
  • Documents
  • Files
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Gough Lui
  • Date Created: 11 Aug 2022 9:53 AM Date Created
  • Views 2431 views
  • Likes 10 likes
  • Comments 7 comments
  • experimenting with thermistors
Related
Recommended

Blog #5: Characterising Thermistors – Measuring Resistance Is Not So Easy!

Gough Lui
Gough Lui
11 Aug 2022
Blog #5: Characterising Thermistors – Measuring Resistance Is Not So Easy!

In my last posting, I delved into the issues revolving around rounding errors, thermistor tolerances and trying to fit a more accurate fifth-degree model to the data. While that was a very theoretical exploration, this post will be more concerned with the practical aspects of how one would make measurements with thermistors – for example, how is the resistance actually measured and what are some of the caveats or considerations involved. Once this is covered, then hopefully, I will be well on my way to actually running experiments with the components themselves.

Table of Contents

  • How Does My Equipment Measure Resistance?
  • Interfacing with a Voltage Divider – It’s Not the Same, But It’s Convenient!
  • The Issue of Temperature Resolution and Divider Resistance
  • “Linearisation” of a Thermistor … Is a Parallel Resistor the Cure?
  • Other Circuit Considerations
  • Conclusion

How Does My Equipment Measure Resistance?

We all know Ohm’s Law states that V = I x R for a resistor, but have you stopped to think, just how does my high-precision multimeter measure resistances? Is it sourcing a voltage, or is it sourcing a current? Or is it doing a bit of both?

In a stroke of empiricism, I decided to just hook up my Agilent U1241B to the terminals of a Keithley 2110 5.5-digit DMM in 2-wire resistance mode to see how it reacted.

image

With the 1MΩ impedance of the meter, the current passing through the resistance is pretty close to 1mA and the voltage across the impedance is about 1V.

imageimageimageimageimageimage

Inserting different resistances in series (100Ω, 1kΩ, 10kΩ, 100kΩ, 1MΩ, 10MΩ), we can see that the current is not always consistent – the current depends on the range the DMM is in.

image

With the range set to a minimum resistance, the open-circuit voltage can reach 2.600V on this particular DMM.

image image

Trying the reverse and using the Keithley 2110 to see what the Agilent U1241B is doing when its measuring resistance reveals that it has a completely different current and voltage which seemed to vary depending on the battery status in the meter.

Thankfully, a full explanation is available in some higher-end DMM datasheets. The Keithley 2110’s datasheet has the following table –

image

This indicates that it is testing using a test current, the magnitude depends on the range with five discrete values.

image

The Keysight EDU34450A 5.5-digit DMM has a fairly similar setup, however, there is one additional current step at 500µA.

image

The currents used by the handheld Agilent U1241B are completely different and not round-numbers either!

image

But sometimes even fairly expensive meters (e.g. Keysight U1461A) don’t actually have these details specified … so that’s a bit of a shame.

Knowledge of this is perhaps important because thermistors are vulnerable to self-heating errors. Measuring resistances involve passing a current through the thermistor which leads to resistive heating which affects the temperature of the thermistor depending on the medium it is in, whether it is flowing and the specific heat capacity of the thermistor itself. As the current passing through the thermistor changes depending on the range, auto-ranging behaviour of meters can result in step-changes in self-heating!

image

The calculated self-heating for the 10kΩ bead-type thermistor looks like this – notice the big discontinuity right around 30°C! Yikes! While the self-heating peak of about 2mW doesn’t seem like much, this may be detectable in still-air conditions.

image

Plotting the self-heating values in a log-scale provides a clearer indication of just how much the self-heating varies as a result of temperature and DMM range (the Keithley 2110 is assumed).

Some of the higher-end DMMs offer four-wire measurements, where two wires are used to inject current while the other two sense voltage. One thing to note is that the use of four-wire resistance measurements for thermistors is not as necessary as it may be with low-resistance RTDs, as the benefit is probably rather small given the (generally) higher resistances. That’s one potential benefit in reduced complexity, however, this doesn’t affect the self-heating issue whether two or four-wire measurements are used.

Interfacing with a Voltage Divider – It’s Not the Same, But It’s Convenient!

Now that I’ve managed to understand how a multimeter measures resistance, let’s now turn our attention to interfacing thermistors with an analog input. The most frequently recommended, and most basic circuit, simply is a voltage divider like so:

image

Sometimes this is drawn with the resistors swapped which will invert the output voltage characteristic, but basically it exploits the fact the thermistor resistance changing will change the output voltage in proportion.

It should be obvious that unlike the multimeter, this arrangement does not run the thermistor with a constant current. Instead, the input is a constant voltage, but the voltage on the thermistor itself depends on the ratio Rt/(Rt+R1)*Vcc. As a result, this means that the current flow is not constant and the power dissipated inside the thermistor has a curve characteristic.

image

The amount of power dissipated and the shape of the curve ultimately will depend on the choice of the other resistance in the voltage divider. However, it must be remembered that it is desirable to have as little power dissipated in the thermistor as possible, as any heat generated will cause self-heating errors which could be significant especially if the medium doesn’t remove heat quickly from the thermistor, or if the thermistor has a very low thermal mass. Another benefit of keeping the power dissipation low is simply a reduction in energy consumption, but of course, depending on the input impedance of your analog input, that can also introduce errors especially at high resistances. This is just one of the tradeoffs to bear in mind.

The Issue of Temperature Resolution and Divider Resistance

Given the highly non-linear resistance response of a thermistor, the issue of achievable temperature resolution is a problem as most ADCs have linearly-spaced steps. As a result, the resolution of temperature achieved will vary depending on the steepness of the resistance-versus-temperature curve at that temperature.

However, there is something we can do to push things towards our favour – one of these is adjusting the other resistance in the voltage divider so that we can change the shape of the resulting voltage-versus-temperature curve to give us the resolution we want within the temperature range of interest.

image

This example focuses on the 10kΩ bead thermistor and the effect of changing the other resistance in the voltage divider. In many cases, I’ve seen suggested circuits pick the other resistor equal to the thermistor’s nominal resistance to maximise resolution around 25°C (a sensible choice for “human” applications), but changing this resistance can have benefits too!

The voltage-versus-temperature curves are sigmoidal in shape – notice how reducing the resistance (in orange) throws away resolution at low temperatures to give us more resolution in the upper temperatures, while choosing a higher resistance (in grey) does the opposite.

image

For the most part, we are likely to capture these voltages with an analog-to-digital converter (ADC). Comparing the voltage step per 0.1°C across the temperatures and plotting the unipolar ADC step size (thick lines), we can see that with a 10-bit ADC, only a small range is able to achieve a 0.1°C temperature resolution. With a higher 12-bit resolution ADC, most (but not all) of the temperature range can be covered at 0.1°C resolution.

We can also turn this around and instead compute what the temperature step would be for each ADC bit for a given temperature.

image

Resistor choice is definitely important – especially if we are concerned with worst-case resolution. A step-based temperature resolution of over 20°C per step is seen for the 50kΩ resistor used with an 8-bit ADC near 120°C as the voltage curve is nearly flat at that point. Careful consideration of ADC step sizes and resistor value to maximise voltage gradient at the intended operating point is advisable.

image

Being more optimistic, this plot focuses on the best resolution achievable by a given combination. In this plot, we can see that with an 8-bit ADC, the best resolution for the three selected resistances range from 0.3 to 0.43°C per step, not a very precise measurement. At 10-bit, the resolution improves to 0.07 to 0.11°C per step.

image

Pushing for higher resolutions, a 12-bit ADC (in theory) would give us accuracies ranging from 0.019 to 0.028°C.

image

By 16-bit, we are now in the single-digit milli-degree Celsius territory, ranging from about 1.1 to 1.8m°C. This is where the fifth-order equations will really matter. The 24-bit result indicates it is sensitive enough that the resistor choice really becomes moot … however, such an implementation would be very difficult to achieve and would be extreme overkill for such non-precision thermistors.

High-resolution analog-to-digital converters (ADCs) are expensive, require some effort to implement (to ensure you actually get the resolution you paid for) and aren’t exactly easy to come by in this world of supply-chain issues. Thankfully, one can approximate the performance of a higher-resolution ADC (in an ideal case) simply through oversampling – for every one-bit of enhancement, you double the number of samples taken. The downside is that you are trading sample-rate for resolution and this only really “works” if the ADCs are very stable (which also mean stable references) without any systematic errors.

Taking one example – the 10-bit ADCs of classic ATMega328-based Arduino Unos will not give you a high-resolution result, however, if you want to approximate 16-bit accuracy, the six extra bits will cost you 64 samples which is not too onerous. Had you wished for 24-bit-equivalent accuracy, the 14 extra bits will cost you 16,384 samples which will mean that each reading will take more than one second (especially when using analogRead functions). This is excluding the additional time it would take for the microcontroller to compute the average and scale the result to your intended output range. However, at least this approach doesn’t cost any extra money and allows you to tune the resolution within a range.

“Linearisation” of a Thermistor … Is a Parallel Resistor the Cure?

While doing research about thermistors, I came across a variation of the above circuit where the thermistor had a parallel resistor across it. It was claimed to provide “linearisation” which seemed a bit curious to me, but since I have a worksheet, I decided to explore it as a mathematical exercise.

image

I picked a few values to parallel with the thermistor to compute the equivalent resistance at the given temperature. We’re already familiar of the very non-linear nature of the thermistor – the linearised lines have much lower resistance (due to the parallel resistance) but also look straighter.

image

However, zooming in shows that the “linearised” results still have a noticeable curve to them. The reduced resistance may make measurement more difficult as well.

image

But if all we’re interested in is a limited temperature range, the lines seem to be “roughly” straight over a range of 10 degrees either side of the temperature corresponding to the thermistor resistance value matching the paralleled resistance.

While it seems this “trick” works in an analog sense over a limited temperature range, for high precision or wider temperature ranges, it is better to use a high-resolution ADC and either a model equation or a lookup table approach. However, where analog circuits with proportional output are necessary, this could be a simple approach to improving the linearity of the thermistor enough for the intended application.

Other Circuit Considerations

Measurement accuracy isn’t just related to the ADC and oversampling used – the stability of the supply voltage is also important as that will affect the output voltage directly and potentially affect the ADC reference as well. Having a stable voltage would be ideal, however, the use of a Wheatstone Bridge circuit could help by allowing a sensitive differential measurement between an unknown divider and a known divider thus tuning out such errors. As it is differential, it may aid in measurement of smaller differences (such as may occur using the resistor linearisation method).

Similarly, the absolute accuracy of the other resistor in the divider chain will have an impact on the measurement error. Perhaps less considered is the temperature coefficient of this resistor – if it is subjected to significant temperature swings, the temperature coefficient will factor into measurement errors as well.

Finally, where high resistances are involved, humidity and contamination of the PCB (by airborne particles, flux, etc) could result in leakage currents that could falsely reduce the measured resistance as they form a phantom parallel resistor. Thus care may need to be taken especially for low-temperature measurements. Such an effect may exist as well due to the input impedance of the ADC which may not be negligible in case of higher-valued thermistors and resistances.

Conclusion

The way a digital multimeter measures resistance is to source a reference current and measure the developed voltage. While this sounds simple, the sourced current varies depending on the range, which means that the thermistor’s self-heating can significantly change as the meter changes ranges (e.g. during an auto-range operation). This characteristic of ‘stepped” self-heating is distinctly different from the smooth “hump” that is seen from a standard voltage divider input circuit. Such a circuit requires careful choice of the resistor to ensure maximum resolution around the temperature of interest, which may involve a trade-off of resolution at extreme temperatures. Better results can be obtained with higher-resolution ADCs or with oversampling, however, additional considerations such as the stability of the reference, supply voltage, accuracy of divider resistor and temperature coefficient are necessary. Current leakages due to contamination or input impedances can also contribute to errors.

It was interesting to see that the addition of a parallel resistor allowed for “linearisation” of the thermistor’s resistance which could be useful in simple analog proportional circuits operating at limited temperature ranges, however, using a high-resolution ADC and a model or look-up table still seems to be the more accurate approach. Higher accuracy may also be possible with the use of a Wheatstone Bridge style circuit which has a known-reference leg, allowing sensitive differential measurements to be made.

As usual, if you’d like to fiddle with some of the numbers I’ve graphed in this blog, the spreadsheet is available for download (although it’s not pretty) from here - Thermistor-Vdiv.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
  • Sign in to reply

Top Comments

  • michaelkellett
    michaelkellett over 3 years ago +2
    More good stuff Gough. Just a quick note about oversampling. (I have enough scars to make it a long note but it gets a little esoteric.) If you have a perfectly stable and noise free system then…
  • dougw
    dougw over 3 years ago in reply to michaelkellett +1
    Good points Michael, the scars comment resonates. I use oversampling a lot, but I've always been skeptical of claims that it can achieve extreme accuracy. The assumption that there is always noise and…
  • Andrew J
    Andrew J over 3 years ago

    As ever, really useful insight Gough.  

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 3 years ago

    Very good analysis Gough.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dougw
    dougw over 3 years ago

    Nice work Gough. It is interesting to see how meters measure resistance.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dougw
    dougw over 3 years ago in reply to michaelkellett

    Good points Michael, the scars comment resonates. I use oversampling a lot, but I've always been skeptical of claims that it can achieve extreme accuracy. The assumption that there is always noise and that it is always random is a stretch. The dominant noise is often not completely random and the unavoidable noise from digital circuits is never random..

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • genebren
    genebren over 3 years ago

    Great blog with plenty of thought provoking analysis. I really appreciate the depth and breath approach that you take when digging a subject.  Well done!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube