APP下载

基于MSP430F149单片机与AM2301传感器的温湿度计设计

2015-11-17化腾飞

关键词:校验上位温湿度

化腾飞

太原理工大学新型传感器与智能控制教育部和山西省重点实验室,山西太原030024

基于MSP430F149单片机与AM2301传感器的温湿度计设计

化腾飞

太原理工大学新型传感器与智能控制教育部和山西省重点实验室,山西太原030024

为提升家居生活的安全性、便利性、舒适性、艺术性及实现环保节能,需实时监测家居环境的温湿度、亮度等条件,以便更好地了解家居环境并进而对家居环境进行智能控制。鉴于此,基于高性能、低功耗单片机MSP430F149通过单总线方式控制温湿度传感器AM2301,实现了智能温湿度计对家居环境中温度、湿度进行监测。当家居环境中的温湿度过高、过低时都会有相应的LED灯闪烁警告;并且通过LabVIEW设计实现了上位机软件显示温湿度数据,方便通过PC机实时查看家居环境中的温湿度值。为智能家居的环境监测做了基础工作,并方便基于MSP430F149单片机做进一步扩展工作,为实现智能家居奠定了基础。

MSP430F149;AM2301传感器;温湿度监测与报警;LabVIEW上位机软件;智能家居

温湿度和亮度与人们的家居生活息息相关,合适的温湿度和亮度使得人们的家居生活便利、舒适、健康、安全。目前常用的温湿度计主要分两种:一种是传统的温湿度计,温度用水银柱来显示,湿度用机械式指针显示,价格便宜,但是精度不高,不易读数[1];还有一种是基于LCD显示温湿度值的数字式温湿度计,这种温湿度计具有测量方便、简单、灵活等特点,可以大幅度提高温湿度监测的精度,示数也更加直观易读。但是目前这种数字式温湿度计基本上是基于51单片机所实现,使用液晶屏或LED数码管显示温湿度示数[1,2],性能较差,不便于扩展其他功能,界面不友好,且功耗较大。

本文基于高性能、低功耗单片机MSP430F149和温湿度传感器AM2301设计实现温湿度计,并基于LabVIEW实现上位机软件监测家居环境温湿度,电路简单,性能可靠,通过MSP430F149µs级精确定时采集、控制温湿度传感器确保温湿度计的高精度,人机交互界面友好,并且MSP430F149单片机资源丰富,可以扩展其他智能家居应用,扩展性强。

1 系统介绍

本文所设计得温湿度计系统框图如图1所示。MSP430F149单片机通过单总线控制温湿度传感器AM2301测量家居环境温湿度并接收AM2301传回得数据。在收到AM2301传回的温湿度数据后,MSP430F149校验该数据是否正确,如果数据校验出错,则重新采集;如果数据校验正确,则转换该数据为10进制数据并通过RS232发送到PC机,PC机通过LabVIEW接收并显示温湿度数据。MSP430F149单片机还会判断温湿度值是否处于人体舒适范围内,只要温度或湿度中任何一项指标过高或过低,都会有相应的LED灯均匀闪烁报警。

图1 温湿度计系统框图Fig.1 System diagram of hygrothermograph

1.1 温湿度传感器AM2301简介

温湿度传感器AM2301是一款含有已校准数字信号输出的温湿度复合传感器。传感器包括一个电容式感湿元件和一个高精度NTC测温元件,并与一个高性能8位单片机相连接。产品为3引线,连接方便。AM2301各个引脚功能说明如表1所示[3]。

表1 AM2301引脚说明表Table 1 Direction for the pin of AM2301

AM2301的供电电压范围为3.5V~5.5V,信号传输距离可达20 m以上[3]。数据线SDA引脚为三态结构,用于读/写传感器数据,采用单总线方式通信。SDA作为微处理器(主机)与AM2301之间通信和同步的通道,一次传送40位数据,高位先出,通信协议如图2所示[3]。

图2AM2301单总线通信协议Fig.2 Signal bus communication protocol of AM2301

图2中,在起始状态时,主机把SDA拉低一段时间,通知传感器准备数据。接着主机释放总线,传感器把SDA拉低80µs以响应主机的起始信号。然后传感器一次性从SDA串出40位数据。湿度和温度数据的分辨率均是16 Bit,高位在前。传感器串出的湿(温)度值是实际湿(温)度值的10倍,温度最高位(Bit15)等于1表示负温度,等于0表示正温度。校验位=湿度高位+湿度低位+温度高位+温度低位。

主机从AM2301读取的温湿度数据总是前一次的测量值,如两次测量间隔时间很长,需连续两次测量并以第二次测得的值为实时温湿度值,同时两次读取间隔时间最小为2 s[3]。

