基于单片机和LabVIEW的温湿度监测系统设计

描述

摘  要:

利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该监测系统具有开发成本低、功耗低、性能稳、电路简单等优点。

0引言

随着技术的发展,温湿度测量应用到了工作和生活的方方面面,温湿度监测系统的应用也愈加广泛。目前,基于虚拟仪器的监控与数据采集系统的设计主要依赖于价格昂贵的数据采集卡,系统开发和应用成本高[1]。LabVIEW是美国国家仪器(NI)公司研制开发的一款图形化编程开发环境,本文基于单片机和LabVIEW平台实现了温湿度实时监测系统的设计。单片机和温湿度传感器构成下位机系统,以串口通信方式将采集的数据发送至上位机PC端LabVIEW平台,实现温湿度数据实时采集、温湿度趋势图绘制、门限报警、历史数据存储,并对数据进行精细化管理。该监测系统快速有效,开发成本低,非常适合日常使用。

1统设计思路

该系统下位机控制核心为STC89C52,温湿度传感器DHT11采集温湿度信号,液晶显示屏LCD1602显示系统信息。系统设置报警电路,用户可自行设定报警阈值,当温度或湿度超过设定值时则启动报警。上位机采用LabVIEW编写程序,单片机与其通过串口进行通信,实现系统温湿度数据的实时测量、监控、存储及统计分析。LabVIEW图形化编程人机交互界面友好,开发成本低,简单易行,功能可靠。系统结构如图1所示。

单片机

2硬件电路设计

2.1  下位机硬件电路设计

下位机单片机控制系统硬件电路包括:温湿度传感器DHT11电路、LCD1602显示电路、声光报警电路和键盘电路,本文在此只阐述温湿度传感器DHT11的电路设计。DHT11只需要占用单片机一个I/O口即可完成连接。如图2所示,DHT11的供电电压为3.5~5.5 V,其1脚接VCC,2脚接单片机的I/O口,3脚悬空,4脚接GND。上电后等待1 s以越过不稳定状态,在此期间不要发送任何指令。

单片机

2.2  上位机串行通信电路设计

上位机通过串口通信获取单片机采集的温湿度数值。串行通信线路简单,只需一对传输线即可实现通信,速度慢但成本低。在串行通信中,需要进行逻辑电平转换,使其对信息的逻辑定义与TTL兼容,接口电路如图3所示。

单片机

3系统软件设计

3.1  下位机单片机程序设计

下位机程序设计主要包括DHT11温湿度读取、LCD1602显示、键盘、声光报警以及单片机串口通信设计,图4为下位机主程序流程图。

单片机

下位机程序设计中的复杂部分是关于DHT11如何读取温湿度数据。DHT11采用单总线数据格式,一次通信时间要小于3 ms,主机连续采样间隔建议大于100 ms,其读取单总线上的1个字节数据程序设计如图5所示。其温湿度数据包由5 Byte(40 bit)组成:8 bit湿度整数数据+8 bit湿度小数数据+8 bit温度整数数据+8 bit温度小数数据+8 bit校验和[2],可以据此读出采集到的温湿度数据。

单片机

3.2  上位机LabVIEW程序设计

3.2.1  LabVIEW上位机设计模式

由于下位机连续不断地采集温湿度数据,为保证数据不丢失,上位机设计模式代码框架采用生产者/消费者模式。利用消息队列处理器,将用户界面UI、数据采集、数据保存显示、数据分析4个队列多线并行运行,如图6所示。用户界面有任何动作,生产者均会在事件结构产生对应的事件消息,发送到队列,消费者不断取出队列的事件消息进行处理[3],对所有动作做出反应。

单片机

3.2.2  LabVIEW上位机串口发送程序

本程序运行前需要先配置串口,将命令(如55 AA 01)通过VISA串口写入,等待不少于0.02 s,时间太短会导致读取缓存失败。通过串口属性节点Byte at Port可判断串口缓存的字符个数,若单片机返回错误标志,则重新发送[3]。由于DHT11是单总线器件,单片机正在执行时序时不能被打断,会错过上位机命令,所以需要重复发送几次,保证连接成功,不管成功与否最多发送5次。执行部分程序框图如图7所示。

单片机

3.2.3  LabVIEW上位机串口接收程序 为保证单片机发送过来的数据不会丢失,上位机将串口缓冲中的数据一一读到队列中,再建立另外一个线程来取出队列中数据并进行分析,如图8所示。

单片机

3.2.4  数据文件存储和调用

上位机存储数据文件类型为TDMS(Technical Data Management Streaming)文件,它兼顾了存取方便、高速等优势。TDMS的逻辑结构分为三层:文件(File)、通道组(Channel Groups)和通道(Channels)[4],程序员可以非常方便地使用这三个逻辑层次定义测试数据,数据检索是有序的、方便存取的,如图9所示。

单片机

4系统设计结果

系统测试结果如图10~图13所示。本系统实现了基于单片机和LabVIEW的温湿度监测,下位机实时监测温湿度数据,上位机在LabVIEW前面板实现温湿度数据和波形实时显示,当温湿度数值超出或低于预设值时,可通过下位机蜂鸣器和上位机指示灯进行报警,历史数据能以TDMS文件形式保存,易于查询和打印。

单片机

单片机

单片机

单片机

5结语

本文设计了基于单片机和LabVIEW的温湿度监测系统,经测试,该系统可实现温湿度的实时监测、报警、历史数据存储和查询功能,且监测界面美观、操作便捷,系统成本低,功能易扩展,具有较好的使用和推广价值。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分