Arduino ADC + 模拟温度传感器LM35D
LM35是美国国家半导体(后被TI收购)推出的精密温度传感IC系列,其信号输出方式为模拟输出,输出电压值与摄氏温度值呈正比,且用户不需额外的校正就能获得较高的测量精度。其主要特性有:
- 供电电压:4~30V
- 测量范围:与芯片相关,单个正电源供电时最大+2~+150°C
- 测量精度:与芯片、测量温度有关,如下图。可见室温附近误差典型值大约在+/-0.5°C,最大值在+/-0.5°C到+/-1.5°C不等。本文中使用的LM35D是精度最差的芯片,误差最大值约+/-1.5°C。

- 功耗:与测量电路、温度有关,大约在50~100μA范围。
- Sensor Gain:10mV/°C,电压与温度的关系为 Vout = Temperature × 10mV/°C。
- 长期稳定性:量程最高温度下1000小时漂移+-0.08°C。
- 封装:有TO-92、Metal Can、SOIC-8、TO-220。本文使用的LM35D为TO-92封装。
电路连接
LM35D采用Arduino UNO板上的5V电压供电,信号输出端与A0管脚相连。

简单的电压读取和转换
转换采用Arduino的ADC功能实现,测量电压与AD采样值的关系为:

其中,Vin是被测量(输入)电压;Vref是参考电压,若不特殊设置的话即为供电电压,对于UNO板为5V;resolution是ADC的比特数(不含符号位),对于atmega328p为10比特;ADC为读取的转换结果。严格来讲,上式的分母应该再减去1,但是否减1对结果的影响可以忽略不计。实现的代码非常简单:
1 /* 2 Measuring the temperature using the LM35 sensor 3 Connection: 4 LM35 UNO 5 Vs <------> 5V 6
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