1.2 MSP430F149单片机定时器分析

由于温湿度传感器AM2301单总线通信时工作时序十分重要,且工作时序很多是µs级时间间隔,因此精确的延时程序十分必要。使用MSP430F149定时器A(Timer_A)可轻松实现µs级延时程序。

MSP430系列单片机的Timer_A由一个16位定时器和多路比较/捕获通道组成,每个比较/捕获通道都以16位定时器的定时功能为核心进行单独的控制。Timer_A具有以下特性[4]:

(1)输入时钟可以有多种选择,可是慢时钟,快时钟及外部时钟;

(2)产生的定时脉冲或PWM(脉宽调制)信号没有软件带来的误差;

(3)具有完善的中断服务功能;

(4)4种计数功能选择(停止模式、增计数模式、连续计数模式、增/减计数模式)。

本文基于增计数模式实现µs级延时程序。MSP430单片机的捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器,因为CCR0为16位寄存器,所以该模式适用于定时周期小于65536的连续继续情况。计数器TAR可增计数到CCR0的值,当计数值与CCR0的值相等时,定时器复位并从0开始重新计数。增计数模式的计数过程如图3所示[4]。

图3 增计数模式下计数器计数过程Fig.3 Counting process of counter under the up-mode

在增计数模式工作过程中,当定时器的值等于CCR0的值时,设置捕获比较中断标志(CCIFG0)位1,而当定时器从CCR0回到0时,设置定时器溢出标志(TAIFG)为1[4]。

应用增计数模式实现µs级延时程序时,设置Timer_A输入时钟为外部时钟(8 MHz)并8分频,则Timer_A的时钟频率为1 MHz,即计数器每计数一次时间为1µs,让计时器计数到CCR0,则可实现CCR0µs的精确延时函数。

2 温湿度计设计实现

2.1 硬件电路设计

由于AM2301采取单总线的通信方式,3引线连接。所以其硬件电路搭建非常简单。系统连接框图如图4所示。

图4 系统连接框图Fig.4 System connection diagram

AM2301与MSP430单片机通过单总线SDA连接,并且SDA通过连接5.1 kΩ电阻R1上拉到VCC,这样当单总线闲置时,其状态为高电平。MSP430F149单片机通过P1.0管脚控制AM2301工作并接收AM2301返回得温湿度数据,MSP430F149将温湿度数据校验、分析、转换为10进制数据并通过RS232发送到PC机显示,同时MSP430F149判断温湿度值是否处于人体舒适温度范围,如果温度过高则L1闪烁,温度过低L2闪烁,湿度过高L3闪烁,湿度过低L4闪烁。

2.2 软件编程实现

本温湿度计的软件部分由两部分组成:MSP430F149单片机端的对于AM2301的控制、信号采集、分析与处理并将温湿度数据发送到上位机;上位机接收温湿度数据并解析、显示。2.2.1单片机端软件实现MSP430F149单片机端软件实现流程图如图5所示。图5中AM2301上电初始化后即进入休眠模式,MSP430F149发送起始信号唤醒AM2301。MSP430F149接收到AM2301响应信号后立即读取40 bit温湿度信号和校验信号,并对该数据进行校验。如果校验出错,则重新获取温湿度数据;如果校验成功将则将AM2301传输得16进制数据转换为10进制数据并通过串口发送到上位机显示。MSP430F149还要对所接收数据进行判断,以确定该温湿度数据是否符合人体感觉舒适范围,如果不符合,则根据判断结果驱动相应的LED灯闪烁报警。这样即完成了一次温湿度数据采集、校验、处理、显示工作。接着MSP430单片机定时等待下一次采集时间到来并重新开始这一流程。

图5 MSP430F149软件实现流程图Fig.5 Flow diagram of software implementation based on MSP430F149

本温湿度计根据市售温湿度计标准设置人体舒适温度范围为18℃~24℃;人体舒适湿度范围为35%~55%。根据AM2301数据手册设置定时采集时间为2 s。

2.2.2 上位机软件实现温湿度传感器上位机软件主要功能是通过串口接收MSP430F149发送得10进制温湿度数据并显示。通过LabVIEW实现得上位机软件示例如图6所示。

图6基于LabVIEW的温湿度计Fig.6 Hygrothermograph based on LabVIEW design

图6中基于LabVIEW的温湿度计上位机显示示例主要包括两部分:图形化显示的前面板和数据流编程的程序框图。前面板主要有连接端口设置、温度计显示(模拟/数字)、湿度计显示(模拟/数字)和软件运行控件;程序框图主要有串口配置程序、温湿度数据字符串解析、显示程序和串口资源释放程序。

