宋卓研,徐曉輝,宋濤,崔迎港,司玉龍
(河北工業大學電子信息工程學院,天津市,300401)
水肥一體化技術是精準農業中至關重要的一環[1],在由水帶肥,水肥同灌模式下,管路中水肥混合的精確程度將直接影響作物的生長發育[2]。根據作物生長模型及管路水肥參數,利用自動測控技術實現水肥均勻混合[3],對作物的正常生長發育將起到積極的促進作用。
從20世紀60年代起,國內外學者相繼開展關于水肥控制的研究。例如,Silber等[4]通過研究不同施肥頻率對作物水肥需求和生長情況的影響,構建了作物需水需肥模型;Tabish[5]和Anusha等[6]將模糊控制理論應用于灌溉和環境監測系統。相較國外,我國水肥控制系統研究還處于初級階段,研究重點還集中在環境信息的獲取和處理分析方面,如蘇靜池等[7]通過傳感器網絡采集環境信息,構建灌溉系統;楊顯賀等[8]通過分析番茄需水情況,構建精細化灌溉和調光系統。通過智能算法構建控制模型的研究相對匱乏,系統的生態閉環完整性也相對匱乏[9]。
目前,由于水肥作業系統非線性、大慣性和時滯性等問題[10],傳統控制算法無法建立確切數學模型,精度不能滿足水肥精準控制的要求。針對以上問題,設計了一種基于PSO和BP神經網絡優化的PID控制模型[11-12],用于水肥控制系統,目的在于通過作物種植環境參數,生成水肥模型控制策略,實現管路中水肥濃度的精準控制,以解決水肥混合不均等問題,同時達到節水省肥,減少資源的浪費的目的。
水肥系統主要由數據采集模塊、水肥控制模塊、主控制器和移動端APP四部分組成[13],系統框圖如圖1所示。

圖1 水肥系統框圖
系統通過傳感器采集管道水肥溶液pH值和EC值,經過主控制器接收處理后發送給移動端APP和云服務器,用戶可在移動端查看管道中水肥混合液的實時混合情況,也可以根據特定水肥濃度精準控制模型實時調整施灌時長以及濃度配比,反饋到主控制器,由主控制器轉發至水肥控制器,水肥控制器根據接收到的指令調整注肥泵轉速,實現管道中水肥濃度的控制。
數據采集模塊用于采集管道中水肥溶液中的pH值和EC值,并將采集到的數據通過本地局域網經主控制器轉發至云服務器。數據采集模塊設計電路圖如圖2所示,其中,采集點處理器采用STC89C52芯片。
數據采集節點按特定協議將采集的數據封裝成幀,通過WiFi模塊發送至主控制器。其中,WiFi模塊選用一款超低功耗的透傳模塊ESP8266,該模塊體積小,傳輸速率快,專為移動設備和物聯網應用而設計。pH電極型號為E-201-C4復合電極,EC電極為純鉑材料制成,二者均配備模數轉換模塊,并通過BNC接頭即可和對應電極相連。轉換模塊價格低廉,使用方便,測量精度高,可直接輸出0~5 V和0~3 V模擬電壓信號,利用校正液進行誤差分析知,該傳感器的采集值與標準值間誤差分別小于0.4%和0.7%,綜合分析滿足水肥系統對pH值和EC值的采集要求。其連接電路圖如圖2所示。

圖2 數據采集模塊設計電路
其控制流程如圖3所示。

圖3 水肥控制器控制流程圖
水肥控制模塊作為水肥控制的執行器,用于接收主控制器下發的控制指令,并通過控制器的軟件程序完成注肥流量的調節,進而實現管道中用戶期望的水肥濃度。
主控器作為整個水肥控制的樞紐,在系統中起到承上啟下的作用。本系統選用搭載聯發科MT8753芯片的嵌入式設備作為系統主控制器,一方面,其可為遠程監測功能提供數據交互的支持,系統使用的移動端APP基于Android開發,既可以通過本地局域網實現數據獲取,也可以通過互聯網從云端服務器獲取數據信息。因此,系統通信方式設計為基于HTTP協議的瀏覽器/服務器端(B/S)和基于TCP/IP協議的客戶端/服務器端(C/S)兩種通信方式。在B/S模式下,移動端通過網絡連接云端服務器獲取數據,在C/S模式下,移動端可直接通過本地局域網與主控制器建立連接實現數據相互,兩種方式更好的滿足了遠程和本地監控的需求,具有更好的用戶體驗;另一方面,將控制器與執行器分離在一定程度上減少系統的耦合,方便后續加入新的功能,降低了設備之間的維護難度。
溫室水肥灌施系統難以建立具體數學模型,本系統選用目前自動控制領域使用廣泛的PID控制模型實現灌施過程中可調速水泵的實時控制。作為被控對象,可調速水泵具有大慣性、非線性和時滯性等特點,需要對PID控制參數進行整定優化,同時引入預測補償,提前干預PID輸入,降低系統延時影響。基于以上分析,本文基于PSO和BP神經網絡雙向優化PID控制模型,其系統框圖如圖4所示。

