获取一个精密的温度传感器IC,例如LM35CAZ。
您用一个5v的良好电源供电,输出是一个简单的电压,它是温度的线性函数。在室温下,它们具有±1⁄4˚C的相当不错的精度。
添加:
有几个人谈到该传感器为±1ºC时的“整个温度范围内的精度”。这是错误的范围。“烹饪温度下的精度”是正确的讨论范围。在约60ºC时,精度为±0.7,甚至可能更好。“典型”线在整个烹饪范围内变化约0.1ºC。
您可能只需要一个或两个校准点就可以使该传感器轻松准确地满足您的需求。但是,当然,这需要一个准确的温度计对其进行校准。为此,您有两种选择:
选项1:您可以用水。冷冻水的温度为0ºC。因此,将其粘贴在冰箱的一小杯水中,并仔细观察输出电压。它将不断下降直到水开始冻结。此时,温度将停止下降并保持一段时间。一旦冻结完成,温度将再次开始下降。注意平坦区域中的电压,将其用作0ºC校准点。
对沸水也一样。最好在海平面上这样做。如果您不在海平面上,请检查您所在海拔的水沸腾温度。
使用0ºC和100ºC并不如使用50ºC和80ºC,但要容易得多。如果确实有非常精确的温度计,则应使用更接近烹饪温度的校准点。
选项2:使用甲醇。(感谢stevenvh)这在64.7ºC时沸腾。这非常接近您的烹饪温度,因此您只需要一个校准点就可以得到非常准确的烹饪温度。显然要小心,不要陶醉或冒烟。不要在明火上加热酒精!
添加-放大
由于您在狭窄的温度范围内工作,并且需要良好的控制精度,因此可能还值得放大传感器的输出。这将在Arduino上提供更大的ADC分辨率,这将转化为PID控制算法更好的稳定性。请参阅模拟电压电平转换(电平转换)问题,该问题讨论了模拟电压的放大和电平转换。
假设您在40ºC-100ºC的温度范围(0.4v-1.0v)中工作。您需要从信号中减去0.4v,得到0.0v-0.6v,然后将结果放大8,得到0.0v-4.8v。这将提供出色的分辨率。