摘要: 目前市面上的空氣質(zhì)量檢測儀通常只能檢測少數(shù)幾種氣體,面對空氣中多種有害氣體,就要使用不同的檢測儀器。針對現(xiàn)有檢測系統(tǒng)功能不全等問題,開發(fā)了由STM32單片機(jī)、各類傳感器、LCD顯示屏和WiFi通信模塊組成的多功能檢測系統(tǒng),并利用機(jī)智云物聯(lián)網(wǎng)平臺傳輸數(shù)據(jù)到用戶終端。該檢測系統(tǒng)能夠?qū)崿F(xiàn)對空氣中的CO、CO2、PM2.5、TVOC、甲醛的含量以及溫濕度進(jìn)行實(shí)時監(jiān)測,并具有超標(biāo)報警功能。
1引言
空氣中的有害物質(zhì)直接影響人們的心身健康,室內(nèi)空氣的危害氣體主要有CO、CO2、PM2.5、甲醛等[1]。溫濕度對人的舒適度有較大影響,低濕度環(huán)境對人有多種不利影響[2-4]。因此,對空氣中的有害氣體及環(huán)境的溫濕度進(jìn)行檢測是必要的,對人員密集、活動頻繁的室內(nèi)公共場所進(jìn)行空氣質(zhì)量檢測尤為重要。空氣質(zhì)量檢測方法可以根據(jù)檢測內(nèi)容的不同進(jìn)行設(shè)計。采用STC系列單片機(jī)可設(shè)計出室內(nèi)溫濕度、PM2.5顆粒物濃度檢測方法[5]。
利用STM32單片機(jī)能實(shí)現(xiàn)對室內(nèi)溫濕度、PM2.5以及甲醛濃度檢測,數(shù)據(jù)可采用藍(lán)牙通信方式傳輸?shù)?a target="_blank">手機(jī)[8],也可利用網(wǎng)絡(luò)和Lo Ra(Long Range)無線通信技術(shù)實(shí)時地將檢測結(jié)果上傳至上位機(jī)[9]。上述方法對空氣質(zhì)量的檢測主要對象是溫濕度、PM2.5、CO、CO2甲醛濃度等,而且一臺檢測設(shè)備也難以完成這些目標(biāo)的同時檢測。在數(shù)據(jù)傳輸方面,藍(lán)牙通信距離短、可靠性不高,Lo Ra無線通信技術(shù)系統(tǒng)較復(fù)雜,成本相對高。
實(shí)際上,空氣中的有毒有害氣體比較多,例如空氣中的TVOC(TotalVolatile Organic Compounds總揮發(fā)性有機(jī)物,簡稱TVOC)對空氣質(zhì)量影響大,引起了人們的高度重視。因此,針對目前空氣質(zhì)量檢測系統(tǒng)功能少的現(xiàn)狀提出了一個新的設(shè)計方案,系統(tǒng)設(shè)計以STM32單片機(jī)為主控器,由有關(guān)功能傳感器和Wi Fi無線通信模塊組成,利用機(jī)智云和Wi Fi無線通信技術(shù)將數(shù)據(jù)傳輸?shù)接脩艚K端,實(shí)現(xiàn)數(shù)據(jù)共享。該方案可完成多種有害氣體的檢測,同時能對溫濕度進(jìn)行監(jiān)測。
2 系統(tǒng)設(shè)計方案
空氣質(zhì)量檢測系統(tǒng)可檢測多種有害氣體,對環(huán)境的溫度、濕度能進(jìn)行監(jiān)測,檢測到的數(shù)據(jù)信息可上傳到機(jī)智云物聯(lián)網(wǎng)云平臺,并發(fā)送到用戶終端,設(shè)計目標(biāo)和技術(shù)指標(biāo)如下:
2.1 設(shè)計目標(biāo)與技術(shù)指標(biāo)
2.1.1 設(shè)計目標(biāo)
(1) 具有能夠檢測CO、CO2、甲醛、TVOC、PM2.5和溫濕度檢測功能。
(2) 能夠在LCD屏上實(shí)時的顯示相關(guān)檢測數(shù)據(jù)。
(3) 利用Wi Fi無線通信技術(shù)上傳數(shù)據(jù)到機(jī)智云物聯(lián)網(wǎng)云平臺。
(4) 能將數(shù)據(jù)發(fā)送到用戶終端,實(shí)現(xiàn)用戶手機(jī)及電腦等設(shè)備遠(yuǎn)距離傳輸。
(5) 具有對有害氣體超標(biāo)提示與報警功能。
2.1.2 主要技術(shù)指標(biāo)
系統(tǒng)設(shè)計的技術(shù)指標(biāo)如表1所示:
表1技術(shù)指標(biāo)要求
2.2 系統(tǒng)組成與模塊選型
2.2.1 系統(tǒng)組成
根據(jù)設(shè)計目標(biāo)構(gòu)建系統(tǒng)組成,如圖1所示,系統(tǒng)主控制器為STM32,數(shù)據(jù)采集部分由二氧化碳(TVOC、溫濕度)傳感器模塊、甲醛傳感器模塊、PM2.5采集模塊以及一氧化碳采集模塊構(gòu)成,此外還有顯示、報警以及Wi Fi無線通信模塊。
圖1 空氣質(zhì)量檢測系統(tǒng)組成框圖
2.2.2 功能模塊的選擇
(1)系統(tǒng)主控制芯片的選擇
控制器是系統(tǒng)的主要器件,在滿足功能要求的情況下主要考慮性價比,通過對目前市面上比較流行的幾大主流單片機(jī)芯片對比分析,系統(tǒng)設(shè)計宜選用STM32F407ZGT6單片機(jī),該芯片具多個串口,主時鐘頻率達(dá)到168MHz。
(2)PM2.5傳感器的選擇
PM2.5傳感器種類多,有普通傳感器,也有激光傳感器,可根據(jù)精度要求和價格進(jìn)行選擇,相對于普通傳感器,激光PM2.5傳感器精度高但價格貴許多,本次設(shè)計選用價格低的夏普GP2Y1014AU作為PM2.5傳感器。
(3)二氧化碳(TVOC)與溫濕度傳感器選擇
考慮到系統(tǒng)功能需求,采用CCS811傳感器,它既可檢測二氧化碳,又能作為TVOC傳感器使用。溫濕度傳感器選用HDC1080模塊,它與二氧化碳(TVOC)傳感器集成在一起,采用IIC總線傳輸數(shù)據(jù),體積小。IIC總線類型的傳感器結(jié)合在一起有利于節(jié)省I/O口資源。
(4)一氧化碳以及甲醛傳感器模塊的選擇
一氧化碳(CO)與甲醛屬于高危氣體,考慮到安全性要求,CO傳感器選用ZET07-CO模塊,甲醛傳感器采用英國達(dá)特SMT8404數(shù)字式模塊,主要是因為這兩款傳感器是以串口方式傳輸信號,而且數(shù)字信號傳輸不易受到外界干擾。
3 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件設(shè)計主要是對各種傳感器、Wi Fi無線通信模塊等功能器件與STM32單片機(jī)的接口電路設(shè)計。功能單一的傳感器接口電路簡單,下面介紹主要的模塊接口電路。
3.1 CJMCU-8118傳感器模塊采集電路設(shè)計
CJMCU-8118模塊就是CCS811二氧化碳(TVOC)傳感器與HDC1080溫濕度傳感器組合體,采用IIC總線,CJMCU-8118模塊與STM32單片機(jī)的連接方式如圖2所示,其中SCL是IIC數(shù)據(jù)傳輸?shù)?a href="http://m.1cnz.cn/tags/時鐘/" target="_blank">時鐘,SDA為IIC的數(shù)據(jù)線,WAK是一個使能信號線。
3.2 串口數(shù)據(jù)傳輸器件電路設(shè)計
系統(tǒng)設(shè)計使用四個串口類型的數(shù)據(jù)傳輸器件,分別是CO傳感器模塊、甲醛傳感器模塊、串口LCD屏幕以及Wi Fi8266模塊。這四個串口類型模塊與STM32單片機(jī)的連接方式如圖3所示。采用5V供電電壓,其中CO模塊連接的是單片機(jī)的串口P4,甲醛模塊連接的是單片機(jī)的串口P3,LCD屏幕連接的是單片機(jī)的串口P2,Wi Fi8633模塊連接單片機(jī)時,需要GBC_LED與GBC_KEY作為控制信號設(shè)置Wi Fi8266模塊的工作模式。
圖2 CJMCM-8118與STM32接口電路
圖3串口類模塊與單片機(jī)連接圖
4 系統(tǒng)軟件設(shè)計
4.1 主控程序設(shè)計
在系統(tǒng)運(yùn)行時可能會出現(xiàn)外界的干擾,為了防止系統(tǒng)在遇到干擾時無法正常運(yùn)行,系統(tǒng)在軟件設(shè)計上加入了看門狗程序,保障系統(tǒng)運(yùn)行不出差錯,程序流程圖如圖4所示。STM32F4的中斷系統(tǒng)可配置16個不同優(yōu)先級別的中斷,并且中斷之間還可以嵌套中斷。首先對單片機(jī)初始化,進(jìn)行優(yōu)先級分組,在此配置兩個響應(yīng)優(yōu)先級和兩個搶斷優(yōu)先級。
統(tǒng)滴答計時器的初始化是為了做精準(zhǔn)的延時而準(zhǔn)備的,延時函數(shù)在每個模塊基本上都有調(diào)用。最后對各個模塊初始化,主要是對STM32F4最小系統(tǒng)I/O口的參數(shù)以及模式進(jìn)行配置,主要有串口的配置、ADC、IIC、PWM的功能配置。完成了初始化后,系統(tǒng)開始檢測Wi Fi模塊有沒有成功連接路由器。在Wi Fi成功連接之后開始接收數(shù)據(jù),與設(shè)定數(shù)據(jù)進(jìn)行比較,是否有CO、甲醛超標(biāo),有超標(biāo)則蜂鳴器警報,并通過通信方式向手機(jī)APP或者PC端發(fā)送警報。沒有超標(biāo)將會繼續(xù)判斷CO2、TVOC、溫濕度、PM2.5是否超標(biāo),如果有超標(biāo),系統(tǒng)顯示屏將會紅色提示,否則,顯示屏將會是藍(lán)色,表示正常。
圖4主程序流程圖
4.2 WiFi模塊程序設(shè)計
在對Wi Fi模塊進(jìn)行編程之前,先要對WiFi模塊進(jìn)行固件庫改寫,在固件庫改寫成功之后才能進(jìn)行編程,程序流程圖如圖5所示。圖中的喂狗就是上一節(jié)提到的看門狗程序,協(xié)議處理可直接調(diào)用庫函數(shù)實(shí)現(xiàn)。WiFi設(shè)備通過配置入網(wǎng),可由按鍵啟動相應(yīng)的連接模式,并對配置好的路由器進(jìn)行連接。
WiFi設(shè)備與機(jī)智云服務(wù)器是雙向通信,APP端的操作信息通過機(jī)智云服務(wù)器發(fā)送到Wi Fi設(shè)備,WiFi設(shè)備接收完成后,單片機(jī)(MCU)將會收到協(xié)議幀格式的數(shù)據(jù),緩沖區(qū)將會儲存數(shù)據(jù)。每隔一段時間都會進(jìn)行一次抓包,然后將數(shù)據(jù)進(jìn)行解析,解析后的數(shù)據(jù)能被MCU識別從而發(fā)起事件處理。傳感器采集的數(shù)據(jù)能夠被MCU儲存,然后這些數(shù)據(jù)通過協(xié)議封裝成數(shù)據(jù)幀發(fā)送到WiFi設(shè)備,WiFi設(shè)備將數(shù)據(jù)輸送至機(jī)智云平臺的云端服務(wù)器,再傳輸?shù)接脩艚K端。
圖5 WiFi模塊工作流程圖
4.3 傳感器模塊程序設(shè)計
4.3.1 PM2.5傳感器模塊程序設(shè)計
PM2.5傳感器主要用到了ADC變換以及PWM脈沖信號配合才能得到采集的數(shù)據(jù)。采樣程序是根據(jù)夏普官方說明書中提到要接入一個280us低電平和9720us高電平的PWM信號作為啟動信號。通過計算PWM的周期能達(dá)到10ms,PM2.5模塊只有在PWM低電平280us后才開啟轉(zhuǎn)換,因此這時候的ADC采樣才是有效的。程序設(shè)計時ADC的初始化是通過配置寄存器把管腳功能復(fù)用為ADC,PWM初始化是配置PA4管腳相關(guān)參數(shù)。
根據(jù)夏普PM2.5官方提供的典型粉塵電壓轉(zhuǎn)換圖,如圖6所示,可計算粉塵濃度。但是由于起始電壓的典型值在不同的地區(qū)會有不一樣的取值,實(shí)際上在很多地區(qū)的無塵電壓為0V。由圖6可知,電壓變化范圍在0.0V~3.5V時,粉塵濃度與電壓呈線性關(guān)系。
圖6粉塵電壓轉(zhuǎn)換圖
電壓值的轉(zhuǎn)換計算:
粉塵轉(zhuǎn)換計算:
由公式(1)(2)得出總的計算公式:
注:因ADC是12位,212的值是4096,但計算機(jī)中12位的非負(fù)數(shù)補(bǔ)碼最大值是4095,公式(3)需要進(jìn)行修正,修正值為500/4095=0.12,因此,公式(3)要減去0.12,這樣實(shí)際測量值更準(zhǔn)確。
4.3.2 CJMCU-8118模塊程序設(shè)計
CJMCU-8118模塊的信息采集是通過IIC總線進(jìn)行的,IIC協(xié)議啟動、停止、等待ACK到來的時序都是通用時序。在IIC總線的通信中要求時鐘速度不能過快,否則將會丟失數(shù)據(jù),導(dǎo)致無法進(jìn)行數(shù)據(jù)的采集。IIC協(xié)議內(nèi)容也相對比較簡單,在使用時可以直接調(diào)用相應(yīng)的庫函數(shù)。IIC總線中規(guī)定讀取寄存器數(shù)據(jù)必須選擇對應(yīng)的地址,寫入信息之后停止,重新啟動才能真正開始讀取儲存器的數(shù)值。
要讀取相應(yīng)的CO2、TVOC、溫濕度大小必須將其地址寫入傳感器,才能獲取相應(yīng)的轉(zhuǎn)化值。寫入地址信息以及配置好模塊的模式之后,要用IIC的讀數(shù)據(jù)方式。讀完數(shù)據(jù)之后沒有應(yīng)答信號,結(jié)束一次數(shù)據(jù)的讀取。程序設(shè)計時二氧化碳與TVOC直接是16位的ADC轉(zhuǎn)換值,溫濕度計算轉(zhuǎn)換根據(jù)官方資料提供的公式。
溫度計算公式:
濕度計算公式:
4.3.3 甲醛與一氧化碳模塊程序設(shè)計
這兩個傳感器使用的傳輸方式都是串口方式,并且在數(shù)據(jù)傳輸上是一致性,所以兩個模塊的程序設(shè)計方法相同。串口通信(USART)初始化是配置好相應(yīng)的復(fù)用功能,串口采用中斷接收的方式,下一步就是要對中斷服務(wù)函數(shù)初始化。在中斷數(shù)據(jù)接收中判斷數(shù)據(jù)是否為0xff的16進(jìn)制編碼,如果是則進(jìn)一步開始保存相應(yīng)的數(shù)據(jù),當(dāng)數(shù)據(jù)達(dá)到8位的時候停止接收。經(jīng)過這一個流程就能完成一次數(shù)據(jù)的接收。程序設(shè)計時根據(jù)表2計算CO濃度與甲醛濃度,具體計算公式如下:
表2 串口通信數(shù)據(jù)傳輸表
甲醛濃度計算公式:
甲醛濃度(ug/m3)=(高位×256+低位)/10(6)
CO濃度計算公式:
5 系統(tǒng)集成與測試
各功能模塊設(shè)計、調(diào)試完成后,集成為一個系統(tǒng),再進(jìn)行系統(tǒng)功能測試。根據(jù)實(shí)際測量得到的粉塵濃度數(shù)據(jù)如圖7所示。圖中數(shù)據(jù)是在高濃度的粉塵下進(jìn)行的測試,該測試結(jié)果能夠驗證公式(3)計算的正確性。圖8是系統(tǒng)集成圖,圖中所示信息是在一個VR室測試的空氣質(zhì)量數(shù)據(jù),測試結(jié)果說明了系統(tǒng)實(shí)現(xiàn)了相關(guān)功能。
圖7實(shí)際測量粉塵濃度與電壓關(guān)系圖
圖8VR室的實(shí)際檢測數(shù)據(jù)效果圖
6 結(jié)語
項目系統(tǒng)硬件設(shè)計了多種不同功能傳感器、WiFi無線通信模塊與主控制器STM32芯片的接口電路。根據(jù)傳感器的工作原理設(shè)計了相關(guān)程序,并以機(jī)智云物聯(lián)網(wǎng)平臺和WiFi無線通信模塊原理編寫了通信程序。實(shí)現(xiàn)了對室內(nèi)空氣中的CO、CO2、PM2.5、TVOC、甲醛的含量以及溫濕度的實(shí)時監(jiān)測,檢測到的數(shù)據(jù)可在LCD液晶屏顯示,同時通過WiFi無線通信技術(shù)和機(jī)智云物聯(lián)網(wǎng)平臺傳輸?shù)接脩艚K端,并具有超標(biāo)報警功能。該空氣質(zhì)量檢測系統(tǒng)在VR室得到測試,性能穩(wěn)定,數(shù)據(jù)準(zhǔn)確,具有實(shí)際應(yīng)用價值。
-
WIFI
+關(guān)注
關(guān)注
81文章
5308瀏覽量
204521
發(fā)布評論請先 登錄
相關(guān)推薦
評論