徐燁輝,孫祚軒,王建強,鄭榮杰,劉 暐,時志國
(1.河北水利電力學院,河北 滄州 061001;2.滄州瑞格雷德電子科技有限公司,河北 滄州 061001)
現階段,我國淡水資源可持續供應能力不足,北方地區尤為嚴重。傳統粗放式灌溉方式使水資源浪費巨大,極大限制了我國農業的開發[1],也加劇了水資源的緊張程度。據統計,有1.35億hm2農田的灌溉水利用率僅有52%[2],研究農田精準灌溉對解決這一問題具有非常積極的現實意義。
我國引入以色列農田精準灌溉技術,但受到中國農業地形復雜等因素制約,造成其節水效率不高,僅比漫灌提高15%~30%,且成本較高,因此推廣效果不佳。為了提高水資源利用率,設計一套通過算法控制植物灌溉水流量,達到精確灌溉的實時控制。該系統能夠實現自動控制與遠程監視,節約水資源的同時還能方便農戶管理作物。通過分析研究國內外對植物精準灌溉技術的實際需求,結合我國農業灌溉系統現狀,研發了適合我國農業生產的精準灌溉智能控制系統。
通過對系統需求進行分析,設計了一款精準灌溉智能控制系統,遵循設計原則,采用上、下位機結構。其中,上位機由觸模屏與Arduino Mega 2560構成,主要負責接收系統參數、記錄和顯示系統數據、監控系統運行狀態和傳送數據至云端等。下位機以ESP32-WROOM為主,主要負責傳感器數據采集、數據發送和控制執行機構。
精準灌溉智能控制系統的總體結構如圖1所示。該系統由上位機總機和各分節點構成,每個節點都配有相應的檢測模塊和驅動機構。上位機總機和各分節點之間通過ESP32-WROOM模塊進行信號傳輸,節點之間采用ESPNOW技術傳輸數據。檢測模塊主要用于對作物進行基本情況檢測,并將所檢測到的數據發送到分節點。各分節點將數據信息通過打包發送到上位機總機,經過總機整理后再發送到云端服務器[3-4]。總機結合各節點作物情況和Wi-Fi模塊發送的網絡預測天氣情況,利用算法做出智慧決策,從而確定灌溉時間和灌溉地塊。

圖1 系統總體結構
系統檢測到作物需要灌溉時,首先確定需要灌溉的節點,然后再精確到每個節點對應的地塊。系統根據控制器輸出的控制指令打開相應的驅動機構(如繼電器、電磁閥等),通過灌溉支路將水溶液輸送到指定地塊進行精準灌溉,根據控制器輸入的灌溉時間來完成作物灌溉,系統同時將作物信息反饋到云端服務器。
控制系統硬件主要分為主機與從機,由于從機可為多個且設計內容一致,所以用從機n表示各從機,其中從機主要包括傳感器模塊與執行機構模塊。
系統硬件結構模塊如圖2所示。在各節點傳感器與單片機之間利用ESPNOW技術通訊,實現節點間無線互聯通信。再通過ESPNOW技術聯通主機單片機(Arduino Mega 2560)與觸模顯示屏,在云端主機上的用戶通過登錄相應賬戶也可以看到信息提示,從而進行網絡遠程監測。

圖2 系統硬件結構模塊圖
Arduino Mega 2560是一款基于ATmega 2560微控制器的開發板,具有54個數字輸入/輸出引腳(其中15個可用作PWM輸出)、16個模擬輸入、4個UART(硬件串行端口)、一個16 MHz晶振、一個USB連接、一個電源插座、一個ICSP頭和一個復位按鈕,適合需要大量I/O接口的設計。使用Arduino Mega 2560可降低成本,實現多處組網。
在控制器模塊中系統采用MCGS TPC7062TX觸摸屏,上位機觸摸屏采集的數據僅臨時存儲在寄存器中。為了實現MCU與觸摸屏之間的信息交互,必須實現MCU與觸摸屏之間的通信。本文采用MODBUS進行通信,其讀寫引腳不能直接連接到觸摸屏上,因此需要一個從TTL到RS485的電平互換模塊(圖3)。在現場控制系統時,可以直接利用觸摸屏設置和調整不同溫濕度數值,通過人工控制該系統的運行,以此提高效率。添加觸摸屏使系統更便于農戶使用,在主控制面板中,可以控制棚內的所有設備活動,通過觸摸屏觸發操作。

