周金芝,楊海明
(亳州學(xué)院電子與信息工程系,安徽亳州236800)
溫室種植中,為了提高產(chǎn)量,需要對(duì)光照強(qiáng)度進(jìn)行實(shí)時(shí)監(jiān)測(cè),判斷何時(shí)需要遮光、何時(shí)進(jìn)行補(bǔ)光。教室照明燈或城市照明路燈如果可以根據(jù)光照強(qiáng)度的變化實(shí)時(shí)調(diào)節(jié)亮暗,就可以達(dá)到節(jié)約能源的目的。傳統(tǒng)的利用人工手持式光照度計(jì)測(cè)量光照強(qiáng)度的方法,浪費(fèi)人力物力、效率低且測(cè)量數(shù)據(jù)準(zhǔn)確度不高[1];傳統(tǒng)的采用人工監(jiān)測(cè)和控制的光照強(qiáng)度監(jiān)控系統(tǒng),施工成本高、不易擴(kuò)展、維護(hù)升級(jí)困難[2]。單片機(jī)技術(shù)和傳感技術(shù)的發(fā)展使得上述問(wèn)題的解決成為可能。本文基于單片機(jī)STM32F103ZET6和光強(qiáng)度傳感器BH1750FVI設(shè)計(jì)實(shí)現(xiàn)了一套光照強(qiáng)度監(jiān)測(cè)系統(tǒng)。
光照強(qiáng)度監(jiān)測(cè)系統(tǒng)主要由單片機(jī)模塊、光照強(qiáng)度采集模塊、液晶顯示模塊、語(yǔ)音播報(bào)模塊和超限報(bào)警模塊組成,見(jiàn)圖1。
圖1 系統(tǒng)模塊框圖
單片機(jī)模塊是整個(gè)系統(tǒng)的處理和控制核心,其功能是對(duì)光照強(qiáng)度進(jìn)行運(yùn)算,控制液晶顯示器顯示信息,控制語(yǔ)音播報(bào)模塊進(jìn)行定時(shí)播報(bào),控制繼電器模塊進(jìn)行超限報(bào)警。光照強(qiáng)度采集模塊由光敏電阻采集當(dāng)前光照強(qiáng)度,并把采集到的光照信息傳送到處理器。液晶顯示模塊顯示當(dāng)前光照強(qiáng)度曲線圖,用于設(shè)定調(diào)節(jié)光照強(qiáng)度警戒值。語(yǔ)音播報(bào)模塊的功能是進(jìn)行定時(shí)語(yǔ)音播報(bào)。超限報(bào)警模塊是當(dāng)光照強(qiáng)度超過(guò)警戒值時(shí)驅(qū)動(dòng)警報(bào)器發(fā)出警報(bào)。
系統(tǒng)的工作原理:先由光照強(qiáng)度傳感器檢測(cè)外部光照強(qiáng)度,將光信號(hào)轉(zhuǎn)換成電信號(hào),經(jīng)單片機(jī)處理后由液晶顯示器顯示當(dāng)前的光照強(qiáng)度;再判斷當(dāng)前光照強(qiáng)度是否超過(guò)設(shè)定的警戒值,若超過(guò)警戒值,警報(bào)器會(huì)發(fā)出警報(bào),若沒(méi)超過(guò),則語(yǔ)音播報(bào)當(dāng)前光照強(qiáng)度。此外,還可以進(jìn)行警戒值的設(shè)定,當(dāng)液晶顯示器上的虛擬按鍵被按下時(shí),警戒值改變。
STM32F103ZET6基于ARM Cortex-M3內(nèi)核,是一款32位的低功耗、高性能的微控制器。Cortex-M3采用Tail-Chaining中斷技術(shù),其中斷處理完全基于硬件,實(shí)際應(yīng)用中可減少70%的中斷,降低45%的代碼容量,具有應(yīng)用廣、引腳多、功能強(qiáng)的特點(diǎn)。同時(shí),Cortex-M3處理器采用ARM v7-M架構(gòu),是一個(gè)可綜合、高度可配置的處理器;它采用哈佛結(jié)構(gòu),選擇適合微控制器應(yīng)用的三級(jí)流水線。性能可達(dá)1.25DMIPS/MHz,在具有32個(gè)物理中斷的標(biāo)準(zhǔn)處理器上能夠?qū)崿F(xiàn)(0.13umMetro@50MHz),實(shí)現(xiàn)了 0.06 mW/MHz的突出能效比[3]。
Cortex-M3處理器集成了大部分存儲(chǔ)器控制器,能夠在MCU外直接連接Flash,使得設(shè)計(jì)難度和應(yīng)用障礙得到了降低,可編程的復(fù)雜性得到了很大程度的簡(jiǎn)化,從而使得ARM架構(gòu)成了各種應(yīng)用方案的上佳之選。Cortex-M3是為功耗和價(jià)格敏感的應(yīng)用領(lǐng)域(從低端微控制器到復(fù)雜SoC)而專門(mén)設(shè)計(jì)的[4]。低端32位MCU與主流的8位單片機(jī)相比成本相差無(wú)幾,但性能卻較之高出許多。鑒于以上Cortex-M3內(nèi)核的優(yōu)勢(shì),本文選用STM32F103ZET6單片機(jī)作為處理和控制核心,設(shè)計(jì)了一套光照強(qiáng)度監(jiān)測(cè)系統(tǒng)。
光照強(qiáng)度傳感器把采集的光照數(shù)據(jù)輸送到處理器。系統(tǒng)采用BH1750FVI作為光照強(qiáng)度傳感器。BH1750FVI是一種16位I2C BUS總線接口、不區(qū)分光源數(shù)字型環(huán)境光強(qiáng)度傳感器集成電路,能夠根據(jù)通過(guò)透光孔的光線強(qiáng)度變化調(diào)整輸出的電平信號(hào)。BH1750FVI分辨率高,擁有接近視覺(jué)靈敏度的、具有光譜靈敏度特性的感光元件,搭配相關(guān)內(nèi)置電路后可以探測(cè)較大范圍(0 lx~65 535 lx)的光強(qiáng)度變化[5]。這種傳感器最大的優(yōu)點(diǎn)在于內(nèi)置模數(shù)轉(zhuǎn)換器,能將采集到的光強(qiáng)信號(hào)值轉(zhuǎn)換成對(duì)應(yīng)亮度的數(shù)字值輸出,為后續(xù)數(shù)字信號(hào)的處理提供方便。BH1750的高集成度能夠省掉使用光敏電阻時(shí)的模數(shù)轉(zhuǎn)換電路,從而大大降低整體電路的復(fù)雜度。
BH1750FVI傳感器的工作原理如圖2所示。當(dāng)高精度光敏二極管(接近人眼反應(yīng)的)PD探測(cè)到外部光照之后,在集成運(yùn)算放大器的作用下,將PD電流轉(zhuǎn)換成PD電壓,由模數(shù)轉(zhuǎn)換器轉(zhuǎn)換成16位數(shù)字?jǐn)?shù)據(jù),然后通過(guò)邏輯和I2C界面進(jìn)行數(shù)據(jù)處理和存儲(chǔ)。OSC作為內(nèi)部震蕩器用來(lái)提供內(nèi)部邏輯時(shí)鐘,通過(guò)相應(yīng)的指令操作即可讀取內(nèi)部存儲(chǔ)的光照數(shù)據(jù)。
圖2 BH1750FVI的結(jié)構(gòu)框圖
液晶顯示模塊采用2.4寸高畫(huà)質(zhì)的TFT真彩LCD,性能優(yōu)良,具體體現(xiàn)在擁有豐富多樣的接口、方便編程、易于擴(kuò)展等方面。內(nèi)置專用驅(qū)動(dòng)和控制IC(SPFD5408),它不需要外部顯示緩存,而是驅(qū)動(dòng)IC自己來(lái)集成。TFT-LCD顯示器連接在PCB電路板上,需要在PCB電路板上加上背光限流電阻,將軟PCB連接接口(顯示器不便于與開(kāi)發(fā)板連接的)引出,并以DIP的雙排插針(板上保留有FPC20/1.0間距的FPC座)引出模塊以便于用戶連接[6]。該模塊接口如表1所示。
表1 模塊接口引腳說(shuō)明
語(yǔ)音播報(bào)模塊的功能是實(shí)時(shí)播報(bào)環(huán)境中的光照強(qiáng)度,本模塊選用了WT5001芯片作為主控芯片。WT5001-48L是一款MP3語(yǔ)音芯片,支持WAV和MP3解碼,擁有8-bitCISC和豐富的外設(shè)接口;擁有一個(gè)能夠直接驅(qū)動(dòng)16歐姆耳機(jī)的SPI接口,帶有實(shí)時(shí)時(shí)鐘及萬(wàn)年歷時(shí)鐘功能,通過(guò)標(biāo)準(zhǔn)的RS232串口與單片機(jī)進(jìn)行通信。WT5001-48L具有功耗低(休眠時(shí)待機(jī)電流約80μA)、播放控制響應(yīng)速度快的優(yōu)點(diǎn),在需要更換語(yǔ)音或音樂(lè)文件較長(zhǎng)、音質(zhì)要求較高的場(chǎng)合下適用[7]。自帶存儲(chǔ)介質(zhì)(SPI-FLASH)和一瓦功放;可在線下載音樂(lè)文件或者通過(guò)TF卡或U盤(pán)更換音樂(lè)文件。
超限報(bào)警模塊采用電磁繼電器作為警報(bào)器的開(kāi)關(guān)。該模塊電路由控制系統(tǒng)(即輸入回路)和被控制系統(tǒng)(輸出回路)兩部分組成。繼電器在其中擔(dān)當(dāng)?shù)氖恰白詣?dòng)開(kāi)關(guān)”的功能,通過(guò)它實(shí)現(xiàn)了用低電壓、弱電流去控制高電壓、強(qiáng)電流,其在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)電路轉(zhuǎn)換等功能[8]。當(dāng)環(huán)境中的光照強(qiáng)度超過(guò)設(shè)定的警戒值時(shí),單片機(jī)的PC3口被賦予低電平,從而使三極管PNP導(dǎo)通,繼電器通電吸合,整個(gè)報(bào)警模塊電路接通,警報(bào)器發(fā)出警報(bào)。
系統(tǒng)基于Keil uVision5工具開(kāi)發(fā),通過(guò)C語(yǔ)言進(jìn)行編程。整個(gè)系統(tǒng)軟件包括光照強(qiáng)度采集模塊、MCU信息處理和控制模塊、液晶顯示模塊、語(yǔ)音播報(bào)模塊和超限報(bào)警模塊,警戒值的設(shè)定是通過(guò)液晶顯示器上的虛擬按鍵來(lái)實(shí)現(xiàn)的。系統(tǒng)軟件的工作流程如圖3所示。
圖3 軟件算法流程圖
根據(jù)以上設(shè)計(jì)方法,得到系統(tǒng)實(shí)物,如圖4所示。為檢測(cè)系統(tǒng)的穩(wěn)定性、可靠性,在晴天室內(nèi)環(huán)境下對(duì)系統(tǒng)進(jìn)行了測(cè)試。測(cè)試時(shí)間為中午12點(diǎn),測(cè)試時(shí)的警戒值設(shè)置為500 lx,測(cè)試范圍為室內(nèi)不同位置的光照強(qiáng)度,表2為測(cè)試室內(nèi)中央位置光照強(qiáng)度時(shí)系統(tǒng)各模塊電壓值及該位置的實(shí)時(shí)光強(qiáng)值。
圖4 系統(tǒng)實(shí)物圖
表2 系統(tǒng)測(cè)試記錄
測(cè)試結(jié)果:室內(nèi)中央位置的實(shí)時(shí)光強(qiáng)值為210 lx,角落的為42 lx,當(dāng)將測(cè)試點(diǎn)移動(dòng)到窗戶附近時(shí),報(bào)警器發(fā)出警報(bào),實(shí)時(shí)光強(qiáng)值為502 lx。為驗(yàn)證系統(tǒng)的準(zhǔn)確性,在同一時(shí)刻使用專用的光照強(qiáng)度測(cè)量?jī)x進(jìn)行了測(cè)試,測(cè)試結(jié)果為中央位置的實(shí)時(shí)光照強(qiáng)度值為205 lx,角落的為50 lx,窗戶附近的實(shí)時(shí)光強(qiáng)值為500 lx。經(jīng)測(cè)試,系統(tǒng)具有良好的準(zhǔn)確性、可靠性和實(shí)時(shí)性。
基于ARM Cortex-M3單片機(jī)和BH1750FVI光照強(qiáng)度傳感器設(shè)計(jì)實(shí)現(xiàn)了一套光照強(qiáng)度監(jiān)測(cè)系統(tǒng),與同類(lèi)型的系統(tǒng)或設(shè)計(jì)方案相比具有低功耗、低成本、實(shí)時(shí)性高的特點(diǎn)和優(yōu)勢(shì)。實(shí)際測(cè)試表明,系統(tǒng)測(cè)量準(zhǔn)確度高,具有良好的靈敏度、穩(wěn)定性和實(shí)時(shí)性,可以實(shí)現(xiàn)24小時(shí)不間斷的監(jiān)測(cè),符合溫室大棚、家禽場(chǎng)等的光照強(qiáng)度監(jiān)測(cè)的應(yīng)用要求。系統(tǒng)不足之處在于缺少獨(dú)立的供電模塊及光照強(qiáng)度超過(guò)警戒值時(shí)所采取的調(diào)節(jié)光強(qiáng)值的控制措施。后續(xù)工作是在系統(tǒng)中增設(shè)太陽(yáng)能供電模塊或使用蓄電池供電、對(duì)系統(tǒng)進(jìn)行擴(kuò)展,增設(shè)光強(qiáng)值超限時(shí)的光照強(qiáng)度控制模塊,并實(shí)際應(yīng)用于溫室大棚環(huán)境中進(jìn)行光照強(qiáng)度監(jiān)控。