車小偉
(天水師范學院機電與汽車工程學院,甘肅 天水 741000)
霜凍是影響農業生產的一種常見氣象災害,常發生于春季溫度快速回升時。霜凍的出現,嚴重影響了果樹芽或花苞的生長,大幅降低果樹結果量,造成了較大的經濟損失。為了降低霜凍對植物生長的影響,常采用灌溉、熏煙和覆膜等保護措施,但這些方法操作費時費力,不力于規模農業防霜作業。隨著技術的發展,利用逆溫原理,進行氣流擾動增溫逐漸成為一種環保高效的防霜技術手段。該類型防霜機使用三相異步電動機作為動力源帶動風葉轉動,從而強制將逆溫層的暖氣流吹送到近地面,提高近地面溫度,保護果樹。本文設計了基于ZigBee通信的防霜機監控系統,通過采集的環境參數來決定防霜機是否啟動,并對電機運行狀態進行監測,從而提高農業自動化程度。
本文在普通防霜機機械結構的基礎上設計監控系統,該系統分為上位機計算機控制軟件部分和下位機控制器部分。計算機控制軟件主要實現傳感器數據顯示、防霜機啟停決策控制及多機聯控功能。控制器安裝于防霜機上以采集防霜機周圍環境的溫度、濕度、風速、大氣壓力值等參數并傳輸至控制計算機,計算機根據設定的防霜機啟動條件下發控制命令至控制器,控制器通過驅動繼電器讓繼電器常開觸點閉合、接觸器線圈得電,從而接觸器主觸點閉合,三相異步電動機帶動風葉轉動,防霜機開始工作。系統通過光電編碼器測量電機轉速,從而得知電機運行狀態。整個系統的結構如圖1所示。

圖1 防霜機控制器結構圖
為了在較大區域內進行防霜凍作業,需要多臺防霜機同時工作,因此本設計使用ZigBee通信方式將多個防霜機組網控制。ZigBee作為常用的一種常見無線通信方式,具有低功耗、低成本、低速率、通信距離較遠(在無遮擋情況下,通過增加天線發射功率,通信距離可達1~2公里)的特點,適合于本設計。
由于本文設計的控制器使用ZigBee通信方式,因此控制器主控芯片選擇具有片上系統(SOC)功能的CC2530芯片,該芯片集成2.4-GHz IEEE 802.15.4 協議,配合少許電路,就可以實現 ZigBee通信,降低了系統設計與調試難度,提高了系統的可靠性。
溫濕度傳感器選擇DHT11傳感器,DHT11是一款具有已校準數字信號輸出功能的溫濕度傳感器。其精度分別為:濕度±5% RH,溫度±2 ℃,量程濕度5-95% RH,溫度0~+50 ℃,與主控芯片間采用單總線方式通信,節省I/O引腳資源,DHT11的第2個引腳(數據引腳)與CC2530的P0.6連接進行通信。
氣壓傳感器選擇BOSH公司的BMP390L傳感器,該傳感器為絕對氣壓傳感器,具有精度高、線性度好、穩定性高的特點,通過I2C總線或SPI總線通信,并可以輸出高精度溫度值。由于DHT11與BMP390L傳感器均可測量溫度值,但BMP390L的溫度值精度更高,測量范圍為-20+65℃,所以溫度值由BMP390L傳感器獲得。BMP390L傳感器由P0.4(SDA)、P0.5(SCL)兩個引腳通過I2C總線連接至CC2530。
風速傳感器由小型直流有刷電機與三杯式旋轉風葉組成,其原理相當于一小型風力發電機,輸出量為感應電動勢值,且基本滿足V=F/0.027的關系,式中V為感應電動勢(單位為mV),F為風速值(單位為m/s)。該傳感器與CC2530的P0.0引腳(AIN0通道)連接,并設置模數轉換的參考電壓為3.3V、10位分辨率。則ADC轉換值與風速的關系為F=0.087*ADC_Value,式中ADC_Value為AIN0通道ADC轉換的結果值。
控件器電路如圖2所示。

圖2 控制器電路圖
整個系統的軟件分為上位機監控軟件與控制器軟件兩部分。
為了提高系統的可靠性,ZigBee網絡采用樹狀網絡拓撲結構,與監控計算機連接ZigBee通信模塊設置為為協調器,其他設備分配為路由器,軟件使用IAR和Z-stack 2.5.1配合使用開發。對于每一個節點控制器,其功能主要由兩個任務完成:發送數據與接收數據,發送數據使用10秒一次的間隔發送方式,每次將采集溫度、濕度、氣壓、電機轉速的數據,采用廣播的形式發送給協調器(監控電腦)。主程序程序流程圖如圖3所示。

圖3 控制器程序流程圖
在數據發送時,為了確保接收器收到發送的數據,一個數據包由1字節數據頭(固定為0xFF)、8字節MAC地址、2字節溫度值、2字節濕度值、2字節大氣壓力值、2字節風速值、2字節電機轉速值及1字節校驗碼構成,共占20字節。其中數據檢驗采用CRC8校驗方式,以確保數據在傳輸中的正確性,由于CC2530每個芯片都對應有惟一的地址碼MAC,因此使用該碼來區別不同的控制器。
計算機端上位機軟件根據設備接收到的數據和設定的運行參數比較,滿足運行條件時,向設備發送啟動與停止命令,其數據格式為數據頭(固定為0XFF),8字節MAC地址,1字節命令,1 字節CRC校驗。其中命令字節值為0XFF時,啟動防霜機運行,運行狀態指示燈點亮,為0x00時,停止運行,運行狀態指示燈熄滅,其他值為無效值,防霜機不動作。
計算機控制程序使用Visual Studio 2010基于MFC編寫,主要功能為每一個防霜機傳感器參數顯示、防霜機運行狀態顯示,以及設置防霜機自動運行邏輯判斷條件。計算機通過串口與ZigBee協調器連接,因此在MFC中使用系統API函數編寫串口通信功能,并且設置通信參數為:波特率=115200,數據位8位,停止位1位,無校驗,不使用流控制,串口號根據設備連接時自動分配的串口號。串口接收程序通過接收線程來完成,接收到數據后首先對數據進行校驗,以確保傳輸數據的正確性,然后判斷接收數據中MAC地址值是否有對應的設備,如果有對應設備,將數據進行顯示,如果無對應設備,則通過消息框提示。防霜機是否啟動的判斷條件通過邏輯判斷實現,將接收數據的參數值與啟動條件設定值比較,滿足則啟動。
本文主要介紹了防霜機多機自動控制的實現方式,使用ZigBee網絡將每個防霜機與上位機連接,通過網絡上傳傳感器數據,上位機根據設定條件決定防霜機是否啟動,實現了防霜機的自動遠程控制。隨著著農業智能化的發展,應通過多傳感器、大數據方式智能化控制防霜機運行,這也是未來研究的重點。