當前位置:網站首頁>基於機智雲物聯網平臺的空氣質量多功能檢測系統設計

基於機智雲物聯網平臺的空氣質量多功能檢測系統設計

2022-01-27 05:24:10 gizwits_csdn

摘要: 目前市面上的空氣質量檢測儀通常只能檢測少數幾種氣體,面對空氣中多種有害氣體,就要使用不同的檢測儀器。針對現有檢測系統功能不全等問題,開發了由STM32單片機、各類傳感器、LCD顯示屏和WiFi通信模塊組成的多功能檢測系統,並利用機智雲物聯網平臺傳輸數據到用戶終端。該檢測系統能够實現對空氣中的CO、CO2、PM2.5、TVOC、甲醛的含量以及溫濕度進行實時監測,並具有超標報警功能。
1引言

空氣中的有害物質直接影響人們的心身健康,室內空氣的危害氣體主要有CO、CO2、PM2.5、甲醛等[1]。溫濕度對人的舒適度有較大影響,低濕度環境對人有多種不利影響[2-4]。因此,對空氣中的有害氣體及環境的溫濕度進行檢測是必要的,對人員密集、活動頻繁的室內公共場所進行空氣質量檢測尤為重要。空氣質量檢測方法可以根據檢測內容的不同進行設計。采用STC系列單片機可設計出室內溫濕度、PM2.5顆粒物濃度檢測方法[5]。


 

利用STM32單片機能實現對室內溫濕度、PM2.5以及甲醛濃度檢測,數據可采用藍牙通信方式傳輸到手機[8],也可利用網絡和Lo Ra(Long Range)無線通信技術實時地將檢測結果上傳至上比特機[9]。上述方法對空氣質量的檢測主要對象是溫濕度、PM2.5、CO、CO2甲醛濃度等,而且一臺檢測設備也難以完成這些目標的同時檢測。在數據傳輸方面,藍牙通信距離短、可靠性不高,Lo Ra無線通信技術系統較複雜,成本相對高。

實際上,空氣中的有毒有害氣體比較多,例如空氣中的TVOC(TotalVolatile Organic Compounds總揮發性有機物,簡稱TVOC)對空氣質量影響大,引起了人們的高度重視。因此,針對目前空氣質量檢測系統功能少的現狀提出了一個新的設計方案,系統設計以STM32單片機為主控器,由有關功能傳感器和Wi Fi無線通信模塊組成,利用機智雲和Wi Fi無線通信技術將數據傳輸到用戶終端,實現數據共享。該方案可完成多種有害氣體的檢測,同時能對溫濕度進行監測。

2 系統設計方案

空氣質量檢測系統可檢測多種有害氣體,對環境的溫度、濕度能進行監測,檢測到的數據信息可上傳到機智雲物聯網雲平臺,並發送到用戶終端,設計目標和技術指標如下:

2.1 設計目標與技術指標
2.1.1 設計目標


 

(1)   具有能够檢測CO、CO2、甲醛、TVOC、PM2.5和溫濕度檢測功能。

(2)   能够在LCD屏上實時的顯示相關檢測數據。

(3)   利用Wi Fi無線通信技術上傳數據到機智雲物聯網雲平臺。

(4)   能將數據發送到用戶終端,實現用戶手機及電腦等設備遠距離傳輸。

(5)   具有對有害氣體超標提示與報警功能。


 

2.1.2 主要技術指標
系統設計的技術指標如錶1所示:

錶1技術指標要求


 

2.2 系統組成與模塊選型
2.2.1 系統組成


 

根據設計目標構建系統組成,如圖1所示,系統主控制器為STM32,數據采集部分由二氧化碳(TVOC、溫濕度)傳感器模塊、甲醛傳感器模塊、PM2.5采集模塊以及一氧化碳采集模塊構成,此外還有顯示、報警以及Wi Fi無線通信模塊。

圖1 空氣質量檢測系統組成框圖


 

2.2.2 功能模塊的選擇

(1)系統主控制芯片的選擇

控制器是系統的主要器件,在滿足功能要求的情况下主要考慮性價比,通過對目前市面上比較流行的幾大主流單片機芯片對比分析,系統設計宜選用STM32F407ZGT6單片機,該芯片具多個串口,主時鐘頻率達到168MHz。


 

(2)PM2.5傳感器的選擇
PM2.5傳感器種類多,有普通傳感器,也有激光傳感器,可根據精度要求和價格進行選擇,相對於普通傳感器,激光PM2.5傳感器精度高但價格貴許多,本次設計選用價格低的夏普GP2Y1014AU作為PM2.5傳感器。


 