3 温湿度计测试

对设计与实现得温湿度计进行测试,使用安捷伦示波器观察AM2301单总线上的信号波形,以确保和单总线通信时序保持一致,并对比确认显示得温湿度数据是否正确。使用安捷伦示波器观察AM2301单总线的信号波形如图7所示。

图7AM2301单总线数据信号Fig.7 Data signals on signal bus of AM2301

图7中,MSP430F149先发出2 ms的起始信号,将单总线状态拉低,然后释放单总线,此时由于上拉电阻R1的作用,单总线处于高电平状态。大约30µs之后,AM2301响应MSP430起始信号,返回80µs的低电平和80µs的高电平信号。紧接着AM2301依次发送40 bit的湿度信号、温度信号和校验信号。发送完成后AM2301自动转入低功耗模式,直到下一次MSP430单片机起始信号来临。

在测试过程中使用法克曼家用温湿度计做参照,对比测试结果如图8所示。

图8 AM2301与Fackelmann温湿度计的测定结果比较Fig.8 Comparison of results determined withAM2301 and Fackelmann Hygrothermgraph

由图8(a)可知基于AM2301的温湿度计采集得温度数据与法克曼温湿度计采集得温度数据基本规律一致,AM2301温湿度计采集得温度数据比法克曼温湿度计采集得温度数据略高,但最高不超过0.5℃。由图8(b)可知AM2301温湿度计采集得湿度数据与法克曼温湿度计采集得湿度数据基本相近,两组数据相差最大不超过0.6%。在本测试环境下,由于温度始终高于24℃,湿度始终低于35%,状态指示灯L1和L4始终闪烁。

4 结语

使用高性能、低功耗单片机MSP430F149通过单总线方式控制温湿度传感器AM2301工作及接收AM2301采集得家居环境温湿度数据,并对该温湿度数据进行校验、分析、转换最终通过串口发送到PC机;分析判断家居环境中温湿度值是否处于人体舒适范围,如果不是,则有相应的LED闪烁报警。基于LabVIEW实现了温湿度计显示上位机程序示例,可以通过模拟和数字两种方式既形象又直观地读取温湿度值。MSP430F149单片机和上位机程序都可以扩展功能,程序扩展性强,为智能家居监测与应用奠定了基础。

[1]秦伟何.基于AM2301温湿度计设计[J].湖南农机,2012,39(9):59-60

[2]李志强,黄顺,郭华新.基于SHT10的数字温湿度计设计[J].机械与电气,2007,108:35-36

[3]AM2301_DHT21温湿度传感器[EB/OL].[2013-04-08].http://wenku.baidu.com/view/2453871c866fb84ae45c8d34.html

[4]沈建华,杨艳琴,瞿骁曙.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004:151-161

Design for Hygrothermograph Based on MSP430F149 Single-chip Microcomputer andAM2301 Sensor

HUATeng-fei
Key Laboratory of Advanced Transducers and Intelligent Control System,Ministry of Education and Shanxi Province,Taiyuan University of Technology,Taiyuan 030024,China

To enhance the security,convenience,comfort,artistry,security of home life and implement environment protection and energy saving,real-time monitoring of the temperature,humidity,brightness and other home environment conditions is necessary so that home environment could be better informed and intelligent controlled.Smart hygrothermograph based on high-performance and low-power micro-controller MSP430F149 and temperature&humidity sensor AM2301 which is controlled by MSP430F149 through signal is realized to track the temperature and humidity in home environment.A particular LED would be flashing to warn that the temperature or humidity in home environment was too high or too low.A PC software was also designed and realized by LabVIEW to easily view the temperature and humidity in home environment through PC.Some basic work of smart home environment monitoring has been done and further expansion work could be done based on MSP430F149.It laid the foundation for the future studies on the smart home.

MSP430F149;temperature&humidity sensor AM2301;temperature and humidity monitoring and alarm;PC software based on LabVIEW;smart home

TP368.2

A

1000-2324(2015)01-0143-05

2013-05-12

2013-05-22

化腾飞(1989-),男,山西介休人,硕士,主要从事嵌入式系统、测试测量技术及仪器的研究.E-mail:feifei8888568568@163.com

猜你喜欢

校验上位温湿度
温湿度控制器在回收砂冷却系统中的应用
基于DSP的多路温湿度监测系统
基于温湿度控制的天气预测装置
特斯拉 风云之老阿姨上位
炉温均匀性校验在铸锻企业的应用
蒸发冷却温湿度独立控制空调系统的应用
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
结合抓包实例分析校验和的计算
以新思路促推现代农业上位