基于LabVIEW的环境监测系统设计
2021-10-26张安莉邵凤婷马鹏鹏
张安莉,谢 檬,邵凤婷,马鹏鹏
(西安交通大学城市学院 电气与信息工程系,西安710018)
近年来,各类环境问题频频出现,影响着人们的生存与健康[1]。目前环境问题对人类生存影响较大的因素包括:温度、湿度以及二氧化硫浓度等[2]。随着全球气温的上升,导致冰川融化,破坏生物的生存环境,气候的变化将会破坏生物链、食物链,同时,会诱发人体的心脏病以及各种呼吸系统疾病。湿度过低或二氧化硫浓度过高,都会导致动植物的损害及各种疾病的诱发[3-7]。环境监测系统通过记录影响环境变化相关因素的趋势和走向,能够更好的监控和改善这些因素,对监测全球环境变化以及人类生存环境变化有着重大意义[8-11]。
本文所设计的基于LabVIEW 的环境监测系统,选用STM32F103C8T6 单片机作为主控芯片,DTH11温湿度传感器和MQ135 气体传感器采集大气中温度、湿度以及二氧化硫的浓度[12-17]。上位机采用LabVIEW 搭建监测平台,完成实时数据显示、故障报警以及历史数据存储与查看功能。
1 总体方案设计
监测系统结构如图1所示,包括二氧化硫传感器、温度传感器、湿度传感器、微控制器和通信总线。用于监测二氧化硫的空气温度,湿度,浓度相应的传感器,并产生电信号,再经单片机进行A/D 转换,接入数据传输线,并安装串口驱动,即可将下位机的数据传入上位机并显示。
图1 监测系统结构Fig.1 Monitoring system structure
2 软件程序设计
2.1 监测系统主程序
环境监测系统主程序流程如图2所示,程序流程依次为系统初始化、传感器响应、数据采集滤波、数据显示、监测温度、湿度和二氧化硫浓度。
图2 环境监测系统主程序流程Fig.2 Master program flow chart of environmental monitoring system
2.2 温度及二氧化硫浓度监测子程序
环境监测系统上位机温度及二氧化硫浓度监测子程序流程,如图3所示。
图3 温度及二氧化硫浓度监测子程序流程Fig.3 Monitoring subprogram flow chart of temperature and SO2 concentration
人体感到舒适的温度范围为18~24 ℃,MQ135传感器显示污染浓度百分比,当污染浓度达到50%时,红色指示灯报警,并完成实时数据的监测、保存及报警。
2.3 湿度监测子程序
人体适宜湿度范围为45%RH~65%RH,低于45%RH 时,蓝色指示灯亮起;高于湿度65%RH 时,红色指示灯亮起。环境监测系统湿度监测子程序流程,如图4所示。
图4 湿度监测子程序流程Fig.4 Monitoring subprogram flow chart of humidity
2.4 监测系统前面板设计
监测系统前面板由串口模块、实时波形显示模块、报警模块和历史数据记录模块组成,如图5所示。
图5 环境监测系统前面板Fig.5 Front panel of environmental monitoring system
1)串口模块
上位机串口的选择必须与下位机传输的串口保持一致,否则无法读取下位机传输的数据。串口选择COM3,将上位机与下位机连接起来,从而监测环境中各项物理量,即温度、湿度及二氧化硫浓度的变化情况。
2)实时波形显示模块
实时波形显示模块包括温湿度波形图表和烟雾波形图表。温度信号和湿度信号通过温湿度波形图表实时显示,蓝色曲线代表实时温度信号,红色曲线代表实时湿度信号。左纵轴为温度范围,即0~50 ℃;右纵轴为湿度范围,即0~100%RH,横轴为时间,单位为秒(s),每次测量时间间隔为1 s。
二氧化硫浓度信号通过烟雾波形图表实时显示,蓝色曲线代表实时二氧化硫浓度,纵轴为百分比,横轴为时间,单位为秒(s)。
3)报警模块
监测系统根据所采集的数据,报警模块分别为温度报警模块、湿度报警模块和二氧化硫浓度报警模块。
(1)温度报警模块
温度报警模块由2 个上下限调节装置、1 个布尔灯、1 个温度实时数值显示控件以及2 个温度拉杆组成。调节装置可自由设定温度的最高上限和最低下限,正常情况下布尔灯为绿色,当监测数值显示超过上限或下限时,布尔灯变为红色,并显示温度过低或过高。而实时数值显示控件则会实时显示当前温度。温度为摄氏度(℃),插棒温度范围为0~50 ℃,精确值为1 ℃。
(2)湿度报警模块
湿度报警模块由2 个上下限调节装置、1 个布尔灯、2 个湿度实时数值显示控件以及2 个湿度拉杆组成。调节装置可自由设定湿度的最高上限和最低下限,正常情况下布尔灯为绿色,当监测数值显示超过上限或下限时,布尔灯变为红色,并显示湿度过低或过高。单元湿度RH(即,%RH)为空气在相同温度下的绝对湿度与它的饱和湿度之百分比。杆湿度范围为0~100%RH,精确值为1%RH。
(3)二氧化硫浓度报警模块
二氧化硫浓度报警模块由1 个上限调节模块、1 个布尔灯、1 个二氧化硫浓度实时数值显示控件以及1 个浓度拉杆组成。正常情况下布尔灯为绿色,当监控数值显示超过上限时,布尔灯变为红色,并显示二氧化硫浓度过高。二氧化硫浓度拉杆为百分比的形式,精确值为1%。
4)历史数据记录模块
历史数据记录模块可以根据需求将历史数据记录文本储存在PC 端,并通过自定义储存路径找到历史数据。
3 监测系统的测试及误差分析
3.1 串口设置和数据设置
监测系统完成单片机和传感器的连线,并将USB 接口接入PC,安装好各项驱动,打开上位机监测界面,串口就会有显示。点击RUN,在串口设置处点击下拉,并选择对应串口COM3,点击打开串口,再点击开始,串口设置完毕。
设置温度上下限18~24 ℃;设置湿度上下限45%RH~65%RH;设置二氧化硫浓度上限50%。此时各个物理量范围设置完成,如图6所示。
图6 串口设置和数据设置Fig.6 Serial port settings and data settings
3.2 正常运行
监测系统正常运行如图7所示。设置温度范围为18~24 ℃,湿度范围为20%RH~90%RH,二氧化硫浓度范围为0~100%。实时数据为:温度21 ℃;湿度58%RH;浓度20%。波形图中显示的为1 s 时间间隔的实时波形,横轴为相对时间,纵轴为0~50 ℃。
图7 监测系统正常运行Fig.7 Normal running on monitoring system
3.3 温度报警
温度监测系统如图8所示,温度过低报警时如图8(a)所示,此时,设置的温度范围为18~24 ℃,湿度范围为20%RH~90%RH,二氧化硫浓度范围为0~100%。温度为2 ℃,湿度为62%RH,浓度为7%。在波形图中显示的为1 s 时间间隔的实时波形,横轴为相对时间,纵轴为0~50 ℃。由于此刻温度低于设定范围,因此布尔灯由绿色变为红色并报警。
当实时数据为:温度44 ℃,湿度65%RH,浓度31%。由于此刻温度高于设定范围,因此布尔灯由绿色变为红色并报警,如图8(b)所示。
图8 温度测试Fig.8 Temperature test
3.4 湿度报警
湿度监测系统如图9所示,湿度过低报警时如图9(a)所示,设置温度范围为18~24 ℃,湿度范围为20%RH~90%RH,二氧化硫浓度范围为0~100%。实时温度为31 ℃,湿度为16%RH,浓度为19%。波形图显示1 s 时间间隔的实时波形,横轴为相对时间,纵轴为0~100%RH。由于湿度低于设定范围,温度高于设定范围,布尔灯由绿色变为红色并报警。
实时数据为:温度为47 ℃,湿度为88%RH,浓度为41%。由于此刻湿度高于设定范围,温度高于设定范围,因此布尔灯由绿色变为红色并报警,如图9(b)所示。
图9 湿度测试Fig.9 Humidity test
3.5 浓度报警
监测系统浓度过高报警时如图10所示,此时,设置的温度范围为18~24 ℃,湿度范围为20%RH~90%RH,二氧化硫浓度范围为0~100%。温度为35 ℃,湿度为58%RH,浓度为69%。在波形图中显示的为1 s 时间间隔的实时波形,横轴为相对时间,纵轴为0~100%。由于此刻浓度高于设定范围,温度高于设定范围,布尔灯由绿色变为红色进行报警。
图10 监测系统浓度过高报警Fig.10 High monitoring system concentration causes alarm
3.6 监测系统误差分析
监测系统的误差分析见表1。
表1 误差分析Tab.1 Error analysis
数据标准值由标准函数表测量,相对误差的计算如式(1)所示:
式中:Y 为相对误差;Xa为测量值;Xb为标准值。
根据以上测试结果分析,监测系统温度误差范围为0~6.3%,湿度误差范围为0~7.3%,浓度误差范围为2%~10%。
为了进一步提高测量准确度,对测量数据进行一阶多项式拟合,温度、湿度和浓度的拟合公式分别如式(2)、式(3)和式(4)所示:
对拟合后的数据和测量数据分别进行平均相对误差计算,平均相对误差(MRE)的计算公式为
式中:xi为测量值;n 为测量次数。
环境测量参数、标准参数及拟合参数如图11所示。
图11 监测系统参数Fig.11 Monitoring system parameter
由式(5)和式(6)计算可得:温度测量值平均相对误差为2.6%,拟合值平均相对误差为2.08%;湿度的测量平均相对误差为3.79%,拟合平均相对误差为3.18%;二氧化硫浓度的测量平均相对误差为6.33%,拟合平均相对误差为6.33%。数据表明:拟合后的参数测量误差相较之测量数据,准确度得到明显提升。因此,基于此算法,对参数测量算法进行优化,代入拟合方程式后,其测量准确度可得到进一步改善。
4 结语
本文所设计的环境监测系统,将下位机的数据传入上位机并显示,上位机采用LabVIEW 软件搭建的环境监测系统面板,设计了数据显示模块、报警模块、波形图模块、串口模块以及历史数据记录模块。测试表明,本系统温度传感器量程为0~50 ℃,精确度为1%,平均相对误差为2.08%;湿度传感器量程为0~100%RH,精确度为1%。平均相对误差为3.18%;气体传感器量程为0~100%,精确度为1%,平均相对误差为6.33%。系统具备环境监测的实用功能,具有为人们生活提供方便的现实意义。