葉金晶, 周 健, 喬穎碩, 孫謙晨
(1.中國(guó)科學(xué)院 上海微系統(tǒng)與信息技術(shù)研究所 上海 200050;2.中國(guó)科學(xué)院大學(xué),北京 100039)
?
設(shè)計(jì)與制造
基于Arduino的PM2.5和溫濕度實(shí)時(shí)檢測(cè)器設(shè)計(jì)*
葉金晶1,2, 周健1, 喬穎碩1,2, 孫謙晨1,2
(1.中國(guó)科學(xué)院 上海微系統(tǒng)與信息技術(shù)研究所 上海 200050;2.中國(guó)科學(xué)院大學(xué),北京 100039)
設(shè)計(jì)了能夠?qū)崟r(shí)檢測(cè)周圍環(huán)境溫濕度、PM2.5值的便攜式檢測(cè)器,該檢測(cè)器以Arduino UNO開(kāi)發(fā)板為核心,由外部多個(gè)傳感器采集數(shù)據(jù),通過(guò)在Arduino IDE上的編程控制數(shù)據(jù)采集,經(jīng)處理?yè)Q算后將結(jié)果呈現(xiàn)在顯示屏上,顯示數(shù)值每隔2.5 s更新一次,從而達(dá)到實(shí)時(shí)檢測(cè)的目的。該檢測(cè)器在45~80 μg/m3范圍內(nèi)與漢王N1型霾表相對(duì)偏差小于±5 %,具有快速響應(yīng)、實(shí)時(shí)更新、簡(jiǎn)單實(shí)用的特點(diǎn)。
PM2.5; Arduino; 傳感器; 實(shí)時(shí)檢測(cè)
空氣質(zhì)量量化檢測(cè)通常采用PM2.5指標(biāo)衡量,通過(guò)系列檢測(cè)器實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)檢測(cè)、顯示、記錄。目前市場(chǎng)上的一些專業(yè)檢測(cè)設(shè)備體積普遍偏大、功能繁雜、價(jià)格昂貴[1],不同廠家的檢測(cè)設(shè)備測(cè)試數(shù)據(jù)偏差較大,專業(yè)級(jí)別的測(cè)試價(jià)格昂貴,體積大,不適合廣大市民購(gòu)買(mǎi)使用。迫切需要一種體積小,實(shí)時(shí)檢測(cè),多功能集成,價(jià)格較低的檢測(cè)器滿足這一需求。本文擬通過(guò)設(shè)計(jì)優(yōu)化給出合理的優(yōu)化結(jié)構(gòu)方案,研制出滿足這一需求的檢測(cè)器,可以在日常生活中隨時(shí)檢測(cè),方便人們了解關(guān)注PM2.5指數(shù)以及周圍環(huán)境溫濕度變化。
本文設(shè)計(jì)的PM2.5及溫濕度實(shí)時(shí)檢測(cè)器主要有4個(gè)模塊:Arduino控制模塊、溫濕度模塊、PM2.5模塊、顯示模塊,其中Arduino控制模塊為重要部分。圖1所示即為本檢測(cè)器的系統(tǒng)框圖。Arduino開(kāi)發(fā)板作為檢測(cè)器的核心,負(fù)責(zé)控制傳感器及數(shù)據(jù)處理,根據(jù)需求可選擇USB供電或外接電池供電,在灰塵傳感器和溫濕度傳感器從周圍環(huán)境中采集到相應(yīng)數(shù)據(jù)后,交由Arduino中已編譯的程序進(jìn)行整合處理,最后Arduino發(fā)送指令給顯示模塊,最終的檢測(cè)結(jié)果數(shù)據(jù)由LCD顯示屏輸出顯示。
圖1 PM2.5與溫濕度實(shí)時(shí)檢測(cè)器系統(tǒng)框圖Fig 1 System block diagram of PM2.5, temperature and humidity real-time detector
常規(guī)的PM2.5檢測(cè)器設(shè)計(jì)方案模塊分化多,一般如圖2所示,導(dǎo)致硬件電路復(fù)雜化、控制程序冗長(zhǎng)、易修改性降低等缺點(diǎn)[2],例如,以AT89S52單片機(jī)為主控的家用PM2.5檢測(cè)儀[3]和以MSP430F149單片機(jī)為控制中心的PM2.5監(jiān)測(cè)系統(tǒng)[4],它們都采用GP2Y1010AU0F傳感器,但其外圍電路相對(duì)復(fù)雜,在單片機(jī)程序控制上也較為麻煩。通過(guò)優(yōu)化設(shè)計(jì),本文給出了優(yōu)化設(shè)計(jì)方案,其具有如下特點(diǎn):1)電路簡(jiǎn)潔,無(wú)多余外圍電路,即圖2中虛線部分電路可省略;2)程序分工明確,簡(jiǎn)單易讀;3)程序易于控制和更改、檢測(cè)功能更多,修改或新增局部設(shè)計(jì)時(shí)不會(huì)牽扯無(wú)關(guān)部分。本檢測(cè)器模塊在檢測(cè)PM2.5指數(shù)同時(shí)還可獲得當(dāng)前環(huán)境中的溫度、濕度,雖然沒(méi)有文獻(xiàn)中檢測(cè)儀的報(bào)警功能,但是具備PM2.5指數(shù)的等級(jí)分類功能。
圖2 常規(guī)PM2.5檢測(cè)器方案示意圖Fig 2 Diagram of general PM2.5 detector
2.1PM2.5模塊
此模塊中用到的傳感器是夏普光學(xué)粉塵傳感器GP2Y1023AU0F,這款傳感器是夏普2015年1月正式量產(chǎn)的新版灰塵傳感器。該傳感器取消了模擬輸出口,采用PWM輸出形式,輸出即為數(shù)字?jǐn)?shù)據(jù),比文獻(xiàn)[6~8]中采用的GP2Y1010AU0F更為穩(wěn)定,無(wú)需進(jìn)行A/D轉(zhuǎn)換,簡(jiǎn)化了軟件編程部分的工作。
GP2Y1023AU0F內(nèi)部結(jié)構(gòu)包含一個(gè)微小的光學(xué)傳感系統(tǒng),由一個(gè)紅外發(fā)光二極管和光電子晶體管按對(duì)角式排列組成,它利用激光散射法及粒子計(jì)數(shù)原理,通過(guò)檢測(cè)空氣中塵埃的反射光計(jì)算粉塵的濃度[5]。除了與舊版相似的光學(xué)傳感系統(tǒng)之外,它還附加了內(nèi)置單片機(jī)模塊,使其輸出為數(shù)字信號(hào),另外新增的熱敏電阻電路也使其無(wú)需再進(jìn)行溫度校準(zhǔn),使用更方便。而且它個(gè)頭小、質(zhì)量?jī)H有16 g,非常適合用于本設(shè)計(jì)中的便攜式檢測(cè)器。
GP2Y1023AU0F共有5個(gè)引腳,在與Arduino UNO板連接時(shí),數(shù)據(jù)傳輸實(shí)際只需用到其中一個(gè)引腳,1引腳Vo連接至Arduino數(shù)字端口的任一空閑引腳,剩余的4個(gè)引腳按照規(guī)格書(shū)中的要求與相應(yīng)器件連接后接至Arduino的5V及GND端,具體連接方式如圖3所示。至此,該傳感器與Arduino核心控制模塊全部連接完畢。
圖3 GP2Y1023AU0F傳感器引腳連接電路Fig 3 GP2Y1023AU0F sensor pin connection circuit
GP2Y1023AU0F連接至Arduino開(kāi)發(fā)板后,它通過(guò)Vo口把脈沖寬度(pulse width)值傳輸給Arduino板。將接收到的脈沖寬度數(shù)據(jù)按照公式Duty=PW/T(Duty為占空比,PW為脈沖寬度,T為傳感器中的脈沖的周期10 ms),計(jì)算求得占空比,根據(jù)夏普官方規(guī)格書(shū)中占空比與灰塵濃度的曲線圖為參考,進(jìn)而換算得到灰塵濃度D,這些數(shù)據(jù)處理均由Arduino控制程序?qū)崿F(xiàn)完成。相較于舊版?zhèn)鞲衅餍柽M(jìn)行數(shù)/模轉(zhuǎn)換,本設(shè)計(jì)中的數(shù)據(jù)處理簡(jiǎn)潔明確,不易造成誤差,輸出數(shù)據(jù)也更為穩(wěn)定。
2.2溫濕度模塊
本模塊是普通小型PM2.5檢測(cè)器所不具備的部分,選用了可以直接同時(shí)測(cè)得溫度和濕度的傳感器DHT11數(shù)字溫濕度傳感器。它自身集成一個(gè)電阻式感濕元件,一個(gè)NTC測(cè)溫元件以及一個(gè)高性能單片機(jī)。由于采用了專業(yè)的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),該傳感器抗干擾性強(qiáng)、響應(yīng)速度快、體積小、功耗低、性價(jià)比高[6]。
DHT11采用單線制串行接口,直接輸出數(shù)字信號(hào)。同時(shí),DHT11用4針單排引腳封裝,每個(gè)引腳都有固定的功能,如表1所示。
表1 DHT11引腳說(shuō)明
在本設(shè)計(jì)中,DHT11的1引腳VCC、4引腳GND分別連接至Arduino的5 V和GND端,2引腳DATA連接至Arduino的模/數(shù)轉(zhuǎn)換(ADC)輸入端A0。
2.3顯示模塊
本設(shè)計(jì)液晶顯示器選用的是LCD1602,它的屏幕上能夠展現(xiàn)2行數(shù)字、字母或符號(hào),每行最多16個(gè),該芯片的工作電壓為4.5~5.5 V,它最適合的工作電壓是5.0 V,2.95 mm×4.35 mm為所能呈現(xiàn)的每個(gè)字符的尺寸大小。
LCD1602直接連接至Arduino UNO開(kāi)發(fā)板的通用I/O端口。LCD1602的VO引腳接一個(gè)可調(diào)電阻,起到調(diào)節(jié)顯示屏對(duì)比度的作用。
軟件部分的設(shè)計(jì)包括定義、初始化、數(shù)據(jù)讀取、數(shù)模轉(zhuǎn)換等。所有功能模塊的程序都是在Arduino IDE平臺(tái)中完成的[7]。軟件流程圖如圖4所示。
圖4 軟件功能流程框圖Fig 4 Flow block diagram of software function
Arduino的核心程序主要由各傳感器傳入數(shù)據(jù)處理、串口控制、數(shù)據(jù)顯示等組成。在數(shù)據(jù)處理部分,將GP2Y1023AU0F傳感器得到的灰塵濃度值進(jìn)行等級(jí)劃分,由高至低分為A,B,C,D,E五個(gè)等級(jí)。PM2.5值為0~50 μg/m3時(shí)為A級(jí),51~100 μg/m3時(shí)為B級(jí),101~150 μg/m3時(shí)為C級(jí),151~200 μg/m3時(shí)為D級(jí),201 μg/m3及以上時(shí)為E級(jí),D,E級(jí)不適宜外出活動(dòng)。當(dāng)傳感器傳入數(shù)值在五個(gè)等級(jí)區(qū)間中的某一個(gè)時(shí),LCD顯示屏上即會(huì)在PM2.5數(shù)值旁顯示相應(yīng)等級(jí)。
程序也控制最終在LCD顯示屏上呈現(xiàn)的數(shù)據(jù),例如顯示屏輸出的第一行:D=95 μg/m3B;第二行:T:28 C H:35 %。以上代表PM2.5指數(shù)為95 μg/m3,等級(jí)B良好,溫度為28 ℃,濕度為35 %RH。
另外,數(shù)據(jù)更新的時(shí)間亦可由軟件編程控制,最短間隔可以達(dá)到0.01 s,但為了數(shù)據(jù)的可靠性和穩(wěn)定性,將數(shù)據(jù)更新間隔設(shè)置為2.5 s。如果另有需求,可以按照個(gè)性設(shè)置數(shù)據(jù)更新間隔。
4.1測(cè)試與調(diào)零
由于本檢測(cè)器的電路結(jié)構(gòu)相較于其他單片機(jī)控制的小型檢測(cè)器而言更簡(jiǎn)潔,制作更省時(shí)。為確保所有功能的完美實(shí)現(xiàn),先在功能測(cè)試板上搭建電路,待基本功能測(cè)試正常再進(jìn)行實(shí)物制作,功能測(cè)試板搭建情況如圖5所示,已包含所有元器件。制作過(guò)程只需將各元件按照所設(shè)計(jì)的硬件電路圖焊接即可,然后調(diào)整各部分的位置使其整體體積達(dá)到最小。灰塵傳感器不必整合到主體內(nèi)部,需要使它與流通的空氣環(huán)境充分接觸。
圖5 功能測(cè)試板實(shí)物Fig 5 Functional test board
調(diào)零是PM2.5和溫濕度實(shí)時(shí)檢測(cè)器投入應(yīng)用前必備的步驟。調(diào)零時(shí)用到專業(yè)用儀器霾表來(lái)進(jìn)行對(duì)比校準(zhǔn)。在日常環(huán)境中,基本無(wú)法做到PM2.5指數(shù)為0的情況,需要借助實(shí)驗(yàn)室超凈間來(lái)調(diào)零。進(jìn)入超凈間,待GP2Y1023AU0F的V0輸出數(shù)值相對(duì)穩(wěn)定,記錄20組V0值與對(duì)應(yīng)時(shí)刻霾表的PM2.5示數(shù),利用統(tǒng)計(jì)算法求得最終PM2.5為0的V0值以及占空比Duty。圖6為霾表示數(shù)為0時(shí)記錄下來(lái)的V0值,即脈沖寬度時(shí)長(zhǎng),可以看出數(shù)據(jù)基本穩(wěn)定,可以得到合理的零度值。
圖6 檢測(cè)器調(diào)零數(shù)據(jù)Fig 6 Zero adjustment data of detector
檢測(cè)器在正常工作時(shí),電路中的LED指示燈會(huì)亮起,若是溫濕度模塊出現(xiàn)問(wèn)題,顯示屏上會(huì)顯示相應(yīng)錯(cuò)誤提示,若是灰塵傳感器故障,則指示燈不亮或顯示屏PM2.5數(shù)據(jù)始終為0。
4.2校準(zhǔn)與性能驗(yàn)證
校準(zhǔn)的過(guò)程是在日常環(huán)境中采集多組數(shù)據(jù),利用統(tǒng)計(jì)算法求得線性擬合函數(shù),調(diào)整占空比Duty與灰塵濃度D的換算函數(shù),使得測(cè)量結(jié)果更為準(zhǔn)確。本檢測(cè)器與霾表在同一環(huán)境同時(shí)檢測(cè)的數(shù)據(jù)圖線如圖7所示。
與市場(chǎng)上購(gòu)置的漢王N1型霾傳感器測(cè)試結(jié)果比對(duì),結(jié)果發(fā)現(xiàn),PM2.5數(shù)據(jù)在45~80 μg/m3范圍內(nèi)比較接近,相對(duì)偏差小于±5 %。在小于45 μg/m3時(shí)漢王傳感器在低PM2.5數(shù)值區(qū)間偏差較大,所研制的傳感器也有微弱波動(dòng),可能與測(cè)試時(shí)微弱的空間空氣流動(dòng)有關(guān)。因此,后期的工作將進(jìn)一步提高器件的探測(cè)靈敏度。
圖7 所設(shè)計(jì)檢測(cè)器測(cè)試數(shù)據(jù)與N1型霾傳感器比對(duì)Fig 7 Designed test data of detector compared with N1 type haze sensor
本文設(shè)計(jì)并制作出一種PM2.5與溫濕度實(shí)時(shí)檢測(cè)器,可以實(shí)現(xiàn)實(shí)時(shí)檢測(cè),檢測(cè)數(shù)據(jù)間隔短,每2.5 s更新一次數(shù)據(jù),并具有空氣質(zhì)量等級(jí)報(bào)告功能。校準(zhǔn)和驗(yàn)證結(jié)果表明,該模塊可以在45~80 μg/m3范圍內(nèi)與漢王N1型霾表相對(duì)偏差為±5 %。該檢測(cè)器在同類小型檢測(cè)器中,電路與程序更為簡(jiǎn)潔,方便修改,當(dāng)需要新增檢測(cè)功能時(shí),能夠隨時(shí)做出調(diào)整,更具多樣化以及擴(kuò)展性。
[1]王寅,王卉.PM2.5現(xiàn)狀及其檢測(cè)技術(shù)[J].資源節(jié)約與環(huán)保,2014 (12):139.
[2]闞海東,陳仁杰.PM2.5對(duì)人體危害有多大[J].中國(guó)經(jīng)濟(jì)報(bào)告,2015 (4):114-116.
[3]中華人民共和國(guó)環(huán)境保護(hù)部.2014中國(guó)環(huán)境狀況公報(bào)[EB/OL].[2015—06—08] http:∥jcs.mep.gov.cn/hjzl/zkgb/ 2014zkgb/201506/t20150608_303142.htm.
[4]孫波,李爽.PM2.5檢測(cè)方法及研究進(jìn)展[J].山東化工,2015,44(9):56-57.
[5]蘭冰芯.移動(dòng)式環(huán)境空氣質(zhì)量檢測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:西南石油大學(xué),2015.
[6]王嘯東.PM2.5粉塵顆粒檢測(cè)儀的研制[J].電子世界,2013 (16):96.
[7]顧宏華,王鯤鵬.家用PM2.5檢測(cè)儀[J].硅谷,2015 (2):8,11.
[8]蘭冰芯,諶海云.基于單片機(jī)的PM2.5測(cè)試儀的設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2014(11):32-34.
[9]Sharp Corperation.Dust sensor GP2Y1023AU0F specification[Z].2015.
[10] 韓丹翱,王菲.DHT11數(shù)字式溫濕度傳感器的應(yīng)用性研究[J].電子設(shè)計(jì)工程,2013,21(13):83-85.
[11] Monk Simon.Programming arduino getting started with sket-ches [M].北京:科學(xué)出版社,2013.
周健,通訊作者,E—mail:zjian@mail.sim.ac.cn。
Design of PM2.5 temperature and humidity real-time detector based on Arduino*
YE Jin-jing1,2, ZHOU Jian1, QIAO Ying-shuo1,2, SUN Qian-chen1,2
(1.Shanghai Institute of Microsystem and Information Technology,Chinese Academy of Sciences,Shanghai 200050,China;2.University of Chinese Academy of Sciences,Beijing 100039,China)
Design a portable detector that can real-time detect ambient temperature, humidity and PM2.5 values.The detector uses an Arduino UNO board as the core, and collects data by multiple sensors.By programming on the Arduino integrated development environment(IDE),control data acquisition,and the processed results will be presented on monitor,the displayed data will update once every 2.5 s, so as to achieve the purpose of real-time detection.At range of 45~80 μg/m3, this detector has relative deviation less than ±5 % comparing with Hanwang N1 type haze meter,and the detector has features of sensitive response, real-time update, simple and practical.
PM2.5; Arduino; sensor; real-time detection
2015—11—22
中國(guó)科學(xué)院院地合作項(xiàng)目(YDJDBNJ—2012—027);上海市自然科學(xué)基金資助項(xiàng)目(13ZR1447400)
TN 710; TP 311
A
1000—9787(2016)08—0067—03
葉金晶(1992-),女,浙江杭州人,碩士研究生,研究方向?yàn)榄h(huán)境檢測(cè)傳感器技術(shù),太陽(yáng)電池標(biāo)準(zhǔn)測(cè)試技術(shù),微能源技術(shù)。
DOI:10.13873/J.1000—9787(2016)08—0067—03