胡中南,樊蓓蓓
(1.上海大学机电工程与自动化学院,上海 200444;2.上海飞机制造有限公司,上海 200436)
近年来,随着燃煤、机动车辆等能源消耗的不断提升,空气污染问题引起了人们的广泛关注。 我国在“十二五”规划中提出综合性大气污染防治规划,并强调加强对空气中PM2.5、二氧化硫等物质的含量监测和控制。 虽然大部分空气质量问题较为严重的城市陆续引进建立环境监测中心站,但对地方局部地区的监测仍具有局限性和不稳定性[1],从而引起空气质量监测不全面、空气指标误差较大等问题。 对此,本文设计了基于LabVIEW 的空气质量监测系统,提高了空气质量监测的全面性和稳定性。
本文设计的基于LabVIEW 的空气质量监测系统,主要可分为传感器组空气探测仪、空气质量评估报警和上位机监测界面三个部分。 传感器组空气探测仪由DS18B20 温度传感器、PMS3003 颗粒物传感器、 MQ-7 一氧化碳传感器和2SH12 二氧化硫传感器组成,用于探测在一定温度下空气中PM2.5、CO、SO2物质的含量[2]。空气质量评估报警部分主要通过聚类分析等算法,对系统采集的数据进行计算,得到空气质量评估值;当评估值超出评估质量阈值时则发出报警。 上位机监测界面主要由LabVIEW 完成,通过图形化编程设计显示前面板,当串口把数据传送至上位机时立即启用数据图表化的显示与存储功能[3]。 系统总体结构如图1 所示。
图1 系统总体结构图Fig.1 Overall structure of the system
系统整体硬件连接原理如图2 所示。
图2 系统整体硬件连接原理图Fig.2 Principle of the system overall hardware connection
基于LabVIEW 的空气质量监测系统的主要硬件包括PMS3003 颗粒物传感器、DS18B20 温度传感器、MQ-7 一氧化碳传感器和2SH12 二氧化硫传感器构成的传感器组、LCD1602 液晶显示模块和蜂鸣器报警模块。 其中,PMS3003 和DS18B20 是数字型传感器,接通过I/O 口输出数字信号;MQ-7 和2SH12 是模拟量输出传感器,将输出模拟量通过外设A/D 模块转换为数字量。
系统对空气中PM2.5 粉尘颗粒物浓度的监测部分选用PMS3003 颗粒物传感器。 该传感器与核心处理器的P2. 4 端口相连接,可检测分辨粒径最低为0.3 μm 的粉尘颗粒[4]。 由于休眠功能需要30 s 以上的自启动时间,所以在本设计中不应用休眠功能,只采用平稳模式对空气中粉尘进行数字信号检测。 传感器检测过程主要应用激光散射原理,通过自身所带激光源对空气中的悬浮颗粒物进行散射,从特定角度收集散射光使散射光强发生变化,经过MIE 散射理论算法输出相应电信号,从而得出单位体积内颗粒物的数量。PMS3003 颗粒物传感器工作原理如图3 所示。
图3 PMS3003 颗粒物传感器工作原理Fig.3 Working principle of PMS3003 particle sensor
DS18B20 温度传感器工作原理如图4 所示。
图4 DS18B20 温度传感器工作原理Fig.4 Working principle of DS18B20 temperature sensor
系统选用DS18B20 数字温度传感器对环境温度进行监测。 该传感器与核心处理器的P2.5 端口相连接,通过单总线工作方式读取输出数字量,具有较强的抗干扰性。 在传感器工作过程中:对于计数器2,内部的高速晶振随高温的变化而产生不同频率的震荡信号输入脉冲[5];对于计数器1,对低温晶振产生的脉冲信号进行计入,从而完成温度寄存器数值的累加。 当计数器2 重新计数至0 时,寄存器内的数值即为环境温度值。
系统选用MQ-7 一氧化碳传感器对空气中CO 浓度进行监测。 该传感器的模拟量输出端与ADC0832转换模块的CH1端口相连接,数字量输出端悬空。 该传感器是一种气敏式传感器,内部由SnO2敏感层、Al2O3陶瓷管、测量电极和加热器构成。 传感器接触到CO 气体后通过活性炭过滤层吸附至内部敏感层。气敏元件通过感应气体浓度而加热电流,输出0~5 V模拟量电压信号。 电压信号经过8 位A/D 转换模块的转换后,从I/O 口输出0~255 的数字信号。
系统选用2SH12 二氧化硫传感器对空气中SO2浓度进行监测。 该传感器的模拟量输出端与ADC0832 转换模块的CH0端口相连接,数字量输出端悬空。 该传感器具有精度高、分辨率高、响应速度快等特点,内部自带温度补偿电路保证了数据测量的准确性,输出0~5 V 模拟量电压信号。 电压信号经过8 位A/D 转换模块的转换后,从I/O 口输出0~255 的数字信号。
传感器组数据采集的软件设计流程如图5 所示。
图5 软件设计流程图Fig.5 Flowchart of software design
系统下位机部分的空气质量数据监测采集、LCD1602 液晶显示和质量判定主要通过Keil5 软件使用C 语言编程来完成。 在传感器组采集数据的程序编写中,CO 和SO2浓度的采集需要将输出端模拟量通过A/D 转换后得到数字量。 当环境中没有CO 和SO2气体时,传感器模拟量输出端的电压接近0 V;当环境中的CO 和SO2被检测到时,传感器输出端会输出0~5 V 模拟电压。 该输出电压与气体浓度呈比例关系[6]。 传感器模块输出模拟量,模数转换器(analogdigital converter,ADC)转换时间T及转换数字量Din结果计算公式如下:
式中:Vin为气体检测传感器的模拟输出量;n为分辨率;VREF为转换参考电压。
由于本系统设计中选用的是8 位ADC0832 转换模块,所以n=8。 模拟量输出0~5 V 对应的数字量输出范围为0~255。 查阅相关标定数据表和资料后,通过拟合曲线的方式,可以得到相关模拟量输出浓度标定公式:
式中:PSO2为SO2气体浓度,×10-6;PCO为CO 气体浓度,×10-6;D0为二氧化硫传感器模块输出的模拟量经A/D 转换后的数字量;D1为一氧化碳传感器模块输出的模拟量经A/D 转换后的数字量。
上位机监测界面软件用于图表化显示串口所接收到的下位机传感器组的采集信息。 在程序控件中添加6 个XY Graph. vi 控件。 通过波形图表显示,可以直观、明了地观察空气质量监测信息,并实时察看各项指标气体浓度。 通过使用VISA 配置串口函数、VISA 读取函数和VISA 关闭函数完成串口配置的功能。 在配置串口函数过程中,将输入信号连接到VISA 资源名称输入端,从而确定计算机连接的数据串口,或手动选择参数。 上位机监测界面的设计中还具有数据存储回放功能,通过添加程序控件连接字符串.vi,让Excel 表格按照读取的数据日期、时间,以及接收到的温度、PM2.5 含量、气体浓度的顺序存储数据。 其主要方式是将日期、时间以及测得的数据按照顺序放在一个一维数组中,再通过数组转换后录入在Excel 表格中。
在空气质量评估的过程中,先通过聚类分析中R型分析的方法找到影响空气质量相关性较强的因素[7],再通过分析具体矩阵并建立评估算法,计算出主要影响因素占空气质量评估值的百分比,从而完成综合性空气质量评估。
查阅相关文献和资料后,发现空气质量的分指数有很多。 经过筛查,选择出了8 种主要指数,即温度(X1)、SO2(X2)、NO2(X3)、PM10(X4)、CO(X5)、O3(X6)、PM2.5(X7)、CH2O(X8),并得到主要指数的对应指标数据。 这8 种指标存在较强的相关性, 所以通过聚类分析对相关性最强的因素进行筛选。
变量xm的取值为(X1m,X2m,X3m,...,Xnm)T∈Rn(m=1,2,...,8) ,用xj和xk作为样本相关系数,计算系统相关系数:
通过系统相关系数,计算得到相关系数矩阵A,如式(6)所示。
从相关系数可以看出:有些指标间具有一定相关性。 通过均方差方式计算出标准测量度函数,对8 种指标进行聚类分析,并通过聚类树形图进行对比。 对比结果表明:X1、X3、X4、X6、X8 指标样本数据的分类效果较好,具有较强相关性,最先完成聚类,符合分类结果的合理性。 所以用温度(X1)来代替这5 种指标[8],后面主要分析温度(X1)、SO2(X2)、CO(X5)、PM2.5(X7)4 种指标,并通过分析建立空气质量评估模型矩阵B。
通过计算,得到温度、SO2浓度、CO 浓度和PM2.5浓度这4 项指标所占权重比分别为18%、35%、30%、17%。 令空气质量综合得分为Q=100,则4 项指标分别得分为Q1、Q2、Q3、Q4。 在实际测定中,空气质量评估分数Q=Q1+Q2+Q3+Q4。 再根据环境空气质量指数等级规定[9],将空气质量指数(air quality index,AQI)数值映射至0~100 范围内:当评估分数<40 时,空气质量状况为优;当40≤评估分数<60 时,空气质量状况为良;当60≤评估分数<80 时,空气质量状况为轻度污染;当评估分数≥80 时,空气质量状况为重度污染。 经过软件程序计算,当采集的空气中指标数据评估分数≥60 时,应发出报警信号。
本次空气质量判定的测试选择在室外环境较好的开阔地点进行:对室外环境指标进行采集和监测[10],计算出空气质量综合评估分数,并与某种空气质量检测仪采集数值进行对比分析[11]。 经过多次测试,得到空气质量评估分数与实际分数对比表,如表1 所示。
表1 空气质量评估分数与实际分数对比表Tab.1 Table of comparison between air quality judgment scores and actual scores
对比分析结果表明,本文设计的空气质量监测系统采集数据的准确性较高,测试结果与实际情况偏差不大,论证了评估模型建立的可靠性。
在下位机采集空气质量各项指标数据后,开始调试与上位机串口数据传输功能。 在连接LabVIEW 监测界面之前,通过串口调试助手进行连接观察。 考虑到LabVIEW 接收数据时需要添加标志符来确保数据传输的稳定性,所以在软件设计中串口发送部分子程序数据格式为“+xx℃ PM2.5xx COxx SO2xx”。 通过串口调试助手数据传输结果可以看出,界面接收数据格式为:“+20℃ PM2.521 CO03 SO218 +24℃ PM2.523 CO03 SO217……”。 串口调试助手界面显示表明,数据传输结果与程序设置中数据格式一致,且与下位机数据相符。
本系统经过软件硬件联合测试,设计了自行集成的电路板,上电后下位机工作正常,可以通过LCD1602液晶显示模块实时显示环境温度,以及空气中PM2.5、SO2、CO 的质量浓度,并发出空气质量评估报警信号。空气质量准确性测试结果表明,系统监测数据具有较高准确性。 上位机LabVIEW 监测界面可实时通过波形图表显示各项指标值,并能够完成数据存储回放和设置阈值报警功能。 综上可知,系统软件硬件测试均能正常运行。
本文给出了基于LabVIEW 的空气质量监测系统的设计方法,对系统硬件及软件的设计作出了详细的说明。 系统由DS18B20 温度传感器、PMS3003 颗粒物传感器、 MQ-7 一氧化碳传感器和2SH12 二氧化硫传感器组成的传感器组采集设定环境内空气质量的指标参数,并通过空气质量测评模型对空气质量评估分数Q进行计算,经软件设定相关阈值从而产生报警信号。上位机部分通过串口通信传输下位机采集的数据,实现了LabVIEW 监测界面对空气各项指标数值实时图表化显示和存储[12]。 系统采集数据及评估参数计算具有较高准确性、上位机图表显示具有实时性,对空气污染防治规划有一定的参考价值。