車小偉
(天水師范學(xué)院機(jī)電與汽車工程學(xué)院,甘肅 天水 741000)
霜凍是影響農(nóng)業(yè)生產(chǎn)的一種常見氣象災(zāi)害,常發(fā)生于春季溫度快速回升時。霜凍的出現(xiàn),嚴(yán)重影響了果樹芽或花苞的生長,大幅降低果樹結(jié)果量,造成了較大的經(jīng)濟(jì)損失。為了降低霜凍對植物生長的影響,常采用灌溉、熏煙和覆膜等保護(hù)措施,但這些方法操作費(fèi)時費(fèi)力,不力于規(guī)模農(nóng)業(yè)防霜作業(yè)。隨著技術(shù)的發(fā)展,利用逆溫原理,進(jìn)行氣流擾動增溫逐漸成為一種環(huán)保高效的防霜技術(shù)手段。該類型防霜機(jī)使用三相異步電動機(jī)作為動力源帶動風(fēng)葉轉(zhuǎn)動,從而強(qiáng)制將逆溫層的暖氣流吹送到近地面,提高近地面溫度,保護(hù)果樹。本文設(shè)計了基于ZigBee通信的防霜機(jī)監(jiān)控系統(tǒng),通過采集的環(huán)境參數(shù)來決定防霜機(jī)是否啟動,并對電機(jī)運(yùn)行狀態(tài)進(jìn)行監(jiān)測,從而提高農(nóng)業(yè)自動化程度。
本文在普通防霜機(jī)機(jī)械結(jié)構(gòu)的基礎(chǔ)上設(shè)計監(jiān)控系統(tǒng),該系統(tǒng)分為上位機(jī)計算機(jī)控制軟件部分和下位機(jī)控制器部分。計算機(jī)控制軟件主要實現(xiàn)傳感器數(shù)據(jù)顯示、防霜機(jī)啟停決策控制及多機(jī)聯(lián)控功能??刂破靼惭b于防霜機(jī)上以采集防霜機(jī)周圍環(huán)境的溫度、濕度、風(fēng)速、大氣壓力值等參數(shù)并傳輸至控制計算機(jī),計算機(jī)根據(jù)設(shè)定的防霜機(jī)啟動條件下發(fā)控制命令至控制器,控制器通過驅(qū)動繼電器讓繼電器常開觸點閉合、接觸器線圈得電,從而接觸器主觸點閉合,三相異步電動機(jī)帶動風(fēng)葉轉(zhuǎn)動,防霜機(jī)開始工作。系統(tǒng)通過光電編碼器測量電機(jī)轉(zhuǎn)速,從而得知電機(jī)運(yùn)行狀態(tài)。整個系統(tǒng)的結(jié)構(gòu)如圖1所示。
圖1 防霜機(jī)控制器結(jié)構(gòu)圖
為了在較大區(qū)域內(nèi)進(jìn)行防霜凍作業(yè),需要多臺防霜機(jī)同時工作,因此本設(shè)計使用ZigBee通信方式將多個防霜機(jī)組網(wǎng)控制。ZigBee作為常用的一種常見無線通信方式,具有低功耗、低成本、低速率、通信距離較遠(yuǎn)(在無遮擋情況下,通過增加天線發(fā)射功率,通信距離可達(dá)1~2公里)的特點,適合于本設(shè)計。
由于本文設(shè)計的控制器使用ZigBee通信方式,因此控制器主控芯片選擇具有片上系統(tǒng)(SOC)功能的CC2530芯片,該芯片集成2.4-GHz IEEE 802.15.4 協(xié)議,配合少許電路,就可以實現(xiàn) ZigBee通信,降低了系統(tǒng)設(shè)計與調(diào)試難度,提高了系統(tǒng)的可靠性。
溫濕度傳感器選擇DHT11傳感器,DHT11是一款具有已校準(zhǔn)數(shù)字信號輸出功能的溫濕度傳感器。其精度分別為:濕度±5% RH,溫度±2 ℃,量程濕度5-95% RH,溫度0~+50 ℃,與主控芯片間采用單總線方式通信,節(jié)省I/O引腳資源,DHT11的第2個引腳(數(shù)據(jù)引腳)與CC2530的P0.6連接進(jìn)行通信。
氣壓傳感器選擇BOSH公司的BMP390L傳感器,該傳感器為絕對氣壓傳感器,具有精度高、線性度好、穩(wěn)定性高的特點,通過I2C總線或SPI總線通信,并可以輸出高精度溫度值。由于DHT11與BMP390L傳感器均可測量溫度值,但BMP390L的溫度值精度更高,測量范圍為-20+65℃,所以溫度值由BMP390L傳感器獲得。BMP390L傳感器由P0.4(SDA)、P0.5(SCL)兩個引腳通過I2C總線連接至CC2530。
風(fēng)速傳感器由小型直流有刷電機(jī)與三杯式旋轉(zhuǎn)風(fēng)葉組成,其原理相當(dāng)于一小型風(fēng)力發(fā)電機(jī),輸出量為感應(yīng)電動勢值,且基本滿足V=F/0.027的關(guān)系,式中V為感應(yīng)電動勢(單位為mV),F(xiàn)為風(fēng)速值(單位為m/s)。該傳感器與CC2530的P0.0引腳(AIN0通道)連接,并設(shè)置模數(shù)轉(zhuǎn)換的參考電壓為3.3V、10位分辨率。則ADC轉(zhuǎn)換值與風(fēng)速的關(guān)系為F=0.087*ADC_Value,式中ADC_Value為AIN0通道ADC轉(zhuǎn)換的結(jié)果值。
控件器電路如圖2所示。
圖2 控制器電路圖
整個系統(tǒng)的軟件分為上位機(jī)監(jiān)控軟件與控制器軟件兩部分。
為了提高系統(tǒng)的可靠性,ZigBee網(wǎng)絡(luò)采用樹狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),與監(jiān)控計算機(jī)連接ZigBee通信模塊設(shè)置為為協(xié)調(diào)器,其他設(shè)備分配為路由器,軟件使用IAR和Z-stack 2.5.1配合使用開發(fā)。對于每一個節(jié)點控制器,其功能主要由兩個任務(wù)完成:發(fā)送數(shù)據(jù)與接收數(shù)據(jù),發(fā)送數(shù)據(jù)使用10秒一次的間隔發(fā)送方式,每次將采集溫度、濕度、氣壓、電機(jī)轉(zhuǎn)速的數(shù)據(jù),采用廣播的形式發(fā)送給協(xié)調(diào)器(監(jiān)控電腦)。主程序程序流程圖如圖3所示。
圖3 控制器程序流程圖
在數(shù)據(jù)發(fā)送時,為了確保接收器收到發(fā)送的數(shù)據(jù),一個數(shù)據(jù)包由1字節(jié)數(shù)據(jù)頭(固定為0xFF)、8字節(jié)MAC地址、2字節(jié)溫度值、2字節(jié)濕度值、2字節(jié)大氣壓力值、2字節(jié)風(fēng)速值、2字節(jié)電機(jī)轉(zhuǎn)速值及1字節(jié)校驗碼構(gòu)成,共占20字節(jié)。其中數(shù)據(jù)檢驗采用CRC8校驗方式,以確保數(shù)據(jù)在傳輸中的正確性,由于CC2530每個芯片都對應(yīng)有惟一的地址碼MAC,因此使用該碼來區(qū)別不同的控制器。
計算機(jī)端上位機(jī)軟件根據(jù)設(shè)備接收到的數(shù)據(jù)和設(shè)定的運(yùn)行參數(shù)比較,滿足運(yùn)行條件時,向設(shè)備發(fā)送啟動與停止命令,其數(shù)據(jù)格式為數(shù)據(jù)頭(固定為0XFF),8字節(jié)MAC地址,1字節(jié)命令,1 字節(jié)CRC校驗。其中命令字節(jié)值為0XFF時,啟動防霜機(jī)運(yùn)行,運(yùn)行狀態(tài)指示燈點亮,為0x00時,停止運(yùn)行,運(yùn)行狀態(tài)指示燈熄滅,其他值為無效值,防霜機(jī)不動作。
計算機(jī)控制程序使用Visual Studio 2010基于MFC編寫,主要功能為每一個防霜機(jī)傳感器參數(shù)顯示、防霜機(jī)運(yùn)行狀態(tài)顯示,以及設(shè)置防霜機(jī)自動運(yùn)行邏輯判斷條件。計算機(jī)通過串口與ZigBee協(xié)調(diào)器連接,因此在MFC中使用系統(tǒng)API函數(shù)編寫串口通信功能,并且設(shè)置通信參數(shù)為:波特率=115200,數(shù)據(jù)位8位,停止位1位,無校驗,不使用流控制,串口號根據(jù)設(shè)備連接時自動分配的串口號。串口接收程序通過接收線程來完成,接收到數(shù)據(jù)后首先對數(shù)據(jù)進(jìn)行校驗,以確保傳輸數(shù)據(jù)的正確性,然后判斷接收數(shù)據(jù)中MAC地址值是否有對應(yīng)的設(shè)備,如果有對應(yīng)設(shè)備,將數(shù)據(jù)進(jìn)行顯示,如果無對應(yīng)設(shè)備,則通過消息框提示。防霜機(jī)是否啟動的判斷條件通過邏輯判斷實現(xiàn),將接收數(shù)據(jù)的參數(shù)值與啟動條件設(shè)定值比較,滿足則啟動。
本文主要介紹了防霜機(jī)多機(jī)自動控制的實現(xiàn)方式,使用ZigBee網(wǎng)絡(luò)將每個防霜機(jī)與上位機(jī)連接,通過網(wǎng)絡(luò)上傳傳感器數(shù)據(jù),上位機(jī)根據(jù)設(shè)定條件決定防霜機(jī)是否啟動,實現(xiàn)了防霜機(jī)的自動遠(yuǎn)程控制。隨著著農(nóng)業(yè)智能化的發(fā)展,應(yīng)通過多傳感器、大數(shù)據(jù)方式智能化控制防霜機(jī)運(yùn)行,這也是未來研究的重點。