雷文禮,張 鑫,任新成,曹新亮,魏建朝
(1.延安大學(xué)陜西省能源大數(shù)據(jù)智能處理省市共建重點(diǎn)實(shí)驗(yàn)室,陜西延安 716000;2.延安大學(xué)附屬醫(yī)院,陜西 延安 716000)
傳統(tǒng)農(nóng)業(yè)通過人工感知和經(jīng)驗(yàn)對(duì)大棚環(huán)境進(jìn)行管理往往不能及時(shí)調(diào)整大棚的環(huán)境,從而影響了農(nóng)作物的快速生長(zhǎng)[1-4]。隨著科學(xué)技術(shù)的飛速發(fā)展,我國農(nóng)業(yè)發(fā)展相較傳統(tǒng)的農(nóng)業(yè)模式也已經(jīng)發(fā)生了天翻地覆的變化,正在逐步被智能化、自動(dòng)化的農(nóng)業(yè)模式所取代。溫室大棚已經(jīng)成為種植蔬菜水果的主要方式,但是與其他國家相比,智能化水平仍然相對(duì)較低。
針對(duì)溫室大棚內(nèi)各種環(huán)境參數(shù)監(jiān)測(cè)不方便,不準(zhǔn)確的問題,該文設(shè)計(jì)了以ZigBee為核心的大棚環(huán)境監(jiān)測(cè)系統(tǒng)[5-8]。系統(tǒng)通過初始程序設(shè)置了大棚內(nèi)環(huán)境參數(shù)的閾值,當(dāng)大棚內(nèi)環(huán)境參數(shù)超過閾值,利用蜂鳴器報(bào)警提醒管理者及時(shí)調(diào)整,從而盡可能地減少損失[9]。
該設(shè)計(jì)以STC89C52 單片機(jī)為核心控制器,匹配ZigBee 模塊、輸入部分和輸出部分等組成大棚環(huán)境監(jiān)測(cè)的整個(gè)系統(tǒng)。作為中控部分的STC89C52單片機(jī)的主要作用是獲取輸入部分?jǐn)?shù)據(jù),經(jīng)過內(nèi)部處理,控制輸出部分。大棚環(huán)境監(jiān)測(cè)系統(tǒng)框圖如圖1 所示。
圖1 大棚環(huán)境監(jiān)測(cè)系統(tǒng)框圖
1)STC89C52 單片機(jī)電路設(shè)計(jì)模塊:它是一款高速、低功耗、超強(qiáng)抗干擾、價(jià)格低廉的單片機(jī)[10-11],電路原理圖如圖2 所示。
圖2 單片機(jī)原理圖
2)按鍵復(fù)位電路設(shè)計(jì)模塊:該模塊可以使系統(tǒng)進(jìn)行初始化,其中RES 是復(fù)位引腳,在通電以后電路給電容充電,此時(shí)RES處于高電平并且形成了一個(gè)回路,10 kΩ的電阻開始消耗電量;當(dāng)按鍵S1 按下時(shí),RES直接連接到VCC上,電容開始放電并且會(huì)放完所有電,當(dāng)按鍵松開時(shí)會(huì)出現(xiàn)兩邊都是斷路的情況,RES此時(shí)處于低電平開始復(fù)位,當(dāng)VCC 給電容充滿電重新連通之后,復(fù)位完成[12-13]。按鍵復(fù)位電路原理圖如圖3所示。
圖3 按鍵復(fù)位電路原理圖
3)晶振電路設(shè)計(jì)模塊:晶振電路是單片機(jī)系統(tǒng)必須要用到的,因?yàn)閱纹瑱C(jī)的運(yùn)行必須依靠穩(wěn)定的時(shí)鐘脈沖信號(hào)。晶振電路中連接諧振電容,其作用是使晶振兩端的等效電容等于或接近負(fù)載電容,以便晶振電路可以正常工作。
ZigBee 模塊的作用是確保主機(jī)和從機(jī)之間相互通信,其中ANT 是天線部分,P1.2 引腳的功能是用來指示模塊是否連接網(wǎng)絡(luò),連接網(wǎng)絡(luò)時(shí)是低電平,未連接網(wǎng)絡(luò)時(shí)為高電平;P1.3 引腳是模塊正常運(yùn)行指示燈引腳,正常運(yùn)行時(shí)是低電平,未正常運(yùn)行時(shí)是高電平。該模塊采用了3.3 V 電源供電。ZigBee 模塊電路如圖4 所示。
圖4 ZigBee模塊電路
顯示模塊采用LCD1062 顯示屏,它是字符型顯示屏,只能顯示數(shù)字、字母和符號(hào)。
蜂鳴器電路中采用三極管作為鳴響控制器。三極管相當(dāng)于一個(gè)開關(guān),當(dāng)基極的高電平使三極管導(dǎo)通時(shí),就會(huì)發(fā)出聲音。當(dāng)基極的低電平使三極管截止時(shí),蜂鳴器停止鳴響。
CO2監(jiān)測(cè)電路采用SGP30 模塊實(shí)現(xiàn),此模塊用于室內(nèi)空氣監(jiān)測(cè),它是將多個(gè)傳感元件集成在一個(gè)芯片上的金屬氧化物氣態(tài)感應(yīng)器,能提供空氣質(zhì)量的詳細(xì)信息,包括CO2和揮發(fā)性有機(jī)化合物VOC 的含量。
溫濕度監(jiān)測(cè)電路采用DHT11 數(shù)字型溫濕度傳感器采集大棚溫濕度信息,其采用特殊的數(shù)字模塊采集技術(shù)和濕度傳感技術(shù),是一個(gè)溫度和濕度復(fù)合感應(yīng)數(shù)字信號(hào)輸出模塊。
系統(tǒng)采用光敏電阻和土壤濕度傳感器采集土壤濕度和光照強(qiáng)度,并通過ADC0832 數(shù)模轉(zhuǎn)換芯片將數(shù)據(jù)送單片機(jī)處理。ADC0832 是一個(gè)八位分辨率的A/D 轉(zhuǎn)芯片。其高分辨率可達(dá)256級(jí),能滿足模擬量轉(zhuǎn)化的一般要求。當(dāng)ADC0832 不工作時(shí),它的CS 輸入端為高電平,此時(shí)芯片被禁用;進(jìn)行A/D 轉(zhuǎn)化時(shí),CS 使能終端必須設(shè)置在低電平,直到轉(zhuǎn)換完成。
光敏電阻器是一種利用半導(dǎo)體光電導(dǎo)效應(yīng)制成的電阻,其電阻值隨入射光強(qiáng)度的改變而改變,又稱光電導(dǎo)探測(cè)器。當(dāng)入射光強(qiáng)時(shí),電阻減少,而當(dāng)入射光弱時(shí),電阻增大。土壤濕度傳感器又被稱為土壤水分傳感器,不銹鋼探針和防水探頭構(gòu)成了土壤水分傳感器,適用于長(zhǎng)時(shí)間埋在土壤里,可用于深層土壤水分的定點(diǎn)監(jiān)測(cè)和在線測(cè)量。與數(shù)據(jù)采集器相結(jié)合,可作為定點(diǎn)監(jiān)測(cè)或移動(dòng)測(cè)量工具,測(cè)量土壤體積含水量。土壤濕度和光照強(qiáng)度監(jiān)測(cè)電路如圖5所示。
圖5 土壤濕度和光照強(qiáng)度監(jiān)測(cè)電路
該設(shè)計(jì)所用到的編程軟件為Keil5,它比其他軟件編程環(huán)境更輕、更快、更易于操作[14-15]。Keil5 支持各種芯片,包括51 單片機(jī)、STM32、HC32、NXP等,可生成通過刻錄器直接燒錄到單片機(jī)的HEX 文件。此外,Keil5 編譯有三種方式,分別是Translate、Build和Rebuild,為開發(fā)人員提供更多的選擇,編譯結(jié)果顯示在界面的底部,方便開發(fā)人員查找錯(cuò)誤[16]。
在主程序中首先對(duì)各個(gè)模塊進(jìn)行初始化,隨后進(jìn)入while 主循環(huán),在主循環(huán)中,首先進(jìn)入第一個(gè)按鍵函數(shù),該函數(shù)主要分為兩部分,第一部分為調(diào)用按鍵掃描函數(shù)獲取按鍵鍵值,第二部分通過鍵值進(jìn)行相應(yīng)的處理操作,比如切換界面,調(diào)整溫度、濕度、土壤濕度、光照、二氧化碳閾值等;接著進(jìn)入第二個(gè)監(jiān)測(cè)函數(shù),該函數(shù)主要通過溫濕度監(jiān)測(cè)模塊、土壤濕度監(jiān)測(cè)模塊、光照監(jiān)測(cè)模塊、二氧化碳監(jiān)測(cè)模塊監(jiān)測(cè)當(dāng)前的溫度、濕度、土壤濕度、光照和二氧化碳值;最后進(jìn)入第三個(gè)顯示函數(shù),該函數(shù)通過不同的顯示標(biāo)志位顯示不同的界面,包括主界面顯示當(dāng)前的溫度、濕度、光照、土壤濕度、二氧化碳值,其他界面顯示溫度閾值、濕度閾值、土壤濕度閾值、光照閾值、二氧化碳閾值等,系統(tǒng)的主流程圖如圖6 所示。
圖6 系統(tǒng)主流程圖
按鍵設(shè)置函數(shù)首先通過按鍵掃描函數(shù),獲取按鍵按下的鍵值,通過不同的鍵值,進(jìn)行相應(yīng)變量的改變。如果獲取的鍵值為1,則進(jìn)行界面切換。如果獲取的鍵值為2,在界面1且溫度閾值小于40 ℃時(shí),溫度閾值+1;在界面2且濕度閾值小于閾值最大值99%時(shí),濕度閾值+1;在界面3 且光照閾值小于閾值最大值99%時(shí),光照閾值+1;在界面4且土壤濕度閾值小于閾值最大值99%時(shí),土壤濕度閾值+1;在界面5且二氧化碳閾值小于閾值最大值500時(shí),二氧化碳閾值+1。如果獲取的鍵值為3,在界面1且溫度閾值小于40 ℃時(shí),溫度閾值-1;在界面2 且濕度閾值小于閾值最大值99%時(shí),濕度閾值-1;在界面3且光照閾值小于閾值最大值99%時(shí),光照閾值-1;在界面4且土壤濕度閾值小于閾值最大值99%時(shí),土壤濕度閾值-1;在界面5且二氧化碳閾值小于閾值最大值500時(shí),二氧化碳閾值-1。
顯示模塊流程如圖7 所示,系統(tǒng)通過不同的顯示標(biāo)志位顯示不同的界面。當(dāng)界面為0時(shí),顯示當(dāng)前環(huán)境內(nèi)的溫度、濕度、光照值、土壤濕度和二氧化碳值;當(dāng)界面為1時(shí),顯示之前設(shè)置好的溫度閾值;當(dāng)界面為2時(shí),顯示之前設(shè)置好的濕度閾值;當(dāng)界面為3時(shí),顯示之前設(shè)置好的光照閾值;當(dāng)界面為4時(shí),顯示之前設(shè)置好的土壤濕度閾值;當(dāng)界面為5時(shí),顯示之前設(shè)置好的二氧化碳閾值。
圖7 顯示模塊流程圖
在進(jìn)行硬件測(cè)試時(shí),首先檢查電路是否連通,經(jīng)檢測(cè)電路正常運(yùn)行,電源正常供電。然后測(cè)試網(wǎng)絡(luò)是否可以連接,首先給從機(jī)供電,然后按下從機(jī)復(fù)位鍵S1 讓系統(tǒng)初始化,當(dāng)從機(jī)D1 和D2 兩個(gè)指示燈變亮,說明從機(jī)已經(jīng)產(chǎn)生網(wǎng)絡(luò);接著給主機(jī)供電,當(dāng)主機(jī)D1 和D2 兩個(gè)指示燈變亮,說明主機(jī)與從機(jī)之間運(yùn)行正常已經(jīng)連上網(wǎng)絡(luò)了。
系統(tǒng)正常運(yùn)行后,LCD1602 顯示屏分兩行顯示內(nèi)容,第一行從左到右分別是溫度、濕度和光照強(qiáng)度,第二行從左到右分別是土壤濕度、二氧化碳濃度。當(dāng)系統(tǒng)供電正常運(yùn)行后,由于光照強(qiáng)度一般情況下會(huì)比設(shè)置的閾值高,蜂鳴器會(huì)進(jìn)行報(bào)警處理,測(cè)試時(shí)擋住光照傳感器,蜂鳴器就會(huì)停止報(bào)警并且可以觀察到LCD1602 顯示屏上光照強(qiáng)度的參數(shù)明顯降低;土壤濕度傳感器和溫濕度傳感器隨環(huán)境變化采集到的數(shù)據(jù)會(huì)發(fā)生變化并顯示在顯示屏上。
該文使用Keil5 來編譯和調(diào)試代碼,測(cè)試代碼能否正常運(yùn)行,有沒有指令使用錯(cuò)誤以及語法錯(cuò)誤等。經(jīng)過測(cè)試可以看到程序錯(cuò)誤為零,警告為零。
系統(tǒng)用Proteus 7 Professional 軟件進(jìn)行仿真測(cè)試,觀察系統(tǒng)能否實(shí)現(xiàn)設(shè)計(jì)的功能。經(jīng)過測(cè)試,仿真軟件中系統(tǒng)可以實(shí)現(xiàn)所設(shè)計(jì)的功能,且通過仿真按鍵進(jìn)行控制,各項(xiàng)參數(shù)都發(fā)生變化。
所設(shè)計(jì)的系統(tǒng)可實(shí)現(xiàn)從環(huán)境中采集實(shí)時(shí)的溫濕度、光照強(qiáng)度、二氧化碳濃度、土壤濕度數(shù)值,并通過ZigBee 自組網(wǎng)絡(luò)傳輸,在顯示屏上顯示出來,還可以通過按鍵進(jìn)行閾值設(shè)置實(shí)現(xiàn)報(bào)警功能。實(shí)驗(yàn)表明,基于ZigBee 的大棚環(huán)境監(jiān)測(cè)系統(tǒng)確保了農(nóng)作物的生長(zhǎng)環(huán)境,有效地調(diào)節(jié)了溫室大棚環(huán)境參數(shù),避免了災(zāi)害損失,同時(shí)為溫室大棚環(huán)境的自動(dòng)化監(jiān)測(cè)提供了參考。