 |
|
| |
|
|
| |
Wringing out thermistor nonlinearities
( 01 Sep 2007 )
by Bonnie Baker, senior applications engineer, Texas Instruments
|
Thermistor-temperature-sensing devices present a design challenge if you intend to use such a device over its entire temperature range. Typically, the thermistor is a high-impedance, resistive device that eases one of the interface issues as you convert the thermistor resistance to voltage. The more difficult interface challenge is to capture the nonlinear behavior of the thermistor in a digital representation with a linear ADC.
The term “thermistor” originates from the descriptor "thermally sensitive resistor." The two basic types of thermistors are negative- and positive-temperature-coefficient devices. The negative-temperature-coef ficient thermistor best suits precision temperature measurements. You can determine the surrounding thermistor temperature by using the Steinhart-Hart equation: T=1/(A0+A1(lnRT)+A3(lnRT3)). In this equation, T is the temperature in degrees Kelvin; RT is the thermistor resistance at temperature T; and A0, A1, and A3 are constants that the thermistor manufacturer provides.
The thermistor-resistance change over temperature is nonlinear, as the Steinhart-Hart equation describes. When measuring temperature, drive a reference current through the thermistor to create an equivalent voltage. This equivalent voltage has a nonlinear response. You can try to compensate for the thermistor's nonlinear response with a look-up table in your microcontroller. Even though you can run this type of algorithm in your microcontroller firmware, you need a high-resolution converter to capture data during temperature extremes. Alternatively, you can use hardware-linearization techniques before digitization and a lower resolution ADC. One technique is to place a resistor, RSER, in series with the thermistor, RTHERM, and a voltage reference or the power supply (Figure 1). Setting the PGA (programmable-gain amplifier) at a gain of 1V/V, a 10-bit ADC in this circuit can sense a limited temperature range (approximately ±25°C).
In Figure 1, note that resolution is lost at high temperatures. Increasing the PGA's gain at these temperatures brings the output signal of the PGA back into a range at which the ADC can reliably provide conversions that identify the thermistor temperature.
The microcontroller firmware's temperature-sensing algorithm reads the 10-bit-ADC digital value and passes it to a PGA hysteresis-software routine. The PGA hysteresis routine checks the PGA gain setting and compares the ADC digital value with the trip points that Figure 1 indicates. If the ADC
output is beyond a trip-point value, the microcontroller sets the PGA gain to the next higher or lower gain setting. If necessary, the microcontroller can again acquire a new ADC value. The PGA gain and ADC value then pass to a microcontroller piecewise linear-interpolation routine.
Obtaining data from a nonlinear thermistor sometimes can seem like an impossible task. You can combine a series resistor, a microcontroller, a 10-bit ADC, and a PGA to overcome the measurement difficulties of a nonlinear thermistor across a temperature range greater than ±25°C.
|
|
|