NTC Thermistor to ADC
How finely and how accurately does this NTC divider read temperature?
Could not save your rating. Try again.
Inputs
Tolerances and noise
Supply and self-heating
Results
at 100 °C
Checked: worst ΔTLSB ≤ your 0.5 °C/LSB, failing past 1.2 × (design margin): 0.242 × here, at 100 °C
Show working
- NTC resistance
R(100 °C) = 10 kΩ × exp(3435 × (1/373.15 − 1/298.15)) = 987 Ω - Divider slope
|dV/dT| = V_ref × R_s × α × R / (R_s + R)² = 3.3 × 10 kΩ × (3435/373.15²) × 987 Ω / (10 kΩ + 987 Ω)² = 6.657 mV/°C - Worst resolution
ΔT_LSB = (V_ref / 2^N) / |dV/dT| = (3.3 / 4096) / 6.657 mV/°C = 0.121 °C/LSB - Worst error
ΔT = (t_R25 + t_Rs) × T²/β + t_B × |1/T − 1/T_25| × T² + n × ΔT_LSB = (0.01 + 0.01) × 373.15²/3435 + 0.01 × |1/373.15 − 1/298.15| × 373.15² + 1 × 0.121 = 0.8107 + 0.9387 + 0.121 = 1.87 °C
at 100 °C: R25 0.405 (1 %), Rs 0.405 (1 %), B 0.939 (1 %), noise 0.121 °C (1 LSB)
at 25 °C, Vref 3.3 V
at 0, 50 and 100 °C, rounded down
All results (5)
at 16 °C
at 25 °C
| Temperature | R | V | Code | Resolution |
|---|---|---|---|---|
| 0 °C | 28.7 kΩ | 2.447 V | 3037 | 0.0277 °C/LSB |
| 20 °C | 12.17 kΩ | 1.812 V | 2248 | 0.0247 °C/LSB |
| 40 °C | 5.759 kΩ | 1.206 V | 1496 | 0.0301 °C/LSB |
| 60 °C | 2.981 kΩ | 757.8 mV | 940 | 0.0446 °C/LSB |
| 80 °C | 1.662 kΩ | 470.4 mV | 583 | 0.0725 °C/LSB |
| 100 °C | 987 Ω | 296.5 mV | 367 | 0.121 °C/LSB |
Accuracy
- Steinhart and Hart
Steinhart and Hart, Calibration curves for thermistors the equation
The β curve is a two-point fit, so it drifts from the part's real curve away from its pair. Far from 25 °C the B-value tolerance is often the largest single term, and of the tolerances here it is the only one a calibration at 25 °C leaves.
2 independent cases. See the working.
This is a design aid. The engineer remains responsible for the design and for checking the standard itself.
Parameter sweep
Vary one input over a range and see the answer and verdict at each step, as a table and a curve.ProWorst-case corners
Put a tolerance on each input and get the worst-case band around the answer.ProCircuit
The principle
An NTC thermistor's resistance falls steeply as it warms. In a divider with a series resistor Rs, read by an ADC whose reference is the divider's own supply, each temperature gives a code that does not depend on that supply. This page finds, at every degree of your range, how many degrees one code step is worth, how far the part tolerances and the ADC noise can move the reading, and how much the sensor heats itself.
- NTC resistance at temperature T
- resistance at 25 °C
- B value, between 25 °C and T2
- temperature in K, and 298.15 K
- Steinhart–Hart coefficients
- series resistor
- divider ratio: the share of Vref at the ADC
- ADC resolution, bits
- divider supply and ADC reference
- the NTC's fractional slope, |d ln R/dT|
- temperature step of one code
- ends and middle of the range
- dissipation constant
- tolerances of R25, Rs and the B value, as fractions
- ADC noise, in LSB
More detail
Choosing Rs
The divider is steepest where Rs equals the NTC's resistance, so Rs = R(Tmid) gives the finest steps in the middle of the range, and the ends are coarser. Moving Rs toward one end improves the resolution there and costs some at the other.
Ratiometric reading
With the divider fed from the ADC's own reference, the code depends only on R/Rs, so the reference's tolerance and drift drop out. Vref still sets the self-heating.
Where the error comes from
The R25 and Rs tolerances each shift ln(R/Rs) by a fixed amount, so a one-point calibration at 25 °C removes them. The B-value tolerance grows with distance from 25 °C and stays. The page adds the terms linearly, a worst case.
Not modelled: the ADC's own gain and offset errors, its input leakage and sampling charge, lead resistance, and the series resistor's drift with temperature, which a calibration at 25 °C does not remove. The dissipation constant on a datasheet is usually for still air.
Engine version 1.26.4