如何使用Beaglebone® black与LM35测量温度?

本文说明如何将LM35温度传感器与Beaglebone® black连接并使用其接口进行工作。LM35是模拟传感器,可测量温度,以电压形式线性输出。通常需要ADC将温度传感器的模拟输出转换为数字输出,但由于Beaglebone® black具有片上ADC,可以直接将其与传感器连接。程序使用adafruit GPIO库以python脚本编写。使用到的硬件包括Beaglebone® black、LM35、面包板、连接线。

图注:Beaglebone® Black和LM35传感器的温度测量示意图

设置软件环境

在Beaglebone® Black中安装最新python,安装名为adafruit_BBIO的adafruit python-GPIO库。

工作原理

LM35输出模拟信号。ADC输出数字信号,通过公式将其转换为摄氏度和华氏度。ADC的参考电压为1.8V。可以在ADC引脚上提供最大1.8V电压。LM35的步长(Stepsize)为10mV,表示当温度变化1度时,传感器输出电压将增加10mV。通过以下公式计算ADC步长:Vref/212,其中,Vref是ADC参考电压(1.8V=1800mV)。步长=0.44mv。数字输出为:Dout=Vin/步长,其中,Vin是ADC的输入电压(LM35传感器的输出)。

通过组合上述公式,Dout=(Vin*4096)/1800。在这里,数字输出是实际输出的22.75倍,因为LM35的步长为10mV,ADC的步长为0.44mV,这就是为什么我们需要将其除以22.75才能获得正确摄氏温度(10mV/0.44mV=22.75mV)。

摄氏温度:(Dout)/22.75。华氏温度:(摄氏温度*9/5)+32。

脚本执行的时候将进入连续循环,并在终端上显示摄氏温度和华氏温度。从SSH命令终端停止执行程序时,按ctrl+C组合键。

图注:Linux控制台屏幕截图,其中显示温度读数

电路图

过程描述

准备一块面包板,从Beaglebone® Black到面包板线提供VCC和接地。将电源3.3V从插头P9的第3号引脚连接到地,并将其从P8第二个引脚接地。LM35具有三个端子:Vcc、输出、接地(GND)。

图注:LM35温度传感器的引脚图

Vcc端子连接到3.3V电源,GND连接到Beaglebone® Black的ADC地线(P9第34个引脚)。LM35的输出连接到AIN1输入(P9第40个引脚)。

打开命令终端,通过SSH访问Beaglebone® black。使用扩展名为.py的touch命令(即LM_35.py)创建一个新文件。使用任何文本编辑器(nano、vim等)打开文件,以python语言编写代码。

项目源代码

举报
评论 0