楊娜



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