宋卓研,徐曉輝,宋濤,崔迎港,司玉龍
(河北工業(yè)大學電子信息工程學院,天津市,300401)
水肥一體化技術是精準農(nóng)業(yè)中至關重要的一環(huán)[1],在由水帶肥,水肥同灌模式下,管路中水肥混合的精確程度將直接影響作物的生長發(fā)育[2]。根據(jù)作物生長模型及管路水肥參數(shù),利用自動測控技術實現(xiàn)水肥均勻混合[3],對作物的正常生長發(fā)育將起到積極的促進作用。
從20世紀60年代起,國內外學者相繼開展關于水肥控制的研究。例如,Silber等[4]通過研究不同施肥頻率對作物水肥需求和生長情況的影響,構建了作物需水需肥模型;Tabish[5]和Anusha等[6]將模糊控制理論應用于灌溉和環(huán)境監(jiān)測系統(tǒng)。相較國外,我國水肥控制系統(tǒng)研究還處于初級階段,研究重點還集中在環(huán)境信息的獲取和處理分析方面,如蘇靜池等[7]通過傳感器網(wǎng)絡采集環(huán)境信息,構建灌溉系統(tǒng);楊顯賀等[8]通過分析番茄需水情況,構建精細化灌溉和調光系統(tǒng)。通過智能算法構建控制模型的研究相對匱乏,系統(tǒng)的生態(tài)閉環(huán)完整性也相對匱乏[9]。
目前,由于水肥作業(yè)系統(tǒng)非線性、大慣性和時滯性等問題[10],傳統(tǒng)控制算法無法建立確切數(shù)學模型,精度不能滿足水肥精準控制的要求。針對以上問題,設計了一種基于PSO和BP神經(jīng)網(wǎng)絡優(yōu)化的PID控制模型[11-12],用于水肥控制系統(tǒng),目的在于通過作物種植環(huán)境參數(shù),生成水肥模型控制策略,實現(xiàn)管路中水肥濃度的精準控制,以解決水肥混合不均等問題,同時達到節(jié)水省肥,減少資源的浪費的目的。
水肥系統(tǒng)主要由數(shù)據(jù)采集模塊、水肥控制模塊、主控制器和移動端APP四部分組成[13],系統(tǒng)框圖如圖1所示。
圖1 水肥系統(tǒng)框圖
系統(tǒng)通過傳感器采集管道水肥溶液pH值和EC值,經(jīng)過主控制器接收處理后發(fā)送給移動端APP和云服務器,用戶可在移動端查看管道中水肥混合液的實時混合情況,也可以根據(jù)特定水肥濃度精準控制模型實時調整施灌時長以及濃度配比,反饋到主控制器,由主控制器轉發(fā)至水肥控制器,水肥控制器根據(jù)接收到的指令調整注肥泵轉速,實現(xiàn)管道中水肥濃度的控制。
數(shù)據(jù)采集模塊用于采集管道中水肥溶液中的pH值和EC值,并將采集到的數(shù)據(jù)通過本地局域網(wǎng)經(jīng)主控制器轉發(fā)至云服務器。數(shù)據(jù)采集模塊設計電路圖如圖2所示,其中,采集點處理器采用STC89C52芯片。
數(shù)據(jù)采集節(jié)點按特定協(xié)議將采集的數(shù)據(jù)封裝成幀,通過WiFi模塊發(fā)送至主控制器。其中,WiFi模塊選用一款超低功耗的透傳模塊ESP8266,該模塊體積小,傳輸速率快,專為移動設備和物聯(lián)網(wǎng)應用而設計。pH電極型號為E-201-C4復合電極,EC電極為純鉑材料制成,二者均配備模數(shù)轉換模塊,并通過BNC接頭即可和對應電極相連。轉換模塊價格低廉,使用方便,測量精度高,可直接輸出0~5 V和0~3 V模擬電壓信號,利用校正液進行誤差分析知,該傳感器的采集值與標準值間誤差分別小于0.4%和0.7%,綜合分析滿足水肥系統(tǒng)對pH值和EC值的采集要求。其連接電路圖如圖2所示。
圖2 數(shù)據(jù)采集模塊設計電路
其控制流程如圖3所示。
圖3 水肥控制器控制流程圖
水肥控制模塊作為水肥控制的執(zhí)行器,用于接收主控制器下發(fā)的控制指令,并通過控制器的軟件程序完成注肥流量的調節(jié),進而實現(xiàn)管道中用戶期望的水肥濃度。
主控器作為整個水肥控制的樞紐,在系統(tǒng)中起到承上啟下的作用。本系統(tǒng)選用搭載聯(lián)發(fā)科MT8753芯片的嵌入式設備作為系統(tǒng)主控制器,一方面,其可為遠程監(jiān)測功能提供數(shù)據(jù)交互的支持,系統(tǒng)使用的移動端APP基于Android開發(fā),既可以通過本地局域網(wǎng)實現(xiàn)數(shù)據(jù)獲取,也可以通過互聯(lián)網(wǎng)從云端服務器獲取數(shù)據(jù)信息。因此,系統(tǒng)通信方式設計為基于HTTP協(xié)議的瀏覽器/服務器端(B/S)和基于TCP/IP協(xié)議的客戶端/服務器端(C/S)兩種通信方式。在B/S模式下,移動端通過網(wǎng)絡連接云端服務器獲取數(shù)據(jù),在C/S模式下,移動端可直接通過本地局域網(wǎng)與主控制器建立連接實現(xiàn)數(shù)據(jù)相互,兩種方式更好的滿足了遠程和本地監(jiān)控的需求,具有更好的用戶體驗;另一方面,將控制器與執(zhí)行器分離在一定程度上減少系統(tǒng)的耦合,方便后續(xù)加入新的功能,降低了設備之間的維護難度。
溫室水肥灌施系統(tǒng)難以建立具體數(shù)學模型,本系統(tǒng)選用目前自動控制領域使用廣泛的PID控制模型實現(xiàn)灌施過程中可調速水泵的實時控制。作為被控對象,可調速水泵具有大慣性、非線性和時滯性等特點,需要對PID控制參數(shù)進行整定優(yōu)化,同時引入預測補償,提前干預PID輸入,降低系統(tǒng)延時影響?;谝陨戏治?,本文基于PSO和BP神經(jīng)網(wǎng)絡雙向優(yōu)化PID控制模型,其系統(tǒng)框圖如圖4所示。
圖4 基于PSO和BP優(yōu)化PID系統(tǒng)框圖
結合圖4,對于水肥控制系統(tǒng)來說,PID控制器輸入為灌施過程中水肥溶度因子(pH和EC)實測值與設定值間的誤差,即系統(tǒng)誤差e(t);輸出為用于調節(jié)水泵轉速的電壓值u(t),被控對象為可調速水泵。其輸出電壓量值u(t)與系統(tǒng)誤差e(t)可用式(1)表示。
(1)
式中:Kp——比例系數(shù);
Ti——積分時間常數(shù);
Td——微分時間常數(shù)。
(2)
PSO算法通過模擬鳥群中個體間協(xié)作和信息共享進行搜索尋優(yōu)。利用PSO整定PID控制參數(shù),具有收斂快、魯棒性好和穩(wěn)定性高等優(yōu)勢。算法具體描述如下。
假定在維度為D的空間中有N個粒子,則第i個粒子位置可表示
Xi=[xi1xi2…xin]T
(3)
式中:Xi——粒子群中第i個粒子;
xin——粒子i的第n個位置信息。
群體中各粒子通過自我更新和信息共享來不斷改變其搜索模式,從而更新自身的位置信息和速度信息,更新的規(guī)則如下。
(4)
式中:w——慣性系數(shù);
r1,r2——[0,1]區(qū)間隨機數(shù);
c1,c2——學習因子;
基于以上分析,利用PSO整定PID控制參數(shù)設計流程如圖5所示。
圖5 PSO整定PID流程圖
其具體過程如下。
步驟一:初始化粒子群,規(guī)定PSO的種群規(guī)模N為100,最大迭代次數(shù)M為50,最小適應度值f為0.1,慣性系數(shù)ω為0.6,粒子維數(shù)D為3,學習因子c1、c2為0.5,粒子位置x取值范圍為[-20,20],粒子速度v取值范圍為[-1,1]。
步驟二:確定適應度函數(shù),選取積分性能指標(ITAE)作為適應度函數(shù)。ITAE指標可表示為
(5)
式中:e(t)——系統(tǒng)誤差;
t——積分時間,s。
步驟三:利用式(4)計算粒子適應度值,判斷是否滿足終止條件(達到最大迭代次數(shù)或最小適應度值)。若是,則參數(shù)尋優(yōu)結束,退出算法;否則跳入步驟四。
步驟四:對種群歷史最優(yōu)位置和當前粒子最優(yōu)位置進行比較,若當前搜索個體更好則對種群歷史最優(yōu)位置進行更新替換。
步驟五:根據(jù)式(3)更新粒子位置x和速度v,并轉到步驟二。
根據(jù)設計流程,利用MATLAB,對水肥系統(tǒng)進行PID參數(shù)整定,其中,針對水肥控制系統(tǒng)傳遞函數(shù)的相關研究,選擇測試的系統(tǒng)傳遞函數(shù)如式(6)所示。
(6)
針對水肥系統(tǒng)的PID控制參數(shù)整定結果如圖6、圖7所示。
圖7 PID控制參數(shù)適應度值變化曲線
由圖可知,在第13次迭代時確定尋優(yōu)結果,整定后PID參數(shù)值分別為:Kp=5.458 8,Ki=1.936 9,Kd=2.626 6,此時的適應度值為0.969 9。由此可知,PSO優(yōu)化算法在確定適應度函數(shù)的最優(yōu)適應度值時,其尋優(yōu)速度和穩(wěn)定性都有不錯的表現(xiàn)。
由于水肥系統(tǒng)的期望輸入存在跳變,而作為被控對象的可調速水泵具有慣性,讓緩變輸出跟蹤跳變輸會導致初始誤差過大,易引起超調。利用BP神經(jīng)網(wǎng)絡對水肥溶液溶度進行預測,可降低水泵造成時延和慣性影響,圖8為利用BP神經(jīng)網(wǎng)絡建立水肥濃度信息預測模型訓練過程。
圖8 水肥濃度因子預測模型訓練流程圖
在模型構建方面,系統(tǒng)綜合考慮水肥系統(tǒng)特點和網(wǎng)絡訓練速度等多重因素,BP神經(jīng)網(wǎng)絡選用3層拓撲結構(輸入層—隱含層—輸出層),其中輸入和輸出層節(jié)點數(shù)分別選取為3(系統(tǒng)當前時刻、上一時刻和上上時刻水肥濃度因子實測值)和1(下一時刻水肥濃度因子預測值),隱含層節(jié)點
(7)
式中:m——輸入層節(jié)點個數(shù);
n——輸出層節(jié)點個數(shù);
a——調節(jié)常數(shù)。
對調節(jié)常數(shù)a而言,典型值為[1,10],通過對該區(qū)間逐一進行訓練,比較隱含層不同節(jié)點數(shù)時的訓練誤差和測試誤差,最終選取隱含層節(jié)點數(shù)為8,此時的訓練誤差和測試誤差為9.65×10-9和4.9×10-5。
根據(jù)預測設計流程,在MATLAB環(huán)境下對模型進行訓練,訓練誤差變化曲線和模型測試結果如圖9、圖10所示。由圖9可知,訓練過程中,模型的訓練誤差成指數(shù)下降,經(jīng)過420次迭代后,網(wǎng)絡的訓練誤差達到了設定值。根據(jù)圖10測試結果顯示真實值與預測值間的均方差R2達到1,模型預測效果優(yōu)秀。
圖9 訓練模型誤差變化曲線
圖10 模型測試結果
基于以上各部分分析,基于PSO和BP神經(jīng)網(wǎng)絡優(yōu)化PID設計流程如圖11所示。
具體過程描述如下。
步驟一:用戶設定標準水肥濃度因子。
步驟二:將溶液因子預測值與設定值進行比較,計算系統(tǒng)誤差e(t)作為PID輸入和PSO輸入。
步驟三:根據(jù)輸入的系統(tǒng)誤差,利用PSO進行尋優(yōu)處理,得到PID的控制參數(shù)。
步驟四:根據(jù)PSO輸出的控制參數(shù),PID對進行系統(tǒng)控制,輸出電壓量控制可調速水泵轉速,調控水肥濃度。
步驟五:判斷混肥過程是否結束。若結束則直接結束,否則轉到步驟六。
步驟六:利用BP神經(jīng)網(wǎng)絡預測模型計算下一時刻水肥濃度因子預測值,并轉到步驟二。
圖11 基于PSO和BP優(yōu)化PID模型水肥控制流程
為驗證模型效果,采用MATLAB/simulink編寫算法和搭建系統(tǒng)進行仿真驗證,如圖12所示。與傳統(tǒng)PID控制器進行對比,測試過程采用一階和多階階躍信號作為標準輸入,仿真結果如圖13、圖14所示。針對一階階躍響應曲線的各項性能指標對比如表1所示。
圖12 水肥控制系統(tǒng)的simulink模型
根據(jù)圖13、圖14,對比傳統(tǒng)PID控制模型,基于PSO和BP神經(jīng)網(wǎng)絡的PID控制模型具有更好的控制效果,系統(tǒng)響應曲線平滑,超調量小且系統(tǒng)穩(wěn)定性明顯更好。
圖13 一階階躍響應曲線
圖14 連續(xù)階躍響應曲線
根據(jù)表1可知,系統(tǒng)響應的上升時間和調節(jié)時間分別提高9.33%和72.24%,且超調量也相對更小,僅為傳統(tǒng)PID控制的11.78%,故可知基于PSO和BP神經(jīng)網(wǎng)絡優(yōu)化的PID控制算法具有優(yōu)秀的控制效果和魯棒性。
表1 控制系統(tǒng)各項性能指標對比Tab. 1 Contrast of various performance indicators of control system
圖15為移動端APP繪制的水肥控制系統(tǒng)施灌過程中pH值和EC值的變化曲線,施灌過程共持續(xù)一個小時,系統(tǒng)每10 min采集并返回一次傳感器數(shù)據(jù)供用戶查看參考。根據(jù)監(jiān)測結果,灌施過程中水肥濃度保持平穩(wěn),pH和EC值正常。相較傳統(tǒng)灌溉施肥方式相比,灌水量降低10%,用肥料節(jié)約15%。
圖15 水肥控制系統(tǒng)實時情況
本文以PID控制模型為基礎,通過PSO優(yōu)化PID控制參數(shù)和利用BP神經(jīng)網(wǎng)絡進行水肥預測。在一定程度上解決了水肥控制系統(tǒng)的非線性和時滯性問題,具有一定的使用價值。
1) 系統(tǒng)基于物聯(lián)網(wǎng)架構和相關技術,由數(shù)據(jù)采集模塊、水肥控制模塊、主控制器和移動端APP四部分組成,通過各部分間相互配合,共同實現(xiàn)了數(shù)據(jù)采集、數(shù)據(jù)處理和遠程控制等功能。
2) 系統(tǒng)以采集的水肥管道數(shù)據(jù)為基礎,通過PSO-BP優(yōu)化PID模型進行施灌控制,系統(tǒng)響時間和調節(jié)時間分別提高8.72%和60.40%,穩(wěn)態(tài)誤差僅為傳統(tǒng)PID控制的9.31%。較傳統(tǒng)方式相比,灌水量和施肥量分別降低10%和15%。
3) 系統(tǒng)客戶端基于安卓平臺,實現(xiàn)了可視化監(jiān)測,操作界面簡潔,運行穩(wěn)定。