薩良兵 劉華
摘 要:設(shè)計(jì)了一個(gè)基于Arduino Mega 2560為主控芯片、以MQ-4甲烷傳感器、MQ-7一氧化碳傳感器、MQ-137氨氣傳感器、
MH-Z14二氧化碳?xì)怏w傳感器和DHT11溫濕度傳感器為數(shù)據(jù)采集模塊的室內(nèi)空氣采集系統(tǒng)平臺(tái)。該系統(tǒng)可以通過A/D、D/A轉(zhuǎn)換和串口實(shí)時(shí)讀取空氣中氣體濃度,并能與上位機(jī)中的Matlab實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)裙δ?。通過實(shí)驗(yàn)室測試和調(diào)整,較好地實(shí)現(xiàn)了預(yù)期功能。
關(guān)鍵詞:Arduino;氣體傳感器;Matlab
中圖分類號(hào):TP274+.2 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)26-0051-03
Abstract: An indoor air acquisition system platform based on Arduino Mega 2560 is designed, in which MQ-4 methane sensor, MQ-7 carbon monoxide sensor, MQ-137 ammonia sensor, MH-Z14 carbon dioxide sensor and DHT11 temperature and humidity sensor are used as data acquisition modules. The system can read the gas concentration in the air in real time through A/D, D/A conversion and serial port, and can transmit data with Matlab in the host computer. Through the laboratory test and adjustment, the expected function is achieved.
Keywords: Arduino; gas sensor; Matlab
室內(nèi)空氣采集[1],是指對(duì)室內(nèi)某些氣體含量進(jìn)行檢測并采集,直接反映了室內(nèi)空氣質(zhì)量情況,也體現(xiàn)了空氣中污染物濃度的高低。根據(jù)室內(nèi)空氣質(zhì)量標(biāo)準(zhǔn)(GB/T18883-2002)[2],室內(nèi)空氣質(zhì)量參數(shù)是指室內(nèi)空氣中與人體健康有關(guān)的物理、化學(xué)、生物和放射性參數(shù)。
美國估計(jì)因室內(nèi)空氣質(zhì)量惡化所造成的損失每年為590億美元[3]。故出于人體健康安全角度考慮,室內(nèi)空氣質(zhì)量檢測具有立竿見影的效果,即可以讓人們隨時(shí)清楚的知道室內(nèi)空氣污染物的濃度,采取相應(yīng)的防范措施。
1 系統(tǒng)設(shè)計(jì)
本系統(tǒng)邏輯可分為三部分,總體結(jié)構(gòu)框圖如圖1,整體實(shí)物圖如圖2:
讀取傳感器數(shù)據(jù):根據(jù)每種傳感器輸出的數(shù)據(jù)類型,利用A/D、PWM波將數(shù)據(jù)采集到核心控制器。
數(shù)據(jù)轉(zhuǎn)換:將控制器所讀取到的數(shù)據(jù)經(jīng)過相應(yīng)的D/A和數(shù)學(xué)公式轉(zhuǎn)換成實(shí)際的氣體濃度模擬量。
數(shù)據(jù)傳輸:控制器和上位機(jī)中Matlab編寫相應(yīng)的程
序,通過串口實(shí)現(xiàn)數(shù)據(jù)傳輸,將數(shù)據(jù)保存到Excel中。
2 傳感器
2.1 MQ系列氣體傳感器
MQ-4甲烷傳感器、MQ-7一氧化碳傳感器和MQ-137氨氣傳感器等MQ系列采用的氣敏材料都是二氧化錫(SnO2),因?yàn)槠潆妼?dǎo)率較低。采用簡單電路就能把由于氣體濃度的變化導(dǎo)致電導(dǎo)率的變化轉(zhuǎn)化為相應(yīng)的電信號(hào)輸出[4]。
由模擬信號(hào)轉(zhuǎn)換成對(duì)應(yīng)濃度如公式(1)-(3):
2.2 溫濕度傳感器
DHT11(Digital Humidity Temperature)是能夠檢測到溫度和濕度的數(shù)字信號(hào)輸出的傳感器,它內(nèi)部含有對(duì)數(shù)據(jù)校準(zhǔn)的數(shù)字信號(hào)。傳感器內(nèi)部包括一個(gè)NTC測溫元件和一個(gè)電阻式感濕元件,并和一個(gè)8位高性能的單片機(jī)相連接。
2.3 二氧化碳傳感器
MH-Z14二氧化碳?xì)怏w傳感器(以下簡稱MH-Z14傳感器)利用NDIR(非色散紅外)原理對(duì)空氣中的CO2進(jìn)行檢測。它不僅體積小,而且還非常的智能通用,提供3種不同方式的輸出信號(hào)(模擬電壓、UART和PWM波),內(nèi)置溫度補(bǔ)償。它還具有很好的選擇性,對(duì)氧氣無依賴,壽命長。
MH-Z14傳感器的PWM波輸出的整個(gè)周期為1004ms,周期起始段為高電平輸出2ms,周期結(jié)束段為低電平輸出2ms。PWM波輸出見圖10。
PWM轉(zhuǎn)換成濃度如公式(4):
3 系統(tǒng)調(diào)試
3.1 軟件設(shè)計(jì)
單片機(jī)部分,初始化設(shè)置波特率和引腳等,接著主程序讀取傳感器數(shù)據(jù)并轉(zhuǎn)換,最后將實(shí)際數(shù)據(jù)傳輸?shù)酱?,供Matlab讀取,等待一分鐘進(jìn)行下一次的數(shù)據(jù)讀取。
上位機(jī)部分,將傳輸?shù)酱诘臄?shù)據(jù)保存在Matlab的數(shù)組當(dāng)中,再將數(shù)據(jù)保存在Excel表中。
3.2 數(shù)據(jù)采集
各個(gè)傳感器與Mega 2560的接法和輸出的信號(hào)形式等如表1所示:
系統(tǒng)調(diào)試成功后,結(jié)果如圖12所示。
由圖12可知當(dāng)前甲烷濃度為975.68ppm,一氧化碳濃度為168.22ppm,氨氣濃度為41.09ppm,二氧化碳濃度為545.45ppm,溫度為24攝氏度,濕度為18RH。
4 Matlab數(shù)據(jù)處理
4.1 數(shù)據(jù)歸一化
系統(tǒng)連續(xù)工18個(gè)小時(shí),記為第一次數(shù)據(jù)采集,原始數(shù)據(jù)如圖13所示。
當(dāng)數(shù)據(jù)采集完成后,由于數(shù)據(jù)中各種參數(shù)之間的大小范圍或單位都不相同,在作圖時(shí)就會(huì)導(dǎo)致數(shù)值較大的數(shù)據(jù)掩蓋了數(shù)值較小的數(shù)據(jù)所發(fā)展的趨勢(shì),故首先要對(duì)數(shù)據(jù)歸一化處理。選用mapminmax()歸一化函數(shù),它是Matlab軟件中自帶的函數(shù),它能按照一種映射方法將數(shù)據(jù)歸一化到[-1,1]之間,并且不改變?cè)瓟?shù)據(jù)的規(guī)律。
利用Matlab將數(shù)據(jù)歸一化后如圖14。
4.2 數(shù)據(jù)平滑化
由圖13可以看出,只有數(shù)值較大的CH4和CO2的趨勢(shì)較為明顯,數(shù)值較小的溫度和濕度變化趨勢(shì)幾乎沒有。而圖14是經(jīng)過歸一化處理后的數(shù)據(jù),就能夠很明顯的看出每種參數(shù)的變化趨勢(shì),但是由于數(shù)據(jù)存在波動(dòng)問題,因此還要對(duì)數(shù)據(jù)平滑化處理。
在Matlab中數(shù)據(jù)的平滑函數(shù)用的是Z=smooth(Y,pan,method)函數(shù)。對(duì)于method有moving單純移動(dòng)平均、lowess線性加權(quán)平滑、loess二次加權(quán)平滑等多種選擇,對(duì)數(shù)據(jù)平滑化處理選擇的是pan=12和method為loess方法。
以CH4為例,圖15中紅色曲線是歸一化后的數(shù)據(jù),藍(lán)色曲線是平滑化后的數(shù)據(jù)。
4.3 數(shù)據(jù)趨勢(shì)分析
第一次室內(nèi)空氣采集系統(tǒng)采集到的數(shù)據(jù),經(jīng)過歸一化和平滑化處理后,結(jié)果如圖16。
以CO2數(shù)據(jù)曲線為例,可見在3個(gè)時(shí)間段內(nèi)有數(shù)據(jù)波動(dòng)。第一個(gè)時(shí)間段位有較大的數(shù)據(jù)波動(dòng),實(shí)際情況是當(dāng)時(shí)室內(nèi)人數(shù)達(dá)到30人左右。以此類推將數(shù)據(jù)波動(dòng)與實(shí)際情況對(duì)比發(fā)現(xiàn)都吻合,說明采集到的數(shù)據(jù)真實(shí)可靠。
5 設(shè)計(jì)總結(jié)
本文搭建了通過以Arduino Mega 2560為主控芯片、以MQ-4甲烷傳感器、MQ-7一氧化碳傳感器、MQ-137氨氣傳感器、MH-Z14二氧化碳?xì)怏w傳感器和DHT11溫濕度傳感器為數(shù)據(jù)采集模塊的室內(nèi)空氣采集系統(tǒng)平臺(tái)。該系統(tǒng)可以準(zhǔn)確的實(shí)時(shí)讀取室內(nèi)指定的氣體濃度數(shù)據(jù),并通過上位機(jī)實(shí)現(xiàn)數(shù)據(jù)傳輸與處理。數(shù)據(jù)趨勢(shì)分析和準(zhǔn)確性的驗(yàn)證,結(jié)果表明數(shù)據(jù)真實(shí)可靠。
參考文獻(xiàn):
[1]潘小川.室內(nèi)空氣質(zhì)量對(duì)人體健康的影響[J].中國科學(xué)基金,2005(04):205-208.
[2]GB/T18883-2002.室內(nèi)空氣質(zhì)量標(biāo)準(zhǔn)[S].
[3]呂品.室內(nèi)空氣質(zhì)量控制中關(guān)鍵檢測技術(shù)的研究[D].大連理工大學(xué),2008.
[4]https://wenku.baidu.com/view/450f8c1352d380eb62946d62.html?from=search[EB/OL].