+86-551-68661901
Hem / Nyheter / Innehåll

Jul 08, 2021

A Little Question About Thermistors

Designing a thermistor temperature sensing device can be challenging if you plan to use it over its entire temperature range. A thermistor is typically a high-impedance, resistive device, so it can simplify one of the interface issues when you need to convert the thermistor's resistance to a voltage value. A more challenging interface issue, however, is how to capture the thermistor's nonlinear behavior digitally with a linear ADC.

The term "thermistor" comes from a generalization of the description "heat{{0}}sensitive resistor". Thermistors include two basic types, positive temperature coefficient thermistors and negative temperature coefficient thermistors. Negative temperature coefficient thermistors are ideal for high-precision temperature measurement. To determine the temperature around the thermistor, you can do it with the help of the Steinhart-Hart formula: T=1/(A0 plus A1(lnRT) plus A3(lnRT3)). Among them, T is the temperature in Kelvin; RT is the resistance value of the thermistor at temperature T; and A0, A1 and A3 are constants provided by the thermistor manufacturer.

The resistance of the thermistor changes with temperature, and this change is non-linear, as the Steinhart-Hart formula shows. When making temperature measurements, a reference current needs to be driven through the thermistor to create an equivalent voltage that has a non-linear response. You can try to compensate for the non-linear response of the thermistor using the reference table provided on the microcontroller. Even if you could run such an algorithm on the microcontroller firmware, you would still need a high precision converter for data capture in the presence of extreme temperatures.

Alternatively, you can use a "hardware linearization" technique and a lower precision ADC before digitizing. (Figure 1) One technique is to place a resistor RSER in series with the thermistor RTHERM and a reference voltage or power supply (see Figure 1). The PGA (Programmable Gain Amplifier) is set to 1V/V, but in such a circuit, a 10-bit precision ADC can only sense a very limited temperature range (about ±25 degree ).


Figure 1, please note that the high temperature region is not resolved in Figure 1. But if the gain of the PGA is increased at these temperature values, the output signal of the PGA can be controlled within a range within which the ADC can provide reliable conversions to identify the temperature of the thermistor.

The temperature sensing algorithm of the microcontroller firmware reads the 10-bit precision ADC digital value and transfers it to the PGA hysteresis software routine. The PGA hysteresis routine verifies the PGA gain setting and compares the ADC digital value to the value of the voltage node shown in Figure 1. If the ADC output exceeds the value of the voltage node, the microcontroller will set the PGA gain to the next higher or lower gain setting. If necessary, the microcontroller gets a new ADC value again. The PGA gain and ADC values are then passed to a microcontroller piecewise linear interpolation routine.

Getting data from a nonlinear thermistor is sometimes seen as an "impossible task". You can use a series resistor, a microcontroller, a 10-bit ADC, and a PGA to solve the measurement problems of non-linear thermistors beyond ±25 degree .


Du kanske också gillar

Skicka meddelande