陳境峰
(廈門大學,福建 廈門361005)
隨著傳統(tǒng)農(nóng)業(yè)逐步向現(xiàn)代化農(nóng)業(yè)的轉(zhuǎn)變,實現(xiàn)高產(chǎn)、優(yōu)質(zhì)、高效以及節(jié)能節(jié)水的農(nóng)業(yè)生產(chǎn)方式是農(nóng)業(yè)現(xiàn)代化的基本要求。利用現(xiàn)有的工業(yè)控制技術,設計一種通過環(huán)境系數(shù)的采集實現(xiàn)灌溉的合理、自動控制的裝置,對農(nóng)業(yè)現(xiàn)代化具有重要的意義。現(xiàn)有的自動灌溉設備因為算法問題,存在控制精度問題[1,2]。本控制器利用單片機控制技術,通過傳感器采集溫度和土壤濕度,并在軟件設計中加入工業(yè)控制中常用的Mamdani模糊算法,將人們的灌溉經(jīng)驗轉(zhuǎn)換為程序控制,有效地提高了系統(tǒng)的控制精度。
在自動灌溉器的整個系統(tǒng)設計中,采用單片機AT89C52作為控制單元,通過對溫度和土壤濕度的采集、處理,實現(xiàn)自動灌溉。
系統(tǒng)的主要結(jié)構(gòu)如圖1所示,將系統(tǒng)分為3個模塊:人機界面、驅(qū)動模塊、環(huán)境系數(shù)采集模塊。系統(tǒng)上電啟動,初始化完成后進入正常工作模式。用戶可通過人機界面,輸入密碼進入?yún)?shù)設置,更改系統(tǒng)參數(shù)。溫度傳感器和濕度檢測電路采集環(huán)境參數(shù)傳給單片機,通過Mamdani模糊算法確定模糊量的值,并根據(jù)用戶設置好的各項參數(shù)進行判斷,實現(xiàn)對端口的開關控制。
圖1 總體結(jié)構(gòu)
1974年Mamdani成功地將模糊控制應用于鍋爐和蒸汽機控制以來,模糊控制器被廣泛應用于各種工業(yè)控制領域。其基本思想把操作人員的控制經(jīng)驗歸納成一組條件語句,生成模糊控制器,對無法獲得精確的數(shù)學模型系統(tǒng)給出有效的控制[3]。它的輸入輸出變量都采用模糊集合形式的語言變量表示,具體為:
其中,Ri表示第i條規(guī)則,l為總的規(guī)則數(shù),,p=1,2,…,m,Bi,分別是系統(tǒng)輸入、輸出變量所在的模糊集合,xp(k),p=1,2,…,m為模糊控制系統(tǒng)的輸入變量,y(k)為模糊控制系統(tǒng)的輸出變量[4,5]。
目前,Mamdani模糊控制廣泛應用于工業(yè)控制領域,但在農(nóng)業(yè)自動控制領域仍很少使用。控制器包含兩個輸入量和一個輸出量,輸入量和輸出量之間的關系具有高度非線性,無法建立精確的數(shù)學模型,故引入Mamdani模糊控制。
澆灌器利用溫度和土壤濕度傳感器,測出環(huán)境中的溫度x∈[0,40](℃),土壤濕度y∈[620,1 023](數(shù)字量),模糊控制器根據(jù)x和y的數(shù)據(jù),選擇灌溉時間t∈[0,60](min)。
所有模糊子集都選取三角形隸屬函數(shù)[6]。
4.2.1 溫度值模糊化
選用低溫(ST)、中溫(MT)和高溫(LT)3個模糊子集,涵蓋輸入量x的論域[0,40],隸屬函數(shù)如下:
4.2.2 土壤濕度值模糊化
選用含水少(NW),含水中(MW)和含水多(LW)3個模糊子集,涵蓋輸入量y的論域[620,1 023],隸屬度函數(shù)如下:
4.2.3 選定5個模糊子集
選用很短(VS)、短(S)、中等(M)、長(L)和很長(VL)5個模糊子集,涵蓋輸出量t的論域[0,60],隸屬函數(shù)如下:
根據(jù)操作經(jīng)驗,對溫度和土壤濕度進行組合搭配,可建立9條模糊控制規(guī)則,見表1。
表1 模糊關系表
表格中的(1),(2),…,(9),是9條規(guī)則的序號,每條模糊規(guī)則對應一個F蘊涵關系Ri(i=1,2,…,9),系統(tǒng)總的模糊蘊涵關系為:
可根據(jù)公式(1),求近似推理總輸出。
其中,U*表示總輸出量,A*表示輸入量的論域,Rj表示模糊蘊涵關系,Uj表示各條規(guī)則下求出的輸出量[6]。
A*、Rj、Uf3者之間的對應關系參照表1,根據(jù)3節(jié)中的語言變量表示方法,分別求出U1……U9,最后可根據(jù)公式(1)求出U*,總輸出U*是個模糊子集,最大隸屬度為0.4,論域為[10,40](min)。
采用最大隸屬度法[4~6],最大隸屬度法最大的特點是計算簡單,在一些控制要求不高的場合,采用最大隸屬度法非常方便。由上可知總輸出的最大隸屬度為0.4,論域為[10,40](min)。通過前文節(jié)中的隸屬函數(shù),求出的最小值為16min,最大值為34min,平均值為25min。
控制器采用AT89C52單片機,通過74LS374與74LS138對I/O口進行擴展,供人機界面和端口模塊使用。人機界面由6位數(shù)碼管、6個LED指示燈和4個按鍵構(gòu)成。LED指示燈顯示當前工作狀態(tài)。4個按鍵功能分別為:確定、返回、上移、右移。用戶可通過按鍵和數(shù)碼管對系統(tǒng)的參數(shù)進行查詢和設置。
驅(qū)動模塊采用24V外部供電電源,外接電磁閥,單片機通過光耦TLP521實現(xiàn)對端口的開關控制,有很好的抗干擾效果。圖2為其中一個端口的電路,端子J22外接24V水閥。
環(huán)境系數(shù)采集模塊由時鐘模塊、溫度傳感器DS18B20、土壤濕度采集轉(zhuǎn)換電路構(gòu)成。時鐘模塊采用PCF8563,外接32.768kHz的晶振,該晶振保證平均誤差可達5min/年,為系統(tǒng)提供準確的時間日期[7];溫度系數(shù)采集采用美國DALLAS公司生產(chǎn)的DS18B20可組網(wǎng)數(shù)字溫度傳感器,可提供準確、穩(wěn)定的環(huán)境溫度[1]。
圖3為其中的一路土壤濕度采集電路,本控制器采用電阻法[8]測土壤濕度,有效減少了成本。AD轉(zhuǎn)換芯片采用TLC1543,該芯片有11路模擬輸入通道,10 位 的 分 辨 率[2],輸 入 端 通 過 鎖 存 器74LS374接到I/O口。傳感器的制作,用兩根長10cm,直徑3mm的不銹鋼棒,上端固定,間距10cm,兩端分別接入圖3中的J10口,測量時插入土壤中長8cm。模擬量和數(shù)字量可通過公式x/1 023=y(tǒng)/5來處理,其中,x為轉(zhuǎn)換的數(shù)字量,y為采集的模擬量,通過實際測量,得到的數(shù)字量范圍為[620,1 023]。
圖2 端口驅(qū)動電路
圖3 土壤濕度采集電路
根據(jù)上述算法及求出的輸出量,編寫相應軟件,圖4為流程圖的一部分,程序?qū)φ毡?,通過對采集的溫度值和土壤濕度值的判斷,選擇灌溉時間。
圖5為系統(tǒng)軟件流程圖。設備開機后進入初始化,通過定時器1對按鍵和數(shù)碼管進行掃描,實現(xiàn)實時顯示和按鍵判斷,之后通過時間以及實時采集的溫度、土壤濕度來判斷各個端口是否進行灌溉。在判斷是否灌溉的環(huán)節(jié)中,引入上文所設計的基于Mamdani型模糊控制的判斷程序,對采集到的溫度和土壤濕度電壓信號進行分析,提高系統(tǒng)的精確度。
圖4 模糊控制器的軟件流程
系統(tǒng)中的參數(shù)查看和設置放在按鍵處理環(huán)節(jié),用戶必須輸入正確密碼才能進入,可根據(jù)當?shù)貧鉁亍⑼寥?、農(nóng)作物等情況設置各項參數(shù)。參數(shù)包括日期時間、各個驅(qū)動端口對應的濕度和溫度閥值、查看濕度值內(nèi)碼等。其中,濕度閥值可根據(jù)烘干法[8]確定最佳濕度值,然后對此濕度進行測量,讀取濕度值內(nèi)碼,用戶就可將此內(nèi)碼設為閥值。
圖5 整體軟件流程
[1]湯競南,沈國琴.51單片機C語言開發(fā)與實例[M].北京:人民郵電出版社,2008.
[2]盧麗君.基于TLC1543的單片機多路采樣檢測系統(tǒng)的設計[J].儀器儀表與分析監(jiān)測,2007(4):5~6,40.
[3]Haipeng Pan,Jiade Yan.Study of Mamdani Fuzzy Controller and Its Realization on PLC[J].IEEE the 6th World Congress on Intelligent Control and Automation,Dalian,2006(16):3 997~4 001.
[4]呂紅麗.Mamdani模糊控制系統(tǒng)的結(jié)構(gòu)分析理論研究及其在暖通空調(diào)中的應用[D].濟南:山東大學,2007.
[5]韓衛(wèi)華,寧佐貴.Mamdani型常用模糊控制算法間的常用算子關系[J].四川師范大學學報,2008,31(2):150~154.
[6]石辛民,郝整清.模糊控制及其MATLAB仿真[M].北京:清華大學出版社,北京交通大學出版社,2008.
[7]王君勤,馬孝義.PCF8563在智能儀表中的應用[J].電子測量技術,2005(1):81~82.
[8]王守宇,田廣軍.土壤水分測量的研究[J].儀表技術與傳感器,1997(8):28~30.