圖4 基于PSO和BP優化PID系統框圖
結合圖4,對于水肥控制系統來說,PID控制器輸入為灌施過程中水肥溶度因子(pH和EC)實測值與設定值間的誤差,即系統誤差e(t);輸出為用于調節水泵轉速的電壓值u(t),被控對象為可調速水泵。其輸出電壓量值u(t)與系統誤差e(t)可用式(1)表示。
(1)
式中:Kp——比例系數;
Ti——積分時間常數;
Td——微分時間常數。

(2)
PSO算法通過模擬鳥群中個體間協作和信息共享進行搜索尋優。利用PSO整定PID控制參數,具有收斂快、魯棒性好和穩定性高等優勢。算法具體描述如下。
假定在維度為D的空間中有N個粒子,則第i個粒子位置可表示
Xi=[xi1xi2…xin]T
(3)
式中:Xi——粒子群中第i個粒子;
xin——粒子i的第n個位置信息。
群體中各粒子通過自我更新和信息共享來不斷改變其搜索模式,從而更新自身的位置信息和速度信息,更新的規則如下。
(4)
式中:w——慣性系數;
r1,r2——[0,1]區間隨機數;
c1,c2——學習因子;




基于以上分析,利用PSO整定PID控制參數設計流程如圖5所示。

圖5 PSO整定PID流程圖
其具體過程如下。
步驟一:初始化粒子群,規定PSO的種群規模N為100,最大迭代次數M為50,最小適應度值f為0.1,慣性系數ω為0.6,粒子維數D為3,學習因子c1、c2為0.5,粒子位置x取值范圍為[-20,20],粒子速度v取值范圍為[-1,1]。
步驟二:確定適應度函數,選取積分性能指標(ITAE)作為適應度函數。ITAE指標可表示為

(5)
式中:e(t)——系統誤差;
t——積分時間,s。
步驟三:利用式(4)計算粒子適應度值,判斷是否滿足終止條件(達到最大迭代次數或最小適應度值)。若是,則參數尋優結束,退出算法;否則跳入步驟四。
步驟四:對種群歷史最優位置和當前粒子最優位置進行比較,若當前搜索個體更好則對種群歷史最優位置進行更新替換。
步驟五:根據式(3)更新粒子位置x和速度v,并轉到步驟二。
根據設計流程,利用MATLAB,對水肥系統進行PID參數整定,其中,針對水肥控制系統傳遞函數的相關研究,選擇測試的系統傳遞函數如式(6)所示。
(6)
針對水肥系統的PID控制參數整定結果如圖6、圖7所示。

圖7 PID控制參數適應度值變化曲線
由圖可知,在第13次迭代時確定尋優結果,整定后PID參數值分別為:Kp=5.458 8,Ki=1.936 9,Kd=2.626 6,此時的適應度值為0.969 9。由此可知,PSO優化算法在確定適應度函數的最優適應度值時,其尋優速度和穩定性都有不錯的表現。
由于水肥系統的期望輸入存在跳變,而作為被控對象的可調速水泵具有慣性,讓緩變輸出跟蹤跳變輸會導致初始誤差過大,易引起超調。利用BP神經網絡對水肥溶液溶度進行預測,可降低水泵造成時延和慣性影響,圖8為利用BP神經網絡建立水肥濃度信息預測模型訓練過程。

