Data Acquisition (DAQ) and Control from Microstar Laboratories

Calibrating Thermistor Sensors

data acquisition filtering data acquisition software signal interfacing enclosures services

Calibrate Thermistors

back to the main temperature measurement page

temperature measurement sensor overview Temperature Measurement

temperature sensor calibration overview Calibration Overview

sample project using thermistor sensors Thermistor Example

download icon

Thermistors have the advantage of a very high sensitivity to temperature changes, but the disadvantage of an aggressively nonlinear characteristic. Here is a characteristic curve showing the resistance of a typical negative temperature coefficient thermistor device over a temperature range from 0 to 100 degrees C.

Figure 1 - Typical thermistor curve

Illustration of thermistor characteristic

As you can see, the value changes from over 15k ohms to under 100 ohms. The change is most rapid at low temperatures, giving great resolution for determining the corresponding temperature values there. At the other end of the range, resistance levels change relatively less with temperature and measurement resolution is relatively poor.

Curve forms are available that describe the nonlinear shape of the thermistor characteristic quite well. The most commonly used form is the Steinhart-Hart Equation. The resistance measurement of the thermistor is not normalized, so just use the measured value of Rt in ohms. Manufacturers can provide typical values of the ka, kb, and kc coefficients, or you can calibrate these values for better accuracy.

Steinhart-Hart Equation

Steinhart-Hart equation form

Thermistor Linearization Curves

It is relatively easy to calibrate your own response curves, if you have an accurate temperature measurement standard. Convert the temperature values to Kelvins, and invert. Take the corresponding measured resistance values and compute the natural logarithm. Now, fit the coefficients of a third order polynomial in the log-resistance values to best match the inverse-temperature values.

For the following example, three points are selected, two close to the ends of the operating range and one near the center. We know that measurements will not be completely accurate, so artificial errors have been inserted into the data to result in temperature errors of magnitude 0.1 degrees C with alternating sign at the three measured points.

Data with artificial 0.1 degree errors added


Powers of log-resistance are collected in a matrix, and the inverses of temperature in Kelvins are collected in a vector. The model coefficients ka, kb, and kc are obtained by solving the following matrix equation.

Fitting thermistor curve
Term 3-point
ka 1.236*10-3 1.283*10-3
kb 2.453*10-4 2.362*10-4
kc 4.389*10-8 9.285*10-8

Both of these formulas produce curves that are virtually indistinguishable from Figure 1. The following shows the differences — the calibration errors — that resulted from the data errors deliberately included for the the 3-point fit.

Plot of thermistor fit error
Figure 2 - Fitting error in degrees

Deviations of 0.1 degrees appear, as we know they should, where they were injected at the locations of the measured points used for the fit. At intermediate locations, the fit error is well behaved. We can conclude that the fit is about as good as the measurement errors that went into making it — but don't extrapolate much beyond the range that you measure. To reduce sensitivity to noise during calibration try the following steps.

  1. Calibrate over a range just a little wider than the range you intend to use.
  2. Select some points very close to the limits of the range you intend to use.
  3. Take multiple measurements at each point and average to reduce random noise.
  4. Consider using more than three points, and determining best-fit coefficients using least-squares methods.

Balancing measurement resolution

The linearization takes care of the problem of interpreting the highly nonlinear response, but not the problem of uneven measurement resolution.

If the range is not too large, you can balance the resolution significantly by measuring in a voltage divider configuration. Power the thermistor from a regulated voltage supply, connect the other end to ground through an accurately measured load resistance, and observe the output voltage where the thermistor and load resistor join.

voltage divider network
Figure 3 - Voltage divider network

The goal is to obtain a relatively uniform relationship between temperature and measured voltage. The linearization curves will take care of the rest. The following shows the relationship between temperature and measured voltage with a load resistor that is about half of the nominal room-temperature resistance.

Balanced voltage resolution in divider configuration
Figure 4 - Flattened thermistor response in divider network

The slope doesn't change much through the operating range. This is very different from the drastic nonlinear behavior you see in Figure 1. How does this work? The voltage divider has a saturating characteristic that responds less as thermistor resistance grows. The growth and saturation effects approximately balance.

Measure a temperature using a thermistor device in the voltage divider configuration by doing the following.

  1. Calculate the current flow from the measured voltage and accurately known load resistance.
  2. Determine the thermistor resistance from the voltage across it and the known current.
  3. Apply the Steinhart-Hart equation, either with nominal values provided by the manufacturer, or with adjusted values determined from calibration, to obtain the temperature reading.
  4. Optionally: convert temperature units from Kelvins to degrees C or degrees F.

You can use the DIVIDER command, available on this site, for computing the resistance value given the measured voltage level in a voltage divider configuration. You can use the THERMISTOR command, also available on this site, for computing the Steinhart-Hart curves using typical or calibrated coefficients.