4
\$\begingroup\$

If I want the conversion of thermistor's resistance to temperature to be as accurate as possible, should I refer to a table or use the Steinhart-Hart Equation?

I am in doubt because a table contains many reference points and thus with interpolation you should be able to get an accurate result. On the other hand, by measuring resistance at 3 different temperatures, you get an approximate relationship between R and T for the exact unit you are going to use, and not a general set of data as is the case in a datasheet provided table. On the other hand, it is still just an approximation of a very nonlinear function. If thermistor tolerance is critical in answering this, I would assume a 1% tolerance.

\$\endgroup\$
  • \$\begingroup\$ I think you are answering your own question. \$\endgroup\$ – Andy aka Feb 25 '16 at 18:02
  • \$\begingroup\$ Am I? I see pros and cons in both methods and can't figure which one would be best :) \$\endgroup\$ – James C Feb 25 '16 at 18:04
  • \$\begingroup\$ Steinhart-Hart should be more accurate. But unless you calibrate each thermistor individually, the unit-to-unit variation may introduce more variability than interpolation. I would suggest doing a small scale experiment where you compare results using the two different approaches with several units. \$\endgroup\$ – mkeith Feb 25 '16 at 18:06
  • 2
    \$\begingroup\$ I would say the table is more accurate, because it is set up by thorough experiments. The equation would be lacking in my opinion because of modelling incompleteness - one cannot hope for an absolute perfect equation modelling real thermistors. Since this comment is opinion-based, don't take this as definite answer. \$\endgroup\$ – Vicente Cunha Feb 25 '16 at 18:11
4
\$\begingroup\$

None can be more or less accurate. They are just two different methods for the same result.

Choose look-up tables, when you need speed, but there is plenty of flash memory.

Choose the equation when you do not have the memory, or you have excess of computational power.

Why none is more accurate than the other? Because both methods need you to insert them data, so they can be as accurate as your data are. If you get better data for the one method then this will be better.

The equation is the most easy way to get accurate results. Less data to input, that are likely provided by the manufacturer.

The table will be slightly more accurate, but just in theory. This is because you create the table using actual measurements and not a theoretical model (that may not be absolutely perfect). Keep in mind that this is very difficult to be done in an accuracy being significant better than the equation, due to measuring errors. And even then the part tolerance will dominate.

If you need more accuracy, just do not use thermistors. (Your tolerance will be even worse than 1%, because of noise, ADC tolerance etc...)

\$\endgroup\$
2
\$\begingroup\$

Usually the published tables are simply derived by evaluating the 3 or 4-parameter S-H equation at fixed points with the results rounded for presentation. That's true of general purpose thermistors- specialized scientific types may be individually calibrated.

As such, it is more accurate, especially at intermediate points, to evaluate the equation, however in practice if the interpolation is done well and there are enough points the thermistor tolerance and other errors will dominate.

You can take the equation and create your own table- for example if you have only a 10-bit ADC you only need (at most) 1024 entries, which is quite reasonable even with a small micro (and no interpolation at all is required). This trades off memory vs calculation time and perhaps some code space (the latter is more likely to be of significance in 4 and 8-bit micros where more of the math library will be linked in). Usually speed is of little to no concern with temperature calculations.

Consumer devices tend to use a high resolution (~13 bits) ADC and evaluate an equation.

\$\endgroup\$
0
\$\begingroup\$

It really comes downto the resources you have available.

This is a classic Space Time Tradeoff . Do you do the calculations ahead of time to generate a lookup table, a table that takes storage Space BUT is very fast to access. Or do you calculate on the fly if you have the Time to spare to calculate it (MIPS availability).

There is a third option. If you are really only interested in accurate temperarature over a small range, treat the range as linear. This comes at the expense that above and below the range limits the reading looses accuracy. This is suitable if you are after an over-temperature warning.

\$\endgroup\$
-1
\$\begingroup\$

Thermistor Resistance vs. Temperature Data Table is more accuracy. Manufacturer can also give the error tolerance range. Manufacturer gives that data upon equation and large sum of historical data calculation.

\$\endgroup\$
  • \$\begingroup\$ Welcome to SE.EE, please read the forum rules and answer the specific question. \$\endgroup\$ – Voltage Spike Mar 28 '16 at 16:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.