圖8 水肥濃度因子預測模型訓練流程圖
在模型構建方面,系統綜合考慮水肥系統特點和網絡訓練速度等多重因素,BP神經網絡選用3層拓撲結構(輸入層—隱含層—輸出層),其中輸入和輸出層節點數分別選取為3(系統當前時刻、上一時刻和上上時刻水肥濃度因子實測值)和1(下一時刻水肥濃度因子預測值),隱含層節點
(7)
式中:m——輸入層節點個數;
n——輸出層節點個數;
a——調節常數。
對調節常數a而言,典型值為[1,10],通過對該區間逐一進行訓練,比較隱含層不同節點數時的訓練誤差和測試誤差,最終選取隱含層節點數為8,此時的訓練誤差和測試誤差為9.65×10-9和4.9×10-5。
根據預測設計流程,在MATLAB環境下對模型進行訓練,訓練誤差變化曲線和模型測試結果如圖9、圖10所示。由圖9可知,訓練過程中,模型的訓練誤差成指數下降,經過420次迭代后,網絡的訓練誤差達到了設定值。根據圖10測試結果顯示真實值與預測值間的均方差R2達到1,模型預測效果優秀。

圖9 訓練模型誤差變化曲線

圖10 模型測試結果
基于以上各部分分析,基于PSO和BP神經網絡優化PID設計流程如圖11所示。
具體過程描述如下。
步驟一:用戶設定標準水肥濃度因子。
步驟二:將溶液因子預測值與設定值進行比較,計算系統誤差e(t)作為PID輸入和PSO輸入。
步驟三:根據輸入的系統誤差,利用PSO進行尋優處理,得到PID的控制參數。
步驟四:根據PSO輸出的控制參數,PID對進行系統控制,輸出電壓量控制可調速水泵轉速,調控水肥濃度。
步驟五:判斷混肥過程是否結束。若結束則直接結束,否則轉到步驟六。
步驟六:利用BP神經網絡預測模型計算下一時刻水肥濃度因子預測值,并轉到步驟二。

圖11 基于PSO和BP優化PID模型水肥控制流程
為驗證模型效果,采用MATLAB/simulink編寫算法和搭建系統進行仿真驗證,如圖12所示。與傳統PID控制器進行對比,測試過程采用一階和多階階躍信號作為標準輸入,仿真結果如圖13、圖14所示。針對一階階躍響應曲線的各項性能指標對比如表1所示。

圖12 水肥控制系統的simulink模型
根據圖13、圖14,對比傳統PID控制模型,基于PSO和BP神經網絡的PID控制模型具有更好的控制效果,系統響應曲線平滑,超調量小且系統穩定性明顯更好。

圖13 一階階躍響應曲線

圖14 連續階躍響應曲線
根據表1可知,系統響應的上升時間和調節時間分別提高9.33%和72.24%,且超調量也相對更小,僅為傳統PID控制的11.78%,故可知基于PSO和BP神經網絡優化的PID控制算法具有優秀的控制效果和魯棒性。

表1 控制系統各項性能指標對比Tab. 1 Contrast of various performance indicators of control system
圖15為移動端APP繪制的水肥控制系統施灌過程中pH值和EC值的變化曲線,施灌過程共持續一個小時,系統每10 min采集并返回一次傳感器數據供用戶查看參考。根據監測結果,灌施過程中水肥濃度保持平穩,pH和EC值正常。相較傳統灌溉施肥方式相比,灌水量降低10%,用肥料節約15%。

圖15 水肥控制系統實時情況
本文以PID控制模型為基礎,通過PSO優化PID控制參數和利用BP神經網絡進行水肥預測。在一定程度上解決了水肥控制系統的非線性和時滯性問題,具有一定的使用價值。
1) 系統基于物聯網架構和相關技術,由數據采集模塊、水肥控制模塊、主控制器和移動端APP四部分組成,通過各部分間相互配合,共同實現了數據采集、數據處理和遠程控制等功能。
2) 系統以采集的水肥管道數據為基礎,通過PSO-BP優化PID模型進行施灌控制,系統響時間和調節時間分別提高8.72%和60.40%,穩態誤差僅為傳統PID控制的9.31%。較傳統方式相比,灌水量和施肥量分別降低10%和15%。
3) 系統客戶端基于安卓平臺,實現了可視化監測,操作界面簡潔,運行穩定。