0 引言 隨著人口的增長和農業的發展,隨著全球變暖造成的干旱問題日益嚴重,世界水資源的需求量越來越大,水資源緊缺已成為全世界人民共同關注的問題。滴灌技術是通過干管、支管和毛管上的滴頭,在低壓下向土壤經常緩慢滴水,可直接向土壤供應已過濾的水分、肥料或其他化學劑等的一種實用技術。大田自動滴灌技術具有大幅度提高水的利用率、減少土壤結構破壞、改善生態環境、提高經濟效益的作用,是一種高效節水的新型灌溉技術,目前已經成為實施高效、精準灌溉的重要水資源管理技術措施。 近年來,隨著無線信息傳輸技術的發展,ZigBee無線網絡以其低成本、低功耗、低速率、近距離、短延時、高安全等特點,在現代農業發展中得到高度關注。本設計將傳感器技術、STM32F103VET6單片機、ZigBee無線通信技術相結合,提出了一種節水滴灌自動控制系統的設計方法,并開發了基于STM32的田間控制器。系統針對不同農作物在不同生長時期對水分的需求情況,依據土壤濕度與環境溫度,能夠與基于S3C6410開發平臺的網關通過ZigBee無線網絡進行通信,由田間控制器精準科學地控制灌水位置、灌水時間、灌水量、灌水質量,實現了農作物的適時自動滴灌,為作物生長提供良好的條件。系統為實現大面積農田的統一調度管理提供了基礎,是一種理想節水滴灌解決方案。 1 系統總體設計 1.1 系統的拓撲結構 系統采用無線傳感網自組網的星型網絡拓撲結構,總體組成如圖1所示,由上位機、S3C6410網關(網絡協調器節點)、CC2530無線收發模塊(ZigBee通信模塊)、終端控制節點以及執行機構組成。 采用一臺式計算機作為上位機,負責接收傳感器上傳的數據、存儲、分析并做出相應的智能滴灌決策。 S3C6410網關是整個網絡的協調器,負責自動搜尋網絡中的終端節點,組織無線網絡,并從終端節點取得上位機需要的數據,實現終端節點與上位機之間的通信。網關與終端控制節點通過基于ZigBee的CC2530無線收發模塊進行組網通信,由一個網絡協調器用的主機模塊和若干個從機終端模塊組成。終端控制節點是基于STM32的田間控制器,田間控制器(1)放在主管道上,配有液位傳感器、壓力傳感器及流量傳感器,執行機構是調節水壓大小的變頻器。田間控制器(2)~田間控制器(n)完全相同,放在每塊田地里,配有SHT11土壤溫濕度傳感器,一個終端節點模塊可以根據需要連接多個測溫濕度的探頭,執行機構是控制滴灌開閉的電磁閥。 另外,出于對農田的分散性和成本的考慮,由太陽能光伏供電系統對終端控制節點提供電源。 1.2 系統的工作原理 上位機發送采集指令,經由S3C6410網關,利用CC2530無線收發模塊將指令發送給基于STM32的田間控制器;各傳感器節點將檢測到的數據上傳到STM32田間控制器,然后由它通過CC2530無線收發模塊同樣經由網關將數據發送到上位機中;上位機對接收到的數據進行智能處理和決策,例如對濕度值進行排序、得到濕度值較小的幾塊田地,并據此對STM32田間控制器發送開啟這幾塊田地電磁閥的命令,從而實現自動滴灌。 在田塊面積大,需要控制上百個電磁閥門的大規模灌溉區域,可將圖1部分連接傳感器的終端節點替換為路由節點,路由節點及終端節點均裝備傳感器。ZigBee無線傳感網絡將由一個網關協調器節點、適當數目的路由器節點和多個終端節點組成,路由器和終端通過內部程序進行設置,且在一定距離內均可與網關直接通信。統采用休眠喚醒機制,實現了低功耗運行。 2 系統的硬件設計 硬件是無線控制系統的關鍵和基礎,它直接影響著整個系統的節能性、穩定性、控制和反饋的準確性。 2.1 S3C6410網關 基于ARM1176JZF-S的16/32位RSIC微處理器S3C6410,是一款具有低成本、低功耗、高性能特點的應用處理器,它具有4個UART接口,支持DMA和Interrupt模式,按ZigBee協議實現無線傳輸功能和自組網功能。當網關系統上電時,作為協調器的ZigBee主節點啟動和建立無線網絡,當網絡建立后,負責接收終端控制節點(STM32田間控制器)返回的信息,發送相應的控制信息到各個田間控制器中。 2.2 基于ZigBee的CC2530無線收發模塊 ZigBee是基于IEEE 802.15.4協議的一個開放式的標準,具有低成本、低功耗、低速率的特點,可同時無線連接大量不同的電子設備。設計選用TI公司最新推出的CC2530芯片作為控制器的微處理器,它集成了一個高性能2.4GHz直接序列擴頻射頻收發器、一個增強型單周期的8051 CPU和一個DMA控制器,具有8KB的SRAM、32/64/128KB的片內FLASH存儲器、2個支持多種串行通信協議的USART、8通道8-14位ADC、定時器和21個可編程的I/O引腳,具有寬電壓范圍(2~3.6V)、低功耗和電源電量可監控等特點。在ZigBee協議棧中UART具有中斷、DMA兩種模式,本文設計中均采用UART的中斷模式。 ZigBee通信板原理圖如圖2所示。 2.3 STM32田間控制器 由STMicroelectronics的STM32單片機與ZigBee收發節點模塊組成。采用STM32F103VET6閃存32位微控制器。它基于突破性的ARM Cortex-M3內核,工作頻率為72MHz,內部集成了高速存儲器(高達128Kb閃存和20Kb SRAM)、通過APB總線連接豐富增強的外設和I/O,另外包含了2個12位的ADC、3個通用16位定時器和一個PWM定時器,還包含標準和先進的通信接口:2個I2C和SPI、3個USART、一個USB和一個CAN。 由于設備集成了標準的通信接口,無需配置額外的組件,減少系統成本,為手持設備和一般類型應用提供了低價格、低功耗、高性能微控制器的解決方案。終端控制節點電路如圖3所示。 由于液位、壓力、流量傳感器均是4~20mA模擬信號輸出設備,需要用模/數轉換器將模擬信號轉換為數字信號,再由STM32單片機進行處理。本設計需要采集液位、壓力、流量等4~20mA設備信息,所以設計4通道采集電路,如圖4所示。 3 系統的軟件設計 系統軟件主要任務是實現傳感器工作的控制、無線網絡的組網以及數據的無線收發。系統軟件主要包括上位機軟件與下位機軟件。上位機軟件設計,主要是基于Visual C++的參數設置、數據采集、自動灌溉及查詢歷史記錄等的編程。下位機程序設計有兩個關鍵點:一是對溫濕度、液位、壓力、流量的采集,通過控制變頻器調節水泵或通過控制繼電器使得電磁閥開啟與閉合;二是ZigBee收發模塊對控制信號的接收、發送與執行。 自動滴灌系統中,土壤濕度是一個重要變量。上位機通過無線方式向田間控制器發送采集命令,將接收到傳感器返回信息進行顯示并對濕度做排序處理、判斷液位是否過限、將壓力和流量傳感器得到的數據進行融合來調節變頻器,然后通過ZigBee通信板向田間控制器發送開啟或關閉電磁閥的指令。上位機主程序流程圖如圖5所示。 傳感器節點上電后,首先進行系統的初始化,然后選擇信道并加入現有的ZigBee無線網絡,休眠等待接收信號,當接收到網關節點發出的查詢信號后,進行數據的采集并發送回協調器節點。 S3C6410開發平臺具有4個UART接口,在研究設計中,采用了MAX3232芯片來解決ZigBee通信模塊的CC2530芯片與該開發平臺之間的串口通信電平轉換。 ZigBee無線收發模塊軟件開發采用IAR EmbeddedWorkbench(EW)平臺完成。EW的C/C++交叉編譯器和調試器是今天世界最完整的和最容易使用專業嵌入式應用開發工具。網關ZigBee程序流程圖見圖6。 基于STM32的田間控制器接收到上位機發來的采集命令,進而執行采集土壤濕度、空氣溫度、液位、壓力、流量等信息并上傳,等待上位機進行智能決策后,將控制命令,如電磁閥開啟關閉以及變頻器的調節,發送出來,STM32控制器予以接收并且執行。下位機程序流程圖如圖7所示。 4 實驗及結果分析 對各模塊進行驅動測試,然后對系統整體進行協同工作實驗。通過田間實驗觀測通信質量、滴灌效果及系統是否運行正常。 4.1 CC2530無線通信質量測試CC2530無線通信模塊性能對系統整體性能起著至關重要的作用。CC2530通信模塊的測試主要包括節點之間通信距離及數據包丟包率的測試。TI公司推出的通用數據包探測器(General Packet Sniffer)可以對未加密的通信過程進行監控,故可利用它進行通信和組網測試。 (1)空曠無障礙測試,觀測通信質量及通信距離 測試地點:校園空曠處。 測試內容:協調器主節點上電,建立網絡后,等待其他子節點加入。通過在協議棧中配置CC2530單芯片射頻部分的輸出功率寄存器,來使協調器和終端節點之間進行通信,按照規定的協議數據格式相互發送數據包,從而能夠對CC2530通信模塊的通信距離、數據包丟包率進行測試,得到一個合適的發射功率。 測試條件:硬件方面采用CC2530協調器模塊和CC2530終端節點模塊分別通過RS232協議與兩臺筆記本電腦進行串行通信;并使用到兩條USB轉串口數據線、電源、CC2530仿真下載器。軟件方面采用設計的CC2530串口透傳程序能夠進行數據透明、點對點數據傳輸,筆記本電腦端采用Visual Basic編程語言設計的數據包丟包率測試軟件。 測試步驟:在搭建好硬件測試環境后,使用CC2530程序下載仿真器將在IAR Embedded Workbench集成開發環境下開發的CC2530串行通信程序,分別下載到CC2530協調器與CC2530終端節點中。在筆記本電腦中分別安裝VB數據包丟包率測試軟件,通過對發送數據(十六進制),發送數據的速度以及通過對NV非易失性存儲器的讀/寫操作對CC2530芯片的發射功率進行設置,收發1000個數據包,對CC2530通信模塊在不同的發射功率下的通信距離、丟包率等性能進行測試。 測試結果:在空曠場合采用默認功率輸出時,通信距離為120m左右時丟包率基本為0.0%,說明節點無線可靠通信距離可達120m。 (2)在實驗田中進行通信測試 測試地點:現場實驗田;測試內容、測試條件、測試步驟:同(1);測試結果:采用默認功率輸出時,節點無線通信有效傳輸距離可達80m。 4.2 項目實驗驗證測試條件:將網關上ZigBee天線安置在室外空曠無遮掩處,使得能夠接收到較強的信號。選取面積約為20m×50m的共12行的農作物田作為實驗田,由于農作物的根系一般深度為10~20cm,因此將土壤溫濕度傳感器探頭埋入地下10cm處,其中2行作為一組,每組選取兩個距離較遠的測試點,取兩個測試點的平均值來代表這一行范圍作物的環境狀況。當采集到的濕度值低于30%時,電磁閥打開,水源通過電磁閥、壓力傳感器、流量傳感器流入滴灌支管進行灌溉,滴灌進行中當土壤濕度值高于50%時,電磁閥關閉停止滴灌。 測試結果:在土壤濕度值低于作物要求下限(如30%)時系統能及時滴灌,當濕度達到作物要求上限(如50%)時系統能過做到適時停止滴灌,電磁閥開啟成功率為96%。 5 結論 本文提出的一種無線節水滴灌自動控制系統的設計方案,方案中的STM32田間控制器能夠實時監測作物土壤濕度和環境溫度,將傳感器信號通過無線發送到控制中心,控制中心能夠準確實時地了解到當前系統中各個節點的工作狀態,并及時啟動自動滴灌,非常有利于農作物的生產。一旦出現通信中斷、水壓異常等,能夠及時地反映到控制中心,通過語音報警等方式立即通知相關人員進行維修,提高了整個系統的可靠性。另外系統采用ZigBee技術,網絡結構簡單,田間布設靈活,提高了自動灌溉的實用性及對水的使用效率,減小了勞動量、導線和管路敷設費用,且無需人為操作,能夠長期穩定地工作,方便大面積安裝、維護和系統回收,為我國的精準農業工程提供了強有力的工具。 |