(3)二氧化碳(TVOC)與溫濕度傳感器選擇

考慮到系統功能需求,采用CCS811傳感器,它既可檢測二氧化碳,又能作為TVOC傳感器使用。溫濕度傳感器選用HDC1080模塊,它與二氧化碳(TVOC)傳感器集成在一起,采用IIC總線傳輸數據,體積小。IIC總線類型的傳感器結合在一起有利於節省I/O口資源。

(4)一氧化碳以及甲醛傳感器模塊的選擇

一氧化碳(CO)與甲醛屬於高危氣體,考慮到安全性要求,CO傳感器選用ZET07-CO模塊,甲醛傳感器采用英國達特SMT8404數字式模塊,主要是因為這兩款傳感器是以串口方式傳輸信號,而且數字信號傳輸不易受到外界幹擾。


 

3 系統硬件設計

系統硬件設計主要是對各種傳感器、Wi Fi無線通信模塊等功能器件與STM32單片機的接口電路設計。功能單一的傳感器接口電路簡單,下面介紹主要的模塊接口電路。


 

3.1 CJMCU-8118傳感器模塊采集電路設計

CJMCU-8118模塊就是CCS811二氧化碳(TVOC)傳感器與HDC1080溫濕度傳感器組合體,采用IIC總線,CJMCU-8118模塊與STM32單片機的連接方式如圖2所示,其中SCL是IIC數據傳輸的時鐘,SDA為IIC的數據線,WAK是一個使能信號線。


 

3.2 串口數據傳輸器件電路設計

系統設計使用四個串口類型的數據傳輸器件,分別是CO傳感器模塊、甲醛傳感器模塊、串口LCD屏幕以及Wi Fi8266模塊。這四個串口類型模塊與STM32單片機的連接方式如圖3所示。采用5V供電電壓,其中CO模塊連接的是單片機的串口P4,甲醛模塊連接的是單片機的串口P3,LCD屏幕連接的是單片機的串口P2,Wi Fi8633模塊連接單片機時,需要GBC_LED與GBC_KEY作為控制信號設置Wi Fi8266模塊的工作模式。

圖2 CJMCM-8118與STM32接口電路


 

圖3串口類模塊與單片機連接圖

4 系統軟件設計
4.1 主控程序設計

在系統運行時可能會出現外界的幹擾,為了防止系統在遇到幹擾時無法正常運行,系統在軟件設計上加入了看門狗程序,保障系統運行不出差錯,程序流程圖如圖4所示。STM32F4的中斷系統可配置16個不同優先級別的中斷,並且中斷之間還可以嵌套中斷。首先對單片機初始化,進行優先級分組,在此配置兩個響應優先級和兩個搶斷優先級。


 

統滴答計時器的初始化是為了做精准的延時而准備的,延時函數在每個模塊基本上都有調用。最後對各個模塊初始化,主要是對STM32F4最小系統I/O口的參數以及模式進行配置,主要有串口的配置、ADC、IIC、PWM的功能配置。完成了初始化後,系統開始檢測Wi Fi模塊有沒有成功連接路由器。在Wi Fi成功連接之後開始接收數據,與設定數據進行比較,是否有CO、甲醛超標,有超標則蜂鳴器警報,並通過通信方式向手機APP或者PC端發送警報。沒有超標將會繼續判斷CO2、TVOC、溫濕度、PM2.5是否超標,如果有超標,系統顯示屏將會紅色提示,否則,顯示屏將會是藍色,錶示正常。


 

圖4主程序流程圖

4.2 WiFi模塊程序設計

在對Wi Fi模塊進行編程之前,先要對WiFi模塊進行固件庫改寫,在固件庫改寫成功之後才能進行編程,程序流程圖如圖5所示。圖中的喂狗就是上一節提到的看門狗程序,協議處理可直接調用庫函數實現。WiFi設備通過配置入網,可由按鍵啟動相應的連接模式,並對配置好的路由器進行連接。


 

WiFi設備與機智雲服務器是雙向通信,APP端的操作信息通過機智雲服務器發送到Wi Fi設備,WiFi設備接收完成後,單片機(MCU)將會收到協議幀格式的數據,緩沖區將會儲存數據。每隔一段時間都會進行一次抓包,然後將數據進行解析,解析後的數據能被MCU識別從而發起事件處理。傳感器采集的數據能够被MCU儲存,然後這些數據通過協議封裝成數據幀發送到WiFi設備,WiFi設備將數據輸送至機智雲平臺的雲端服務器,再傳輸到用戶終端。


 

