耿明飛, 馬豫超, 包從破, 吳 榮
(上海電機(jī)學(xué)院 電氣學(xué)院, 上海 201306)
因?yàn)闄C(jī)動(dòng)化、城市化和能源消耗增加,大氣污染作為國(guó)家第4大健康風(fēng)險(xiǎn),影響人們的健康[1]。有效監(jiān)測(cè)空氣質(zhì)量,及時(shí)提供校園環(huán)境相關(guān)信息,可以起到警示預(yù)防作用,以便及時(shí)采取預(yù)防措施[2-3]。本文設(shè)計(jì)了一個(gè)檢測(cè)系統(tǒng),該系統(tǒng)能實(shí)時(shí)采集校園不同區(qū)域的溫度、濕度和PM 2.5 濃度值[4],并實(shí)時(shí)將數(shù)據(jù)傳輸給總接收節(jié)點(diǎn)并顯示。該環(huán)境監(jiān)測(cè)系統(tǒng)適應(yīng)范圍廣、穩(wěn)定性強(qiáng)[5]。
系統(tǒng)硬件主要分為以下幾個(gè)模塊:含STC12C5A60S2主控芯片的單片機(jī)最小系統(tǒng)、DHT11 溫度濕度模塊、PM 2.5粉塵傳感器模塊、無(wú)線傳輸模塊、STM32F107VC芯片模塊和TFT彩屏顯示模塊。軟件部分是單片機(jī)采集程序和STM32F107VC控制芯片的接收程序。
本系統(tǒng)需要采集校園不同地點(diǎn)數(shù)據(jù),所以采用多點(diǎn)采集總點(diǎn)顯示技術(shù)。系統(tǒng)采用了 2.4 G 無(wú)線收發(fā)芯片進(jìn)行數(shù)據(jù)的發(fā)送與接收。接收節(jié)點(diǎn)在接收了各個(gè)采集點(diǎn)的數(shù)據(jù)后,經(jīng)分析處理在彩屏顯示。系統(tǒng)采集節(jié)點(diǎn)和接收節(jié)點(diǎn)結(jié)構(gòu)如圖 1 所示。
圖1 系統(tǒng)采集節(jié)點(diǎn)和接收節(jié)點(diǎn)框圖
STC12C5A60S2單片機(jī)是系統(tǒng)采集部分的核心。首先用 51 單片機(jī)接收兩個(gè)傳感器傳遞的數(shù)據(jù),通過(guò) 2.4 G 無(wú)線傳輸給以STM32F107VC控制芯片的接收部分,最后彩屏顯示。溫度和濕度的測(cè)量依靠DHT11傳感器,PM 2.5 濃度值則通過(guò)GP2Y1051AU0F粉塵傳感器來(lái)獲取,用 2.4 G NRF24L01芯片進(jìn)行數(shù)據(jù)的傳輸與接收,TFT 彩屏顯示。采集系統(tǒng)可以實(shí)時(shí)顯示數(shù)據(jù),便捷可靠,較適合校園的實(shí)際情況。
系統(tǒng)硬件有5大部分:?jiǎn)纹瑱C(jī)最小系統(tǒng);主控STM32F107VC芯片電路部分(包括復(fù)位電路、晶振電路、供電電路和調(diào)試電路);傳感器模塊部分(包括PM 2.5傳感器和溫度、濕度傳感器[5]);無(wú)線傳輸模塊部分(包括無(wú)線傳輸模塊接口電路);顯示電路部分(TFT 接口電路)。
選擇的 51 單片機(jī)的最小系統(tǒng),成本低,性價(jià)比高,電路少,簡(jiǎn)單便攜,能滿足系統(tǒng)的要求。其中的STC12C5A60S2主控芯片響應(yīng)速度快,能耗低,節(jié)約資源[6],自帶 60K FLASH ROM,MAX810 復(fù)位電路,高速 10 位 A/D 轉(zhuǎn)換,脈沖寬度調(diào)制技術(shù),抗干擾能力強(qiáng)。STC12C5A60S2主控芯片擁有數(shù)據(jù)采集和控制需要的全部模塊[7]。系統(tǒng)采用外部時(shí)鐘電路方式,選用晶振 11.059 2 MHz,即在引腳 XTAL1和 XTAL2 外接晶體振蕩器,在晶振兩端接 2 個(gè) 30 pF 的陶瓷電容即負(fù)載電容,直接控制晶振輸出幅度和諧振的頻率。
采用外部晶振,外部時(shí)鐘所得的信息較為固定,受溫度等外部因素的影響比內(nèi)部振蕩器小,精度較高[8]。
基于Cortex-M3的STM32F107VC芯片功能非常齊全,自帶全速 USB OTG,I2S 和 RS-232 接口,2個(gè) CAN2.0A/B 兼容接口,2個(gè) I2C 接口,5個(gè)USART接口,3個(gè) SPI 接口,256KB Flash和 64KB SRAM,支持聯(lián)合測(cè)試工作組(Joint Test Action Group,JTAG)協(xié)議調(diào)試。該芯片共有 100 個(gè)引腳。工作電壓(VDD)為 2.0~3.6 V[9],可通過(guò) LM1117穩(wěn)壓芯片實(shí)現(xiàn)。LM1117穩(wěn)壓芯片是一個(gè)低壓差電壓調(diào)節(jié)電路,有固定和可調(diào)整這兩種電壓輸出類型。該芯片對(duì)過(guò)大電流有限制功能,芯片過(guò)熱自動(dòng)斷開。根據(jù)內(nèi)置的帶隙基準(zhǔn),保證輸出電壓的精度。電源模塊電路如圖2所示,輸入電壓為 5 V,穩(wěn)定輸出 3.3 V電壓。
圖2 電源模塊電路圖
2.3.1 溫度濕度傳感器 溫度濕度采集用的是DHT11傳感器。該傳感器是數(shù)字信號(hào)輸出,無(wú)需進(jìn)行 A/D 轉(zhuǎn)換。DHT11傳感器,使用簡(jiǎn)便且穩(wěn)定。該傳感器內(nèi)部自帶 NTC 溫度測(cè)量元件,電阻式測(cè)濕元件[10],具有抗干擾能力強(qiáng)、速度快、性能優(yōu)良、性價(jià)比高和耗能低等優(yōu)點(diǎn)。單線制、串行接口的使用更為方便簡(jiǎn)單[11]。DHT11溫度濕度傳感器的數(shù)據(jù)傳輸引腳需要接一個(gè)上拉電阻。本文的電路中,傳感器的數(shù)據(jù)(DATA)引腳連到 51 單片機(jī)的 P1.0 引腳。溫度濕度采集的電路設(shè)計(jì)如圖3所示。
圖3 溫度濕度采集電路圖
2.3.2 PM 2.5 傳感器 選擇GP2Y1051AU0F粉塵傳感器進(jìn)行PM 2.5濃度值的采集[12]。這是一種灰塵傳感器,由紅外傳感器和光電晶體管組成,光電子晶體管通過(guò)光學(xué)感測(cè)系統(tǒng)對(duì)角地布置在器件中。當(dāng)灰塵或者煙灰等空氣中的粉塵處于粒子直徑檢測(cè)范圍內(nèi)時(shí),光接收元件就接收到這些粉塵散射的光,并作為電壓輸出。它能夠檢測(cè)到香煙煙霧等直徑極細(xì)的顆粒。該傳感器發(fā)送數(shù)據(jù)輸出(TXD)引腳連接 51 單片機(jī)的P3.0輸入(RXD)引腳,傳感器采用串口通信采集PM 2.5。
選用 NRF24L01無(wú)線收發(fā)芯片進(jìn)行數(shù)據(jù)傳輸[13],它體積小、功耗低、能遠(yuǎn)距離無(wú)線收發(fā),工作頻段為 2.4~2.5 GHz。 SPI設(shè)定參數(shù)即能實(shí)現(xiàn)通信,無(wú)需聯(lián)網(wǎng)。該芯片具有很多低功耗運(yùn)行模式,使系統(tǒng)更節(jié)能[14]。2.4 G 技術(shù)可以在10 m距離內(nèi)連接到電腦。該芯片發(fā)送部分和單片機(jī)最小系統(tǒng)的STC12C5A60S2芯片連接,其供電電壓(VCC)引腳直接連接 3.3 V 電源引腳,除了接地(GND)和VCC,其余腳和 51 單片機(jī) I/O 口P2.2~P2.7 引腳直接相連。數(shù)據(jù)進(jìn)行無(wú)線發(fā)送只需要普通的單片機(jī) I/O 口,不需要串口。同時(shí)將NRF24L01無(wú)線收發(fā)芯片連接到 STM32F107VC控制芯片進(jìn)行無(wú)線接收,通過(guò)電源模塊將 5 V 的電源轉(zhuǎn)換成 3.3 V 電源。因此, NRF24L01無(wú)線收發(fā)芯片模塊可以直接和STM32F107VC芯片的IO口 PB1,PB12~PB15和PA0 引腳連接,接收溫度、濕度和PM 2.5濃度值數(shù)據(jù)。
本文采用的是高畫質(zhì)的 TFT 彩屏,其大小為 3.2 mm×25.44 mm,分辨率為 320×240,配置了真彩LCD模塊,并且具備多種接口可供連接。TFT彩屏具備可擴(kuò)展和易于編程的特點(diǎn)[15]。
51 單片機(jī)采集節(jié)點(diǎn)的程序由 Keil C51 編寫,包括NRF24L01無(wú)線收發(fā)芯片檢測(cè),NRF24L01無(wú)線收發(fā)芯片和DHT11傳感器初始化,數(shù)據(jù)采集,無(wú)線發(fā)送。溫度濕度采集使用的 DHT11 數(shù)字溫濕度傳感器通過(guò)不斷設(shè)置 I/O 口的不同模式以及發(fā)送或接收 I/O 口的不同狀態(tài)來(lái)完成采集。在每次進(jìn)入工作之前,傳感器都需要進(jìn)行初始化動(dòng)作。傳感器接收一個(gè)來(lái)自單片機(jī)的信號(hào)并返回響應(yīng)信號(hào),單片機(jī)據(jù)此做好通信準(zhǔn)備,單片機(jī)和傳感器開始進(jìn)行數(shù)據(jù)通信。溫度、濕度的采集流程圖如圖4所示。
PM 2.5 濃度值采集采用串口的方式,必須先進(jìn)行串口設(shè)置,配置波特率,串口接到信號(hào)后,產(chǎn)生串口中斷,進(jìn)入中斷接收數(shù)據(jù),數(shù)據(jù)存儲(chǔ)在串口寄存器當(dāng)中。接收到數(shù)據(jù)后中斷停止,對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),最后通過(guò)數(shù)據(jù)處理得到 PM 2.5濃度值。采集 PM 2.5 濃度值流程如圖5所示。
圖4溫濕度采集流程圖圖5采集 PM 2.5 濃度值流程圖
STM32F107VC芯片接收并顯示的程序由Keil MDK編寫,包括NRF24L01無(wú)線收發(fā)芯片檢測(cè),NRF24L01芯片和TFT彩屏初始化。接收節(jié)點(diǎn)主要完成對(duì)采集的數(shù)據(jù)進(jìn)行處理和顯示。2.4 G 無(wú)線收發(fā)芯片同樣需要檢測(cè)是否有信號(hào),并進(jìn)行數(shù)據(jù)通道初始化配置。若成功接收到數(shù)據(jù),則進(jìn)行數(shù)據(jù)的處理,再進(jìn)行彩屏顯示。彩屏顯示前要先進(jìn)行復(fù)位和初始化,并寫入顏色指令和要顯示的文字和數(shù)據(jù)。TFT顯示器驅(qū)動(dòng)流程如圖6所示。
圖6 TFT顯示器驅(qū)動(dòng)流程圖
在實(shí)驗(yàn)室搭建的一個(gè)測(cè)試環(huán)境,主要測(cè)試系統(tǒng)對(duì)溫度、濕度和PM 2.5濃度值數(shù)據(jù)的采集,采集節(jié)點(diǎn)和接收節(jié)點(diǎn)的2.4 G 通信,TFT 彩屏的數(shù)據(jù)顯示[16]。校園環(huán)境監(jiān)測(cè)系統(tǒng)實(shí)物如圖7所示。
圖7 校園環(huán)境監(jiān)測(cè)系統(tǒng)實(shí)物
在采集節(jié)點(diǎn)1,首先將DHT11傳感器和GP2Y1051AU0F粉塵傳感器,分別使用I/O和串口連接到STC12C5A60S2芯片上,收集傳感器測(cè)得的數(shù)據(jù)并通過(guò)無(wú)線傳輸,并通過(guò)SPI口連接NRF24L01無(wú)線收發(fā)芯片。采集點(diǎn)2所有連接與設(shè)置均與采集點(diǎn)1相同。STM32F107VC控制芯片作為接收節(jié)點(diǎn),也同時(shí)連接 NRF24L01 傳感器用來(lái)接收數(shù)據(jù)。最后通過(guò)TFT彩屏顯示出這兩點(diǎn)的溫度、濕度和PM 2.5 濃度值。校園環(huán)境監(jiān)測(cè)系統(tǒng)的測(cè)試顯示結(jié)果顯示如圖8所示。
圖8 測(cè)試結(jié)果顯示
系統(tǒng)成本低,簡(jiǎn)單易攜帶,且可靠性較高,對(duì)類似系統(tǒng)的開發(fā)有一定的借鑒意義。校園環(huán)境信息監(jiān)測(cè)系統(tǒng)通過(guò)單片機(jī)采集傳感器測(cè)得的溫度、濕度和PM 2.5濃度值,由2.4 G無(wú)線收發(fā)芯片將數(shù)據(jù)傳輸給接收節(jié)點(diǎn),接收節(jié)點(diǎn)進(jìn)行彩屏顯示。軟件電路包括2.4 G的檢測(cè),串口接收與發(fā)送,傳感器的初始化與數(shù)據(jù)采集等。經(jīng)過(guò)測(cè)試,系統(tǒng)可以實(shí)時(shí)連續(xù)監(jiān)測(cè),并穩(wěn)定可靠。