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