Noise equivalent temperature in an RTD/Thermistor

How accurately can you in principle measure temperature with an RTD or thermistor?

If we push a current I through the resistor we'll get a voltage of U=RI across it. Now as the temperature changes the resistance will change by \Delta R = \alpha R \Delta T where \alpha is the temperature coefficient of the sensor. This will give us a signal

\Delta U = I \Delta R = I \alpha R \Delta T

On the other hand the Johnson noise across the resistor will be U_n = \sqrt{4 k_b T R B} where B is the bandwidth, and we get a signal-to-noise ratio of

 \mathrm{SNR} = { I \alpha R \Delta T \over \sqrt{4 k_b T R B} }

The noise-quivalent-temperature (NET) can be defined as  \mathrm{SNR} = 1 or

 \Delta T_{NET}= \sqrt{ {4 k_b T R B \over R^2 I^2 \alpha^2 } }

Here we can identify P=UI=R I^2 as the power dissipated in the resistor and simplify to

 \Delta T_{NET}= \sqrt{ {4 k_b T B \over P \alpha^2 } }

Here's a table with some common values for pt100 and 10k NTC thermistors. The sensitivity \alpha is determined by the sensor type. What limits P is self-heating of the sensor which probably should be kept to a few milli-Kelvins in most precision applications. Thermistors with their higher sensitivity are an obvious choice for high-resolution applications, but the lower \alpha of a pt100 sensor can be compensated with a larger P since most pt100 sensors are physically larger and thus have lower self-heating. pt100 sensors require 4-wire sensing, slightly more complex than a 2-wire measurement which is OK for a thermistor.

Sensor Resistance Sensitivity (divide by R to get alpha!) Dissipated Power P Noise-Equivalent-Temperature
(1Hz bandwidth)
pt100 100 Ohms 0.391 Ohms/C 100 uW (I=1mA) 3 uK
NTC Thermistor 10 kOhms -500 Ohms/C 9 uW (I=30uA) 0.9 uK

I conclude that it is not entirely obvious how to choose between a pt100 and a 10k thermistor. The thermistor is intrinsically more sensitive, but with good thermal contact to its surroundings self-heating in a pt100 sensor can be minimized and the same noise-requivalent-temperature achieved. In any case it looks like Johnson noise limits resolution to 1 uK or so in a 1 Hz bandwidth. If we AD-convert the voltage at 24-bit resolution (16M states) we can get a reasonable measurement range of ~32 K by matching 1 LSB = 2 uK.

Does anyone know of similar back-of-the-envelope calculations for other sensors (Thermocouples, AD590)?

Temperature control circuits

I made two small circuits today for temperature control of the extruder head on a reprap type 3D printer. The idea is to control the temperature, which needs to be somewhere between 200 and 240 C I think, using EMC2 and two parallel port pins.

The first circuit is based on the 555 and produces a square waveform with variable frequency depending on the resistance of a thermistor. At room temperature the thermistor resistance is 100 kOhms and the output frequency is below 1 Hz, and when the temperature is suitable for extrusion the thermistor resistance is about 200 Ohms which produces an output frequency of around 25-30 Hz. If the EMC2 base-thread runs with a 50 us period then it should be possible to record the frequency of this square wave using an input pin on the parallel port with an accuracy of roughly 1/500 (half a degree C?), which should suffice.

Testing the heating side of things, a wire with about 6 ohms of resistance wrapped around the extruding head, showed that a suitable DC voltage is around 8 V and produces a current of 1.3 A. The idea is to use a HAL PWM-generator to drive the base of a 337 transistor which drives the gate of an IRF610 FET that controls the current through the heating wire. By adjusting the PWM duty cycle it should be possible to control the temperature using a PID controller based on the temperature measurement.