韓維建
哈爾濱第二電業(yè)局,黑龍江哈爾濱 150076
基于Matlab的模糊自整定PID控制器設(shè)計
韓維建
哈爾濱第二電業(yè)局,黑龍江哈爾濱 150076
本文通過將模糊控制和PID控制結(jié)合起來,應(yīng)用模糊推理的方法實現(xiàn)對PID參數(shù)進行在線自整定,實現(xiàn)PID參數(shù)的最佳調(diào)整,設(shè)計出了參數(shù)模糊自整定PID控制器,并進行了Matlab/ Simulink仿真,研究的PID控制器參數(shù)的自動整定技術(shù)適應(yīng)了復(fù)雜工況高指標的控制要求。
PID;模糊;Matlab;自適應(yīng);控制系統(tǒng)
PID控制和模糊控制廣泛應(yīng)用的各個系統(tǒng)和領(lǐng)域中,其中PID控制中關(guān)鍵問題是PID參數(shù)的整定。單純的模糊控制器不能消除穩(wěn)態(tài)誤差,只能提高模糊控制器的精度和跟蹤性能。將PID控制和模糊控制結(jié)合在一起使用,構(gòu)成模糊P I D控制器或模糊自整定PID,根據(jù)專家知識和操作經(jīng)驗,依據(jù)偏差和偏差變化率的大小來調(diào)整P、I、D三個參數(shù)大小,這在很大程度上彌補了傳統(tǒng)控制算法的局限性,從而取得良好的控制效果。
模糊自整定PID控制器以誤差e和誤差變化ec作為輸入,可以滿足不同時刻的e和ec對PID參數(shù)自整定的要求。利用模糊規(guī)則在線對PID參數(shù)進行修改,便構(gòu)成了自整定模糊PID控制器,控制系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 模糊自整定PID控制器結(jié)構(gòu)
(1)語言變量隸屬度函數(shù)的確定
模糊控制器采用兩輸入三輸出的形式,以e和ec為輸入語言變量,ki、kp和kd為輸出語言變量。輸入語言變量的語言值均取為“負大”(NB)、“負中”(NM)、“負小”(NS)、“零”(ZO)、“正小”(PS)、“正中”(PM)、“正大”(PB) 7種。輸出語言變量的語言值均取為“零”(ZO)、“正小”(PS)、“正中”(PM)、“正大”(PB) 4種。將偏差e和偏差變化率ec量化到(-3,3)的區(qū)域內(nèi),輸出量化到(0,3)的區(qū)域內(nèi),隸屬函數(shù)曲線見圖2。
圖2 e和ec隸屬函數(shù)曲線
(2)建立模糊控制器的控制規(guī)則表
根據(jù)參數(shù)kp、ki和kd對系統(tǒng)輸出特性的影響,可得出在不同的e和ec時,參數(shù)的自整定原則。
①當(dāng)|e|很大時,不論誤差變化趨勢如何,都應(yīng)考慮控制器的輸出應(yīng)按最大(或最小)輸出,以達到迅速調(diào)整誤差,使誤差絕對值以最大速度減小。同時為了防止積分飽和,此時應(yīng)取較大kp,較小的ki和kd取零。
②當(dāng)e×ec>0時,說明誤差在朝誤差絕對值增大方向變化。此時若誤差較大,可考慮由控制器實施較強的控制作用,以達到扭轉(zhuǎn)誤差絕對值朝減小方向變化,并迅速減小誤差絕對值,此時取較大的kp、kd不能太大,取較小的ki值。若誤差絕對值較小,控制器實施一般的控制作用,只要扭轉(zhuǎn)誤差的變化趨勢,使其朝誤差絕對值減小方向變化。
③當(dāng)e×ec<0或e=0時,說明誤差的絕對值朝減小的方向變化,或者已達到平衡狀態(tài)。此時,可采取保持控制器輸出不變。
(4)當(dāng)e×ec=0,ec≠0時,表明系統(tǒng)的曲線與理論曲線平行或一致,為使系統(tǒng)具有良好的穩(wěn)態(tài)性能,應(yīng)采取較大kp和ki值,同時避免設(shè)定值附近振蕩,并考慮系統(tǒng)的抗干擾性能,適當(dāng)選取kd值。設(shè)
式(1)中k’p、k’i和k’d為系統(tǒng)的經(jīng)典PID參數(shù),一般用Z-N法來確定。根據(jù)PID參數(shù)的整定原則及專家經(jīng)驗,采用IFTHEN形式,可得Δkp、Δ ki和Δ kd的整定規(guī)則。
將系統(tǒng)誤差e和誤差變化率ec變化范圍定義為模糊集上的論域。
其模糊子集為e,ec={NB,NM,NS,O,PS, PM,PB},子集中元素分別代表負大,負中,負小,零,正小,正中,正大。根據(jù)kp、ki和kd三個參數(shù)模糊規(guī)則表構(gòu)造一個兩輸入(e, ec)三輸出(Δ kp、Δ ki、Δ kd)的模糊控制器,取名為fuzzpid.fis。
(1)模糊控制器的編輯
在Matlab命令窗口運行Fuzzy函數(shù)進入模糊邏輯編輯器,并建立一個新的FIS文件,選擇控制器類型為Mamdani型,根據(jù)上面的分析分別輸入e,ec、kp、ki和kd隸屬函數(shù)和量化區(qū)間,以If-then的形式輸入模糊控制規(guī)則。取與(and)的方法為min,或(or)的方法為max,推理(implication)方法為min,合成(aggregation)方法為max,去模糊化(defuzzification)方法為重心平均(centroid),這樣就建立了一個FIS系統(tǒng)文件,取名為pid.fis。當(dāng)然也可以用M A T L A B命令來完成,在Matlab下運行fuzzy fuzzpid.fis可進入Matlab動態(tài)仿真工具箱仿真環(huán)境。
(2)仿真實例
設(shè)被控對象為:
采樣時間為1ms,采用模糊PID控制進行仿真,參數(shù)的初值分別為: kp=0.4、ki=0和kd=0,在第300個采樣刻控制器輸出加100%的干擾,相應(yīng)響應(yīng)曲線見圖3、4。
[1]董寧.自適應(yīng)控制[M].北京理工大學(xué)出版社.2009年3月
[2]周黎英,趙國樹.糊PID控制算法在恒速升溫系統(tǒng)中的應(yīng)用[J].器儀表學(xué)報.2008(29)
圖3 模糊PID控制階躍響應(yīng)
圖4 kp.ki.kd的自整定過程
對于3階對象,普通PID控制很難獲得好的控制效果,同時3個參數(shù)也不易確定,但采用模糊自整定PID控制器,卻取得了良好控制效果。從系統(tǒng)的性能指標可看出系統(tǒng)具有良好的快速性和穩(wěn)態(tài)精度,且抗干擾能力強,是一種較好的控制方案。
模糊自整定PID是在常規(guī)PID算法的基礎(chǔ)上,通過計算當(dāng)前系統(tǒng)誤差e和誤差變化率 ec,利用模糊推理系統(tǒng)FIS,查詢模糊矩陣表進行參數(shù)調(diào)整,該方法實現(xiàn)簡單、方便易用,對實際控制有重要指導(dǎo)意義。
10.3969/j.issn.1001-8972.2011.13.060