A recent article in EDN about temperature measurement caught my eye. The article explains how to design a circuit when you need temperature measurements with an accuracy of about ±0.5°C. You can use this circuit to design your own digital thermometer, or you can embed it in a system where you need to monitor temperature.
Here's my summary of the article, followed by some comment on temperature measurement.
You hook a K-type thermocouple and resistance temperature detector (RTD) -- specifically a PT1000 device -- up to a data-acquisition system (DAS) card designed by the authors (which is based on a MAX47882 two-channel analog mux, a 24-bit MAX11200 differential ADC, and a MAXQ622 microcontroller. If you take the digitized outputs into a PC and apply the NIST ITS-90 database using software on your PC, you can get a pretty good (0.5°C) resolution over a pretty wide range (-270°C to +1750°C). Best of all, you can implement this circuit at a low cost.
The authors are using the analog mux on the front end of the DAS card to switch between samples between the thermocouple and the RTD. This lets them know the temperature at the near end of the thermocouple and thus calculate the absolute temperature from the induced voltage.
The nifty part of their circuit is that it feeds both sides of the thermocouple directly into a differential ADC, and the authors are doing the same with the RTD by incorporating it in a resistive divider. By applying the NIST database, they compute temperature based on the differential voltage of the thermocouple against a known temperature.
The article made me think about how thermocouples work. A thermocouple generates a small voltage on its outputs (independent of any applied voltage). How does this work? Well, it's based on the Seebeck (a.k.a. thermoelectric) effect. In 1821, Thomas Johann Seebeck figured out that, if you impose a thermal gradient on a conductor, it will generate a voltage. You can read more about thermocouples and the Seebeck Effect in the EDN article Thermocouples: Simple but misunderstood.