董佳,王志強,蓋素麗,檀改芳,吳青峰
(1.河北省科學院應用數學研究所,石家莊市,050081;2.河北省信息安全認證技術創新中心,石家莊市,050081;3.太原科技大學電子信息工程學院,太原市,030024)
我國人口約占世界的20%,但淡水資源只有全球的5%~7%,水資源短缺已對我國經濟可持續發展和生態平衡構成了嚴重威脅。不管是相對于農業用水量還是相對于全國用水量,農業灌溉用水都是真正的用水大戶。因此,節水灌溉研究一直是一項重要而又緊迫的任務[1]。目前我國農田的灌溉方式仍然以大水漫灌為主,灌溉效率低、水資源浪費嚴重、勞動強度大、投入產出比低。隨著農業集約化的不斷推廣,土地流轉和家庭農場經營模式的不斷擴張,發展現代農業節水高新技術逐步成為保障我國人口高峰期食物安全、水安全、生態安全及整個國家安全的重大戰略[2]。
近年來,國內外專家對自動灌溉控制系統的研究主要聚焦于兩個方面,一是針對具體的農作物,利用專家控制算法及管理系統,實現自動灌溉,達到節水提質的目的;二是針對溫室、農田等特定的環境,利用智能控制算法,實現特定環境下的灌溉優化控制。徐凱等根據葡萄的需水規律,基于模糊控制算法實現葡萄的精準閾值灌溉,不僅減少灌溉用水量,而且有效提升了葡萄品質[3]。王興旺等[4]基于無線傳感網絡設計了一套針對水晶梨的灌溉控制系統,利用PID-LPF控制算法,提升了灌溉精度和效率及水晶梨外觀品質和營養品質。Shinde等[5]對甘藍分別使用滴灌和微噴灌等灌溉方法進行試驗對比,得出甘藍在不同灌溉條件和灌溉水平下的表現規律,找出了最適宜的作物灌溉方法。趙亮等[6]針對溫室環境下的灌溉系統,基于自適應Fuzzy-PID控制算法,實現了灌溉的自動化及智能化。
本文針對農田中不同作物的分片種植場景,設計了一種基于STM32單片機的自動灌溉控制系統[7-13],能夠根據不同作物的需水量和施肥量,實現精準灌溉,提升了灌溉系統的自動化、智能化水平,達到了提高水資源利用率、降低勞動強度、節省成本的目的。
本系統由中心控制模塊、水泵控制模塊、施肥泵控制模塊、電磁閥控制模塊、人機交互模塊組成。通過人機交互模塊輸入初始參數,對系統進行初始化,人機交互模塊下發控制指令給中心控制模塊,中心控制模塊通過數字IO或通信指令驅動水泵、施肥泵、電磁閥控制模塊,實現灌溉設備的控制和系統參數采集;中心控制模塊以通信指令的方式給人機交互模塊反饋系統參數,實現系統參數的監測。系統總體框圖如圖1所示。

圖1 系統總體框圖Fig.1 Overall system block diagram
中心控制模塊作為系統的邏輯中心,選用STM32F103VET6芯片作為控制器,該芯片使用Cortex-M3作為硬件架構,采用DC3.3 V電壓供電,具有512 kB Flash,64 kB RAM,最大時鐘頻率高達72 MHz,輸入/輸出端口為80個,有多種外設接口,能夠滿足系統設計需求。該模塊的主要電路包括控制器電路、供電電路、CAN總線收發器電路。
控制器原理圖如圖2所示。
該模塊使用控制器的32個輸入/輸出管腳驅動電磁閥控制模塊;使用PD5和PD6管腳通過UART方式與人機交互模塊建立通信,接收控制指令,上傳系統參數;使用PA11和PA12管腳連接CAN總線收發器,與水泵控制模塊和施肥泵控制模塊建立通信,下發控制指令,采集系統數據;采用外部晶振提供8 MHz時鐘信號,經過控制器內部倍頻后,使控制器在72 MHz高頻下工作;設置復位按鍵K1,當按下K1時,將NRST管腳的電平拉低,控制器復位。
采用UA78M33CKVURG3穩壓芯片將系統供電電壓DC24 V電壓轉換為控制器所需供電電壓DC3.3 V,電壓變換電路如圖3所示。

圖3 電壓變換電路Fig.3 Voltage conversion circuit diagram
采用SN65HVD230D芯片作為CAN總線收發器,收發器的TXD、RXD分別與控制器的PA12和PA11管腳連接,在收發器的輸出端傳輸線兩端并聯一個120 Ω的電阻,可以減小傳輸過程中的信號反射,提高通信穩定性[14-15]。CAN總線收發器電路如圖4所示。

圖4 CAN總線收發器電路Fig.4 CAN bus transceiver circuit diagram
施肥泵控制模塊與水泵控制模塊的硬件設計完全相同,通過設備通信地址來區分控制對象。該模塊用于控制施肥泵的啟停及運行狀態的監控。該模塊采用STM32F072CBT6作為控制器,設計了控制器電路、數字量輸入/輸出電路、模擬量輸入/輸出電路、供電電路、CAN總線收發器電路。數字量輸入/輸出電路如圖5所示。模擬量輸入/輸出電路如圖6所示。

圖5 數字量輸入/輸出電路Fig.5 Digital input/output circuit diagram

