楊娜
摘要:針對空氣質(zhì)量監(jiān)測問題,文章提出一種基于STM32的多參數(shù)環(huán)境監(jiān)測系統(tǒng)。該系統(tǒng)用STM32F103作為主控芯片,并由溫濕度傳感器模塊、PM2.5模塊、氣體檢測模塊、數(shù)據(jù)顯示模塊、無線通信模塊、云平臺數(shù)據(jù)上傳模塊和手機(jī)端數(shù)據(jù)顯示模塊構(gòu)成,基于I2C協(xié)議、串口傳輸、PWM脈沖捕獲、模數(shù)轉(zhuǎn)換等方法實現(xiàn)數(shù)據(jù)檢測、處理及傳輸功能。試驗結(jié)果表明,該系統(tǒng)能夠準(zhǔn)確檢測空氣中的溫度、濕度、PM2.5、一氧化碳、二氧化氮5種參數(shù)的變化數(shù)據(jù),并將監(jiān)測數(shù)據(jù)實時顯示在檢測終端、手機(jī)端和電腦端,具有實時監(jiān)測多參數(shù)和遠(yuǎn)程監(jiān)控的特點。
關(guān)鍵詞:多參數(shù);傳感器;空氣質(zhì)量;WiFi;I2C
中圖分類號:TN911文獻(xiàn)標(biāo)志碼:A
0 引言
空氣質(zhì)量的好壞根據(jù)空氣中所含污染物的含量高低來判斷,當(dāng)空氣污染程度過大時,將會對人身體造成無法預(yù)測的傷害。因此空氣污染被稱為危害人們健康的“隱形殺手”[1-3]。近年來,空氣質(zhì)量日益受到普遍關(guān)注,人們對實時的、便攜的空氣質(zhì)量檢測的需求越來越大[4-5]。本文針對空氣質(zhì)量檢測的實時性、便攜性的功能需求,設(shè)計了一款小型多參數(shù)空氣質(zhì)量監(jiān)測系統(tǒng),結(jié)合嵌入式技術(shù)、WiFi無線通信技術(shù)和傳感技術(shù)[6],實時監(jiān)測大氣中的溫度、濕度、PM2.5、一氧化碳、二氧化氮,并且能夠?qū)z測到的數(shù)據(jù)傳到用戶終端,便于及時查看當(dāng)前空氣質(zhì)量狀況。
1 系統(tǒng)架構(gòu)
分別采用相應(yīng)的不同傳感器進(jìn)行數(shù)據(jù)采集,經(jīng)主控芯片STM32對采集到的數(shù)據(jù)進(jìn)行處理后,在終端設(shè)備上顯示所檢測到的數(shù)據(jù),并采用無線模塊將采集到的數(shù)據(jù)上傳到ESLINK云平臺,數(shù)據(jù)在ESLINK云平臺上可以通過電腦或者手機(jī)進(jìn)行查看,OLED顯示模塊輔助顯示[7-8]。系統(tǒng)總結(jié)構(gòu)如圖1所示。
2 基于STM32的多參數(shù)環(huán)境監(jiān)測系統(tǒng)設(shè)計
2.1 硬件設(shè)計
硬件部分包括STM32F103主控模塊、傳感器模塊、復(fù)位電路模塊、晶振電路模塊、數(shù)據(jù)顯示模塊和無線通信模塊,系統(tǒng)結(jié)構(gòu)如圖2所示。
2.2 主控模塊
采用基于ARM-Cortex M3核的STM32F103RBT6單片機(jī)作為主控制器,該芯片支持JTAG接口調(diào)試和串行線調(diào)試,能夠在惡劣環(huán)境下工作。
2.3 溫濕度傳感器模塊
采用SHT30溫濕度傳感器模塊,利用I2C進(jìn)行數(shù)據(jù)傳輸,具有SCL和SDA兩個可選地址,其中SDA是雙向傳輸?shù)模?]。電路如圖3所示。
2.4 PM2.5傳感器模塊
采用ZPH02粉塵傳感器,利用功率電阻加熱原理加熱環(huán)境空氣,使熱的環(huán)境空氣上升帶動環(huán)境中的PM2.5,進(jìn)入檢測光路進(jìn)行檢測[10-11]。
2.5 氣體傳感器模塊
采用MiCS-4514型氣體傳感器,在一個封裝上有兩個完全獨立的傳感元件,可檢測出一氧化碳和二氧化氮[12]。
2.6 數(shù)據(jù)顯示模塊
數(shù)據(jù)顯示模塊分為終端顯示、手機(jī)App顯示和網(wǎng)頁顯示,考慮多參數(shù)空氣檢測儀的便攜性、小巧性和數(shù)據(jù)的直觀性,選用OLED數(shù)據(jù)顯示屏[13]。
SSD1306是用于驅(qū)動顯示系統(tǒng)的芯片,支持多種總線驅(qū)動方式,如I2C,8080,SPI等,該模塊通過電阻將相應(yīng)IO端口配置成I2C接口方式。
2.7 電路模塊
(1)接口電路。通過ST-link SWD方式進(jìn)行調(diào)試,該方式支持在線調(diào)試,直接通過USB接口將編寫好的程序燒寫到STM32芯片中進(jìn)行調(diào)試[14],確保系統(tǒng)正常工作。接線方式如圖4所示。
(2)復(fù)位電路。由電阻、電容和開關(guān)構(gòu)成,其復(fù)位是低電平有效,利用電容電壓不可以突然跳變的性質(zhì),當(dāng)電路剛上電時刻,電容電壓為低電平,芯片復(fù)位,隨機(jī)VCC通過10 kΩ電阻給0.1 uF的電容充電;當(dāng)電容充滿電時,其電壓為高電平,RESET也是高電平,芯片開始正常工作[13]。當(dāng)按下REST1鍵時,RESET端與地接通為低電平,電路處于復(fù)位狀態(tài)。電路原理如圖5所示。
(3)晶振電路。由8 MHz和32.768 kHz的晶振配合不同的負(fù)載電容與地連接構(gòu)成[15]。8 MHz的高頻晶振為電路提供基本時鐘頻率,經(jīng)過芯片內(nèi)部的各種分頻和倍頻后提供不同的時鐘頻率;32.768 kHz的低頻晶振為計時器、系統(tǒng)待機(jī)或低功率耗時提供的,其定時的精度比內(nèi)部的定時器要高得多。晶振電路原理如圖6所示。
2.8 無線通信模塊
采用ESP8266 WiFi模塊,該模塊以客戶端身份啟動到服務(wù)頁面的TCP連接,使用命令通過WiFi將設(shè)備連接到網(wǎng)絡(luò),允許在網(wǎng)絡(luò)上看到單元信息,支持Internet或LAN通信的網(wǎng)絡(luò)操作。
3 軟件設(shè)計
主要包括溫度、濕度采集、PM2.5濃度采集、氣體采集和數(shù)據(jù)處理,各部分之間通過STM32F103主控芯片進(jìn)行連接,使其構(gòu)成一個完整的檢測系統(tǒng),進(jìn)行數(shù)據(jù)檢測處理與判斷,將所檢測到的數(shù)據(jù)顯示并上傳至云平臺。
3.1 溫濕度采集模塊設(shè)計
SHT30溫濕度傳感器利用I2C進(jìn)行通信,先向主控芯片發(fā)送SHT30的設(shè)備地址,然后發(fā)送讀取數(shù)據(jù)命令,由于數(shù)據(jù)的讀取分為低八位和高八位及溫度和濕度兩個部分,數(shù)據(jù)讀取完要進(jìn)行處理,使數(shù)據(jù)能夠直觀地顯示出來。
3.2 PM2.5濃度采集模塊設(shè)計
系統(tǒng)采用STM32 PWM脈沖捕獲功能接收被測信號,根據(jù)捕獲到的下降沿時間大小與整個周期相比較得出占空比,從而判斷PM2.5含量的大小。
3.3 氣體采集模塊設(shè)計
氣體采集模塊分為一氧化碳檢測和二氧化氮檢測,由于這兩種氣體檢測所用的是一個傳感器模塊,檢測到的信號都是模擬電壓信號,所以利用STM32模數(shù)轉(zhuǎn)換功能將檢測到的模擬信號轉(zhuǎn)換成數(shù)字信號,并對轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處理,便于顯示和傳輸。
3.4 數(shù)據(jù)處理模塊設(shè)計
3.4.1 數(shù)據(jù)顯示模塊設(shè)計
數(shù)據(jù)顯示模塊為OLED屏顯示,利用I2C進(jìn)行通信,使用前先調(diào)用I2C即初始化I2C程序,再向SSD1306寫入相關(guān)設(shè)置命令,在數(shù)據(jù)顯示前先寫入清除顯示命令,以防顯示數(shù)據(jù)之間相互影響,在數(shù)據(jù)顯示時設(shè)置顯示數(shù)據(jù)的字體大小以及將要顯示的數(shù)據(jù)所在屏幕上的行和列的位置信息等,然后寫入顯示數(shù)據(jù)字符命令和開啟顯示命令。
3.4.2 數(shù)據(jù)傳輸模塊設(shè)計
采用ESP8266 WiFi模塊,該模塊通過AT指令進(jìn)行設(shè)置后,需要操作串口進(jìn)行數(shù)據(jù)的無線傳輸,其軟件設(shè)計要先初始化串口功能,在發(fā)送數(shù)據(jù)前連接無線網(wǎng)絡(luò),然后發(fā)送相應(yīng)的AT指令設(shè)置其工作模式,讀取網(wǎng)絡(luò)IP地址建立連接即可進(jìn)行數(shù)據(jù)發(fā)送,最后數(shù)據(jù)上傳至ESLINK云服務(wù)器。
4 系統(tǒng)測試
測試過程主要檢測溫度、濕度、PM2.5、一氧化碳、二氧化氮以及數(shù)據(jù)的顯示與數(shù)據(jù)傳輸?shù)饶K,檢測該系統(tǒng)中各模塊能否正常工作,并根據(jù)測試結(jié)果分析該系統(tǒng)是否達(dá)到設(shè)計目標(biāo)及要求。
4.1 溫濕度模塊檢測
將測試系統(tǒng)接通電源放置室外一段時間,記錄放置時的溫濕度,過一段時間再觀察其溫濕度的數(shù)據(jù)變化。當(dāng)環(huán)境溫度發(fā)生變化時溫濕度也會發(fā)生不同的變化,在一天中的不同時段所測得的溫濕度數(shù)據(jù)也不同。
4.2 PM2.5模塊檢測
PM2.5含量是檢測空氣中懸浮顆粒的,為模仿懸浮顆粒的狀態(tài),可以通過香煙來模擬懸浮顆粒,在正常的環(huán)境中記錄下未點燃香煙時PM2.5的數(shù)據(jù),然后與點燃香煙后并將香煙靠近傳感器時PM2.5的數(shù)據(jù)進(jìn)行比較。
4.3 氣體傳感器模塊檢測
檢測一氧化碳和二氧化氮,由于這兩種氣體不易得到,但空氣中又有它們的含量,可以將檢測系統(tǒng)放置室外一段時間觀察其檢測數(shù)據(jù)是否發(fā)生變化,記錄放置時的檢測數(shù)據(jù),過一段時間再記錄檢測數(shù)據(jù),會發(fā)現(xiàn)空氣中這兩種氣體的含量變化比較穩(wěn)定,所以不同時間段檢測出的數(shù)據(jù)是一樣的。
4.4 手機(jī)端數(shù)據(jù)顯示檢測結(jié)果
輸入云平臺的地址,將手機(jī)端連接到物聯(lián)網(wǎng)云平臺上,并選擇數(shù)值型顯示,刷新手機(jī)就會顯示出各傳感器測得的數(shù)據(jù)。
4.5 云平臺端數(shù)據(jù)顯示檢測結(jié)果
本設(shè)計采用尚觀推出的物聯(lián)網(wǎng)云平臺ESLINK云服務(wù)器,登錄后按照操作提示,根據(jù)需求進(jìn)行設(shè)置,但該平臺只允許用戶設(shè)置4個傳感器,所以被測系統(tǒng)只上傳了4個被測數(shù)據(jù)。
5 結(jié)語
本文針對空氣污染日益嚴(yán)峻問題,設(shè)計了一種多參數(shù)空氣質(zhì)量監(jiān)測系統(tǒng)。利用數(shù)據(jù)采集模塊采集空氣中的溫度、濕度、PM2.5、一氧化碳、二氧化氮等信息,采集的數(shù)據(jù)經(jīng)過處理后,一是在檢測設(shè)備終端進(jìn)行顯示,二是將數(shù)據(jù)上傳至云平臺便于電腦端和手機(jī)端查看數(shù)據(jù),三是測試檢測系統(tǒng)的性能。經(jīng)測試,系統(tǒng)能夠正常運(yùn)行,各模塊能及時檢測出當(dāng)前環(huán)境中被測參數(shù)的質(zhì)量變化,具有成本低、操作簡單、便于攜帶、功耗低等優(yōu)點,符合預(yù)期設(shè)計。
參考文獻(xiàn)
[1]汪純云.基于Cortex-A8環(huán)境監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[D].武漢:華中師范大學(xué),2018.
[2]高海文.基于STM32的室內(nèi)空氣質(zhì)量檢測儀的設(shè)計與實現(xiàn)[D].南昌:華東交通大學(xué),2018.
[3]王闖.基于STM32系列ARM Gortex-M3微控制器的微型熱敏打印機(jī)固件開發(fā)[D].濟(jì)南:山東大學(xué),2015.
[4]宋衛(wèi)海,劉美麗.基于STM32的PM2.5空氣檢測系統(tǒng)的設(shè)計[J].山東農(nóng)業(yè)工程學(xué)院學(xué)報,2019(1):35-38.
[5]姚希文.基于STM32的空氣質(zhì)量監(jiān)測系統(tǒng)的設(shè)計:天津市電子工業(yè)協(xié)會2019年年會論文集[C].天津:天津市電子工業(yè)協(xié)會,2019.
[6]羅浩.面向大氣環(huán)境的多參數(shù)組網(wǎng)監(jiān)測系統(tǒng)研究[D].綿陽:西南科技大學(xué),2019.
[7]林宏浩,易向東,梁曉鋒,等.基于多參數(shù)的空氣質(zhì)量檢測儀[J].福建電腦,2018(3):32-33.
[8]賈鵬輝.基于ARM的智能家用空氣質(zhì)量檢測系統(tǒng)的研究[D].淮南:安徽理工大學(xué),2015.
[9]蘭冰芯.移動式環(huán)境空氣質(zhì)量檢測儀的設(shè)計與實現(xiàn)[D].成都:西南石油大學(xué),2015.
[10]劉伏龍.基于STM32的空氣質(zhì)量監(jiān)測系統(tǒng)研究與設(shè)計[D].衡陽:南華大學(xué),2018.
[11]宋高峰.基于ARM單片機(jī)的空氣質(zhì)量檢測系統(tǒng)研究[D].長春:吉林大學(xué),2018.
[12]文彪,明立娟.基于單片機(jī)的空氣質(zhì)量檢測儀設(shè)計[J].科技創(chuàng)新與應(yīng)用,2018(13):97-98.
[13]謝延軍.基于STM32的小范圍空氣質(zhì)量的監(jiān)測與預(yù)報[D].鞍山:遼寧科技大學(xué),2015.
[14]祝鳳金.基于單片機(jī)的空氣質(zhì)量及溫濕度檢測儀的設(shè)計[J].菏澤學(xué)院學(xué)報,2016(2):62-64,69.
[15]黃睿.多參數(shù)空氣質(zhì)量檢測儀的硬件電路設(shè)計[J].計算機(jī)時代,2014(10):27-29.
(編輯 沈 強(qiáng))