張安莉,謝 檬,邵鳳婷,馬鵬鵬
(西安交通大學(xué)城市學(xué)院 電氣與信息工程系,西安710018)
近年來(lái),各類環(huán)境問(wèn)題頻頻出現(xiàn),影響著人們的生存與健康[1]。目前環(huán)境問(wèn)題對(duì)人類生存影響較大的因素包括:溫度、濕度以及二氧化硫濃度等[2]。隨著全球氣溫的上升,導(dǎo)致冰川融化,破壞生物的生存環(huán)境,氣候的變化將會(huì)破壞生物鏈、食物鏈,同時(shí),會(huì)誘發(fā)人體的心臟病以及各種呼吸系統(tǒng)疾病。濕度過(guò)低或二氧化硫濃度過(guò)高,都會(huì)導(dǎo)致動(dòng)植物的損害及各種疾病的誘發(fā)[3-7]。環(huán)境監(jiān)測(cè)系統(tǒng)通過(guò)記錄影響環(huán)境變化相關(guān)因素的趨勢(shì)和走向,能夠更好的監(jiān)控和改善這些因素,對(duì)監(jiān)測(cè)全球環(huán)境變化以及人類生存環(huán)境變化有著重大意義[8-11]。
本文所設(shè)計(jì)的基于LabVIEW 的環(huán)境監(jiān)測(cè)系統(tǒng),選用STM32F103C8T6 單片機(jī)作為主控芯片,DTH11溫濕度傳感器和MQ135 氣體傳感器采集大氣中溫度、濕度以及二氧化硫的濃度[12-17]。上位機(jī)采用LabVIEW 搭建監(jiān)測(cè)平臺(tái),完成實(shí)時(shí)數(shù)據(jù)顯示、故障報(bào)警以及歷史數(shù)據(jù)存儲(chǔ)與查看功能。
監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)如圖1所示,包括二氧化硫傳感器、溫度傳感器、濕度傳感器、微控制器和通信總線。用于監(jiān)測(cè)二氧化硫的空氣溫度,濕度,濃度相應(yīng)的傳感器,并產(chǎn)生電信號(hào),再經(jīng)單片機(jī)進(jìn)行A/D 轉(zhuǎn)換,接入數(shù)據(jù)傳輸線,并安裝串口驅(qū)動(dòng),即可將下位機(jī)的數(shù)據(jù)傳入上位機(jī)并顯示。
圖1 監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)Fig.1 Monitoring system structure
環(huán)境監(jiān)測(cè)系統(tǒng)主程序流程如圖2所示,程序流程依次為系統(tǒng)初始化、傳感器響應(yīng)、數(shù)據(jù)采集濾波、數(shù)據(jù)顯示、監(jiān)測(cè)溫度、濕度和二氧化硫濃度。
圖2 環(huán)境監(jiān)測(cè)系統(tǒng)主程序流程Fig.2 Master program flow chart of environmental monitoring system
環(huán)境監(jiān)測(cè)系統(tǒng)上位機(jī)溫度及二氧化硫濃度監(jiān)測(cè)子程序流程,如圖3所示。
圖3 溫度及二氧化硫濃度監(jiān)測(cè)子程序流程Fig.3 Monitoring subprogram flow chart of temperature and SO2 concentration
人體感到舒適的溫度范圍為18~24 ℃,MQ135傳感器顯示污染濃度百分比,當(dāng)污染濃度達(dá)到50%時(shí),紅色指示燈報(bào)警,并完成實(shí)時(shí)數(shù)據(jù)的監(jiān)測(cè)、保存及報(bào)警。
人體適宜濕度范圍為45%RH~65%RH,低于45%RH 時(shí),藍(lán)色指示燈亮起;高于濕度65%RH 時(shí),紅色指示燈亮起。環(huán)境監(jiān)測(cè)系統(tǒng)濕度監(jiān)測(cè)子程序流程,如圖4所示。
圖4 濕度監(jiān)測(cè)子程序流程Fig.4 Monitoring subprogram flow chart of humidity
監(jiān)測(cè)系統(tǒng)前面板由串口模塊、實(shí)時(shí)波形顯示模塊、報(bào)警模塊和歷史數(shù)據(jù)記錄模塊組成,如圖5所示。
圖5 環(huán)境監(jiān)測(cè)系統(tǒng)前面板Fig.5 Front panel of environmental monitoring system
1)串口模塊
上位機(jī)串口的選擇必須與下位機(jī)傳輸?shù)拇诒3忠恢?,否則無(wú)法讀取下位機(jī)傳輸?shù)臄?shù)據(jù)。串口選擇COM3,將上位機(jī)與下位機(jī)連接起來(lái),從而監(jiān)測(cè)環(huán)境中各項(xiàng)物理量,即溫度、濕度及二氧化硫濃度的變化情況。
2)實(shí)時(shí)波形顯示模塊
實(shí)時(shí)波形顯示模塊包括溫濕度波形圖表和煙霧波形圖表。溫度信號(hào)和濕度信號(hào)通過(guò)溫濕度波形圖表實(shí)時(shí)顯示,藍(lán)色曲線代表實(shí)時(shí)溫度信號(hào),紅色曲線代表實(shí)時(shí)濕度信號(hào)。左縱軸為溫度范圍,即0~50 ℃;右縱軸為濕度范圍,即0~100%RH,橫軸為時(shí)間,單位為秒(s),每次測(cè)量時(shí)間間隔為1 s。
二氧化硫濃度信號(hào)通過(guò)煙霧波形圖表實(shí)時(shí)顯示,藍(lán)色曲線代表實(shí)時(shí)二氧化硫濃度,縱軸為百分比,橫軸為時(shí)間,單位為秒(s)。
3)報(bào)警模塊
監(jiān)測(cè)系統(tǒng)根據(jù)所采集的數(shù)據(jù),報(bào)警模塊分別為溫度報(bào)警模塊、濕度報(bào)警模塊和二氧化硫濃度報(bào)警模塊。
(1)溫度報(bào)警模塊
溫度報(bào)警模塊由2 個(gè)上下限調(diào)節(jié)裝置、1 個(gè)布爾燈、1 個(gè)溫度實(shí)時(shí)數(shù)值顯示控件以及2 個(gè)溫度拉桿組成。調(diào)節(jié)裝置可自由設(shè)定溫度的最高上限和最低下限,正常情況下布爾燈為綠色,當(dāng)監(jiān)測(cè)數(shù)值顯示超過(guò)上限或下限時(shí),布爾燈變?yōu)榧t色,并顯示溫度過(guò)低或過(guò)高。而實(shí)時(shí)數(shù)值顯示控件則會(huì)實(shí)時(shí)顯示當(dāng)前溫度。溫度為攝氏度(℃),插棒溫度范圍為0~50 ℃,精確值為1 ℃。
(2)濕度報(bào)警模塊
濕度報(bào)警模塊由2 個(gè)上下限調(diào)節(jié)裝置、1 個(gè)布爾燈、2 個(gè)濕度實(shí)時(shí)數(shù)值顯示控件以及2 個(gè)濕度拉桿組成。調(diào)節(jié)裝置可自由設(shè)定濕度的最高上限和最低下限,正常情況下布爾燈為綠色,當(dāng)監(jiān)測(cè)數(shù)值顯示超過(guò)上限或下限時(shí),布爾燈變?yōu)榧t色,并顯示濕度過(guò)低或過(guò)高。單元濕度RH(即,%RH)為空氣在相同溫度下的絕對(duì)濕度與它的飽和濕度之百分比。桿濕度范圍為0~100%RH,精確值為1%RH。
(3)二氧化硫濃度報(bào)警模塊
二氧化硫濃度報(bào)警模塊由1 個(gè)上限調(diào)節(jié)模塊、1 個(gè)布爾燈、1 個(gè)二氧化硫濃度實(shí)時(shí)數(shù)值顯示控件以及1 個(gè)濃度拉桿組成。正常情況下布爾燈為綠色,當(dāng)監(jiān)控?cái)?shù)值顯示超過(guò)上限時(shí),布爾燈變?yōu)榧t色,并顯示二氧化硫濃度過(guò)高。二氧化硫濃度拉桿為百分比的形式,精確值為1%。
4)歷史數(shù)據(jù)記錄模塊
歷史數(shù)據(jù)記錄模塊可以根據(jù)需求將歷史數(shù)據(jù)記錄文本儲(chǔ)存在PC 端,并通過(guò)自定義儲(chǔ)存路徑找到歷史數(shù)據(jù)。
監(jiān)測(cè)系統(tǒng)完成單片機(jī)和傳感器的連線,并將USB 接口接入PC,安裝好各項(xiàng)驅(qū)動(dòng),打開(kāi)上位機(jī)監(jiān)測(cè)界面,串口就會(huì)有顯示。點(diǎn)擊RUN,在串口設(shè)置處點(diǎn)擊下拉,并選擇對(duì)應(yīng)串口COM3,點(diǎn)擊打開(kāi)串口,再點(diǎn)擊開(kāi)始,串口設(shè)置完畢。
設(shè)置溫度上下限18~24 ℃;設(shè)置濕度上下限45%RH~65%RH;設(shè)置二氧化硫濃度上限50%。此時(shí)各個(gè)物理量范圍設(shè)置完成,如圖6所示。
圖6 串口設(shè)置和數(shù)據(jù)設(shè)置Fig.6 Serial port settings and data settings
監(jiān)測(cè)系統(tǒng)正常運(yùn)行如圖7所示。設(shè)置溫度范圍為18~24 ℃,濕度范圍為20%RH~90%RH,二氧化硫濃度范圍為0~100%。實(shí)時(shí)數(shù)據(jù)為:溫度21 ℃;濕度58%RH;濃度20%。波形圖中顯示的為1 s 時(shí)間間隔的實(shí)時(shí)波形,橫軸為相對(duì)時(shí)間,縱軸為0~50 ℃。
圖7 監(jiān)測(cè)系統(tǒng)正常運(yùn)行Fig.7 Normal running on monitoring system
溫度監(jiān)測(cè)系統(tǒng)如圖8所示,溫度過(guò)低報(bào)警時(shí)如圖8(a)所示,此時(shí),設(shè)置的溫度范圍為18~24 ℃,濕度范圍為20%RH~90%RH,二氧化硫濃度范圍為0~100%。溫度為2 ℃,濕度為62%RH,濃度為7%。在波形圖中顯示的為1 s 時(shí)間間隔的實(shí)時(shí)波形,橫軸為相對(duì)時(shí)間,縱軸為0~50 ℃。由于此刻溫度低于設(shè)定范圍,因此布爾燈由綠色變?yōu)榧t色并報(bào)警。
當(dāng)實(shí)時(shí)數(shù)據(jù)為:溫度44 ℃,濕度65%RH,濃度31%。由于此刻溫度高于設(shè)定范圍,因此布爾燈由綠色變?yōu)榧t色并報(bào)警,如圖8(b)所示。
圖8 溫度測(cè)試Fig.8 Temperature test
濕度監(jiān)測(cè)系統(tǒng)如圖9所示,濕度過(guò)低報(bào)警時(shí)如圖9(a)所示,設(shè)置溫度范圍為18~24 ℃,濕度范圍為20%RH~90%RH,二氧化硫濃度范圍為0~100%。實(shí)時(shí)溫度為31 ℃,濕度為16%RH,濃度為19%。波形圖顯示1 s 時(shí)間間隔的實(shí)時(shí)波形,橫軸為相對(duì)時(shí)間,縱軸為0~100%RH。由于濕度低于設(shè)定范圍,溫度高于設(shè)定范圍,布爾燈由綠色變?yōu)榧t色并報(bào)警。
實(shí)時(shí)數(shù)據(jù)為:溫度為47 ℃,濕度為88%RH,濃度為41%。由于此刻濕度高于設(shè)定范圍,溫度高于設(shè)定范圍,因此布爾燈由綠色變?yōu)榧t色并報(bào)警,如圖9(b)所示。
圖9 濕度測(cè)試Fig.9 Humidity test
監(jiān)測(cè)系統(tǒng)濃度過(guò)高報(bào)警時(shí)如圖10所示,此時(shí),設(shè)置的溫度范圍為18~24 ℃,濕度范圍為20%RH~90%RH,二氧化硫濃度范圍為0~100%。溫度為35 ℃,濕度為58%RH,濃度為69%。在波形圖中顯示的為1 s 時(shí)間間隔的實(shí)時(shí)波形,橫軸為相對(duì)時(shí)間,縱軸為0~100%。由于此刻濃度高于設(shè)定范圍,溫度高于設(shè)定范圍,布爾燈由綠色變?yōu)榧t色進(jìn)行報(bào)警。
圖10 監(jiān)測(cè)系統(tǒng)濃度過(guò)高報(bào)警Fig.10 High monitoring system concentration causes alarm
監(jiān)測(cè)系統(tǒng)的誤差分析見(jiàn)表1。
表1 誤差分析Tab.1 Error analysis
數(shù)據(jù)標(biāo)準(zhǔn)值由標(biāo)準(zhǔn)函數(shù)表測(cè)量,相對(duì)誤差的計(jì)算如式(1)所示:
式中:Y 為相對(duì)誤差;Xa為測(cè)量值;Xb為標(biāo)準(zhǔn)值。
根據(jù)以上測(cè)試結(jié)果分析,監(jiān)測(cè)系統(tǒng)溫度誤差范圍為0~6.3%,濕度誤差范圍為0~7.3%,濃度誤差范圍為2%~10%。
為了進(jìn)一步提高測(cè)量準(zhǔn)確度,對(duì)測(cè)量數(shù)據(jù)進(jìn)行一階多項(xiàng)式擬合,溫度、濕度和濃度的擬合公式分別如式(2)、式(3)和式(4)所示:
對(duì)擬合后的數(shù)據(jù)和測(cè)量數(shù)據(jù)分別進(jìn)行平均相對(duì)誤差計(jì)算,平均相對(duì)誤差(MRE)的計(jì)算公式為
式中:xi為測(cè)量值;n 為測(cè)量次數(shù)。
環(huán)境測(cè)量參數(shù)、標(biāo)準(zhǔn)參數(shù)及擬合參數(shù)如圖11所示。
圖11 監(jiān)測(cè)系統(tǒng)參數(shù)Fig.11 Monitoring system parameter
由式(5)和式(6)計(jì)算可得:溫度測(cè)量值平均相對(duì)誤差為2.6%,擬合值平均相對(duì)誤差為2.08%;濕度的測(cè)量平均相對(duì)誤差為3.79%,擬合平均相對(duì)誤差為3.18%;二氧化硫濃度的測(cè)量平均相對(duì)誤差為6.33%,擬合平均相對(duì)誤差為6.33%。數(shù)據(jù)表明:擬合后的參數(shù)測(cè)量誤差相較之測(cè)量數(shù)據(jù),準(zhǔn)確度得到明顯提升。因此,基于此算法,對(duì)參數(shù)測(cè)量算法進(jìn)行優(yōu)化,代入擬合方程式后,其測(cè)量準(zhǔn)確度可得到進(jìn)一步改善。
本文所設(shè)計(jì)的環(huán)境監(jiān)測(cè)系統(tǒng),將下位機(jī)的數(shù)據(jù)傳入上位機(jī)并顯示,上位機(jī)采用LabVIEW 軟件搭建的環(huán)境監(jiān)測(cè)系統(tǒng)面板,設(shè)計(jì)了數(shù)據(jù)顯示模塊、報(bào)警模塊、波形圖模塊、串口模塊以及歷史數(shù)據(jù)記錄模塊。測(cè)試表明,本系統(tǒng)溫度傳感器量程為0~50 ℃,精確度為1%,平均相對(duì)誤差為2.08%;濕度傳感器量程為0~100%RH,精確度為1%。平均相對(duì)誤差為3.18%;氣體傳感器量程為0~100%,精確度為1%,平均相對(duì)誤差為6.33%。系統(tǒng)具備環(huán)境監(jiān)測(cè)的實(shí)用功能,具有為人們生活提供方便的現(xiàn)實(shí)意義。