關(guān)鍵詞:STM32;Wi-Fi;甲醛;PM2.5
0 引言
中國的傳統(tǒng)工業(yè)逐漸進入高速發(fā)展階段,高度集成的工業(yè)化產(chǎn)業(yè)在提升人民生活水平的同時,也帶來了空氣污染問題。近年來,我國北方的一些城市,空氣質(zhì)量問題變得更加嚴重,工業(yè)集成度更高,并且大部分石油化工產(chǎn)業(yè)沒有進行轉(zhuǎn)型,因此排放了大量的諸如PM2.5等的污染物。又由于冬季風速低,容易在地表附近形成穩(wěn)定的大氣,在各種因素的作用下,容易產(chǎn)生霧氣陰霾。嚴重的霧霾會直接影響室內(nèi)空氣狀況,再如汽車尾、煙草和易揮發(fā)物體的使用,也加大了污染的程度,因此提升空氣質(zhì)量尤為重要。
目前為止,大部分提升空氣質(zhì)量的產(chǎn)品都選擇使用負離子除塵技術(shù),這種技術(shù)可以使負離子與粉塵等污染物相結(jié)合,形成顆粒物自動下沉,這樣便能夠過濾出污染物,達到凈化空氣的效果。
室內(nèi)空氣凈化領(lǐng)域多數(shù)采用單一除塵技術(shù),自動化程度不高,部分產(chǎn)品采用集成芯片及相關(guān)電器元件提高空氣凈化系統(tǒng)自動化、智能化水平,使系統(tǒng)能夠?qū)崿F(xiàn)為達到更好的除塵凈化效果,可根據(jù)不同的空氣狀況選擇不同的除塵凈化技術(shù),讓用戶更加方便省心。因此本文設計一種無線空氣凈化器,此空氣凈化器有無線遙控功能,可以通過手機App實現(xiàn)對空氣凈化器的啟動和關(guān)閉操作。此凈化器還有顯示PM2.5 以及甲醛濃度的功能,這增加了凈化器的準確度和功能性。此外,該凈化器有污染濃度檢測的功能,如果甲醛或PM2.5的濃度超過設置的警戒值,則觸發(fā)蜂鳴器報警,在此情況下,可以遙控啟動凈化器,風扇全速轉(zhuǎn)動,降低室內(nèi)有害物質(zhì)的濃度,提高室內(nèi)空氣質(zhì)量。
1 方案設計
1.1 總體方案
單片機模塊和電源模塊為此次設計最基礎的模塊。單片機模塊,即MCU模塊,可以使用單片機為主控,并以此為中心來操控其余附屬模塊;而電源模塊,除了用來為USB供電,還用來控制風扇按照不同轉(zhuǎn)速運轉(zhuǎn),以及維持Wi-Fi模塊的正常運行。Wi-Fi模塊負責整個空氣凈化器的無線遙控,通過手機App可以控制空氣凈化器的運行,大大增加了其便利性。污染物檢測模塊是主要模塊之一,用來檢測空氣中污染物濃度,由兩個傳感器組成,分別是粉塵傳感器和甲醛傳感器,前者用來測量PM2.5的濃度,后者用來測量空氣中的甲醛含量。顯示模塊主要用來顯示污染物模塊測量出來的具體數(shù)值,能夠讓使用者及時知道空氣的污染程度。蜂鳴器模塊主要是用來報警,當污染程度超過一定指標,蜂鳴器就會自動報警提示使用者。按鍵模塊的作用是通過不同的按鍵組合來實現(xiàn)凈化器的開關(guān)以及風扇啟動和關(guān)閉等操作。最后還有風扇模塊,主要實現(xiàn)的是凈化的功能,可以有效通過風扇運轉(zhuǎn)達到凈化空氣的效果。各個模塊之間相互聯(lián)系,單片機作為主控元件,傳感器將PM2.5的濃度和甲醛含量轉(zhuǎn)換成數(shù)字信號傳輸給單片機,單片機將收到的數(shù)值和報警閾值對比,決定是否啟動風扇、蜂鳴器等執(zhí)行模塊。
1.2 硬件分析
本產(chǎn)品具體由以下幾個部分組成:單片機模塊、電機模塊、Wi-Fi模塊、污染物測量模塊、顯示模塊、蜂鳴器模塊、按鍵模塊、風扇模塊。如圖1所示為此次設計的整體硬件框圖。
1.2.1 單片機模塊
單片機模塊是整個系統(tǒng)的中樞核心,其余模塊都是在MCU 主芯片的控制下工作。STM32 單片機是ARM公司生產(chǎn)的內(nèi)核為Cortex-M3的高性價比產(chǎn)品,運算周期采用單周期乘法和硬件除法,工作的頻率最高可達到72MHz,擁有13個通信接口。該芯片具備72MHz時鐘頻率,能實現(xiàn)高端運算。同時具有128KB 閃存和20KB SRAM,可以存儲大量的程序代碼和數(shù)據(jù),滿足系統(tǒng)設計的高實時性要求[1]。
1.2.2 Wi-Fi 模塊
Wi-Fi模塊由無線傳輸芯片ESP8266和兩個電阻組成,ESP8266有雙排4列的插針,ESP8266芯片具有強大的存儲功能,它能夠通過 GPIO口連接傳感器和其他的設備,這樣,在設計的初期階段可以最大程度地節(jié)約資源,減少功耗。ESP8266 是專門為移動設備、可穿戴電子產(chǎn)品和物聯(lián)網(wǎng)產(chǎn)品所設計出來的元器件,它與其他的專利技術(shù)一起使機器實現(xiàn)了超低功耗[2]。
1.2.3 污染物測量模塊
(1) 粉塵傳感器電路
粉塵傳感器為ZPH01,用來檢測空氣中的PM2.5 含量,其靈敏度高,內(nèi)置的空氣收集器可自動吸入空氣進行檢測,與STM32之間采用單總線通信。ZPH01 通過使用粒子計數(shù)原理,來計算空氣中微小顆粒物數(shù)量,在出廠前進行調(diào)試、老化、校準后投入使用,不僅靈敏度高,而且具有PWM輸出,適用于各種場景。如圖3所示為粉塵傳感器原理圖。
(2) 甲醛傳感器電路
甲醛傳感器則可以檢測空氣中的CH2O的含量,其穩(wěn)定性較好,并且具有溫度補償和線性輸出的能力,使用周期也比較長,與STM32采用的是雙總線通信。ZE08-CH2O則利用電化學原理來檢測空氣中甲醛氣體含量,不僅使用壽命長,而且能耗比較高,同時靈敏度也較高。如圖4所示為甲醛傳感器原理圖。
1.2.4 風扇模塊
將風扇與場效應MOS管IRLR8726連接,構(gòu)造出了本設計的風扇模塊。風扇的調(diào)速原理是通過改變高電平的占比來控制風扇轉(zhuǎn)速,即風扇的轉(zhuǎn)速與占空比大小有關(guān)。當都為低電平時,風速為0;當都為高電平時,風度達到100。
1.2.5 電源模塊
電源模塊分為兩大部分,一部分是給總設計提供電源的USB供電電路;另一部分是為Wi-Fi模塊
如圖5所示,用來給USB供電的模塊采用直流5V 點電壓驅(qū)動,P1為電源接口,J1為電源總開關(guān),里面的C1和C2都是濾波電容,兩個電容起到穩(wěn)定電源以及濾除電源載波的作用。
在如圖6所示的給Wi-Fi供電的原理圖中,采用了AMS1117-3.3元件,它是AMS1117的一款子型號,全稱為輸出正向低壓降穩(wěn)壓器,且電壓為3.3V。AMS1117系列中的電路設計,需要使用輸出電容作為器件的工作頻率補償?shù)囊徊糠?。AMS1117系列有內(nèi)部電源和熱限制電路設計,以保護設備過載情況下不被燒壞。但是,由于最大結(jié)溫度額定值為125°C,所以在使用時不能長時間地工作在高負載的狀態(tài)下[3]。AMS1117廣泛用于電池供電儀表、電池充電器、線性穩(wěn)壓器等產(chǎn)品。
2 軟件設計
2.1 系統(tǒng)軟件總體方案
程序整體流程圖如圖7所示。
當打開電源鍵時,LCD屏會亮起,進入工作狀態(tài),顯示的當前的PM2.5濃度或者甲醛濃度,共有4個按鍵來進行不同的操作。
KEY2按鍵可以將空氣凈化器切換到手動或者自動模式。KEY3和KEY4按鍵分別執(zhí)行增加操作和減少操作,即在不同時刻能夠設定警戒值或調(diào)整風扇轉(zhuǎn)速。KEY5按鍵則可以切換成PM2.5濃度顯示或者甲醛濃度顯示。
系統(tǒng)一開始先檢驗是否啟用了Wi-Fi,即是否連接到手機,若沒有連接,則切換到手動模式,按下按鍵便可以在顯示甲醛濃度和顯示PM2.5濃度之間進行切換,LCD第一行顯示濃度,第二行顯示警戒值(可自定義),若當前濃度超過設定的警戒值,則蜂鳴器報警,此時可以調(diào)整風扇風速,最大可達100%。
若檢測到已連接Wi-Fi,則可以進入自動模式,此時在手機App 上也能夠顯示當前空氣中的甲醛或PM2.5濃度,App中有虛擬按鍵能夠執(zhí)行與實體按鍵一樣的操作,不同點在于,在自動模式下,若實際值超過警戒值,則風扇轉(zhuǎn)速會逐步增加,最高到100%,此模式下仍然可以調(diào)整警戒值。
2.2 軟件分析
2.2.1 PM2.5檢測
如圖8 中所示的是粉塵傳感器在PWM 模式下PM2.5的輸出波形。其中要重點掌握的是它的低脈沖率,即低電平與整個實時間周期的比值,它的計算公式如下:
其中RT是低脈沖率,LT為一個周期內(nèi)低電平的脈沖寬度,UT為一整個周期的脈沖寬度。根據(jù)低脈沖率與顆粒物對照表可以知道,低脈沖率越高,則空氣中的灰塵顆粒物就越高。
ZPH01傳感器的軟件流程圖如圖9所示,傳感器連接到P10接口,首先要檢驗P10是否有低電平,若無低電平出現(xiàn),則繼續(xù)之前的操作,直到檢測到低電平位置。若檢驗到低電平,則對低電平出現(xiàn)的次數(shù)進行計數(shù),在計數(shù)完后之后,根據(jù)公式計算出低脈沖率,再由對照表便可以得出灰塵濃度PM的值。從主函數(shù)中調(diào)用此函數(shù),顯示粉塵濃度值到LCD屏幕上。
2.2.2 甲醛檢測
甲醛傳感器ZE08-CH2O共有9個管腳,其量程為0~5ppm,工作電壓在3.7~5.5V,波特率為9 600,無校驗位。通過I/O接口與單片機進行串口通信,負責將檢測到的數(shù)據(jù)傳輸?shù)絾纹瑱C模塊,通信方式分為主動式和問答式,主動式上傳的數(shù)據(jù)有9位[4],其格式如表1所示。
當?shù)?位為0xff,并且第2位和第3位分別為0x17 和0x04時,說明數(shù)據(jù)校驗正確,再根據(jù)甲醛濃度值的計算公式:濃度值(PPB) =(氣體濃度高位×256+氣體濃度低位),計算出甲醛濃度值,最后通過串口傳輸?shù)絾纹瑱C,再通過LCD屏幕顯示出來[5]。如圖10所示為甲醛傳感器的控制流程。
2.2.3 無線控制
無線控制功能通過ESP8266 元件實現(xiàn),其數(shù)字I/O口為雙向口,一般通過串口向單片機傳送數(shù)據(jù),首先要初始化串口,包括設置波特率和串口的工作模式,然后設置串口中斷,接著定義串口發(fā)送命令和數(shù)據(jù),同樣也可以進行數(shù)據(jù)的讀入,最后再將此模塊初始化,以便下一次數(shù)據(jù)傳輸。如圖11所示為該模塊的流程圖。
2.2.4 濃度超標警報
以蜂鳴器作為發(fā)出警報的元件,有源蜂鳴器內(nèi)部有震蕩源,一般接上電源就能夠發(fā)出聲音,無源蜂鳴器一般要使用2~5K的方波脈沖才能使用。
在本次設計中,將蜂鳴器連接到P2端口的第0 位,當周圍空氣的污染指數(shù)超過了設置的警戒值時,由P2.0引腳輸出低電平驅(qū)動蜂鳴器發(fā)聲,以達到警報的效果。
3 結(jié)論
此次設計的無線空氣凈化器,是基于STM32單片機,具有PM2.5濃度檢測,甲醛濃度檢測,污染警報,無線遙控等功能,既可以通過手動調(diào)整風扇速度,也可以遙控控制,便于日常操作。PM2.5濃度檢測功能采用粉塵傳感器實現(xiàn),通過低電平計算出低脈沖率,一般低脈沖率越高,PM2.5濃度越高。甲醛檢測功能通過甲醛傳感器實現(xiàn),當上傳數(shù)據(jù)中的校驗位符合標準時,則利用公式計算出甲醛濃度值。無線遙控功能通過ESP8266芯片實現(xiàn),通過串口往單片機傳送相應的數(shù)據(jù)。顯示功能利用LCD液晶顯示屏實現(xiàn),每次可以顯示兩行數(shù)據(jù)。按鍵方面采用獨立按鍵,并且使用蜂鳴器作為報警器件,此外再利用PWM控制風扇以實現(xiàn)凈化空氣的功能。