曹鵬飛,肖志飛,文建博,郭青盛,秦立靜,劉歡
(甘肅農(nóng)業(yè)大學信息科學技術學院,甘肅蘭州 730070)
當今,水資源稀缺問題越來越嚴重,尤其是淡水資源。水資源稀缺問題不僅僅是資源方面的問題,更關系到社會可持續(xù)發(fā)展和國家經(jīng)濟發(fā)展,甚至可以說是影響國家穩(wěn)定繁榮發(fā)展的重大戰(zhàn)略問題[1]。我國西北地區(qū)水資源嚴重缺乏,即使是南水北調(diào)工程也只是杯水車薪,因此需要發(fā)展節(jié)水灌溉技術。通過毛細管出口,水或者水和肥料的混合物被送到作物根區(qū)的土壤中進行吸收[2]。雖然大多數(shù)農(nóng)村在農(nóng)田灌溉方面仍采用滴灌技術,但是我們國家在農(nóng)業(yè)灌溉方面正做著更全面的改變。
滴灌是用專用的發(fā)射器、滴管或滴灌帶將水緩慢均勻滴入作物根部進而使土壤變濕潤的一種先進的灌溉方式。節(jié)水灌溉是一種較為科學且先進的灌溉方式。采用較為先進的科學器件和控制方式將水適量地運送到農(nóng)作物的根部,使農(nóng)作物的土壤濕度一直處于適宜的區(qū)間,使水資源的利用率得到了大幅提升[3]。我國節(jié)水灌溉技術較為落后,是我國現(xiàn)代化農(nóng)業(yè)的不足之一,滴灌技術對灌溉系統(tǒng)管理水平有較高的要求,確保均勻灌溉,才能使其潛力得到最大限度地發(fā)掘[4]。文中設計的是一種基于STM32的農(nóng)田節(jié)水灌溉系統(tǒng)。
灌溉技術可以追溯到秦漢以前,李冰主持修建的都江堰是最早的農(nóng)田灌溉系統(tǒng),在同一時期節(jié)水灌溉開始發(fā)展起來。1997 年全國噴灌面積已達19.33 萬hm2。從二十世紀七十年代我國自國外引進3 套當時較為先進的灌溉設備開始,至今我國的灌溉技術已經(jīng)取得了巨大的成就。吸收和借鑒國外先進技術的同時,結合中國地理環(huán)境,研制出了我國自己的灌溉設備,現(xiàn)在全國幾乎所有的地方都可以看到節(jié)水灌溉設備的應用[5]。
國外節(jié)水灌溉技術水平遠遠高于國內(nèi),尤其是發(fā)達國家。許多發(fā)達國家已經(jīng)用計算機進行控制,通過濕度傳感器的檢測,反饋給計算機,計算機再控制灌溉系統(tǒng)進行適量的灌溉[6]。在溫室、大棚等較小的環(huán)境下,計算機控制的灌溉系統(tǒng)使用較為廣泛,通常用一個計算機控制幾個或十幾個溫室里的灌溉系統(tǒng),極大地減少了水資源的浪費,而且節(jié)省了人力資源,提高了控制的精準度[7]。美國特別強調(diào)微灌溉水利系統(tǒng)的整合、可持續(xù)性和敏感性,將新產(chǎn)品、微灌系統(tǒng)過濾器和液壓過濾器與計算機模擬技術相結合[8]。
傳統(tǒng)的灌溉方法不僅浪費了本就稀缺的水資源,而且不能完美地把控澆水時間。節(jié)水是時代的主題,節(jié)水灌溉在當今具有很大的發(fā)展?jié)摿Γ?jié)約水資源的同時又發(fā)展了農(nóng)業(yè)[9]。
該系統(tǒng)是由電源、STM32 單片機、溫濕度傳感器、串行接口通信模塊、PC 端和各種顯示設備等組成。用戶通過上位機對現(xiàn)場數(shù)據(jù)進行檢測并且進行實時有效的遠程控制,可以實現(xiàn)對土壤信息的采集,將數(shù)據(jù)傳輸至STM32 單片機并在PC和手機應用端顯示,最后對數(shù)據(jù)進行處理和存儲[10]。
該系統(tǒng)主要是通過及時收集濕度,通過科學的農(nóng)業(yè)知識來判斷灌溉時機和灌溉時間。通過濕度檢測模塊收集濕度并傳送給主控制模板,通過主控制模板的主程序來判斷是否灌溉和灌溉量。科學灌溉可以做到局部的精準灌溉,具有較高的科學性。這種灌溉方式不僅可以為土壤補充水分,滿足植物生長的大部分濕度和溫度需求,還可以把植物所需的肥料溶于水中,結合現(xiàn)代農(nóng)業(yè)技術和互聯(lián)網(wǎng)知識實現(xiàn)一次性智能灌溉[11]。該系統(tǒng)也可以改善土壤的鹽堿化,當土壤出現(xiàn)鹽堿化,可以利用灌溉沖洗掉土壤中的可溶性鹽分。總設計框圖如圖1 所示。

