林园胜, 许 钢, 江娟娟, 吴益红, 毕运锋
(安徽工程大学 安徽检测技术与节能装置省级实验室,安徽 芜湖 241000)
温度是用来度量物体冷热程度的物理量,湿度是用来表示空气干燥程度的物理量,温湿度与人类的生活和工作密切相关,温湿度监测系统也广泛应用于农业、食品、博物馆文物、档案管理和药品储存等众多领域,与温湿度相关的行业对自身所采用监测系统的精度和操作简易程度的要求越来越高。现有的温湿度监测系统多为基于单片机为核心处理单元,单片机除了负责操控温湿度传感器,还要进行数据分析处理及显示,通常存在着硬件设计不易、软件编程复杂、系统扩展应用不够理想等问题。随着计算机技术和虚拟仪器技术的飞速发展,使得采用虚拟仪器技术和单片机技术相结合进行温湿度监测系统的设计成为可能,这样可以节约资源,也便于计算机控制。
目前,基于虚拟仪器的监控与数据采集系统的设计主要依赖于数据采集卡;但是,常见数据采集卡价格昂贵,这不利于系统开发和应用[1-3]。本文介绍一种基于美国国家仪器公司(National Instruments,简称NI公司)研制的实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench,简称LabVIEW)[3,4]和单片机研发的温湿度监测系统,单片机所采集的温湿度数据通过串口通信方式发送至PC机,PC机应用LabVIEW进行数据的处理和分析,系统可以实现温湿度的测量、趋势图绘制、超限报警和数据存储等基本监测功能。这样进行的系统设计更有效、更快速,且极大程度地减少了开发成本。
系统由硬件电路和软件编程两部分组成,其中,硬件电路包括温湿度传感器SHT11、单片机STC89C52RC和PC机;软件编程主要是应用LabVIEW 2011进行用户操作界面和数据显示界面的设计。系统结构框图如图1所示。单片机控制温湿度传感器进行温湿度的采集,单片机采集到的温湿度数据由串口通信方式发送到PC机,安装有LabVIEW 2011的PC机通过编写好的程序实现对采集温湿度的实时显示、趋势图绘制、数据存储和超限报警等基本操作,构成一个基于LabVIEW 2011和单片机的温湿度监测系统。
图1 系统结构框图
系统硬件设计主要是温湿度传感器、单片机和PC机的功能应用设计。其中,温湿度传感器和单片机构成系统前向通道,进行温湿度数据的采集;PC机应安装有LabVIEW 2011软件,用于数据的处理和分析程序的编写。
系统硬件选型主要是进行前向通道的芯片选型。其中,温湿度传感器采用瑞士Sensirion公司生产的SHT11,SHT11是一款高度集成的温湿度一体传感器芯片。SHT11温度测量范围为-40 ℃~+123.8 ℃,分辨率为0.01 ℃,测量精度为±0.4 ℃;相对湿度测量范围为0~100%RH,分辨率为0.03%RH,最高精度为±3%RH。此外,SHT11还具有体积小、低功耗、响应时间短、抗干扰能力强、适配各种单片机等优点,是一款性价比极高的温湿度传感器[5]。
图2 SHT11与单片机的连接电路
图3 USB转串口电路
单片机选用宏晶科技公司推出的STC89C52RC,STC89系列单片机,它具有功耗超低、加密性强、抗干扰能力强等特点。其系统可编程,指令代码完全兼容传统8051单片机[6]。
系统前向通道由温湿度传感器和单片机最小系统构成,进行温湿度数据的采集和传送,是系统硬件设计的核心电路。SHT11与单片机的连接电路如图2所示。为减少开发成本,应用串行总线实现计算机和单片机之间的数据通信,从而取代昂贵的数据采集卡。目前,带有串口的计算机越来越少,如部分一体机、笔记本电脑都很少带有这种老式接口。但是,每台计算机都有USB接口,系统硬件设计采用一种USB转串口电路,进行PC机的USB接口和通用串口之间的转换,实现计算机和单片机之间的通信[7],USB转串口电路图如图3所示。
图4 SHT11程序流程图
系统软件设计包括前向通道硬件的C语言程序的编写和用于数据分析处理的LabVIEW程序设计,软件设计是整个系统开发的核心内容。
前向通道C语言程序设计主要是进行单片机烧录程序的编写,即应用单片机控制SHT11进行实时温湿度的获取并将所采集温湿度值进行相应处理后采用串口通信的方式发送至PC机。对SHT11操作的程序流程图如图4所示。
安装有LabVIEW 2011软件的PC机从USB口读取前向通道发送的温湿度数据,应用LabVIEW 2011进行显示界面和的用户操作界面的设计。
LabVIEW程序设计主要包括串口通信设置、温湿度实时显示及存储、温湿度趋势图绘制和超限报警等功能设计。LabVIEW通过虚拟仪器软件架构(Virtual Instrument Software Architecture,简称VISA)与系统硬件电路进行串口通信,通过VISA可对USB、串口、GPIO、PXI、VXI、CAN和以太网等进行配置、编程和调试,应用VISA软件包前应进行VISA配置串口设置[8]。采用扫描字符串函数从接受数据中提取温度和湿度值。应用LabVIEW设计系统的程序框图如图5所示,表1所示为VISA配置串口默认参数设置。
图5 LabVIEW设计系统的程序框图
表1 VISA配置串口默认参数设置
设置项波特率数据位停止位校验位默认值9 60081NONE
连接前向通道和PC机,计算机识别端口后,打开系统LabVIEW程序,进入LabVIEW用户操作界面。配置好正确的COM口,按表1进行串口通信参数设置;选择数据存储路径;设置超限报警上下限。给单片机烧录程序文件、前向通道电路供电,硬件电路正常工作;点击LabVIEW程序前面板的运行按钮,系统运行正常。实验结果如图6所示。
图6 实验结果的前面板
图7 存储数据的文本文档
实验结果表明:系统实现了温湿度的实时监测,并以曲线的形式绘制温度、湿度趋势图,数据接收窗口清晰显示当前采样时间下的温湿度值;调节报警范围进行人为超限报警,相应的超限报警灯将由绿色变成黄色后闪烁点亮且报警器发出“嘟”、“嘟”的提示音;点击前面板的左上角“暂停”按钮,按钮颜色由黑色变成红色,系统暂停运行,再次点击该按钮系统恢复运行,点击显示界面“退出系统”即可退出整个系统。设定路径下历史数据存储如图7所示。通过实验结果及分析可知,本系统实现了温湿度的实时监测功能。
本文利用SHT11传感器和单片机对温湿度进行实时采集,并应用LabVIEW进行用户操作界面编程,实现了温湿度数据显示、趋势图绘制、超限报警以及历史数据的存储等功能。对传统的温湿度监测系统进行了改进,本系统的硬件电路更加简单,缩小了系统开发周期,且可嵌入到以计算机为核心的控制系统中;较基于数据采集卡的温湿度监测系统,本系统减少了开发成本,更加有利于系统的推广和应用。本系统界面友好,有着良好的人机交互性,并具有操作简单、直观,易于观察实验结果和嵌入式扩展应用等特点。
参考文献:
[1] 王春辉,曾群锋.基于LabVIEW高温摩擦磨损试验机测试系统[J].计算机系统应用,2013,22(6):60-63
[2] 陈昌鑫,靳鸿,冯彦君,等.数据采集卡和虚拟示波器系统[J].仪表技术与传感器,2012(3):67-69
[3] 裴九芳.基于LabVIEW的精锻控制系统软件设计[J].安徽工程科技学院学报,2010,25(3):35-37
[4] 周鹏,许钢,马晓瑜,等.精通LabVIEW信号处理[M].北京:清华大学出版社,2013
[5] 卢超.粮仓无线温湿度监控系统[J].计算机系统应用,2011,20(9):161-164
[6] 仵博,刘兴东,吴敏.基于GSM的通用远程报警控制器的研制[J].计算机工程与应用,2007,43(8):92-94
[7] 许钢,林园胜,胡天水,等.虚拟仪器技术在温度采集系统中的应用[J].武汉工程大学学报,2013,35(7):81-86
[8] 马丽宾,王兴隆,熊先圣.汽车电磁场强自动测量系统的软件设计[J].重庆工商大学学报:自然科学版,2011,28(5):520-523
[9] 千应庆.基于LabVIEW的光纤旋转传输系统测试仪[J].计算机工程,2010,36(3):251-253