劉洪靜,李 黎,高金輝
(1.河南師范大學(xué)電子與電氣工程學(xué)院 增材智能制造河南省工程實驗室, 河南 新鄉(xiāng) 453007;2.新鄉(xiāng)水文水資源勘測局, 河南 新鄉(xiāng) 453000)
我國是一個農(nóng)業(yè)大國,農(nóng)業(yè)灌溉用水占比較大,傳統(tǒng)的灌溉方式導(dǎo)致水資源的嚴(yán)重浪費[1],不符合我國農(nóng)業(yè)節(jié)水灌溉的要求。為了解決這一問題需要發(fā)展一種較高水平的灌溉技術(shù),以作物對水分的需求量為依據(jù),適時適量灌溉,使作物生長在最佳狀態(tài)。
由于農(nóng)業(yè)灌溉對象是一個大慣性、 非線性和純時延的系統(tǒng),無法對其建立精確與統(tǒng)一的數(shù)學(xué)模型[2],傳統(tǒng)的PID控制,理論成熟,參數(shù)調(diào)整方便[3],但控制精度達(dá)不到要求,存在超調(diào)的現(xiàn)象;模糊控制是一種非線性控制,不需要建立精確的數(shù)學(xué)模型,根據(jù)領(lǐng)域?qū)<抑R或操作人員的經(jīng)驗就可制定有效的控制策略,但其抗干擾能力欠佳[4]。
本文根據(jù)兩者的優(yōu)點設(shè)計了一種新的模糊PID控制方法,提高了控制精度和抗干擾能力;采用信電共線新的通訊方式,通過在2根低壓供電總線上調(diào)制通訊控制信號(滿幅電壓發(fā)送,電流回傳接收),系統(tǒng)無極性接線的方法替代傳統(tǒng)供電和通訊分離的多線制電纜,克服了傳統(tǒng)RS232、RS485有線通訊方式[5]傳輸距離有限、通訊線束多、接線復(fù)雜的問題。并利用Modbus通信協(xié)議、Simulink仿真和滴灌實驗驗證了其可行性,取得了較好的效果,實現(xiàn)了節(jié)水灌溉的智能控制,在可控范圍內(nèi)最大限度地減少灌溉用水的浪費[6],解決了我國灌溉水資源利用率低、管理水平滯后、勞動強度大、人機交互能力差等弊端。
本系統(tǒng)由:模糊PID控制器、MCGS組態(tài)系統(tǒng)、信電共線主機模塊、從機模塊,土壤濕度傳感器,水流傳感器和電球閥組成。MCGS組態(tài)系統(tǒng)用于設(shè)定土壤濕度、顯示各個分機和傳感器狀態(tài),并能與主機模塊通信,控制相應(yīng)的從機。主機模塊和從機模塊之間通過Modbus協(xié)議進(jìn)行通信。從機土壤濕度傳感器采集土壤信息,并將信息通過主機模塊反饋給模糊PID控制器,經(jīng)算法運算處理后,將輸出量通過組態(tài)系統(tǒng)反饋給主機模塊,從而控制相應(yīng)分機的電球閥的開閉,實現(xiàn)節(jié)水灌溉的智能控制。水流傳感器檢測水流流量及反饋電動球閥的開閉狀態(tài)。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
主機核心電路如圖2所示,系統(tǒng)支持總線電壓直流12~48 V,通過電壓變化信號向從機發(fā)送控制信號。模塊EV620通過485總線與MCGS組態(tài)屏通信,BRK為總線故障指示引腳。
圖2 主機核心電路
當(dāng)EV620接收到MCGS發(fā)來的串口信號,需要向從機發(fā)送信號時,通過控制引腳BH使總線輸出腳L1的電壓值在滿足供電的前提下小范圍內(nèi)上下波動,從而使總線上形成規(guī)律性變化的電壓信號,以供從機識別。
當(dāng)EV620接收到從機發(fā)來的應(yīng)答信號時,引腳BL檢測總線上的電流變化,將電流信號轉(zhuǎn)變?yōu)榭勺R別的電壓信號,通過串口發(fā)送給MCGS并顯示。
從機核心電路如圖3所示,控制芯片PB331的PI引腳為信號輸入端,檢測主站發(fā)送來的電壓信號,以識別主站發(fā)來的指令;PO引腳為信號輸出端,通過控制T1的導(dǎo)通控制總線電流,向主機發(fā)送應(yīng)答信號。MCU單片機為帶有 flash的增強型8位8051內(nèi)核微控制器,通過IO口讀取傳感器數(shù)值、電球閥狀態(tài),并控制電球閥運行。TR為土壤濕度傳感器,SL為水流傳感器,Valve為電球閥。
圖3 從機核心電路
當(dāng)PB331的PI引腳檢測到主站發(fā)來的電壓信號后,通過串口發(fā)送給MCU執(zhí)行相關(guān)操作。
當(dāng)PB331接收到MCU發(fā)送來的應(yīng)答信號時,控制PO腳使T1導(dǎo)通或關(guān)閉,從而使總線上形成小范圍規(guī)律性變化的電流信號,以供主機識別。
MCGS組態(tài)屏是一套以Cortex-A8 CPU為核心的高性能嵌入式一體化觸摸屏[7],利用MCGS人機界面實時顯示系統(tǒng)參數(shù),進(jìn)行系統(tǒng)參數(shù)設(shè)置和運行控制[8],其建立的組態(tài)系統(tǒng)工程由主控窗口、設(shè)備窗口、用戶窗口、實時數(shù)據(jù)庫及運行策略等5個部分構(gòu)成。本組態(tài)系統(tǒng)設(shè)有登錄界面、主界面、分組界面等若干界面,系統(tǒng)主界面如圖4所示。
圖4 組態(tài)系統(tǒng)主界面
為了便于和MCGS組態(tài)系統(tǒng)通信,信電共線主、從機均采用Modbus-RTU通信協(xié)議[9,10],通過主機向從機發(fā)送請求,從機向主機響應(yīng)的方式,實現(xiàn)數(shù)據(jù)交互。
本設(shè)計是一臺主機對若干臺從機進(jìn)行監(jiān)控,定義的分機寄存器地址如表1所示,并根據(jù)具體情況編寫了兩個控制指令:主機讀取從機狀態(tài)的命令和主機控制從機電球閥開關(guān)的命令。其控制格式如下。
主機檢測灌溉狀態(tài),讀取從機狀態(tài)的命令格式:從機地址、0x04、0x00、0x04、0x00、0x05、低位CRC、高位CRC。第一個0x04為功能碼:單個讀;0x00、0x04為讀取的第一個數(shù)據(jù)寄存器的地址, 0x00、0x05為讀取的寄存器個數(shù),即從寄存器0x04開始順序讀取5個寄存器的地址;高、低位CRC為校驗碼。
主機控制相應(yīng)從機電球閥開關(guān)的命令格式:從機地址、0x06、0x00、0x04、0x00、0x01或0x00、低位CRC、高位CRC。0x06為功能碼:單個寫;0x00、0x04為電球閥狀態(tài)寄存器地址;0x00、0x01為打開電球閥指令,0x00、0x00為關(guān)閉電球閥指令;高位、低位CRC為校驗碼。
表1 分機寄存器地址分配表
注:電球閥運行狀態(tài):開啟時為1,關(guān)閉時為2,空閑時為0,動作超時為0xff。
模糊PID 控制器原理[11]如圖5所示。
圖5 模糊PID 控制器原理圖
控制器中,土壤濕度偏差e(k)由k時刻的土壤濕度設(shè)定值r(k)與實際檢測值y(k)構(gòu)成:
e(k)=r(k) -y(k)
(1)
偏差變化率ec(k) 由當(dāng)前時刻誤差e(k)與前一個時刻的誤差e(k-1)構(gòu)成:
ec(k)=e(k) -e(k-1)
(2)
輸出變量為u(k),由e(k)、ec(k)及變量Kp、Ki、Kd構(gòu)成:
(3)
通過偏差和變化率的輸入,依據(jù)模糊規(guī)則得出相應(yīng)的變化量ΔKp、ΔKi、ΔKd,并和原來設(shè)定的PID參數(shù)進(jìn)行相加,得出需要傳遞給輸出的變量Kp、Ki、Kd。
設(shè)置濕度偏差e(k)和偏差變化率ec(k)的基本論域分別為[-5,+5]和[-3,+3],對應(yīng)的離散論域均為{-3,-2,-1,0,1,2,3},則量化因子Ke=3/5=0.8,Kec=3/3=1。設(shè)置輸出量u基本論域為[0,30],由于輸出量不存在負(fù)值,離散論域u設(shè)為{0,1,2,3,4,5},則比例因子Ku=30/5=6。濕度偏差e、濕度變化率ec和變量ΔKp、ΔKi、ΔKd均采用三角隸屬度函數(shù),函數(shù)曲線見圖6。
本模糊控制規(guī)則建立的原則是在輸入偏差e(k)變大的時候向誤差減小的方向進(jìn)行調(diào)整,當(dāng)誤差變小的時候要保持系統(tǒng)穩(wěn)定,盡可能避免出現(xiàn)超調(diào)現(xiàn)象,具體規(guī)則如下,邏輯控制表見表2。
(1)當(dāng)偏差e(k)較大時,代表土壤濕度相差較大,應(yīng)該加快系統(tǒng)調(diào)節(jié),加大ΔKp并減小ΔKd使系統(tǒng)快速到達(dá)預(yù)定的值。為防止系統(tǒng)產(chǎn)生超調(diào),應(yīng)當(dāng)取較小的ΔKi值。
(2)當(dāng)偏差e(k)適中時,代表土壤濕度在向設(shè)定濕度值靠近,變化范圍不易過大,系統(tǒng)應(yīng)盡量保持在一個相對穩(wěn)定的狀態(tài)下,應(yīng)當(dāng)把ΔKp向較小的方向調(diào)整,ΔKi、ΔKd取適中值即可。
(3)當(dāng)偏差e(k)較小時,代表土壤濕度接近設(shè)定值,為了增加系統(tǒng)的容錯性,應(yīng)取較大的ΔKp、ΔKi值,為了避免系統(tǒng)發(fā)生振蕩,ΔKd的取值尤為重要,一般取中等大小。
根據(jù)所述的模糊PID控制器,運用 Simulink進(jìn)行仿真,來驗證其可行性。由于實際土壤水勢曲線為非線性,土壤濕度受多種因素影響,經(jīng)過查閱文獻(xiàn)資料,采用土壤濕度基質(zhì)變化率的公式來反映變化函數(shù)[12]:
Δy= 100 sin (2 πx/400)
(4)
式中:x為經(jīng)過換算的開閥時間;Δy為土壤濕度變化率。
通過單獨 PID 控制器仿真分析,Kp、Ki、Kd的初始值分別為13、0.5、0.1 且Kp取值在[8,18],Ki取值在[0,1],Kd取值在[0,0.2]時,系統(tǒng)的控制效果較好。因此輸出比例因子ap=18 -13/10=0.5,ai=1 -0.5/10=0.05,ad=0.2 -0.1/10=0.01,變量Kp、Ki、Kd表達(dá)式如下:
Kp=0.5ΔKp+13
(5)
Ki=0.05ΔKi+0.5
(6)
Kd=0.01ΔKd+0.1
(7)
表2 模糊PID邏輯控制表
以設(shè)定濕度為30%為例,仿真結(jié)果如圖7所示。發(fā)現(xiàn)經(jīng)過48 s后濕度達(dá)到設(shè)定值并保持水平,超調(diào)量較小,響應(yīng)時間短,效果優(yōu)于單一的模糊控制器和PID控制器。
圖7 simulink仿真結(jié)果
以組1中關(guān)閉的2號從機為例。檢測灌溉狀態(tài)時,發(fā)送讀取2號從機狀態(tài)的指令為:
0x02、0x04、0x00、0x04、0x00、0x06、0x31、0xFA。調(diào)試工具返回值RX為:
0x02、0x04、0x0C、0x00、0x00、0x00、0x00、0x00、0x01、0x00、0x00、0x00、0x00、0x00、0x1C、0xC7、0xBF。
當(dāng)土壤濕度值未達(dá)到設(shè)定值,需要灌溉時,發(fā)送開啟2號從機電球閥的指令為:
0x02、0x06、0x00、0x04、0x00、0x01、0x09、0xF8。
調(diào)試工具返回值RX為:
0x02、0x06、0x00、0x04、0x00、0x01、0x09、0xF8。組態(tài)測試效果如圖8所示。
圖8 系統(tǒng)通訊測試圖1
當(dāng)土壤濕度值達(dá)到設(shè)定值,需要結(jié)束灌溉時,發(fā)送閉2號電球閥的指令為:
0x02、0x06、0x00、0x04、0x00、0x00、0xC8、0x38。
調(diào)試工具返回值RX為:
0x02、0x06、0x00、0x04、0x00、0x00、0xC8、0x38。組態(tài)測試效果如圖9所示。
圖9 系統(tǒng)通訊測試圖2
根據(jù)已搭建好的節(jié)水灌溉系統(tǒng),設(shè)定土壤濕度為20%,采用滴灌的方式對某大型盆栽進(jìn)行實驗,土壤濕度傳感器插入土壤深度為7 cm,秒表計時100 s,測得數(shù)據(jù)曲線如圖10所示。實驗結(jié)果表明該節(jié)水灌溉系統(tǒng)響應(yīng)上升時間短,在誤差允許范圍內(nèi)超調(diào)量較小,具有較強的穩(wěn)定性和魯棒性。
圖10 土壤濕度測試圖
本設(shè)計基于模糊PID算法,利用信電共線2線通訊方式和Modbus協(xié)議,結(jié)合MCGS組態(tài)系統(tǒng),以設(shè)定的土壤濕度值作為灌溉的依據(jù),研究并設(shè)計了一種節(jié)水灌溉智能控制系統(tǒng)。實驗證明該系統(tǒng)具有設(shè)計合理、安全可靠、性能穩(wěn)定、操作簡單、實用性強等優(yōu)點。解決了傳統(tǒng)灌溉水資源浪費大、安全性差、人機交互能力不強的問題,達(dá)到了節(jié)水灌溉的目的,在灌溉領(lǐng)域具有一定的實際應(yīng)用價值。