在Arduino项目中添加温度传感的最简单且廉价的方法其中之一是使用TMP36温度传感器。这些传感器相当精确,不需要外部组件即可工作。因此,只需几个连接线和一些Arduino代码,您就可以立即测量温度!
TMP36温度传感器 TMP36是由Analog Devices公司生产的低压、精密摄氏度温度传感器。它是一种提供电压输出的芯片,该电压输出与以°C 为单位的温度成线性比例,因此非常容易与Arduino一起使用。
TMP36温度传感器相当精确,永不磨损,可在多种环境条件下工作,无需外部组件即可工作。此外,TMP36传感器不需要校准,在+25°C和-40°C至+125°C温度范围内的典型精度为±1°C和±2°C。
该传感器可由2.7V至5.5V电源供电,在主动温度转换期间仅消耗50µA,提供非常低的自发热(在静止空气中低于0.1°C)。此外,还提供关断功能,可将电源电流降至0.5µA 以下。
以下是完整的规格: 电源 | 2.7V 至 5.5V | 电流消耗 | 50µA | 温度范围 | -40°C 至 125°C | 精度 | ±2°C | 输出比例因子 | 10mV/°C | 输出范围 | 0.1V (-40°C) 至 1.75V (125°C) | 25°C 时输出 | 750mV |
工作原理 TMP36使用固态技术来测量温度。它利用了这样一个事实,即连接二极管的晶体管的基极和发射极之间的电压降(正向电压 - Vbe)随着温度的升高而以已知的速率降低。通过精确放大这种电压变化,很容易产生与温度成正比的模拟信号。
正向电压和温度之间的这种线性关系是为什么使用二极管连接的晶体管作为温度测量器件的原因。本质上,这就是测量温度的方式,尽管多年来这项技术已经有了一些改进。可以在此处找到有关此技术的更多信息。
好消息是所有这些复杂的计算都在TMP36内部完成。它只是输出与温度成线性比例的电压。
如何测量温度 TMP36易于使用,只需将左侧引脚连接到电源 (2.7-5.5V) 并将右侧引脚接地(假设传感器的平面面向您)。然后中间引脚将具有与°C 温度成正比(线性)的模拟电压。这可以在输出电压与温度特性中很容易看出。请注意,模拟输出电压与电源无关。
要将电压转换为温度,只需使用基本公式: 温度 (°C) = (Vout – 0.5) * 100
例如,如果电压输出为 1V,则意味着温度为 (1 – 0.5) * 100 = 50 °C
测试TMP36传感器 测试TMP36非常简单,只需将左侧引脚连接到2.7-5.5V电源(两节 AA 电池工作得很好),右侧引脚接地(假设传感器的平面面向您)。现在将直流电压模式下的万用表连接到地和中间引脚。在室温(25°C)下,电压应为0.75V 左右。
尝试轻轻挤压传感器的塑料外壳以查看温度升高。
或者尝试用冰块(装在塑料袋中,以免电路与水接触)触摸传感器,然后观察温度下降。
TMP36传感器引脚排列 TMP36具有三种不同的外形尺寸,但最常见的类型是3引脚TO-92封装,它看起来就像一个晶体管。让我们来看看它的引脚排列。
+Vs 是传感器的电源,可以在2.7V到5.5V。 Vout 引脚产生与温度成正比(线性)的模拟电压。它应该连接到模拟 (ADC) 输入。 GND 是接地引脚。
将TMP36温度传感器连接到Arduino 将TMP36连接到Arduino非常简单。您只需要连接三个引脚:两个用于电源,一个用于读取传感器值。
传感器可由3.3或5V输出供电。正电压连接到“+Vs”,地连接到“GND”。中间引脚“Vout”是传感器的模拟信号输出,连接到Arduino的A0模拟输入。
以下是TMP36的连接:
要测量空气温度,请将传感器放在露天或将其连接到要测量温度的物体上,例如水槽。
读取模拟温度数据 正如您在上面的接线图中所见,TMP36的输出连接到其中一个Arduino的模拟输入。该模拟输入的值可以通过analogRead()函数读取。
但是,analogRead() 函数实际上并不返回传感器的输出电压。相反,它将输入电压在0和ADC参考电压之间映射到从0 到1023的整数值。将此值转换回传感器的输出电压,使用这个公式: Vout = (从 ADC 读取) * (5 / 1024)
此公式将ADC中的数字0-1023转换为0-5V
如果你使用的是3.3V Arduino,你会想要使用这个: Vout = (从 ADC 读取) * (3.3 / 1024)
此公式将ADC中的数字0-1023转换为0-3.3V
然后,要将电压转换为温度,请使用以下公式: 温度 (°C) = (Vout – 0.5) * 100 |