Electronic – Calibrating ADC for calibration-free temperature measurement

adccalibrationtemperaturethermistor

I have an application for a 10-year completely sealed battery-powered Bluetooth temperature measurement system providing an accuracy of +/-0.5C over a range of 0C to 50C. The device cannot be calibrated during its working life, and I'd prefer not to calibrate in production. The simplest solution is something like a Si7054, which has a +/-0.4C acccuracy and a 0.01C drift per year = +/-0.5C. Great. $1.20 / 1K units.

However, can I do better/cheaper with fixed resistors, an NTC thermistor, and a ratiometric measurement using an onboard ADC? For instance:

NTC Thermistor:0.5% 100K, Beta 0.5%, $0.174/1K (TDK NTCG104ED104DT1X)
Resistor 0.1% 100K, 25ppm/C = 0.1625% $0.066/1K (ARCOL APC0603B100KN)

Estimation of total accuracy ~1.1625%, cost $0.24

Now the bad part: The nrf52810 BLE IC has a +/-3% error on the 12-bit ADC after its internal calibration. The system error is > 4.2% once you account for propagation of errors. My understanding is that NTC sensors change ~4-5%/C so now we have an error of ~+/-1C. Darn.

Is there a simple way to calibrate this error out? The nRF52 can perform internal offset error calibration against ground. It seems using precision resistor dividers or fixed voltage references to provide a second reference point would allow me to figure out gain error and get enough accuracy. Am I missing anything here? Any other sources of error? Words of wisdom from the experienced?

Best Answer

Yes, you can do this, but I would suggest using time rather than an ADC if possible. Particularly if you need to measure a wide range, since you'll quickly run out of resolution with a thermistor due to their nonlinearity.

The general idea is to switch the same circuit between measuring a fairly precise reference resistor selected to be near mid-scale or the resistance corresponding to the most important temperature and measuring the sensor. That eliminates most of the errors and you don't need a precision reference voltage or much of anything else.

You could do that with an ADC too, especially if you have access to the reference to make the whole measurement ratiometric (eliminating the absolute value of the reference). You might have issues with linearity of the ADC though, depending on how is it made. Rather than using the same series resistor (which would be, in theory, better) you could use an additional pair and tighten up the tolerance (0.1% is pretty cheap these days).

Virtually all cheap temperature measurement circuits in consumer goods (< 100°C or so) work with the time (frequency) method.

However, based on certain experiences, I don't particularly trust thermistors at higher temperatures. You can evaluate that risk for yourself.