圖1 總設計框圖
該系統(tǒng)使用Cortex-M3 內(nèi)核中的32 位CPU 處理器,為MCU 提供低成本平臺,降低能源成本,其具有高質(zhì)量的計算性能和先進的中斷響應系統(tǒng)。ARM Cortex-M3 是一個32 位的RISC 處理器,具有更高的代碼效率和ARM 內(nèi)核性能。改進后的STM32F103系列有一個內(nèi)置的ARM 核心,可與所有的硬件和軟件兼容[12]。
數(shù)字溫濕度感知模塊可用溫濕度傳感器DHT11,DHT11 調(diào)節(jié)數(shù)字信號輸出,并傳送給溫濕度復合傳感器,確保了數(shù)據(jù)的可靠性和保真性,為長期測量工作提供了保障。DHT11 采用了一個電阻式感濕元件和一個NTC 測溫元件,同時還連接著一個8位高性能單片機[13]。每個DHT11 傳感器的校準都在極其嚴格的校準環(huán)境下進行。在傳感器的存儲器中,有探測調(diào)整系數(shù)的程序,傳感器在檢查信號的過程中將這些調(diào)整系數(shù)傳送給電腦并顯示。利用單線串聯(lián)接口,使系統(tǒng)集成既快又簡練。相比于同類產(chǎn)品,其體積很小,功耗超低,這使得它能勝任更復雜的工作環(huán)境,4 針單排引腳封裝讓其連接更方便。
Usart 是異步收發(fā)傳輸器,能非常快速地與其他設備進行連接,是全雙工通信。其是一種設備間非常常用的串行通信方式,因為它簡單便捷,因此大部分電子設備都支持該通信方式,其通信協(xié)議可分層為協(xié)議層和物理層。因為串口通信協(xié)議的簡單、便捷,所以如今大多數(shù)的產(chǎn)品中都支持串口通信,通過串口通信可以實現(xiàn)與單片機的通信。硬件圖如圖2所示。

圖2 硬件圖
根據(jù)硬件電路設計的思路,系統(tǒng)軟件程序采用模塊化編程,利用Keil uVision5 開發(fā)環(huán)境,使用C 語言編寫程序。系統(tǒng)主程序模塊分為數(shù)據(jù)采集模塊、數(shù)據(jù)分析模塊、數(shù)據(jù)顯示模塊和數(shù)據(jù)存儲模塊。
首先初始化,實時掃描子程序傳感器,通過處理單板數(shù)據(jù)獲得環(huán)境信息。調(diào)用數(shù)據(jù)采集程序,將采集的空氣溫濕度值和土壤溫濕度值作為當前的有效數(shù)據(jù)暫時保存在單片機內(nèi)部,并調(diào)用數(shù)據(jù)分析子程序,對保存的所有暫存的濕度和溫度數(shù)據(jù)進行平均化處理,保存平均值,將該溫濕度平均值作為衡量和控制灌溉與否的主要參數(shù),再與設置的溫濕度限值作比較,如果符合灌溉要求,則進行灌溉[14]。
1)主程序首先完成初始化;
2)各模塊同時進入啟動階段,完成模塊上的初始值標識;
3)使用DHT11 傳送土壤濕度感知信號;
4)再一次記錄土壤濕度傳感器獲得的數(shù)值,如果濕度小于22%RH,溫度高于30 ℃,電磁閥就會啟動,噴水并提高濕度。如果濕度提高到50%RH,電磁閥就會關閉,溫度也會降低。另外,在濕度下降的過程中,主要程序將通過DMA 方式繼續(xù)讀取土壤濕度感知信號。系統(tǒng)程序流程如圖3 所示[15]。

圖3 系統(tǒng)程序流程圖
5)最后在PC 端和手機APP 上顯示溫濕度、電磁閥是否打開以及灌溉時長。控制窗口如圖4 所示。

圖4 控制窗口
由于戶外采集環(huán)境復雜,影響因素很多,為了避免噪聲干擾,采用了連續(xù)取值取平均數(shù)的方法來保證采集數(shù)據(jù)的可靠性。工作原理是連續(xù)采樣N次數(shù)據(jù),在這些數(shù)據(jù)中忽略最大值和最小值,計算剩余的N-2 個數(shù)據(jù)的平均值,把該平均值作為最后判斷的參數(shù)。具體子程序思想是在C 語言中創(chuàng)將一個大小為N的一維數(shù)組,N通常是10~13,抽樣數(shù)據(jù)按順序排列成數(shù)組,當N個數(shù)據(jù)被收集時,會將顯示的最大值和最小值去掉,其余的求平均值[16]。
是否需要灌溉農(nóng)作物,由多個環(huán)境因素來決定。該系統(tǒng)將空氣溫濕度和土壤溫濕度的綜合因素作為是否需要灌溉的條件,將傳感器反饋回來的土壤和空氣溫濕度作為灌溉的條件,再將反饋回來的溫濕度值求取平均值,將最后取得的平均值作為影響灌溉的關鍵參數(shù)[17-18]。不同季節(jié)權重取值也不同,可對權重進行靈活設置。
文中提出了一種基于STM32的節(jié)水灌溉系統(tǒng)。為了更精準地控制灌溉系統(tǒng),用算法的方式對空氣和土壤溫濕度進行控制。該灌溉系統(tǒng)具有非常快捷的控制方式,可以通過計算機操作,快捷簡單,指示清楚。并且由于使用的是STM32 單片機,該單片機強大的性能使該系統(tǒng)可以通過計算機模塊進行遠程操控。在農(nóng)業(yè)生產(chǎn)過程中可以科學、準確、便捷地為農(nóng)作物提供灌溉,還可以通過系統(tǒng)設置來滿足不同農(nóng)作物對土壤濕度和用水量的需求。