楊曉燕(1987-)
女,江西九江人,廈門大學,控制理論與控制工程研究所,研究方向主要為非線性控制、自適應控制。
摘 要:本文介紹了一種在MATLAB的模糊控制工具箱中,通過編寫S函數實現對量化因子和比例因子的在線自動調整來設計模糊控制器,從而有效地實現參數自調整模糊控制器的設計方法。為了驗證參數自調整模糊控制器的優越性,分別進行了空調溫度控制系統的PID控制、常規模糊控制和參數自調整模糊控制的仿真研究。結果表明,參數自調整模糊控制器較之常規的模糊控制器,在被控對象特性變化或較大擾動的情況下,控制系統能保持較好的性能,是一種較理想的控制方法,具有廣闊的發展前景。
關鍵詞:S函數;PID控制;模糊控制;參數自調整模糊控制器
Abstract: This paper describes how a fuzzy controller is designed with MATLAB fuzzy toolbox and how the parameter self-tuning fuzzy controller is designed based on the on-line automatic adjustment of the S-function and .scale factor. In order to verify the superiority of the proposed self-tuning fuzzy controller, simulations of applying PID controller, fuzzy controller, and self-tuning fuzzy controller in temperature control of air-conditioning system are respectively performed. The result shows that parameter self-tuning control is an ideal method, and can achieve the ideal response curve. It has practical guiding effect and application value in research and engineering applications, and will have broad developing prospects.
Key words: S-Function; PID control; Fuzzy control; Parameter self-tuning fuzzy controller
1 引言
工業過程中的許多被控過程,大多是針對復雜的非線性對象,存在諸多不確定性信息,往往得不到被控對象精確的數學模型,從而使基于模型設計得到的控制器得不到滿意的控制效果。就中央空調系統來說,它是一個典型的具有大滯后特性的非線性系統,能耗占整個建筑能耗的50%以上,采用傳統的PID控制效果并不令人滿意,能源浪費很嚴重,在系統的控制精度、穩定性和可靠性等方面,難以滿足用戶的需求。本文提出了一種基于參數自調整模糊控制器的設計,實時修改控制參數,確保系統在運行過程中始終處于優化狀態,既滿足系統技術性能指標要求又能最大限度地節約能源。
模糊控制器的性能主要取決于模糊控制規則的確定及其可調整性。當對象的參數、給定或擾動變化過大時,控制效果則會變差,可根據實際情況在線調整輸出,實現模糊自適應控制。調節器輸出部分的比例因子可以根據速度的實時變化趨勢經自適應調整機構的模糊規則庫在線調整,使系統的速度響應更快,超調更小,穩態精度提高,改善常規模糊控制器在控制過程中參數不變帶來的問題,相比常規PID控制和模糊控制的方法,參數自調整模糊控制器使系統獲得較好的響應特性,對環境變化有較強的自適應能力,使得在被控對象特性變化或擾動的情況下,滿足系統響應速度快、穩態精度高的要求。
2 參數自調整模糊控制器的設計
單回路時,系統控制框圖如圖1所示。
圖1 溫度單回路閉環控制
空調控制器的設計目標是:調節風機轉速,使房間溫度接近設定溫度;避免調節機構頻繁動作,防止環境溫度在設定值附近頻繁振蕩;節約能源。影響房間溫度的主要因素是循環水溫度、室外溫度、房間散熱系數和空調換熱系數。
由于調節閥的時間常數相對于房間和表冷器的時間常數很小,故在仿真時忽略調節閥環節,這樣溫度控制系統便是一個典型的二階系統。
對于定風量空調系統,空調房間的特性,有傳遞滯后、時間常數和放大系數等描述。由于空調房間的工藝特性、圍護結構、送風方式和換氣次數的不同,測得結果也不相同。本文研究的各環節參數參照實際工程數據。空調房間傳遞函數可近似為:
根據空調系統所標稱的物理參數,可以精確計算出表冷器的各參數,但實際數值與理論數值有較大差異,并且很難測量。因此,將原來的二階慣性系統,利用一階慣性環節加純滯后模型近似。
2.1 模糊控制器設計
MATLAB的動態仿真工具Simulink以結構圖形式組成系統,方便直觀,且提供模糊控制器模塊。
在MATIAB的命令窗口輸入命令Fuzzy,回車,即可進入模糊邏輯編輯窗口,設置模糊控制器需要的輸入輸出變量、規則等。
本文以中央空調溫度控制系統為例,選擇誤差e和誤差變化ec為輸入變量,閥門開度u為輸出變量。隸屬度函數均選擇三角形(trimf)。
輸入語言變量e的取值:{負大,負中,負小,零,正小,正中,正大},表示符號:{NB,NM,NS,ZE,PS,PM,PB}。
輸入語言變量EC = de/dt的取值:{負大,負中,負小,零,正小,正中,正大},表示符號:{NB, NM, NS, ZE, PS, PM, PB}。
輸出變量u的取值:{關閉,微開,小開,半開,小半開,大半開,全開},表示符號:{CB,CM, CS, M, OS, OM, OB)。
根據推理控制決策過程:
IF{溫度設定值和回風溫度偏差過大AND偏差有變大的趨勢}THEN{電動水閥全開};
IF{溫度設定值和回風溫度偏差過小AND偏差有變小的趨勢}THEN{電動水閥全閉};
表1 模糊控制規則表
根據控制規則表1以“If-Then”的形式在Rule Editor窗口輸入以上控制規則。模糊決策采用Mamdani推理法。這樣就利用模糊邏輯工具箱建立了一個FIS型文件,保存到work文件夾中,文件名為my_work.fis,并保存到工作空間(save to workspace),模糊控制器的設計工作就基本完成。
2.2 參數自調整模糊控制器構成
參數自調整模糊控制器由基本的模糊控制器和參數自適應調節模塊組成。如圖2所示。
圖2 參數自調整模糊控制原理圖
2.3 模糊控制器參數自調整策略
在模糊控制器中,對控制性能影響較大的參數主要有模糊控制規則,量化、比例因子,隸屬函數形狀及其分布等,各種自調整方法大多圍繞對這些參數的調整和優化展開。
考慮系統設計的復雜程度,以及各參數間的相互影響,一般只選一個或幾個參數進行調整。模糊控制規則是模糊控制器的核心,控制器的性能很大程度上取決于模糊控制規則的確定及其可調整性。對于二維模糊控制器而言,為了使控制器適用不同的被控對象,控制算法具有更強的通融性,同時簡化算法,一般采用規則解析式來近似表述模糊控制規則,通過調整其中的規則調整因子α從而實現對模糊控制規則的調整。量化因子Ke、Kec和比例因子Ku對控制性能的影響也很大。但是同時調整這三個因子計算量過大,而且各因子之間具有相互制約和影響的作用。
在目前使用的參數自調整方法中,調整各個參數的依據都是誤差或誤差變化的模糊值。誤差和誤差變化只能反映對象某一時刻的瞬態狀態,并不能反映對象處在過渡過程的哪個階段。為此,在調整參數時,不僅要參考誤差、誤差變化,還應依據反映對象全局性狀態的指標來改變系統參數。
基于以上分析,本文提出一種自調整模糊控制方法,即根據誤差E和誤差變化EC調整規則調整因子α,根據系統控制性能指標調整比例因子Ku。
3 改善的參數自調整模糊控制器設計
調整的原則是:當E或EC較大時,重點考慮系統響應問題,Ke和Kec取較小值。降低對E和EC的分辨率,同時Ku取較大值,使響應加快。保證系統的快速性與穩定性;當E或EC較小時,Ke和Kec取較大值。增加對E和EC的分辨率,同時Ku減小,避免產生超調,并使系統盡快進入穩態精度范圍。
簡單地使用SIMULINK中的模塊無法直接應用到本文所研究的空調系統中的參數自調整模糊控制器的設計中。在Simulink中,還有一個S-Function模塊,該模塊通過編程,可以實現自定義的功能。
在MATLAB里通過編寫S函數,新建一個輸入輸出自調整模塊,由偏差Ke和偏差變化Kec的大小自動調節輸出比例因子Ku,實現參數自調整的目的。
S函數的引導語句格式為:function[sys,x0]=fname(t,x,u,flag)
其中fname為函數名,t,x,u,flag為對應于狀態方程模型的時間、狀態向量和輸入量。flag為返回變量標志,用于標識該函數的返回結果。例如flag為1時,變量sys將返回系統的狀態向量。為0時sys和x0將分別返回系統的階次信息和初始狀態。為2則使離散狀態x(n+1)返回到sys。為3時將返回系統的輸出變量。
打開Matlab,在File菜單中“新建”選擇M-file。從而進行編寫S函數。
根據本文所述參數調整原則編寫如下S函數:
function [sys,x0]=sreg(t,x,u,flag)
global ke kec ku;
ke=5;kec=0.1;ku=76;
switch flag,
case 0,
sys=[0,0,3,2,0,1];
x0=[];
case 3,
if abs(u(1))>20|abs(u(2))>2
sys(1)=0.5*ke*u(1);
sys(2)=0.4*kec*u(2);
sys(3)=ku+3;
elseif abs(u(1))>10|abs(u(2))>1
sys(1)=0.7*ke*u(1);
sys(2)=0.6*kec*u(2);
sys(3)=ku+2;
else
sys(1)=0.8*ke*u(1);
sys(2)=0.7*kec*u(2);
sys(3)=ku;
end
otherwise
sys=[];
end
編寫完畢后,將其存盤為sreg.m文件(文件名與函數名應一致)。然后在Simulink的塊庫中.從非線性庫中將名為S-Function的塊拖出,雙擊它,彈出一個輸入框,在“S-Function name”項中填入已保存的文件名sreg(如圖3)。將其打包、封裝后得到圖4所示的兩輸入三輸出的新模塊,并存入模糊控制模塊庫中以備后用。該模塊具有上述程序所具有的功能。
圖3 用S函數實現的模塊sreg
圖4 封裝后的模塊
4 仿真實驗
空調房間存在很多干擾因素,例如門、窗突然打開,空調突然起、停,室內人員的流動等。在此,將這些因素等效為房間溫度的階躍擾動。在控制系統中,要求系統有很好的抗干擾性,筆者主要考慮房間人員和儀器設備的使用情況的干擾,選用信號發生器產生干擾信號,來研究系統對突加干擾的動態響應。
在系統穩定后,T=3500s時加一個持續時間為5分鐘,幅值為2的信號模擬房間干擾,加干擾時的仿真圖如圖5所示,響應曲線如圖6所示。
圖6 響應曲線圖
由圖6系統響應曲線可見,PID控制對擾動很敏感,系統經歷較長時間才能達到穩態;而采用參數自調整模糊控制器對系統進行控制時只有微小的顫動。參數自調整模糊控制器具有無靜差、響應速度快且具有強魯棒性,對于時變、非線性、強干擾的空調控制對象,采用參數自調整模糊控制是一個非常好的選擇。
5 結論
MATLAB作為一種開放的編程語言,相繼推出的建模可視化功能SIMULINK和工具箱為仿真研究提供了有力的工具,可以直觀方便地進行分析、計算和仿真工作,但簡單地使用SIMULINK中的模塊無法仿真復雜控制系統。鑒于MATLAB具有豐富的命令和函數,通過標準M文件形式編制S函數來構造系統模型所需要的功能模塊,從而實現MATLAB與SIMULINK之間的更深聯系。本文充分利用MATLAB編程靈活與SIMULINK簡單直觀的優點,實現參數在線自調整模糊控制系統的設計與仿真。并且將它成功應用到空調系統的溫度控制中。
針對空調系統這樣一個大滯后、非線性、時變的復雜控制系統,當采用一組固定的量化因子和比例因子難以達到預期的控制效果時,可以根據比例因子對系統性能的影響關系,采用改變比例因子的方法,來調整整個控制過程中不同階段的控制特性。采用參數自調整模糊控制器的方法,對控制系統具有重要的理論價值和實際意義。
同時也應看到模糊控制器參數自調整仍是個困難和復雜的問題,因為模糊控制器是一個相當靈活的系統,它的特性是由大量的參數決定的。因此,選擇何種參數作為被調整對象,如何協調各參數之間的關系,選擇何種調整方法,還缺少系統化的分析和設計方法,對這種具有調整能力的模糊控制器的穩定性也缺少足夠的分析研究。因此基于參數自調整模糊控制器基礎上的研究仍然任重而道遠。
參考文獻:
[1] 薛定宇. 基于MATLAB/SIMULINK的系統仿真技術與應用[M]. 北京: 清華大學出版社,2002.
[2] 張金紅. 中央空調控制系統的設計與研究[D]. 河北工業大學,2006.
[3] 王建明,李訓銘. 變風量系統空調房間建模與特性參數計算[J]. 計算機仿真. 2002,(4): 69~72.
[4] 馬銀輝,丁建設,徐德松. 基于MATLAB的PID參數自調整模糊控制器的設計與應用仿真[J]. 發電設備,2005,(2):
113~124.
[5] 賀遠華,方彥軍. 基于MATLAB的參數自調整模糊控制系統的設計與仿真[J]. 微計算機信息. 2002,18(10): 10~12.
[6] 馬丙場,倪國宗. 參數自調整模糊控制器在中央空調控制系統中的應用[J]. 自動化技術與應用,2003,22(2): 9~12.
[7] 潘耀,魯五一. 參數自調整模糊控制在空調系統中的應用[J]. 儀器儀表用戶, 2009,(01): 79~80.
[8] 高宏巖,王建輝著. 在線自調整修正因子模糊控制方法和應用[J]. 微計算機信息. 2006,(22): 5~12.
[9] Masiala, M.; Vafakhah, B.; Salmon, J.; Knight, A.M.; “Fuzzy Self-Tuning Speed Control of an Indirect Field-Oriented Control Induction Motor Drive”. Industry Applications, Vol.44, Issue 6, Nov.-dec. 2008 Page(s):1732~1740.
[10] Changbo Xu; Congcong Liu; Zhenfu Bi; Chengjin Zhang; “PID Self-tuning Immune Fuzzy Control of Steam Temperature Control System in Fossil-fired Power Plant”. Intelligent Control and Automation, 2006. WCICA 2006. The Sixth World Congress on Vo.1, Page(s):3973~3977.
——轉自《自動化博覽》