圖6 模擬量輸入/輸出電路Fig.6 Analog input/output circuit diagram
數字量輸入/輸出電路用于采集變頻器的運行狀態和啟動變頻器,數字量輸出電路選用NUD3124LT1G負載驅動芯片,內置MOSFET、ESD保護和穩壓二極管,當管腳G接收到控制器輸出的電壓驅動信號時,驅動芯片內部MOSFET的漏極和源極導通,即驅動芯片的管腳D和管腳S導通,繼電器線圈的A2端與地導通,線圈吸合,常開觸點K1閉合,驅動信號送達變頻器。變頻器的運行狀態反饋信號是AC220V電壓信號,因此數字量輸入電路選用PA2501L-1高隔離電壓光耦進行強弱電信號隔離,為了降低光耦被擊穿的風險,減小電路功耗,在反饋電壓輸入端增加二極管V13和穩定電壓為100 V的穩壓管V11,V13的單向導電性使得光耦輸入端的信號只有正弦波的正半波,V11的穩壓特性,使得流過光耦輸入端的電流不到3 mA。
模擬量輸入/輸出電路用于采集肥液流量和設定變頻器的給定運行頻率,輸入輸出量均為DC4~20 mA 電流信號。模擬量輸入電路選用AD8542ARZ作為A/D轉換芯片,該芯片有兩路差分輸入,12位采樣精度,具有極低的輸入偏置電流,適用于具有較高源阻抗的應用。采用該芯片將DC4~20 mA電流信號變換為DC0~2.7 V電壓信號送到控制器,在電路中增加V7、V8齊納二極管,防止過電壓[16-17]。模擬量輸出電路選用XTR115U芯片,將控制器輸出的DC0~3.3 V 電壓信號變換為DC4~20 mA電流信號,利用該芯片VREF管腳的DC2.5 V電壓,產生DC4 mA的偏置電流,選用B2424LS-1WR2隔離電源模塊為XTR115U芯片提供DC24 V電壓,保證供電的穩定性。
電磁閥控制模塊選用ULN2803AN達林頓管驅動芯片[18],該芯片適用于低邏輯電平數字電路和較高的電流/電壓之間的接口。驅動芯片接收中心控制單元輸出的DC3.3V電壓信號,使輸出端與地導通,繼電器線圈吸合,指示燈點亮,常開觸點閉合,控制電磁閥導通。電磁閥控制電路如圖7所示。

圖7 電磁閥控制電路Fig.7 Solenoid valve control circuit diagram
系統軟件設計包括上位機部分和下位機部分,上位機部分軟件設計主要是人機交互界面的設計,下位機軟件設計主要包括邏輯控制程序和通訊程序的設計。
系統上電后,首先進行初始化,對參數進行設置,判斷系統的運行狀態,確保系統可以正常工作。初始化后,運行主程序,實現水泵、施肥泵、電磁閥的控制及運行狀態采集,故障判斷與處理,通信及協議解析等功能。系統主程序流程圖如圖8所示。

圖8 主程序流程圖Fig.8 Main program flowchart
上位機作為人機交互部分,用來輸入控制指令,監測系統的運行狀態。通過上位機可以設定系統的運行參數,實現現場設備的手動單控、手動組控、計劃輪灌三種控制模式,并能夠監測系統的運行狀態。人機交互主界面如圖9所示。

圖9 人機交互主界面Fig.9 Man-Machine interface
系統設計完成后,基于實驗室CS4000過程控制試驗裝置對系統進行測試。試驗裝置有6個電磁閥、1個水泵、1個壓力傳感器、1個變頻器、1個流量計、1個電動調節閥。利用這套試驗裝置對系統進行測試,如圖10所示。
設定主管路初始壓力為50 Pa,電動調節閥初始開度為60%,施肥泵流量為0.05 m3,通過調節支路中的手動閥門來改變主管路中的壓力,測試系統的調節能力;當肥液流量達到設定值后,電動調節閥開度應變為0。經過測試,電磁閥能夠正常開閉;系統受到擾動后,經過一定的過渡時間,主管路仍能保持設定壓力;肥液流量達到設定值后,電動調節閥關閉,即開度變為0,證明系統的功能測試合格。
通過設定不同主管路壓力,測試系統模擬量輸入輸出精度,4~20 mA對應0~50 Pa,測試數據如表1所示,模擬量輸入輸出對比曲線如圖11所示。

表1 模擬量測試數據Tab.1 Test data of analog quantity Pa

圖11 模擬量對比曲線圖Fig.11 Comparison curves of analog quantity
在測試試驗中,常溫下選取10個壓力測試點,分別測量模擬量輸出值,并與理論輸出值進行比較,根據數據分析,模擬量理論輸出值與實際輸出值的最大誤差為7.5%;壓力傳感器輸出值與模擬量輸入值的最大誤差為3.7%,從圖11中可以觀察到,模擬量輸出值最大誤差發生在壓力值為0 Pa時,模擬量輸入值最大誤差發生在50 Pa時,最大誤差在允許范圍內,滿足系統要求。
針對大規模農田分片種植不同作物的灌溉需求,設計了一種基于STM32的自動灌溉控制系統。該系統包括4個模塊,其中電磁閥模塊、水泵控制模塊、施肥泵控制模塊可進行擴展,能夠滿足不同面積農田的灌溉需求;通過人機交互界面可實現電磁閥的分組,根據專家經驗設定論管計劃,實現不同作物的精準灌溉。測量10個壓力測試點的數據,模擬量理論輸出值與實際輸出值的最大誤差為7.5%;壓力傳感器輸出值與模擬量輸入值的最大誤差為3.7%。該系統提升了灌溉的自動化和信息化程度,提高了水資源的利用率,降低了勞動強度,滿足大規模農田分片種植的灌溉需求,具有一定社會效益和經濟效益。