How to calibrate a temperature sensor

I am using an LM35 temperature sensor, which produces an output of 10.0 mV/°C. My circuit will handle temperatures up to around 90C

What can I do to check the LM35 output, and maybe fine tune it for accuracy? Are there any non hazardous easy to obtain chemicals that boil below 100C?

Or if I am forced to change the circuit to handle temperatures up to 100C would sticking the suitably waterproofed sensor in a pan of boiling water be sufficient to calibrate it?

Note

I am not looking for 0.1C accuracy, 0.5 will do.

Update

All interesting answers, thanks, but the simplest solution seems to be changing the circuit to allow 100C as a close enough calibration point

-

Prepare a bowl of (melting) ice water on a day where the barometer is near 1013 mbar of pressure. Stick your sensor in it. The reading you get at equilibrium is your 0C reading.

Prepare a pan of slowly boiling water, also on a day where the barometer is near 1013 mbar of pressure. Stick your sensor in it. The reading you get at equilibrium is your 100C reading.

Divide the intervening range into 100 equal parts.

The beauty of this method is that you are not tied to errors made while calibrating the sensor you are using to calibrate with, or errors made when calibrating the sensor they used to calibrate the sensor you are using to calibrate with, or ... (etc).

-
I agree with the ice water bath, but he said the circuit was limited to 90 degree C which leaves out the boiling water. Ideally he should try to find two other reading for a good measure of the circuits accuracy. – Jim C Feb 21 '11 at 15:37
Don't forget to calibrate your barometer. – Doc Feb 21 '11 at 15:38
Excellent point doc. – drxzcl Feb 21 '11 at 15:59
Also, precision thermometer is much more accurate for this. With ice water you have to cover it to get more accurate reading. For boiling water, it must be very slowly boiling to be 100C. If you need it to be really accurate (like +-0.1C), that's not good enough. – Olli Feb 21 '11 at 17:12
How much difference does the weather make? I see the boiling point reduces by 1C every 285M, so I could factor for that, but would the weather make a more significant difference? – David Sykes Feb 22 '11 at 7:33
show 1 more comment

Stick a type k thermocouple to the LM35 and compare the result to the reading on the thermocouple meter. Warm the whole assembly slowly in an oven until the reading on the thermocouple meter stabilises. Also put the whole assembly in the fridge to check the low temperature point.

While you don't absolutely need a temperature controlled oven, the problem is that the thermal time constants of the thermocouple and the LM35 are different, so while the temperature is changing, one will be ahead of the other. Superglueing the thermocouple to the LM35 will help, rather than letting it poke about in free air, so that they are thermally coupled.

Type K thermocouples are cheap and widely available, and can read to reasonable level of accuracy for most purposes. The meter may read to within 0.01C but that would the precision not the accuracy, so is only usable for relative changes.

Since all temperature sensors measure their own temperature, be aware that it will change more slowly than an thermocouple due to its higher thermal mass and the coupling to the PCB.

-
 Is this relying on the accuracy of the thermocouple to check the LM35? If so then I guess any source of reasonably stable temperature would do (I don't think my oven understands sub 100C) – David Sykes Feb 22 '11 at 7:24

This is really several questions in several realms, almost none of them about electronics.

The first part is Metrology, the study of measurements, and in this case accuracy. Given that the LM35 itself is fairly cheap (roughly $0.65 to$3.00 USD in 1k quantities) and only 0.5°C accuracy (at 25 degrees Celsius) and +/- 1 degree C at the extremes of the scale, it doesn't make sense to spend too much money or time trying to calibrate or improve its accuracy.

The second is about the chemistry question of (safe) substances that have a boiling (or thawing) point below 90 degrees Celsius. The only substance used for standard platinum resistance thermometer (SPRT) calibration under ITS-90 is Gallium's melting point (29.7646 C) , and the triple point of pure water (0.010 C). I don't know about the toxicity of Gallium, but I assume that the lack of readily availability of Gallium negates that concern. Again calibrating it against anything other than pure water (deionized / distilled water) seems to not be worth the effort.

Distilled / deionized water is typically available in North American and western European grocery stores, combined into the section with bottled water. This isn't analytic laboratory grade, but decent enough for many home lab experiments. I have no clue on its availability globally, but if bottled water is readily available there is a good chance that it is available as well.

I would also be careful not to assume that any difference is constant or even linear over the entire temperature range. For example SPRT can be calibrated to 5 reference points based upon chemical properties of various elements over their range to help determine the calibration curve.

I would agree with Martin, that the comparison with a thermocouple is likely the best cost-effective and/or affordable approach, my only other suggestion is to compare the LM35 sensor to a known-good calibrated thermometer that is preferably an order of magnitude better than the sensor (i.e. +/- 0.1 degrees at the extremes of the scale, and +/- 0.05 degrees C at 25 C).

Because of Combined gas law, you also need to factor in barometric pressure as well if referencing to a physical phenomena (e.g. melting, boiling), rather than a relative comparison of two instruments present at the same time/place and thus same atmospheric pressure. Depending on your location, the adjustment may be small or large, depending on your location's elevation and the current local atmospheric pressure and temperature compared to compared to the standard conditions for temperature and pressure.

My apologies for what likely seems like overkill, but I don't want you (and others) to be mislead into assuming high-quality calibration / accuracy is easy or quick to achieve.

Hopefully this helps to explain what the potential factors are so you can decide how you wish to solve the problem in your case. Good luck.

-
1. Using mix of distilled water and crasched ice (much of ice = almost no floating) You will get relatively easily 0 deg C with uncertainty below 0.2 deg C (0.005deg C achievable). Insert sensor 15 cm minimum, better 20..25cm (to cool sensor cable), and mix mixture from time to time. Wait few minutes until readings stabilize.
2. 90 deg 'C : borrow 50..100'C thermometer with 0.1deg /div or 0.2dev/div resolution from chemical laboratory. Put both thermometers close to each other to pot with hot water. Mix water with spoon. You should get uncertainty below 0.3deg. Boiling point of water can give similar accuracy, but is more difficult to get, and as mentioned by others, requires corrections for altitude and barometric pressure at sea level (or barometric pressure at Your laboratory).
-