圖3 RS485接線圖
傳感器模塊由溫度傳感器、濕度傳感器、壓力傳感器、液位傳感器等組成。檢測模塊檢測的參數為空氣溫濕度、土壤溫濕度和水泵壓力等[3],系統傳感器模塊包括土壤溫濕度傳感器、數字溫濕度傳感器DHT11、液位傳感器SLDTB801/V以及壓力傳感器MLK-P300,可敏銳察覺土壤內環境變化、水流量變化以及外界溫濕度情況。其中,無線聯網模塊與分節點硬件接線情況如圖4、圖5所示。

圖4 無線聯網模塊接線圖

圖5 分節點硬件接線圖
系統執行機構模塊使用單片機連接繼電器以實現控制,繼電器帶動電機,電機帶動恒壓水泵。通過對主控單片機發出命令,控制對應的電機或水泵,當檢測到的作物環境值與人為設定的溫濕度需求值不一樣時,單片機所控制的繼電器會發生響應,至此實現主控單片機對各節點子單片機的控制,實現控制操作一對多,由于該項技術較為成熟且易于實現,不做過多贅述[4]。
精準灌溉智能控制系統的軟件部分采用模塊化設計,包含主程序、環境參數采樣子程序、ESP32-WROOM收發子程序、控制子程序等模塊。其中,主程序作為系統的核心,控制各個子程序的運行和控制器的操作。
程序設計上,該系統采用Arduino IDE進行編程設計。傳感器包括溫濕度傳感器、液位傳感器、管道壓力傳感器等,需要預先設定好初值,然后使用傳感器采集到的參數與設定的初值進行比較,通過比較結果來控制繼電器。繼電器連接到終端設備,包括可控制電機、加壓水泵和電磁閥門的接觸器,從而實現自動灌溉[5]。
該系統單片機程序主要流程如圖6所示。系統接通電源后,等待初始化完成,并檢測環境溫度、濕度和壓力數據。系統對這些數據進行處理,并分析是否滿足用戶設置的系統溫濕度,最后判斷是否需要進行灌溉,同時進行水位檢測并將數據上傳至云端并準備進行下一次循環。

圖6 單片機程序
近程操作時,用戶可以通過觸摸屏對系統進行自主控制。觸摸屏將各監測單元所測數據一一顯示,用戶通過操作觸摸屏設置各作物所需的溫濕度條件,從而實現系統的智能控制[6]。
遠程操作時,Arduino Mega 2560通過ESP32-WROOM模塊將采樣數據發送到手機端,用戶登錄網站進行控制。遠程操作的便利性提高了系統的實用性和操作性,使用戶更加方便地控制和監測系統的運行狀態[7]。
本文主要對精準灌溉智能控制系統進行設計和試驗,為了驗證系統運行穩定性和精準灌溉控制方法的適用性,在滄州市農牧局試驗站進行了精準灌溉智能控制系統的測試。
該系統可實時監測溫室內空氣和土壤溫濕度變化,提供遠程可視化操作,具有較高的應用價值,具體運行情況如圖7、圖8所示。試驗結果表明:該系統具有精準的溫濕度控制、灌溉控制和數據采集功能,系統監測情況良好,數據穩定,測得數據均符合實際要求,能夠滿足農業生產需求。

圖7 溫度變化曲線圖

圖8 濕度變化曲線圖
針對農業生產灌溉施肥存在的水資源浪費、利用率低等問題,設計了一套提高灌溉精度和控制效率的精準灌溉智能控制系統。該系統以Arduino Mega 2560單片機作為主控單片機,實現傳感器對管道壓力、水流量、空氣及土壤溫濕度的信息采集和上傳、接收主控單片機發送的控制命令,控制各執行機構完成相應動作。
該系統采用觸摸顯示屏實現良好的人機交互功能,應用RS485通訊方式與Arduino Mega 2560單片機進行通訊,完成觸摸屏對系統狀態的實時監測和手動/自動控制。除此之外,該系統還應用了傳感器模塊,包括溫度傳感器、濕度傳感器、壓力傳感器和液位傳感器,用于檢測空氣溫濕度、土壤溫濕度和水泵壓力等參數,為精準灌溉提供了有力的支持。執行機構模塊采用單片機連接繼電器,對電機和水泵等設備進行控制,實現精準灌溉,解決水資源利用率低、人工成本較高等問題,滿足農業生產需求。