徐苑露,張 珣
(杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018)
隨著經(jīng)濟社會的飛速發(fā)展和人民生活水平的提升,公眾對綠色生活的需求日益增長。一個低成本、可靠性強的植物種植系統(tǒng)可滿足大部分人的種植需求,這種種植方式對家庭保濕、空氣調(diào)節(jié)和環(huán)境綠化都起到了一定作用[1]。運用物聯(lián)網(wǎng)和控制技術(shù)相結(jié)合的控制系統(tǒng)可以對植物生長環(huán)境進(jìn)行準(zhǔn)確調(diào)控[2],控制系統(tǒng)中的控制器接收來自傳感器采集的數(shù)據(jù),并根據(jù)智能控制算法向執(zhí)行器發(fā)送指令,實現(xiàn)溫室環(huán)境參數(shù)的控制,無需人工干預(yù),從而極大減少人為差錯。目前,關(guān)于智能控制算法研究,國內(nèi)外已有很多可借鑒的成果。鮑義東等[3]提出一種溫濕度智能控制系統(tǒng)軟件設(shè)計方法,利用PID 算法對溫濕度目標(biāo)函數(shù)進(jìn)行求解,但該方法具有許多非線性行為以及所涉及的所有參數(shù)和因素。傅以盤等[4]研究出一種溫室控制系統(tǒng),該系統(tǒng)將模糊PID 控制與溫度模型相結(jié)合,得到的結(jié)果與真實值誤差較低,該方法優(yōu)于傳統(tǒng)PID 系統(tǒng)和傳統(tǒng)模糊控制系統(tǒng),但其制時精度低、抗干擾能力差。胡香玲等[5]提出一種神經(jīng)網(wǎng)絡(luò)PID 的控制方法,將神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)算法與PID 算法相結(jié)合,控制效果明顯,其具有學(xué)習(xí)能力強、模糊邏輯以及計算時間短、計算量小等優(yōu)點,但神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,可能產(chǎn)生不確定的結(jié)果。模糊邏輯方法具有簡單的結(jié)構(gòu)和快速的計算時間,模糊邏輯控制器是控制植物生長環(huán)境的較好選擇[6]。而設(shè)計模糊邏輯控制器需要專家經(jīng)驗生成控制規(guī)則和表達(dá)成員函數(shù)。大多數(shù)優(yōu)化算法都是概率算法,需要通用的控制參數(shù),如種群規(guī)模和迭代數(shù)等。此外,一些算法需要它們自己特定的控制參數(shù),以達(dá)到更好的控制性能[7]。
本文設(shè)計的模糊控制算法在一定程度上解決了上述算法中精度低、抗干擾能力差、結(jié)構(gòu)復(fù)雜等問題,并針對系統(tǒng)特性設(shè)計了監(jiān)控控制器,保證了系統(tǒng)安全性。通過算法優(yōu)化模糊邏輯控制器的隸屬度函數(shù),得到最優(yōu)隸屬度函數(shù),實現(xiàn)對植物生長環(huán)境的精準(zhǔn)調(diào)控。優(yōu)化后的控制器具有控制響應(yīng)快、超調(diào)小、抗干擾能力強等特點,而且結(jié)構(gòu)簡單,適用于植物生長系統(tǒng)。
對于植物生長系統(tǒng),使用者可以根據(jù)各自需求將不同的功能進(jìn)行集成[8]。本文設(shè)計的微型種植系統(tǒng)通過傳感器采集環(huán)境因素,單片機對采集到的數(shù)據(jù)進(jìn)行處理,通過算法對各執(zhí)行機構(gòu)進(jìn)行操控,實現(xiàn)種植系統(tǒng)內(nèi)環(huán)境的動態(tài)平衡。該系統(tǒng)對溫度控制器進(jìn)行控制,由上下位機、執(zhí)行器和供電裝置四大部分組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
Fig.1 Overall system architecture圖1 系統(tǒng)整體架構(gòu)
(1)上位機模塊。主要用于數(shù)據(jù)的處理和顯示,無線接收模塊接收傳感器通過無線通信模塊發(fā)送的數(shù)據(jù),控制模塊對該數(shù)據(jù)進(jìn)行處理并得到用于驅(qū)動執(zhí)行模塊的指令,同時將數(shù)據(jù)顯示在屏幕上。
(2)下位機模塊。通過溫度采集模塊、數(shù)據(jù)處理模塊和無線發(fā)送模塊對環(huán)境數(shù)據(jù)進(jìn)行采集,并將這些數(shù)據(jù)通過下位機的數(shù)據(jù)發(fā)送模塊發(fā)送到上位機。
(3)執(zhí)行器模塊。主要包括驅(qū)動模塊和執(zhí)行機構(gòu),控制模塊對系統(tǒng)執(zhí)行機構(gòu)進(jìn)行驅(qū)動。執(zhí)行器模塊則包括升溫和降溫執(zhí)行器,這兩個執(zhí)行器對系統(tǒng)內(nèi)的溫度進(jìn)行調(diào)節(jié)。
(4)能源供應(yīng)模塊。系統(tǒng)內(nèi)有不同的控制模塊,這些模塊都需要合適的供電電壓,該部分將計算系統(tǒng)電源總功率,并使用升壓降壓模塊實現(xiàn)多種電壓輸出,供不同傳感器、執(zhí)行器使用[9]。
為了實現(xiàn)環(huán)境溫度超調(diào)量小、控制響應(yīng)快、調(diào)節(jié)時間短的控制效果,本文采用模糊控制算法,并對其加以改進(jìn)。模糊控制作為一種非線性控制方法,其基于模糊集合理論和模糊邏輯推理,得到自然語言表述的知識和控制經(jīng)驗后,通過模糊理論轉(zhuǎn)換成數(shù)學(xué)函數(shù),再用計算機進(jìn)行處理[10]。這種算法特點是不依賴于被控制對象的精確數(shù)學(xué)模型,通過大量實際操作數(shù)據(jù)及專家經(jīng)驗得到規(guī)則庫,模擬人對事物的決策。模糊化將精準(zhǔn)誤差e和精準(zhǔn)誤差率ec變成模糊量E和EC,為了完成模糊推理,需要設(shè)計一個模糊規(guī)則庫,完成模糊推理后得到模糊控制量U,精準(zhǔn)控制量u經(jīng)過模糊清晰化后得到。本研究將通過軟件設(shè)計一個雙輸入雙輸出的二維模糊控制器[11],二維模糊控制器相比于一維模糊控制器性能更好,增加了偏差變化率,可以提前發(fā)現(xiàn)誤差發(fā)展趨勢,能夠更全面地描述被控對象的特性。溫度模糊控制器模型框圖如圖2所示。
Fig.2 Temperature fuzzy controller model圖2 溫度模糊控制器模型
其中,e是給定溫濕度值和反饋溫濕度值之間的差,E和EC分別是e和ec的模糊量;U是根據(jù)模糊規(guī)則庫模糊推理出來的值,U進(jìn)行清晰化處理后得到u,u可以直接用于調(diào)節(jié)系統(tǒng)控制溫濕度的執(zhí)行機構(gòu)。
2.2.1 輸入輸出模糊化
模糊化過程是將精確量映射到各模糊子集中,模糊變量依靠隸屬度函數(shù)反映,這也是專家經(jīng)驗的體現(xiàn)。有一類集合中的元素以某種程度隸屬于這個集合,這里類集合稱為“模糊集合”。首先確定模糊語言變量,對輸入模糊量E、EC及U的模糊集以及其論域定義如表1所示。
Table 1 Fuzzy set表1 模糊集
2.2.2 隸屬度與隸屬度函數(shù)
隸屬度用來表示模糊集合內(nèi)以某種程度屬于這個集合的某個元素。在該過程中,將模糊集合表示方法中離散的論域變成連續(xù)的,各元素隸屬度就變成隸屬度函數(shù)。由于模糊控制器無法判斷誤差及誤差率的具體范圍,因而要先設(shè)置一個基本論域。根據(jù)響應(yīng)選取合適的量化因子和比例因子。專家經(jīng)驗對語言變量的定義在輸入函數(shù)上可以體現(xiàn),選擇合適的隸屬度函數(shù)是模糊控制器原型設(shè)計的關(guān)鍵[12]。定義一個模糊集合,就是要定義出論語中各元素對該模糊集合的隸屬度。Zadeh的標(biāo)記法如式(1)所示。
式中,A為模糊集合,μ為論域元素u隸屬于集合A的程度?!冶硎菊撚蛟豼與隸屬度μA(u)的一種對應(yīng)關(guān)系。一般而言,隸屬度函數(shù)的斜率與語言變量的靈敏度成正比,通常使用的隸屬度函數(shù)主要有正態(tài)分布和三角形[13]。綜合考慮,最終選用三角形隸屬度函數(shù),這個函數(shù)的特點是表達(dá)式簡單、編程方便、計算量小。本文設(shè)計中采用專家經(jīng)驗法確定隸屬度函數(shù),再用算法對其加以改進(jìn)。
2.2.3 模糊關(guān)系
兩個集合元素之間的關(guān)系可以用一張表格表示,這樣可以創(chuàng)建一個模糊矩陣。在普通關(guān)系表述中,兩個元素有關(guān)系用1 表示,沒有關(guān)系用0 表示。但是在現(xiàn)實生活中,很多關(guān)系不能確切表示,比如同事之間的關(guān)系好壞用“是”或者“否”進(jìn)行闡述顯然不準(zhǔn)確,應(yīng)該表述為“在多大程度上是或否”,這種關(guān)系稱為模糊關(guān)系[14]。模糊關(guān)系定義如下:
x∈U,y∈V,R=U×V,R的隸屬度是介于0 和1 閉區(qū)間內(nèi)的一個值,代表了兩個元素對于該模糊集合的關(guān)聯(lián)程度。
假設(shè)X 是定義在U 上的模糊集合,Y 是定義在論域V上的模糊集合。模糊矩陣如表2所示。
Table 2 Fuzzy matrix表2 模糊矩陣
X 與Y 構(gòu)成一個二維矩陣,任意行和列的交叉元素R代表了元素X 和元素Y 之間的關(guān)聯(lián)程度。
2.2.4 模糊推理
模糊推理不需要精準(zhǔn)的輸入值,因此得到的輸出值也是模糊量。模糊控制器中的規(guī)則庫是基礎(chǔ),推理的過程中需要對輸入輸出量的隸屬度函數(shù)進(jìn)行構(gòu)造。模糊推理雖然是一種不確定性的方法,但是在實際應(yīng)用中是有效的,這個推理方法得到的結(jié)論符合人的一般思維。由于本系統(tǒng)采用適合多輸入多輸出的Mamdani 型推理方法,以輸出控制量R11為例,假設(shè)某次決策過程溫度為t0,此時激活了這條模糊規(guī)則如式(2)所示。
其中,X和Y為模糊控制器輸入量的模糊集合,R為模糊控制器輸出量的模糊集合。每條規(guī)則前提部分的激活度如式(3)所示。
2.2.5 解模糊
解模糊操作是得到精準(zhǔn)控制量的必要步驟,轉(zhuǎn)換后的控制量通過比例放大縮小后,轉(zhuǎn)換為被控對象識別的清晰量。
Jaya 算法是實現(xiàn)無約束和有約束優(yōu)化問題的強優(yōu)化算法,算法針對某個問題獲得的結(jié)果朝向最佳解決方案,遠(yuǎn)離最差結(jié)果[15]。該算法的特點是迭代次數(shù)少、計算時間短,且能收斂到全局最優(yōu)值。在本研究中,Jaya 算法用來調(diào)整模糊控制器的隸屬度函數(shù),以提高控制性能。Jaya 算法流程如圖3所示。
Fig.3 Jaya algorithm flow圖3 Jaya算法流程
為了實現(xiàn)種植系統(tǒng)內(nèi)溫度的穩(wěn)定,本文利用Jaya 算法對模糊邏輯控制器的隸屬函數(shù)進(jìn)行優(yōu)化,更好地實現(xiàn)用戶遠(yuǎn)程監(jiān)測和改變種植系統(tǒng)溫室參數(shù)的期待值。Jaya 算法的表達(dá)式如式(5)所示。
為實現(xiàn)系統(tǒng)的溫度控制,采用HTU21D 傳感器測量空氣中的溫濕度數(shù)據(jù)。同時,采用OSA-1W 土壤溫濕度傳感器采集土壤數(shù)據(jù)作為系統(tǒng)環(huán)境數(shù)據(jù)參考值。風(fēng)扇和加熱片是溫度控制的執(zhí)行機構(gòu),控制器第一個輸入是實際溫度和最佳溫度的誤差,第二個輸入是誤差率;第一個輸出是風(fēng)扇,第二個輸出是帶加熱片的風(fēng)扇。根據(jù)上述理論基礎(chǔ),本文設(shè)計一個模糊控制器,實現(xiàn)對升溫和降溫裝置的智能控制[16]。其中,下位機通過溫度傳感器實時采集系統(tǒng)內(nèi)的溫度信息,溫度信息經(jīng)過處理后變成數(shù)字信號經(jīng)過傳輸后實時顯示在上位機。為了防止在不同工況下對裝置造成破壞,采用監(jiān)督控制器對執(zhí)行機構(gòu)施加必要的指令。所提出的模糊控制器接收來自傳感器的數(shù)據(jù),并根據(jù)生成的模糊規(guī)則,向執(zhí)行器發(fā)送適當(dāng)?shù)拿钜钥刂茰厥覂?nèi)的環(huán)境參數(shù)。監(jiān)控控制器性能結(jié)構(gòu)如圖4 所示,監(jiān)控目的是將溫室參數(shù)的值保持在一個界限內(nèi),以保證溫室在環(huán)境條件下的安全運行。
因為該系統(tǒng)有兩個輸出,需對降溫風(fēng)扇和加熱風(fēng)扇進(jìn)行智能控制。溫度信息通過下位機中的傳感器進(jìn)行采集,再根據(jù)模糊控制算法計算出當(dāng)前適用于執(zhí)行器模塊的控制量,最終對系統(tǒng)溫度進(jìn)行自動調(diào)節(jié)。表3 顯示了降溫風(fēng)扇開啟時溫度值變化,表4 顯示了加熱風(fēng)扇開啟時溫度值變化,其中包含了用于調(diào)節(jié)溫度的執(zhí)行器額定功率百分比。
本文設(shè)計溫度模糊控制器如圖5 所示。該控制器包括兩個部分:模糊控制器的離線計算和在線模糊控制表查詢。第一部分主要是以上述模糊控制器為基礎(chǔ),設(shè)計出一個合適的模糊控制總表[17];第二部分則將這張表存儲在單片機中,在實際控制時,將溫度傳感器取到的實際值進(jìn)行模糊量化后,根據(jù)這張表得到控制量,從而操控執(zhí)行器。其過程如圖5所示。
Table 3 Temperature value(heating fan)表3 溫度值(降溫風(fēng)扇)
Table 4 Temperature value(cooling fan)表4 溫度值(加熱風(fēng)扇)
Fig.5 Structure of temperature fuzzy controller圖5 溫度模糊控制器結(jié)構(gòu)
3.2.1 輸入、輸出變量確定
溫度偏差e計算公式如式(6)所示。
其中,T(k)為設(shè)定的期待值,Tt(k)為室內(nèi)實際溫度。
溫度偏差變化率ec的函數(shù)公式如式(7)所示。
其中,Ts為采樣時間。
根據(jù)系統(tǒng)設(shè)計要求,模糊控制器輸出量Tu對執(zhí)行器進(jìn)行控制,這個量用來控制執(zhí)行器的觸發(fā)脈沖。
3.2.2 輸入、輸出變量模糊量化處理
模糊控制器無法使用精確量,這時需將精確量進(jìn)行模糊處理操作,變成可以用在模糊控制器上的模糊量。分析實際情況可知,溫度誤差量Te的變化范圍為[ -5,5],溫度變化率Tec的變化范圍為[ -1,1],輸出控制量Tu的變化范圍 為[0,10]。溫度誤差Te的論域為TE∈{-3,-2,-1,0,+1,+2,+3},溫度誤差率Tec的論域為TEC∈{-3,-2,-1,0,+1,+2,+3},輸出量Tu的論域TU∈{-2,-1,0,+1,+2}。
溫度誤差Te、溫度誤差變化率Tec的模糊集合均取為{PB,PM,PS,Z,NS,NM,NB},輸出量Tu的模糊集取為{PB,PS,Z,NS,NB}。需要將溫度誤差Te、溫度誤差變化率Tec通過一定的誤差量化因子ke、誤差變化率量化因子kec和輸出比例因子ku進(jìn)行論域變換[18]。
誤差量化因子ke的計算公式如式(8)所示。
誤差量化因子kec的計算公式如式(9)所示。
誤差量化因子ku的計算公式如式(10)所示。
根據(jù)上述公式可得:ke=3/6=0.5,kec=3/1=3,ku=10/5=2。
3.2.3 各模糊變量的模糊子集定義
為了得到隸屬度的值,要先將確定的隸屬度函數(shù)曲線離散化,得到模糊子集的隸屬度函數(shù)曲線,該過程是在有限個點上[19]。經(jīng)過實驗可知,用正態(tài)函數(shù)描述模糊變量最合適,正態(tài)函數(shù)表達(dá)式如式(11)所示。
其中,a為隸屬度函數(shù)的中心值,δ為隸屬度函數(shù)的寬度。
根據(jù)溫度誤差Te、溫度誤差變化率Tec和輸出變量Tu對應(yīng)的隸屬度函數(shù),可以得到各變量模糊子集的賦值表。
3.2.4 模糊規(guī)則確定
在設(shè)定調(diào)節(jié)規(guī)律時,根據(jù)已有經(jīng)驗,可以用如下推理語句例子:①當(dāng)Tt(k)遠(yuǎn)遠(yuǎn)低于T(k),且溫度上升較慢時,加熱風(fēng)扇工作升溫;②當(dāng)Tt(k)遠(yuǎn)遠(yuǎn)低于T(k),且溫度上升很快時,加熱風(fēng)扇工作在大功率升溫;③當(dāng)Tt(k)遠(yuǎn)高于T(k),且溫度下降較慢時,降溫風(fēng)扇工作在降溫;④當(dāng)Tt(k)遠(yuǎn)高于T(k),且溫度下降很快時,降溫風(fēng)扇工作在大功率降溫。
在此基礎(chǔ)上,可以建立模糊控制規(guī)則表,如表5所示。
Table 5 Fuzzy rule control表 5 模糊規(guī)則控制
3.2.5 模糊決策
由上述模糊基礎(chǔ)理論可知,下列條件語句可以用來表示控制規(guī)則,如式(12)所示。
其中,Ai、Bj、Cij是定義在誤差、誤差變化和控制量論域X、Y、Z上的模糊集。
模糊關(guān)系可以表示如式(13)所示。
總模糊蘊含關(guān)系R 的隸屬度函數(shù)可以表示如式(14)所示。
其中,x∈X,y∈Y,z∈Z。
3.2.6 反模糊化處理
反模糊化是用來得到一個適用于被控對象的精確量,該過程必不可少[20]。本實驗使用重心法進(jìn)行反模糊化處理,公式如式(15)所示。
由此得到輸出模糊量Tu,該模糊量乘以比例因子Ku就得到精確的輸出控制量以用于控制器模塊。
實際情況下,大部分植物生長的最適宜溫度為15~30℃[21],在實驗室環(huán)境下,選取實驗箱內(nèi)溫度作為測試對象,將系統(tǒng)期望的溫度值設(shè)定為24℃。針對微型植物生長系統(tǒng)制定模糊控制規(guī)則,并在SIMULINK 環(huán)境下建立傳統(tǒng)模糊控制方法和Jaya 算法改進(jìn)后的模糊控制方法,并對兩個系統(tǒng)的響應(yīng)曲線進(jìn)行比較。仿真曲線如圖6所示。
Fig.6 System response curve圖6 系統(tǒng)響應(yīng)曲線
根據(jù)實驗結(jié)果,針對同一個被控對象,本文所設(shè)計的模糊控制方法比常規(guī)模糊控制方法具有更優(yōu)性能。改進(jìn)后的模糊控制系超調(diào)量小、響應(yīng)時間短、穩(wěn)定性強。實驗表明,改進(jìn)后的模糊控制器運行穩(wěn)定,適用于微型植物生長系統(tǒng)。
本文利用物聯(lián)網(wǎng)技術(shù)與模糊控制技術(shù)相結(jié)合,設(shè)計了一個微型植物生長系統(tǒng)。首先,使用傳感器對系統(tǒng)內(nèi)溫度進(jìn)行采集;然后,設(shè)計了適用于此系統(tǒng)的模糊控制器,該控制器對系統(tǒng)的輸出輸出量進(jìn)行模糊化處理;最后,對所設(shè)計的控制器進(jìn)行仿真模擬,并將仿真結(jié)果與優(yōu)化前的方法進(jìn)行比較。從模擬出的響應(yīng)曲線看,本文設(shè)計的控制器在擾動期間具有更快的穩(wěn)定時間和更小的超調(diào)量,該方法的穩(wěn)定性和魯棒性更強。但本文方法目前仍然具有一定缺陷,比如沒有對植物系統(tǒng)的物理模型進(jìn)行研究,對系統(tǒng)的性能驗證較少,后續(xù)需要不斷加以改進(jìn),提高系統(tǒng)穩(wěn)定性。隨著科學(xué)技術(shù)的發(fā)展,相信未來會出現(xiàn)更多性能更好的室內(nèi)植物種植裝置。