圖5 WiFi模塊工作流程圖


 

4.3 傳感器模塊程序設計

4.3.1 PM2.5傳感器模塊程序設計


 

PM2.5傳感器主要用到了ADC變換以及PWM脈沖信號配合才能得到采集的數據。采樣程序是根據夏普官方說明書中提到要接入一個280us低電平和9720us高電平的PWM信號作為啟動信號。通過計算PWM的周期能達到10ms,PM2.5模塊只有在PWM低電平280us後才開啟轉換,因此這時候的ADC采樣才是有效的。程序設計時ADC的初始化是通過配置寄存器把管脚功能複用為ADC,PWM初始化是配置PA4管脚相關參數。


 

根據夏普PM2.5官方提供的典型粉塵電壓轉換圖,如圖6所示,可計算粉塵濃度。但是由於起始電壓的典型值在不同的地區會有不一樣的取值,實際上在很多地區的無塵電壓為0V。由圖6可知,電壓變化範圍在0.0V~3.5V時,粉塵濃度與電壓呈線性關系。

圖6粉塵電壓轉換圖


 

電壓值的轉換計算:


 

粉塵轉換計算:

由公式(1)(2)得出總的計算公式:

注:因ADC是12比特,212的值是4096,但計算機中12比特的非負數補碼最大值是4095,公式(3)需要進行修正,修正值為500/4095=0.12,因此,公式(3)要减去0.12,這樣實際測量值更准確。

4.3.2 CJMCU-8118模塊程序設計


 

CJMCU-8118模塊的信息采集是通過IIC總線進行的,IIC協議啟動、停止、等待ACK到來的時序都是通用時序。在IIC總線的通信中要求時鐘速度不能過快,否則將會丟失數據,導致無法進行數據的采集。IIC協議內容也相對比較簡單,在使用時可以直接調用相應的庫函數。IIC總線中規定讀取寄存器數據必須選擇對應的地址,寫入信息之後停止,重新啟動才能真正開始讀取儲存器的數值。


 

要讀取相應的CO2、TVOC、溫濕度大小必須將其地址寫入傳感器,才能獲取相應的轉化值。寫入地址信息以及配置好模塊的模式之後,要用IIC的讀數據方式。讀完數據之後沒有應答信號,結束一次數據的讀取。程序設計時二氧化碳與TVOC直接是16比特的ADC轉換值,溫濕度計算轉換根據官方資料提供的公式。


 

溫度計算公式:

濕度計算公式:

4.3.3 甲醛與一氧化碳模塊程序設計


 

這兩個傳感器使用的傳輸方式都是串口方式,並且在數據傳輸上是一致性,所以兩個模塊的程序設計方法相同。串口通信(USART)初始化是配置好相應的複用功能,串口采用中斷接收的方式,下一步就是要對中斷服務函數初始化。在中斷數據接收中判斷數據是否為0xff的16進制編碼,如果是則進一步開始保存相應的數據,當數據達到8比特的時候停止接收。經過這一個流程就能完成一次數據的接收。程序設計時根據錶2計算CO濃度與甲醛濃度,具體計算公式如下:


 

錶2 串口通信數據傳輸錶

甲醛濃度計算公式:

甲醛濃度(ug/m3)=(高比特×256+低比特)/10(6)

CO濃度計算公式:

5 系統集成與測試

各功能模塊設計、調試完成後,集成為一個系統,再進行系統功能測試。根據實際測量得到的粉塵濃度數據如圖7所示。圖中數據是在高濃度的粉塵下進行的測試,該測試結果能够驗證公式(3)計算的正確性。圖8是系統集成圖,圖中所示信息是在一個VR室測試的空氣質量數據,測試結果說明了系統實現了相關功能。

圖7實際測量粉塵濃度與電壓關系圖

圖8VR室的實際檢測數據效果圖

6 結語

項目系統硬件設計了多種不同功能傳感器、WiFi無線通信模塊與主控制器STM32芯片的接口電路。根據傳感器的工作原理設計了相關程序,並以機智雲物聯網平臺和WiFi無線通信模塊原理編寫了通信程序。實現了對室內空氣中的CO、CO2、PM2.5、TVOC、甲醛的含量以及溫濕度的實時監測,檢測到的數據可在LCD液晶屏顯示,同時通過WiFi無線通信技術和機智雲物聯網平臺傳輸到用戶終端,並具有超標報警功能。該空氣質量檢測系統在VR室得到測試,性能穩定,數據准確,具有實際應用價值。

版權聲明
本文為[gizwits_csdn]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201270524098400.html

隨機推薦