利用Arduino连接LM35温度传感器测量室温

目的

利用Arduino连接LM35温度传感器测量室温,学习Arduino以及LM35传感器的使用。

原文地址:

http://www.joytag.com/arduino/sensor/利用arduino连接lm35温度传感器测量室温/
(转载请注明出处)

连接图&电路图

问题总结:

1:管脚以及连线问题

LM35的管脚上没有标识,所以很难分清和记住管脚的对应关系以及如何连线。还好有手册可以查 http://www.ti.com/lit/ds/symlink/lm35.pdf
需要注意的是,文档中管脚示意图是”BOTTOM VIEW”(底部视图),也就是说是从管脚一侧向上看的视图,千万别弄反了。

2:输出电压与温度换算问题

当使用最简单的方式连接时(VS接5V直流电源,GND接地),那么VOUT的输出电压与摄氏温度成线性关系。0摄氏度对应0V, 每增加一摄氏度,电压增加10mV(毫伏)。

所以我们可以用万用表测试出电压值,直接转换成温度值。比如100mV就是10摄氏度。

使用程序,我们会读到0~1023范围内的一个数值。由于我们最终想读到的是温度值,而不是一个抽象的数字,所以我们需要把数字转换成温度(摄氏度)。网络上很多转换公式,很迷糊。这里自己做了一个直观的:
val = data*5*1000/1024/10;          //data为读出的数值,val为换算后的温度
当然我们可以计算出后边的数值,直接套用进去,亦即:
val = data*0.48828125;

3:读数变化幅度巨大的问题

当 所有连接就绪,代码运行起来后,发现室温的读数在19度到28度之间变化,这不科学啊。如果偏差有这么大,那么测试温度就没有意义了。重新连线,检查代 码,甚至怕传感器被连线影响,把管脚掰弯远离连线(自己汗一下),都没有解决问题。后来把9V电池的供电盒拔掉,只用USB供电,读数终 于稳定下来了。

百度了一下,说是电源噪声引起的信号变化,长见识了。(不过我原以为Arduino的电源接口部分会对这个做一些处理,莫非我买的是山寨板?)

4:误差问题

解决以上问题后,LCD的上读数基本稳定了,与温度计实际测试的室温基本相同。但是读数偶尔会上下差0.2左右,这个误差应该在合理范围内。为了让读数更 准确,我采取了2000次采样求平均值的方式,这样读数基本恒定了。

结论:

小小的LM35,本以为接上就可以呢,结果遇到这么些问题,看来还是要努力啊!

文成仓促,错漏难免,如有发现,烦请赐教。
联系邮件:support@joytag.com
转载请注明出处:http://www.joytag.com/arduino/sensor/利用arduino连接lm35温度传感器测量室温/

Posted in sensor(传感器)