董佳,王志強,蓋素麗,檀改芳,吳青峰
(1.河北省科學院應用數(shù)學研究所,石家莊市,050081;2.河北省信息安全認證技術創(chuàng)新中心,石家莊市,050081;3.太原科技大學電子信息工程學院,太原市,030024)
我國人口約占世界的20%,但淡水資源只有全球的5%~7%,水資源短缺已對我國經(jīng)濟可持續(xù)發(fā)展和生態(tài)平衡構成了嚴重威脅。不管是相對于農(nóng)業(yè)用水量還是相對于全國用水量,農(nóng)業(yè)灌溉用水都是真正的用水大戶。因此,節(jié)水灌溉研究一直是一項重要而又緊迫的任務[1]。目前我國農(nóng)田的灌溉方式仍然以大水漫灌為主,灌溉效率低、水資源浪費嚴重、勞動強度大、投入產(chǎn)出比低。隨著農(nóng)業(yè)集約化的不斷推廣,土地流轉和家庭農(nóng)場經(jīng)營模式的不斷擴張,發(fā)展現(xiàn)代農(nóng)業(yè)節(jié)水高新技術逐步成為保障我國人口高峰期食物安全、水安全、生態(tài)安全及整個國家安全的重大戰(zhàn)略[2]。
近年來,國內外專家對自動灌溉控制系統(tǒng)的研究主要聚焦于兩個方面,一是針對具體的農(nóng)作物,利用專家控制算法及管理系統(tǒng),實現(xiàn)自動灌溉,達到節(jié)水提質的目的;二是針對溫室、農(nóng)田等特定的環(huán)境,利用智能控制算法,實現(xiàn)特定環(huán)境下的灌溉優(yōu)化控制。徐凱等根據(jù)葡萄的需水規(guī)律,基于模糊控制算法實現(xiàn)葡萄的精準閾值灌溉,不僅減少灌溉用水量,而且有效提升了葡萄品質[3]。王興旺等[4]基于無線傳感網(wǎng)絡設計了一套針對水晶梨的灌溉控制系統(tǒng),利用PID-LPF控制算法,提升了灌溉精度和效率及水晶梨外觀品質和營養(yǎng)品質。Shinde等[5]對甘藍分別使用滴灌和微噴灌等灌溉方法進行試驗對比,得出甘藍在不同灌溉條件和灌溉水平下的表現(xiàn)規(guī)律,找出了最適宜的作物灌溉方法。趙亮等[6]針對溫室環(huán)境下的灌溉系統(tǒng),基于自適應Fuzzy-PID控制算法,實現(xiàn)了灌溉的自動化及智能化。
本文針對農(nóng)田中不同作物的分片種植場景,設計了一種基于STM32單片機的自動灌溉控制系統(tǒng)[7-13],能夠根據(jù)不同作物的需水量和施肥量,實現(xiàn)精準灌溉,提升了灌溉系統(tǒng)的自動化、智能化水平,達到了提高水資源利用率、降低勞動強度、節(jié)省成本的目的。
本系統(tǒng)由中心控制模塊、水泵控制模塊、施肥泵控制模塊、電磁閥控制模塊、人機交互模塊組成。通過人機交互模塊輸入初始參數(shù),對系統(tǒng)進行初始化,人機交互模塊下發(fā)控制指令給中心控制模塊,中心控制模塊通過數(shù)字IO或通信指令驅動水泵、施肥泵、電磁閥控制模塊,實現(xiàn)灌溉設備的控制和系統(tǒng)參數(shù)采集;中心控制模塊以通信指令的方式給人機交互模塊反饋系統(tǒng)參數(shù),實現(xiàn)系統(tǒng)參數(shù)的監(jiān)測。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖Fig.1 Overall system block diagram
中心控制模塊作為系統(tǒng)的邏輯中心,選用STM32F103VET6芯片作為控制器,該芯片使用Cortex-M3作為硬件架構,采用DC3.3 V電壓供電,具有512 kB Flash,64 kB RAM,最大時鐘頻率高達72 MHz,輸入/輸出端口為80個,有多種外設接口,能夠滿足系統(tǒng)設計需求。該模塊的主要電路包括控制器電路、供電電路、CAN總線收發(fā)器電路。
控制器原理圖如圖2所示。
該模塊使用控制器的32個輸入/輸出管腳驅動電磁閥控制模塊;使用PD5和PD6管腳通過UART方式與人機交互模塊建立通信,接收控制指令,上傳系統(tǒng)參數(shù);使用PA11和PA12管腳連接CAN總線收發(fā)器,與水泵控制模塊和施肥泵控制模塊建立通信,下發(fā)控制指令,采集系統(tǒng)數(shù)據(jù);采用外部晶振提供8 MHz時鐘信號,經(jīng)過控制器內部倍頻后,使控制器在72 MHz高頻下工作;設置復位按鍵K1,當按下K1時,將NRST管腳的電平拉低,控制器復位。
采用UA78M33CKVURG3穩(wěn)壓芯片將系統(tǒng)供電電壓DC24 V電壓轉換為控制器所需供電電壓DC3.3 V,電壓變換電路如圖3所示。
圖3 電壓變換電路Fig.3 Voltage conversion circuit diagram
采用SN65HVD230D芯片作為CAN總線收發(fā)器,收發(fā)器的TXD、RXD分別與控制器的PA12和PA11管腳連接,在收發(fā)器的輸出端傳輸線兩端并聯(lián)一個120 Ω的電阻,可以減小傳輸過程中的信號反射,提高通信穩(wěn)定性[14-15]。CAN總線收發(fā)器電路如圖4所示。
圖4 CAN總線收發(fā)器電路Fig.4 CAN bus transceiver circuit diagram
施肥泵控制模塊與水泵控制模塊的硬件設計完全相同,通過設備通信地址來區(qū)分控制對象。該模塊用于控制施肥泵的啟停及運行狀態(tài)的監(jiān)控。該模塊采用STM32F072CBT6作為控制器,設計了控制器電路、數(shù)字量輸入/輸出電路、模擬量輸入/輸出電路、供電電路、CAN總線收發(fā)器電路。數(shù)字量輸入/輸出電路如圖5所示。模擬量輸入/輸出電路如圖6所示。
圖5 數(shù)字量輸入/輸出電路Fig.5 Digital input/output circuit diagram
圖6 模擬量輸入/輸出電路Fig.6 Analog input/output circuit diagram
數(shù)字量輸入/輸出電路用于采集變頻器的運行狀態(tài)和啟動變頻器,數(shù)字量輸出電路選用NUD3124LT1G負載驅動芯片,內置MOSFET、ESD保護和穩(wěn)壓二極管,當管腳G接收到控制器輸出的電壓驅動信號時,驅動芯片內部MOSFET的漏極和源極導通,即驅動芯片的管腳D和管腳S導通,繼電器線圈的A2端與地導通,線圈吸合,常開觸點K1閉合,驅動信號送達變頻器。變頻器的運行狀態(tài)反饋信號是AC220V電壓信號,因此數(shù)字量輸入電路選用PA2501L-1高隔離電壓光耦進行強弱電信號隔離,為了降低光耦被擊穿的風險,減小電路功耗,在反饋電壓輸入端增加二極管V13和穩(wěn)定電壓為100 V的穩(wěn)壓管V11,V13的單向導電性使得光耦輸入端的信號只有正弦波的正半波,V11的穩(wěn)壓特性,使得流過光耦輸入端的電流不到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電壓,產(chǎn)生DC4 mA的偏置電流,選用B2424LS-1WR2隔離電源模塊為XTR115U芯片提供DC24 V電壓,保證供電的穩(wěn)定性。
電磁閥控制模塊選用ULN2803AN達林頓管驅動芯片[18],該芯片適用于低邏輯電平數(shù)字電路和較高的電流/電壓之間的接口。驅動芯片接收中心控制單元輸出的DC3.3V電壓信號,使輸出端與地導通,繼電器線圈吸合,指示燈點亮,常開觸點閉合,控制電磁閥導通。電磁閥控制電路如圖7所示。
圖7 電磁閥控制電路Fig.7 Solenoid valve control circuit diagram
系統(tǒng)軟件設計包括上位機部分和下位機部分,上位機部分軟件設計主要是人機交互界面的設計,下位機軟件設計主要包括邏輯控制程序和通訊程序的設計。
系統(tǒng)上電后,首先進行初始化,對參數(shù)進行設置,判斷系統(tǒng)的運行狀態(tài),確保系統(tǒng)可以正常工作。初始化后,運行主程序,實現(xiàn)水泵、施肥泵、電磁閥的控制及運行狀態(tài)采集,故障判斷與處理,通信及協(xié)議解析等功能。系統(tǒng)主程序流程圖如圖8所示。
圖8 主程序流程圖Fig.8 Main program flowchart
上位機作為人機交互部分,用來輸入控制指令,監(jiān)測系統(tǒng)的運行狀態(tài)。通過上位機可以設定系統(tǒng)的運行參數(shù),實現(xiàn)現(xiàn)場設備的手動單控、手動組控、計劃輪灌三種控制模式,并能夠監(jiān)測系統(tǒng)的運行狀態(tài)。人機交互主界面如圖9所示。
圖9 人機交互主界面Fig.9 Man-Machine interface
系統(tǒng)設計完成后,基于實驗室CS4000過程控制試驗裝置對系統(tǒng)進行測試。試驗裝置有6個電磁閥、1個水泵、1個壓力傳感器、1個變頻器、1個流量計、1個電動調節(jié)閥。利用這套試驗裝置對系統(tǒng)進行測試,如圖10所示。
設定主管路初始壓力為50 Pa,電動調節(jié)閥初始開度為60%,施肥泵流量為0.05 m3,通過調節(jié)支路中的手動閥門來改變主管路中的壓力,測試系統(tǒng)的調節(jié)能力;當肥液流量達到設定值后,電動調節(jié)閥開度應變?yōu)?。經(jīng)過測試,電磁閥能夠正常開閉;系統(tǒng)受到擾動后,經(jīng)過一定的過渡時間,主管路仍能保持設定壓力;肥液流量達到設定值后,電動調節(jié)閥關閉,即開度變?yōu)?,證明系統(tǒng)的功能測試合格。
通過設定不同主管路壓力,測試系統(tǒng)模擬量輸入輸出精度,4~20 mA對應0~50 Pa,測試數(shù)據(jù)如表1所示,模擬量輸入輸出對比曲線如圖11所示。
表1 模擬量測試數(shù)據(jù)Tab.1 Test data of analog quantity Pa
圖11 模擬量對比曲線圖Fig.11 Comparison curves of analog quantity
在測試試驗中,常溫下選取10個壓力測試點,分別測量模擬量輸出值,并與理論輸出值進行比較,根據(jù)數(shù)據(jù)分析,模擬量理論輸出值與實際輸出值的最大誤差為7.5%;壓力傳感器輸出值與模擬量輸入值的最大誤差為3.7%,從圖11中可以觀察到,模擬量輸出值最大誤差發(fā)生在壓力值為0 Pa時,模擬量輸入值最大誤差發(fā)生在50 Pa時,最大誤差在允許范圍內,滿足系統(tǒng)要求。
針對大規(guī)模農(nóng)田分片種植不同作物的灌溉需求,設計了一種基于STM32的自動灌溉控制系統(tǒng)。該系統(tǒng)包括4個模塊,其中電磁閥模塊、水泵控制模塊、施肥泵控制模塊可進行擴展,能夠滿足不同面積農(nóng)田的灌溉需求;通過人機交互界面可實現(xiàn)電磁閥的分組,根據(jù)專家經(jīng)驗設定論管計劃,實現(xiàn)不同作物的精準灌溉。測量10個壓力測試點的數(shù)據(jù),模擬量理論輸出值與實際輸出值的最大誤差為7.5%;壓力傳感器輸出值與模擬量輸入值的最大誤差為3.7%。該系統(tǒng)提升了灌溉的自動化和信息化程度,提高了水資源的利用率,降低了勞動強度,滿足大規(guī)模農(nóng)田分片種植的灌溉需求,具有一定社會效益和經(jīng)濟效益。