Introduction
- Thermistor is short form of thermal resistor, whose resistance changes with change in temperature.
- Thermistors are inexpensive, rugged, reliable and responds quickly. Because of these qualities thermistors are used for simple low temperature measurements, but not for high temperatures.
- Thermistors are mostly used in digital thermometers and home appliances such as refrigerator, ovens, and so on.
- Thermistors are available in different shapes like rod, disc, bead, washer, etc.
- Thermistor differs from RTD. In Thermistor, semiconductor materials are used while RTD has pure metals.
Also, RTD are useful for large temperature range whereas Thermistor are useful over small temperature range typically -100 °C to 300 °C.
Types of Thermistor
1. PTC (Positive temperature coefficient) Type Thermistor
- In positive temperature coefficient thermistor, resistance of thermistor increases with increase in temperature.
- PTC thermistor are divided into two groups based on
1. Material used
2. Their structure and manufacturing process
- In first group, thermistor comprises of silistors, which use silicon as the semiconductive material. They are used as PTC temperature sensors for their linear characteristic.
- The second group is the switching type PTC thermistor. This type of PTC thermistor is widely used in PTC heaters, sensors etc.
- PTC thermistors are mostly used as self-regulating heaters, for overcurrent protection, etc.
2. NTC (Negative temperature coefficient) type thermistor:
- In negative temperature coefficient thermistor, resistance decreases with increase in temperature.
- NTC thermistor are made from semiconductor material (such as metal oxide and ceramic)
- Most thermistor NTC sensors are typically suitable for temperature range between -55°C to +150°C
- Generally, NTC thermistors are used for temperature measurement.
How to Use NTC Thermistor for Temperature Measurement
- Voltage Divider Network
The output of thermistor is change in resistance. This change in resistance can be measured using voltage divider network by adding one series resistance with thermistor shown below.
Now, measure analog output voltage which is a function of change in resistance with change in temperature.
1. Convert analog voltage to Thermistor resistance
How to calculate Resistance value of thermistor?
Where,
ADC Output – Digital value of Vout(from 0 to 1023).
Series Resistor – In circuit diagram shown above, we used 10K ohm series resistor.
2. Calculate Temperature from Resistance
Steinhart hart equation
- The Steinhart hart equation is used to derive a precise temperature of thermistor since it provides a closer approximation to actual temperature than simpler equations, and is useful over the entire working temperature range of the sensor.
- The Steinhart hart equation is,
Where,
T – temperature in kelvin
R –natural logarithm of the resistance
A, B and C are coefficients derived from experimental measurement.
How to get value of A, B and C?
- There are different ways to get these three values.
- As per 'Calibrate Steinhart-Hart Coefficients for Thermistors' (attachment given below)methods, we can measure thermistor resistor value at different temperatures and can calculate A, B, C values using matrix method.
- A, B and C are the Steinhart-Hart coefficients which will vary depending on the type and model of thermistor.
- Steinhart hart formula is typically accurate around +-0.15°C, over the range of -50°C to +150°C which is useful for most applications.
- For reduced temperature range, 0°C to 100°C we will get better accuracy, around +-0.01°C.
B Parameter Equation
- But in above Steinhart-Hart equation, we must know or calculate different variables (A, B and C). So, we can use following B parameter equation.
- It is also a Steinhart-Hart equation with C = 0.
Where,
All temperatures are in Kelvin
T0 –Room temperature i.e. 25ºC = 298.15 K
B – Coefficient of thermistor (given on Thermistor)
R0 – Resistance at room temperature.
e.g. 10 K NTC have 10K resistance at room temperature.
R – Series resistance
Specification of NTC Thermistor
- Resistance at 25°C: 10,000 ohms (10k ohms)
- Beta value (or "B value"): Typically between 3500 and 4500
- Temperature range: -40°C to 150°C
- Tolerance: Typically +- 1% or +- 2%
- Time constant: Typically around 10 seconds
- Maximum power dissipation: Typically around 100mW
Alternate options for NTC Thermistor
- PTC Thermistor
- RTD
- LM35
- Thermocouples
NTC Thermistor vs PTC Thermistor
NTC Thermistor | PTC Thermistor |
Negative Temperature Coefficient | Positive Temperature Coefficient |
Resistance decreases as temperature increases | Resistance increases as temperature increases |
Commonly used for temperature sensing and measurement | Commonly used for Circuit protection from over-temperature |
Temperature range: -55 to 150 Celsius | Temperature range: -40 to 150 Celsius |
NTC Thermistor interfacing with Arduino
NTC Thermistor Temperature measurement Code for Arduino
#include<math.h>
const int thermistor_output = A1;
voidsetup(){
Serial.begin(9600); /* Define baud rate for serial communication */
}
voidloop(){
int thermistor_adc_val;
double output_voltage, thermistor_resistance, therm_res_ln, temperature;
thermistor_adc_val = analogRead(thermistor_output);
output_voltage = ( (thermistor_adc_val * 5.0) / 1023.0 );
thermistor_resistance = ( ( 5 * ( 10.0 / output_voltage ) ) - 10 ); /* Resistance in kilo ohms */
thermistor_resistance = thermistor_resistance * 1000 ; /* Resistance in ohms */
therm_res_ln = log(thermistor_resistance);
/* Steinhart-Hart Thermistor Equation: */
/* Temperature in Kelvin = 1 / (A + B[ln(R)] + C[ln(R)]^3) */
/* where A = 0.001129148, B = 0.000234125 and C = 8.76741*10^-8 */
temperature = ( 1 / ( 0.001129148 + ( 0.000234125 * therm_res_ln ) + ( 0.0000000876741 * therm_res_ln * therm_res_ln * therm_res_ln ) ) ); /* Temperature in Kelvin */
temperature = temperature - 273.15; /* Temperature in degree Celsius */
Serial.print("Temperature in degree Celsius = ");
Serial.print(temperature);
Serial.print("\t\t");
Serial.print("Resistance in ohms = ");
Serial.print(thermistor_resistance);
Serial.print("\n\n");
delay(1000);
}
The output of this code is the temperature in degrees Celsius and the resistance of the thermistor in ohms. The temperature is calculated using the Steinhart-Hart Thermistor Equation, and the resistance is calculated using the voltage reading from the thermistor output pin. The code prints the temperature and resistance to the serial monitor, and the values are updated every second due to the delay function used in the loop.
To know more about NTC Thermistor using Arduino refer to this link
Examples of Thermistor interfacing
Components Used |
||
---|---|---|
NTC Thermistor NTC Thermistor |
X 1 |