基于Lab VIEW温湿度监测系统的设计与仿真
2014-02-28胡天水陈其工魏利胜林园胜
胡天水,陈其工,魏利胜,林园胜
(安徽工程大学安徽省检测技术与自动化装置重点实验室,安徽芜湖 241000)
无论是在工业生产还是农业生产当中,温度和湿度都是生产过程中的两个重要环境参数,其测量的实时性和准确度直接影响到生产效率[1].使用Proteus软件仿真,能够检验系统的可行性,无需硬件制作,修改方便,便于调试,既高效又节约成本;Lab VIEW设计的人机界面简洁直观,便于用户使用,扩展性较高.所以设计一个既能对环境温湿度实时监测,又能使用户方便、快捷、高效地监测温湿度信息的系统,具有很重要的现实意义.
传统的监测系统虽然能够实现对温湿度的采集,甚至能够通过串口将数据传输到PC机上[2],但其人机界面不够友好,对环境监测的效率较低.本设计在实现基本的温湿度实时监测的基础上,添加了系统时间模块,并且使用液晶显示器来显示温湿度的值和系统的时间.这样不但可以获得温湿度数据,同时还可以记录采集到数据的时刻,便于用户分析温湿度随时间的变化关系.Lab VIEW设计的用户界面简洁直观[3],既有超限时LED灯报警,同时又有声音报警.
1 系统设计
首先在Proteus中设计温湿度采集系统的仿真,该系统能够液晶显示温湿度数值,同时显示此时的时刻.然后,通过虚拟串口将温湿度值和采样时刻打包发送给Lab VIEW设计的人机界面,系统结构框图如图1所示.其中人机界面功能包括:显示温度和湿度的值、显示温度和湿度变化曲线、设定温湿度报警的上下限及记录温湿度的历史数据.
图1 系统结构框图
2 Proteus仿真电路及系统的软件设计
2.1 温湿度采集的电路设计
使用SHT11传感器芯片构成温湿度采集模块,负责对环境温湿度的采集;由单片机AT89C52及其最小系统构成数据分析、处理和控制模块;以时钟芯片DS1302为核心的模块构成时间系统,用来给采集到的数据打上时间戳,记录采集温湿度数据的年月日和时分秒;液晶显示器1602显示温度和湿度的值及此时刻的时间;串口模块负责将带有时间戳的温湿度数据传给Lab VIEW设计的人机交互界面.Proteus下的电路仿真如图2所示.为了获取更精确的数据,需要对传感器的非线性进行补偿,可以使用公式RHlinear=C1+进行补偿.式中的各个数据参数如表1所示.当实际温度与常温25℃(77℉)相差较大时,湿度传感器的温度系数需要进行如下调整:式中数据的各个参数如表2所示.
图2 Proteus电路仿真
表1 湿度转换系数
表2 温度补偿系数
2.2 温湿度采集系统的软件设计
采集系统软件设计流程图如图3所示.设计中,使用两个状态标志位Readflag、Uartflag和与标志位对应的计数变量num、num1.Readflag是系统是否读取传感器和时钟数据的标志位,Uartflag是系统是否将数据通过串口发送给Lab VIEW上位机的标志位.使用Timer0中断,每中断一次,num、num1各自加上1.当计数变量达到一定的数值,就将相应的状态标志位置1,从而执行相应的程序,这种软件设计的方法比较高效实用[4].
3 Lab VIEW人机界面的设计
图3 采集系统软件设计流程图
Lab VIEW(Laboratory Virtual Instrument Engineering Workbench)是由美国NI公司开发研制的一种利用图标代替文本行创建应用程序的图形化编程语言,使用非常方便.Lab VIEW人机界面的设计过程可分为前面板设计和后面板设计.通过(Virtual Instrument Software Architecture,VISA)用户能与大多数仪器总线连接,包括GPIB、USB、串口、PXI、VXI和以太网等[5].用户成功登录之后,首先为VISA配置串口的各种参数,如设置波特率为“9600”、数据位为“8”、停止位为“1”、校验位为“无校验”等;然后VISA读取函数通过属性节点读取串口缓冲区中的数据[6-7],串口传输数据格式为“Hum:82 Temp:26 Time:11:04:11 2013/10/23”,故在后面板程序中扫描字符串函数VI的偏移量设为4和14,用来提取湿度和温度的数值;最后将温湿度数值分别于设定的上下限进行比较,如果不在设定的范围,则系统的报警指示灯会亮起同时会有声音报警,同时通过串口向下位机发送控制指令,以调节下位机加湿或干燥、加热或降温的继电器通断状态,从而使温湿度稳定在设定的范围.与此同时,在前面板中“数据接收窗口”将接收数据并实时显示,同时,记录保存数据.后面板设计的流程图如图4所示,设计的后面板如图5所示.
图4 后面板程序流程图
图5 后面板的程序设计
4 Proteus和Lab VIEW的联合仿真
使用Eltima公司开发虚拟串口驱动器(Virtual Serial Port Driver,VSPD)模拟仿真Proteus与Lab-VIEW之间的串口数据传输.在Proteus和Lab VIEW进行通信之前,要配置串口的基本参数,如COM口、波特率、数据位等.Lab VIEW保存的历史采集数据信息如图6所示.其数据含义为:Hum代表采集到的湿度,Temp代表采集到的温度,Time为系统时间及日期.Lab VIEW人机界面如图7所示.
图6 Lab VIE记录的历史数据
图7 Lab VIEW人机界面
5 结束语
本文设计实现了基于Lab VIEW和Proteus温湿度监测系统的联合仿真,仿真结果证实该系统稳定可靠,且设计简单便利,降低系统开发成本,用户能够方便快捷地对生产环境的温湿度进行实时监测,极具推广潜力和应用前景[7].
[1] 赵建华,曹超.一种远程无线环境温湿度检测系统[J].西安工业大学学报,2012,32(4):340-344.
[2] 吕向锋,高洪林,马亮,等.基于Lab VIEW串口通信的研究[J].国外电子测量技术,2009,28(12):27-30.
[3] 许钢,林园胜,胡天水,等.虚拟仪器技术在温度采集系统中的应用[J].武汉工程大学学报,2013,35(7),81-86.
[4] 郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009:147-149.
[5] 陈锡辉,张银鸿.Lab VIEW 8.20程序设计从入门到精通[M].北京:清华大学出版社,2007:7-9,229.
[6] 马草原,郭双双,李国欣,等.基于LABVIEW的串口调试与数据分析[J].工矿自动化,2005,8(4):74-76.
[7] 周鹏,许钢,郭旭东,等.基于Lab VIEW的广义线性拟合在成本预测中的应用[J].安徽工程大学学报:自然科学版,2013,28(3):44-46.