王永濤,楊璐瑤,胡 玥,劉 瀏,徐小燕
(1.貴州省水利科學(xué)研究院,貴陽 550002;2.重慶交通大學(xué),重慶 400074)
農(nóng)業(yè)作為用水大戶,季節(jié)性和區(qū)域性的缺水現(xiàn)象仍然嚴(yán)重,但同時又是最具節(jié)水潛力的產(chǎn)業(yè)之一。傳統(tǒng)農(nóng)業(yè)灌溉嚴(yán)重缺水與過度浪費現(xiàn)象仍然突出,節(jié)水問題近年來重視程度不斷提高,習(xí)近平總書記更是從國家戰(zhàn)略出發(fā),提出的治水新思路更是將節(jié)水問題擺在首要地位[1]。
貴州省以現(xiàn)代山地特色高效農(nóng)業(yè)為抓手,大力實施以水利自動化與信息化等高新技術(shù)為核心的貴州山區(qū)現(xiàn)代水利示范區(qū)建設(shè),通過發(fā)展智能控制的灌溉技術(shù),可以實現(xiàn)節(jié)水,促進(jìn)農(nóng)業(yè)機(jī)械化、集約化、現(xiàn)代化水平的提高,增強農(nóng)業(yè)發(fā)展的后勁。還能帶動節(jié)水灌溉設(shè)備制造等相關(guān)產(chǎn)業(yè)的發(fā)展,提高農(nóng)業(yè)灌溉設(shè)備的科技水平[2]。本文從智能化方面入手,開展節(jié)水灌溉控制系統(tǒng)的研究,為我省現(xiàn)代農(nóng)業(yè)發(fā)展提供技術(shù)支撐。
整套系統(tǒng)主要由上位機(jī)PC(平板電腦、手機(jī)等移動智能終端),下位機(jī)(傳感器節(jié)點和電磁閥節(jié)點)兩部分組成,通訊方式可以根據(jù)實際需要采用Zigbee、微波和GPRS多種方式(見圖1)。上位機(jī)可根據(jù)工程現(xiàn)場情況選擇辦公電腦、工控機(jī)和服務(wù)器等,通過INTERNET網(wǎng)或者近距離無線透明傳輸模塊傳輸命令和接收實時數(shù)據(jù)。應(yīng)用界面由C#語言編寫,這樣整個系統(tǒng)具備界面編程簡單、開發(fā)容易等特點。下位機(jī)以微功耗高性能單片機(jī)為核心控制節(jié)點組成無線傳感器網(wǎng)絡(luò)節(jié)點,連接電磁閥和水泵驅(qū)動控制節(jié)點,51F系列單片機(jī)應(yīng)優(yōu)選集成Rtx51tiny多任務(wù)操作系統(tǒng),10位ADC、兩個模擬比較器、結(jié)構(gòu)優(yōu)良,具備工業(yè)級等特性的單片機(jī)[4]。
圖1 系統(tǒng)組成簡圖(箭頭代表數(shù)據(jù)流方向)
由于作物灌溉條件是氣象、土壤等多種環(huán)境因素互相影響的結(jié)果,精確穩(wěn)定的模型無法進(jìn)行描述。而土壤濕度作為重要的灌溉控制指標(biāo),是眾多影響因素中最重要和最易于控制的指標(biāo)。通過借鑒其他文獻(xiàn)資料研究成果,確定本模糊灌溉控制系統(tǒng)的二維輸入量為:土壤濕度偏差E(t)和偏差變化率EC(t),輸出量為:灌溉時間TIME(t)。首先通過土壤濕度變送器采集和監(jiān)測土壤濕度變化,并通過差分運算得出土壤濕度偏差E(t)和偏差變化率EC(t)。然后,通過模糊控制器進(jìn)行模糊計算,得出系統(tǒng)的輸出量灌溉時間TIME(t)。最后,系統(tǒng)按照灌溉時間自動開啟電磁閥進(jìn)行灌溉。其原理圖如圖2所示。
圖2 模糊控制原理圖
Matlab開發(fā)版本為R2008[a],并一同安裝MCR。Matlab模糊控制工具箱(Fuzzy Logic Toolbox)提供了一系列與模糊控制相關(guān)的函數(shù),計算人員只需將適當(dāng)?shù)膮?shù)填寫進(jìn)去便可以得出所需的模糊隸屬函數(shù),同時也可以通過簡單的語言書寫建立模糊控制函數(shù)[5]。通過Matlab軟件中提供的DeployMent Tool工具能夠?qū)?m文件生成相對應(yīng)的.Net組件。C#應(yīng)用程序編譯平臺為Visual Studio 2008。
通過Matlab模糊控制工具箱(Fuzzy Logic Toolbox)提供的模糊控制相關(guān)的系列函數(shù)進(jìn)行模糊組件out_time的配置,然后通過readfis函數(shù)裝入。通過土壤濕度變送器采集和監(jiān)測土壤濕度變化,并通過差分運算得出土壤濕度偏差E(t)和偏差變化率EC(t),在轉(zhuǎn)換為MWN umericArray格式傳入到模糊控制箱中,最后模糊控制箱輸出時間隸屬函數(shù),再轉(zhuǎn)換到C#中得出系統(tǒng)的輸出量灌溉時間TIME(t),指導(dǎo)系統(tǒng)按照灌溉時間滿足作物的需水量要求[6]。
(1)隸屬度函數(shù)的建立。設(shè)土壤濕度最佳值為R(t),實時濕度監(jiān)測值為H(t),輸入變量E(t)=R(t)-H(t),EC(t)=dE(t)/dt。輸出變量值為電磁閥持續(xù)灌溉的時間T。設(shè)置誤差E的基本論域為[-10%,10%],誤差變化率EC為[-15%,15%],時間T為[0,40] min。E和EC的模糊集均為{NB,NM,NS,0,PS,PM,PB}量化論域均為{-3,-2,-1,0,1,2,3},T的模糊集為{0,PS,PM,PB},量化論域為{0,1,2,3},則量化因子分別為K1=3/10=0.3,K2=3/15=0.2,比例因子為K3=40×60 s/3=800。E、EC、T的隸屬度函數(shù)分別為表1和表2所示。
表1 E、EC的隸屬函數(shù)
表2 T的隸屬函數(shù)
模糊控制器的輸出是一個模糊集合,模糊控制系統(tǒng)最終需要將模糊控制器輸出的模糊集合進(jìn)行解模糊計算,以得到一個精確的量來實現(xiàn)控制。解模糊常用的方法很多,其中重心法易于實現(xiàn)在較短時間和較小的取樣間隔來達(dá)到所需要的精度,應(yīng)用于本灌溉控制系統(tǒng)是一種較好的方法。我們采用重心法進(jìn)行解模糊計算來得到灌溉控制系統(tǒng)電磁閥持續(xù)開啟灌溉的時間,重心法的計算公式如下所示。
u=∑xiμ(xi)/∑μ(xi)
(1)
表3 模糊控制規(guī)則表
if(EisNB)and (ECis notNB)then (Tis 0)
(2)
if(EisNB)and (ECisNB)then (Tis 0)
(3)
if(EisNM)and (ECis notNM)then (Tis 0)
(4)
if(EisNM)and (ECisNM)then (Tis 0)
(5)
if(EisNS)and (ECisNB)then (Tis 0)
(6)
if(EisNS)and (ECisNM)then (Tis 0)
(7)
if(EisNS)and (ECisNS)then (Tis 0)
(8)
if(EisNS)and (ECis 0 )then (Tis 0)
(9)
if(EisNS)and (ECisPS)then (Tis 0)
(10)
if(EisNS)and (ECisPM)then (TisPS)
(11)
if(EisNS)and (ECisPB)then (TisPM)
(12)
在C#中調(diào)用Matlab的dll文件時首先添加對MLApp和MWArray以及out_time.dll的引用邊在命名空間添加:using MathWorks.Matlab.NET.Arrays; using MathWorks.Matlab.NET.Utility。
灌溉數(shù)據(jù)庫包括以下幾項數(shù)據(jù)表[7]:①作物信息表,包括作物名稱、生長階段、濕度下限、濕度上限、溫度下限、溫度上限;②灌區(qū)信息表,包括灌區(qū)編號、灌區(qū)面積、作物名稱、灌溉方式;③灌溉計劃表,包括灌區(qū)編號、生長階段、灌溉時間、灌溉水量、是否完成灌溉;④灌溉狀態(tài)表,包括灌區(qū)編號、設(shè)備通信狀態(tài)、傳感器狀態(tài)、溫度值、濕度值、流量值;⑤灌溉歷史表,包括灌區(qū)編號、作物名稱、生長階段、灌溉時間、灌溉水量、灌前濕度、灌后濕度。灌區(qū)信息表和作物信息表為父表,作物名稱、灌區(qū)編號為主鍵;灌溉計劃表、灌溉狀態(tài)表和灌溉歷史表為子表(見圖3)。
下位機(jī)的核心任務(wù)時完成土壤濕度信息的實時采集與傳輸,任務(wù)輪換和運算速度要求不該。因此,KEIL公司開發(fā)的多任務(wù)實時操作系統(tǒng)Rtx51tiny可以滿足要求[8]。下位機(jī)共設(shè)計1個主任務(wù)0和6個子任務(wù)。主任務(wù)用COM_HANDLE_TAS表示,6個子任務(wù)分別為:任務(wù)1數(shù)據(jù)處理;任務(wù)2執(zhí)行命令;任務(wù)3獲取溫濕度;任務(wù)4開關(guān)閥;任務(wù)5定時器;任務(wù)6看門狗。通過Rtx51tiny多任務(wù)實時操作系統(tǒng),實現(xiàn)任務(wù)簡的輪換,以完成下位機(jī)的各個功能[9](見圖4)。
圖3 數(shù)據(jù)庫框架圖
圖4 任務(wù)建立圖
本文所構(gòu)建的SIMULINK 環(huán)境下的模糊控制系統(tǒng)圖如圖5所示,系統(tǒng)實時采集土壤濕度階躍信號與作物所需最佳土壤濕度作差分運算,土壤濕度偏差和土壤濕度偏差的變化率分別用Gain0和Gain1表示。Saluration為比例運算,其中比例因子Gain0=0.2,Gain1=0.3,Gain2=800。
圖5 SIMULINK模糊控制系統(tǒng)仿真框圖
設(shè)定作物要求的土壤濕度為25%,控制系統(tǒng)最終的穩(wěn)定值在25%附近略大。土壤濕度對灌水量的變化響應(yīng)曲線和作物要求的土壤濕度分別用折線和曲線表示。由此得濕度階躍響應(yīng)曲線圖,如圖6所示。
圖6 濕度階躍響應(yīng)曲線圖
從濕度階躍響應(yīng)曲線圖6可知,土壤濕度信號具有較小的超調(diào)量,穩(wěn)態(tài)和瞬態(tài)響應(yīng)用時均<1 s,用時較短,靈明度高。系統(tǒng)控制得到的土壤濕度與設(shè)定的作物要求的土壤濕度誤差僅為5%,該范圍能夠滿足作物生長要求,應(yīng)用性較強。
(1)本文研發(fā)了基于C#和Matlab的灌區(qū)模糊灌溉控制系統(tǒng),采用C#面向?qū)ο缶幊陶Z言,通過Matlab模糊控制工具箱(Fuzzy Logic Toolbox)設(shè)計了模糊控制器,并在SIMULINK 環(huán)境下進(jìn)行了仿真。該方法具有簡便、直觀、高 效的特點,整套灌溉系統(tǒng)編寫容易,功能優(yōu)良[10]。
(2)該模糊灌溉控制系統(tǒng)已成功應(yīng)用于思南塘頭現(xiàn)代水利試點區(qū)自動化與信息化工程。針對精品水果和蔬菜進(jìn)行智能灌溉,實現(xiàn)節(jié)水30%和節(jié)約勞動力1 000余人次/6.67 hm2的目標(biāo),并在我省高效農(nóng)業(yè)示范園區(qū)推廣至66.67 hm2左右。經(jīng)濟(jì)社會效益明顯,項目的示范推廣有利于促進(jìn)我省山地高效特色農(nóng)業(yè)現(xiàn)代化的發(fā)展。
□
[1] 孟 碟. 黔中水利樞紐工程水資源調(diào)配與經(jīng)濟(jì)核算研究[D].天津:天津大學(xué),2013 : 58-67.
[2] 夏 瑋,李朝暉,常春藤. Matlab控制系統(tǒng)仿真與實例詳解[M].北京:人民郵電出版社,2008.
[3] 郭正琴,王一鳴,楊衛(wèi)中,等. 基于模糊控制的智能灌溉控制系統(tǒng)[J]. 農(nóng)機(jī)化研究,2006,(12):103-105.
[4] 崔天時,楊廣林,劉 磊,等. 基于模糊控制的溫室灌溉控制系統(tǒng)的研究[J].農(nóng)機(jī)化研究,2010,(3):84-86.
[5] 鄭懷文,愈國勝,劉 靜. 節(jié)水灌溉技術(shù)研究現(xiàn)狀[J]. 農(nóng)業(yè)機(jī)械與木工設(shè)備,2006,(10):7-10.
[6] 蔣毛席,張和喜,王永濤,等. 基于GPRS和組態(tài)王的農(nóng)作物環(huán)境遠(yuǎn)程監(jiān)測系統(tǒng)研究與應(yīng)用[J].中國農(nóng)村水利水電,20112,(10):17-21.
[7] 王永濤,吳艷英,李家春,等. 基于GPRS DTU的農(nóng)業(yè)灌溉施肥智能化控制系統(tǒng)的應(yīng)用研究[J].中國農(nóng)村水利水電,2013,(12):93-97.
[8] 王永濤,陳 玲,張和喜,等. 喀斯特坡地灌溉控制系統(tǒng)的研究及應(yīng)用[J].中國農(nóng)村水利水電,2012,(7):13-16.
[9] 羅金耀. 節(jié)水灌溉理論與技術(shù)[M]. 武漢: 武漢大學(xué)出版社, 2003:31-33.
[10] 康紹忠, 蔡煥杰. 農(nóng)業(yè)水管理[M]. 北京: 中國農(nóng)業(yè)出版社, 1996: 20-40.