版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
引言PID控制器以其結(jié)構(gòu)簡單穩(wěn)定性好工作可靠調(diào)整方便等優(yōu)點被廣泛應用于工業(yè)控制系統(tǒng)但現(xiàn)代工業(yè)控制系統(tǒng)越來越復雜被控對象往往表現(xiàn)出時滯非線性時變性控制要求越來越高傳統(tǒng)的PID控制器難以滿足現(xiàn)代工業(yè)控制的需求智能型PID控制器呈現(xiàn)出廣闊的發(fā)展空模糊PID控制器是模糊控制器和PID控制器的有效結(jié)合它兼具模糊控制和PID控制的優(yōu)點動詞PID控制器是在模糊PID控制器的基礎上實現(xiàn)了控制規(guī)動詞,對模糊PID控制進行了一些改目前動詞PID控制器用于實際的工業(yè)控制系統(tǒng)還不多本文的研究也僅處于軟件仿真階。1.PID控制器1.1PID控制器的概念[1]1.1.1 PID控制原理PID控制器是一種線性閉環(huán)控制器它根據(jù)給定輸入值rin(t)與實際輸出值yout(t)構(gòu)成控制偏差(1.1)PID的控制信號u(t)由errot(t)及其對時間的積分微分三部分聯(lián)合作用產(chǎn)生:(1.2)PID控制器最終理想的控制效果是errot(t)=0即yout(t)=rin(t將控制器寫成傳遞函數(shù)的形式: (1.3)式中kp――比例系數(shù)TI――積分時間常數(shù)TD――微分時間常數(shù)統(tǒng)一用比例系數(shù)表示ki為積分比例系數(shù)kd為微分比例系數(shù):1.1.2 PID三個環(huán)節(jié)的作用比例微分積分各個環(huán)節(jié)的作用:(1)kp減小系統(tǒng)的誤差加快系統(tǒng)的響應速。(2)ki消除系統(tǒng)的靜態(tài)誤差決定積分作用的強。(3)kd抵制偏差信號的變化趨勢對偏差進行提前預報減少調(diào)節(jié)時。1.2 PID控制器的種類PID控制器有傳統(tǒng)PID控制器模糊PID控制器專家PID控制器以及動詞PID控制器等幾。1.2.1 傳統(tǒng)PID控制器PID控制器的參數(shù)整定是控制系統(tǒng)設計的核圖1.1中的PID控制器表示的就是傳統(tǒng)PID控制器其kpkikd三個參數(shù)在控制過程中不會自動發(fā)生變化操作人員只能根據(jù)控制對象的特性在系統(tǒng)開始工作時選擇最優(yōu)的三個參但僅靠一組參數(shù)還不能滿足系統(tǒng)的要求在控制過程中一般還要手動對參數(shù)進行修改由此造成了極大的不方工業(yè)中實際應用的PID控制器不會只用傳統(tǒng)的PID控制策。1.2.2 智能PID控制器模糊PID控制器專家PID控制器以及動詞PID控制器都是智能PID控制器它們在傳統(tǒng)PID控制器的基礎上實現(xiàn)了很多改模糊PID控制器和動詞PID控制器都是PID參數(shù)自整定型控制器而專家PID根據(jù)專家經(jīng)驗庫可能調(diào)整PID參數(shù)或者直接影響輸出電壓本文主要對模糊PID控制器和動詞PID控制器進行研究比較詳細介紹見后面的章。2.模糊PID控制器模糊PID控制器全稱應該叫模糊參數(shù)自適自整PID控制圖2.1表示其系統(tǒng)組顧名思義模糊PID控制器的三個參數(shù)是能夠在線調(diào)整實時改變這是模糊PID控制器在傳統(tǒng)PID控制器的基礎上實現(xiàn)的重大改。2.1 模糊控制規(guī)則[1]2.1.1 控制原理自適應控制應用現(xiàn)代控制理論以對象特性為基礎在線辨識對象特征參數(shù)實時改變控制策在控制過程中各種信號量不易定量表示因此需要模糊理論來解決問自適應模糊PID控制器以誤差e和誤差變化ec作為輸入找到輸出的三個PID參數(shù)與e和ec之間的模糊關在運行中不斷檢測e和ec利用模糊控制規(guī)則在線對PID參數(shù)進行修改以滿足不同e和ec對控制參數(shù)的不同要求而使被控對象有良好的動靜態(tài)性。2.1.2 模糊規(guī)則誤差e誤差變化率ec以及?K的模糊子集均為{N,NM,N,Z,P,PM,PB}分別代表{負大負中負小零正小正中正大模糊控制規(guī)則具有如下形式:If(eisNB)and(ecisNB)then(kpisPB)and(kiisNB)and(kdisPS由于e和ec都有7個子集元素總共有49種自由組合因此模糊控制總共有49條這樣形式的規(guī)kpkikd三個參數(shù)整定的模糊控制規(guī)則表如表2.。kp的模糊控制規(guī)則表?KpecNBNMNSZOPSPMPBeNBZOZONMNMNMNBNBNMPSZONSNMNMNMNBNSPSPSZONSNSNMNMZOPMPMPSZONSNMNMPSPMPMPMPSZONSNSPMPBPBPMPSPSZONSPBPBPBPMPMPSZOZOki的模糊控制規(guī)則表?KiecNBNMNSZOPSPMPBeNBNBNBNMNMNSZOZONMNBNBNMNSNSZOZONSNBNMNSNSZOPSPSZONMNMNSZOPSPMPMPSNMNSZOPSPSPMPBPMZOZOPSPSPMPBPBPBZOZOPSPMPMPBPBkd的模糊控制規(guī)則表?KdecNBNMNSZOPSPMPBeNBPBPMPMPMPSPSPBNMPBNSPSPSPSPSPBNSZOZOZOZOZOZOZOZOZONSNSNSNSNSZOPSZONSNMNMNSNSZOPMPSNSNBNMNMNSZOPBPSNSNBNBNBNMPS表2.1:模糊控制規(guī)則表2.2 模糊控制規(guī)則的實現(xiàn)2.2.1 隸屬度[1]在模糊控制規(guī)則表中各個元素子集都是用字母表示的而在控制過程中模糊判決器的輸入和輸出都是一些數(shù)值因此需要在數(shù)值和各個語言變量之間建立聯(lián)各個語言變量都表示一定的范圍這種范圍的覆蓋面可以用隸屬度來表隸屬度函數(shù)有多種形狀有正態(tài)分布的有等腰梯形的最常用的是三角形如圖2.2所每個語言變量表示的范圍可能有所交叉但除了幾個特殊點一個具體數(shù)值隸屬于各個字母符號的程度是不一樣。圖2.2:隸屬度模糊合成推理根據(jù)隸屬度和模糊控制規(guī)則來修正PID參數(shù):2.2.2 模糊推理[2]模糊判決器讀取e和ec的具體數(shù)值進行模糊推理然后輸出三個K的具體數(shù)值有很多算這里介紹一種強度轉(zhuǎn)移所謂強度轉(zhuǎn)移法就是當控制系統(tǒng)有精確值輸入時精確值在條件語句的前件中所得到的語言變量轉(zhuǎn)移到后件的語言變量值去從而得到推理結(jié)果的過以kp的推理為步驟為:(1)前件強度的求取為了簡化而清晰地說明推理過程我們假設誤差e(k)及其變化率ec(k)分別最多對應2個語言變量值,設e(k)的兩個語言變量值為A1、A2,且對模糊變量A1、A2的隸屬度為uA1(e)uA2(e)ec(k)的兩個語言變量值為B1B2且對這兩個模糊變量的隸屬度為uB1(ec)uB2(ec)控制規(guī)則如下:ife(k)isA1andec(k)isB1thenkpisC1ife(k)isA1andec(k)isB2thenkpisC2ife(k)isA2andec(k)isB1thenkpisC3ife(k)isA2andec(k)isB2thenkpisC4從以上4條規(guī)則中可產(chǎn)生出模糊推理的前件強度為:u1=uA1(e)∧uB1(ec)u2=uA1(e)∧uB2(ec)u3=uA2(e)∧uB1(ec)u4=uA2(e)∧uB2(ec)后件強度的求取由于在強度轉(zhuǎn)移法中是把精確值對前件的作用強度轉(zhuǎn)移到后件中去并作為后件模糊量kpi的隸屬度因此依前件強度可得后件強度為:uC1(kp1)=u1uC2(kp2)=u2uC3(kp3)=u3uC4(kp4)=u4(3)精確值kp的求取:根據(jù)kp的語言變量值和隸屬度的解析表達式求出kp1kp2kp3kp4它們分別為C1C2C3和C4在隸屬度為u1u2u3和u4時的推理結(jié)果元素則利用重心法可求得:(2.1)當誤差e(k)和誤差變化率ec(k)具有多個語言變量值時,其推導過程與上述過程相似。模糊推理中,在求解前件強度和后件強度時,對e,ec以及PID三個參數(shù)的描述,都是用名詞來表示。這些名詞不能互相包含,因此模糊控制的49條規(guī)則各不相同,缺一不可。3 動詞PID控制器3.1動詞控制規(guī)則3.1.1模糊規(guī)則的動詞化動詞PID控制器的系統(tǒng)組成大部分與模糊PID控制器相似在控制規(guī)則方面動詞PID控制器相比模糊PID控制器做了改對eec以及PID三個參數(shù)的描述由名詞變成動動詞反映的是參數(shù)的變化趨勢這樣一來不同的名詞組合可以用相同的動詞來表計算動詞規(guī)則是對模糊規(guī)則進行提取濃把相同的變化趨勢合并可以減少規(guī)則數(shù)通過簡化,用7條計算動詞規(guī)則就可以涵蓋49條模糊控制規(guī)則應用于控制系統(tǒng)的各個階。3.1.2動詞規(guī)則[4]動詞種類繁多為了規(guī)范化方便地描述計算動詞規(guī)則可以只用一個動詞(become)加名詞和副詞參數(shù)來替換所有動采用become[aderb](noun1,noun2)的形比jum可以表示成becomeast(current,biggerthancurrent)styhigh可以表示成become(high,high)等參數(shù)不一樣become所表示的動詞效果就不一。7條計算動詞規(guī)則如下其中ZSMB分別代表erosmallmediumbi。(1)If(|e|become(Z,Z))then(kpbecome(,B)kibecome(,S)kdbecome(,B))(2)If(|e|become(,M))then(kpbecomeast(,S)kibecomeast(,S)kdbecomeast(,B))(3)If(|e|become(M,S))then(kpbecome(,S)kibecome(,S)kdbecome(,B))(4)If(|e|become(,Z))then(kpbecomeslw(,S)kibecomeslw(,S)kdbecomeslw(,B))(5)If(|e|become(Z,S))then(kpbecomeslw(,B)kibecomeslw(,B)kdbecomeslw(,S))(6)If(|e|become(,M))then(kpbecome(,B)kibecome(,B)kdbecome(,S))(7)If(|e|become(M,B))then(kpbecomeast(,B)kibecomeast(,B)kdbecomeast(,S))3.2 動詞相似度在控制過程中e的變化大部分時間并不是完全等同于上述的某一個規(guī)則中的前件條件;但反過來說任一時刻肯定能在上述七條規(guī)則的前件條件中中找到一個和e的變化趨勢最相似的becom。動詞相似度(similarities來恒量各個動詞之間的關動詞相似度是一個數(shù)值取值范圍[0,1]相似度越接近1表示這兩個動詞相似的程度越大相似度越接近0則表示越不相。在動詞控制規(guī)則里可以把前件條件里的7個動詞定義為7個標準動詞控制過程中觀察到的動詞都和這些標準動詞做比動詞推理的輸出也定義成幾個標準輸出動。3.2.1 基于進化函數(shù)的動詞相似度的計算[4]上一節(jié)提到所有動詞都可以用Become來進行規(guī)范在計算動詞相似度之前首先定義Become的進化函數(shù):(3.1)其離散時間形式為(假設Tw=wTs):(3.2)become(state1,state2)的時間跨度取Twx(t)是觀察到的波形一個被觀察的動詞的進化函數(shù):(3.3)t是當前時間觀察動詞是從過去某個時間開始計算動詞進化函數(shù)的構(gòu)造需要依賴以下兩個因素名詞中心和物理語義學的動詞中現(xiàn)在來obsere這個動詞和become(state1,state2)的相似度首先把become(state1,state2)的開始時間定在(t?Tw)時求動詞的相似度首先將Tw分成state1和state2兩個區(qū)間再按以下幾個步驟進行運。1)在前半個區(qū)間求出a1和b1(3.4)在后半個區(qū)間求出a2和b2:(3.5)3)平衡因子e(3.6)4)在整個Tw范圍內(nèi)求相似度:(3.7)對觀察到的動詞取不同的隸屬度分兩個區(qū)間分別與標準進化函數(shù)進運算,不同的計算動詞規(guī)則的相似度的求取中用來與標準進化函數(shù)進運算的被觀察動詞的進化函數(shù)是不一樣的運算的結(jié)果進行積分積分相當于求面將兩個窗的面積相加,“面積也相加相似度的總面積的總面積之這個比值越大,說明觀察動詞與標準動詞的相似度越比如取state1=bigstate2=medium把觀察動詞的μbigμmedium與標準進化函數(shù)進積分加法除法運算之后比值與其他規(guī)則的計算結(jié)果相比最大則說明被觀察動詞與become(big,medium)最相。3.2.2 簡化的動詞相似度[5]一個動詞可以表示成Become(offset,offset+),即上一時刻位于offset位置,現(xiàn)在變化了。一個觀察到的動詞與Become(offset,offset+)求相似度,可分為兩部分,一部分是變化趨勢的相似度,另一部分是起始位置的相似度。3.2.2.1變化趨勢的相似度一個觀察到的動詞增這個動詞的相似度可以表示成:(3.8)式中?x是一個運動對象相鄰兩個時間點上的位移差即變化量?0是設定的一個標準變化量K在計算中是一個常量在不同的場合可以取不同的?0取0.5K取6時畫出不同的觀察動詞與"增大0.5"的相似如圖3.。這種動詞相似度的求法適合于計算動詞的(2)~(7)號控制規(guī)則不同的規(guī)則對應不同的?0和K增的相似度時K×?x的前面需要一個負號減的相似度時不用負但這個算法不適合于求eBecome(Zer,Zero的相似度因為當estyZero時,其?0為0而在式3.8中?0是一個分母所以與這條規(guī)則相對應的動詞相似度的求解采用另外一種算。(3.9)圖3.2:動詞與"增大0.5"的相似度K取5時觀察到的不同動詞與"styZero"的相似度如圖3.。圖3.3:動詞與"styZero"的相似度3.2.2.2起始位置的相似度觀察到的動詞的起始位置為offsetobserved定義標準動詞的起始位置為offset0計算起始位置的相似度我采用如下算法: (3.10)p取正偶當K=10p=2offset0=0.8(假設起始位置為big)時畫出不同的起始位置與起始位置為big的相似如圖3.。圖3.4:起始位置與big的相似度起始位置的相似度與模糊隸屬度函數(shù)有相似之。3.3 動詞控制規(guī)則的實現(xiàn)[4]計算動詞規(guī)則的推理建立在動詞相似度的基礎上在控制過程中觀察控制誤差e的變化趨勢求出e和7個標準動詞的相似控制器的輸入和輸出都是動詞形控制規(guī)則是這樣的If(ebecome0i)Then(?kVi)輸出的動詞Vy是7個標準輸出動詞Vi(i=1~7)以相似度為權的加權平均。(3.11)公式的形式與模糊推理強度轉(zhuǎn)移法中重心法(式2.1)的形式有相似之這種加權平均的算法符合控制需求e的變化和哪個規(guī)則中的前件條件最相似控制輸出就和那個規(guī)則的K的變化最相。在求出?k之后PID三個參數(shù)的修正方式為Knext=Kcurrent+?k。4 用Siulink進行PID控制仿真4.1 爐溫控制簡介4.1.1 背景隨著工業(yè)的快速發(fā)展,鋼鐵的需求量越來越大。而對于生產(chǎn)鋼鐵的最重要的一環(huán)——高爐——的要求也越來越高。在鋼鐵的冶煉的過程中,越來越多地使用交流電弧爐設備,溫度控制系統(tǒng)的性能直接影響到鋼鐵的質(zhì)量,所以爐溫控制占據(jù)重要的位置。PID控制是溫度控制系統(tǒng)中一種典型的控制方式,是在溫度控制中應用最廣泛、最基本的一種控制方式。隨著科學技術的發(fā)展,各行各業(yè)對溫度控制精度的要求越來越高,經(jīng)典PID在某些場合已經(jīng)不能滿足要求。因此,智能PID控制的引入時精密溫度控制系統(tǒng)的發(fā)展趨勢。為了改善電弧爐系統(tǒng)恒溫控制質(zhì)量的現(xiàn)狀,研制具有快速響應的、經(jīng)濟性好的、適合國情的恒溫控制裝置具有十分重要的意義。4.1.2 系統(tǒng)函數(shù)高爐溫度控制系統(tǒng)具有非線性時變性滯后性等特根據(jù)實際測量被控對象近似一階慣性加滯后模型:(4.1)4.2 Siulink簡介[3]Siulink是個交互式動態(tài)系統(tǒng)建模仿真和分析圖形環(huán)境是一個進行基于模型的嵌入式系統(tǒng)開發(fā)的基礎開發(fā)環(huán)Siulink可以針對控制系統(tǒng)等進行系統(tǒng)建模仿真分析等工Siulink提供了一個建立控制系統(tǒng)方框圖并對系統(tǒng)進行模擬仿真的環(huán)。在Malab6.5的命令主窗口中單擊File→Nw→Model即可打開如圖4.1所示的Siulink模型編輯窗。在Siulink模型編輯窗口中單擊Viw→Libarybrwser即可打開如圖4.2所示的Siulink庫瀏覽窗。根據(jù)控制系統(tǒng)的結(jié)構(gòu)用戶可以從模型庫中選擇所需要的各種模塊按要求連接修改各模塊的參數(shù)建立系統(tǒng)模。圖4.1:simulink模型編輯窗口圖4.2:simulink庫瀏覽器4.3 傳統(tǒng)PID控制Siulink仿真4.3.1 建立系統(tǒng)模型在模型庫中從Siulink庫Contiuous子庫中選擇Deriatie、InteatoranserFcnansportDely模塊,從MathOpeations子庫中選擇GainSum模塊,Sinks子庫中選擇ScopeSources子庫中選擇Step放到模型編輯窗各個模塊的屬性都可通過雙擊該模塊進行更按圖4.1更改各模塊屬性連線就建立了一個傳統(tǒng)PID控制系統(tǒng)模其中Step階躍信號幅值為1ansportDely為208。在模型編輯器中選擇“startsimulink”,就可以開始進行仿仿真波形可以雙擊scope進行觀。4.3.2 調(diào)試過程及結(jié)果參數(shù)整定過程:(1)令ki和kd為0調(diào)整k若kp太小則控制結(jié)果無法向原定的控制目標靠近kp增大響應曲線開始出現(xiàn)振如果振蕩的振幅呈增大趨勢系統(tǒng)將無法達到穩(wěn)所以應該調(diào)整kp,使響應看起來是一條振幅越來越小的曲。(2)觀察振蕩趨向的平衡位置ki為0時一般會存在靜態(tài)誤ki從0開始增大調(diào)整ki使響應曲線保持在控制目標上下振由于ki也加強了控制作用所以kp應該基于第(1)步調(diào)出的值再往小一般通過合適的ki把振蕩的平衡位置修正之后不必再調(diào)ki。(3)調(diào)整kkd能抑制響應曲線上下振蕩的振幅但kd過大反而降低響應速最后對kp和ki進行聯(lián)合微。對式4.1所示的加熱電源的溫度的傳統(tǒng)PID控制進行參數(shù)調(diào)整我調(diào)整得效果最好的一組參數(shù)已標在圖4.1中即kp=18ki=0.015kd=1000溫度變化波形如圖4.大約3000秒控制達到穩(wěn)定超調(diào)量30。Siulink的Scope中的響應曲線原本是黑色背景黃色曲為了便于瀏覽本人做了一些反色的處理后面的圖4.5也進行了同樣的處理不再重復說。圖4.3:傳統(tǒng)PID仿真4.4 模糊PID控制Siulink仿真4.4.1 在Matlab中建立模糊判決器4.4.1.1 用FISEditor建立模糊判決器[3]在Matlab主窗口中輸入fuzzy,彈出FISEditor,這是一個新建的空白的FIS,如圖2.3所示。解模糊算法默認是Mamdani法,如果要改變算法,Matlab提供的另一種算法為Sugeno。在新建FIS時,點擊FileNewFISSugeno即可。圖2.3:FISEditor點擊EditAddvariableinput(或output),添加判決器的輸入和輸出,我們使用的模糊PID判決器是2個輸入3個輸出。把這5個變量(variable)的名字(Name)改成e、ec、kp、ki和kd。雙擊任一個variable,彈出MembershipFunctionEditor,可以設定這個variable的取值范圍(range)。如圖2.4所示。新建的variable默認只有3個子集,在MembershipFunctionEditor中點擊EditAddMFs,添加子集,加到7個。按照模糊隸屬度設定每個子集的名字(Name)、形狀(Type)和覆蓋范圍(Params)。添加規(guī)則:在FISEditor中點擊EditRules,彈出RuleEditor。如圖2.5所示。新建的模糊判決器有0條規(guī)則,按照模糊控制規(guī)則表,使用RuleEditor底部的“添加規(guī)則(Addrule)”和“修改規(guī)則(Changerule)”按鈕設定模糊控制的49條規(guī)則。先添加條數(shù),再按規(guī)則修改。最后將該FIS保存,在FISEditor中點擊FileExportToDisk,保存為fuzzpid.?s。圖2.4:MembershipFunctionEditor圖2.5:RuleEditor4.4.1.2 用Matlab程序生成模糊判決器[1]用Matlab程序語言也能生成和上一節(jié)一模一樣的fuzzpid.fi。a=nwfis(’fuzzpid’);建立一個新的FIS取名fuzzpi。escale=1;a=addar(a’input’’e’,[-3*escal,3*escale]);添加arialea=addmf(a’input’,1’NB’’zmf’,[-3*escal,-1*escale]);本行往下共7行分別添加MFsa=addmf(a’input’,1’NM’’trimf’,[-3*escal,-2*escal,0]);a=addmf(a’input’,1’NS’’trimf’,[-3*escal,-1*escal,1*escale]);a=addmf(a’input’,1’Z’’trimf’,[-2*escal,0,2*escale]);a=addmf(a’input’,1’PS’’trimf’,[-1*escal,1*escal,3*escale]);a=addmf(a’input’,1’PM’’trimf’,[0,2*escal,3*escale]);a=addmf(a’input’,1’PB’smf’,[1*escal,3*escale]);這幾行代碼添加了e這個ariale作為inputange為[-3,3]e有7個子集Nameype和aams各不相eckpkikd的添加方式完全類似只需更改scale和input(output),addmf(a’input’,1?中依次改為234個人感覺這樣子生成FIS比用FISEdit還FISEdit雖然有友好的用戶界面但每個ariale每個mfs49條規(guī)則都要一一輸入而上述程序具有通用性比如e的ange變?yōu)閇-30,30]只需要將escale賦值為10即eckpkikd的scale的更改完全類。rulelist=[1171511;1271311;。。。。。。。。。。7617511;7717711];(↑總共49行)a=addrule(a,rulelist);這幾十行代碼實現(xiàn)49條模糊控制規(guī)則的添。每一行代表一條規(guī)則由前5個數(shù)字來完成對規(guī)則的描數(shù)值1~7按順序代表從NB到PB7個子集5個數(shù)的位置對應eeckpkik比如第一行前5個數(shù)字為1-1-7-1-5代表NB-NB-PB-NB-PS其對應的模糊規(guī)則為:If(eisNB)and(ecisNB)then(kpisPB)and(kiisNB)and(kdisPS。這個rulelist可以完全按照模糊控制規(guī)則,用數(shù)字代表7個字母符號列出來。這個rulelist也是通用。a=setfis(a’DefuzzMethod’’mom’);解模糊的算法設定為Mandani也可以改為Sugen。writefis(a’fuzzpid’);a=readfis(’fuzzpid’);這樣子就生成了一個和上一小節(jié)完全一模一樣的fuzzpid.fi。4.4.1.3 模糊判決器的使用這個模糊判決模塊可以作為一個模塊嵌入到Siulink模型編輯窗口當中在本章中可以看到其用這個模塊還能被Matlab編程語言調(diào)用在第5章用Matlab程序進行模糊PID控制仿真的時候會用。4.4.2 建立系統(tǒng)模型模糊PID控制系統(tǒng)最核心的部分是模糊判決器,這個判決器可以作為一個模塊放入到simulink模型編輯器中,在Matlable主窗口中輸入fuzzy,彈出FISEditor,點擊File→Export→ToWorkspace,把這個判決器添加到工作空間。然后在simulink模型編輯器中,按圖4.4從庫中選擇模塊,更改參數(shù),連線,這樣建立起模糊PID控制系統(tǒng)模型。從圖中可以清楚地看出模糊控制對PID三個參數(shù)的調(diào)整作比如PID控制中的微分環(huán)節(jié)的輸出ud=(Kd0+?kd)×ec而在這個系統(tǒng)模型中ud=Kd0×ec+?kd×ec與PID控制理論是一致。圖4.4:模糊PID控制系統(tǒng)模型圖4.5:模糊PID仿真結(jié)果4.4.2 調(diào)試模糊PID控制需要調(diào)整的參數(shù)包括PID三個初始值以及模糊判決器2個輸入3個輸出的論傳統(tǒng)PID調(diào)出的三個參數(shù)對模糊PID的三個初始參數(shù)有一定的參考價。仿真的控制目標是1故設置e和ec的論域均為[-1.5,1.5]模糊判決器的輸出是?K是對三個初始參數(shù)進行調(diào)整所以?K的論域大小應該與對應的K數(shù)量級相當或較如果?K論域數(shù)量級明顯超過對應的K的初始值那初始值的設定就沒什么意義。設置?kp論域為[-0.15,0.15]?ki論域為[-0.003,0.003]?kd論域為[-500,500。每次改變論域模糊判決器就發(fā)生改在Matlab6.5中進行仿真時,每次都必須在FISEditor中重新打開這個模糊判決器重新將其導入工作空間Siulink才能使用最新修改的模糊判決器來進行仿。這個系統(tǒng)的模糊PID控制的仿真結(jié)果沒有實現(xiàn)對傳統(tǒng)PID控制的改本人嘗試著對三個PID初始參數(shù)以及5個論域進行調(diào)整但能得到的最佳組合就是上述的數(shù)按上述數(shù)值得到的仿真曲線與傳統(tǒng)PID控制相比,超調(diào)減少,但控制系統(tǒng)達到的穩(wěn)定時間要長些,如圖4.5所示。4.5 關于動詞PID控制Siulink仿真的一點說明模糊控制理論已經(jīng)問世數(shù)十年在Matlab中已經(jīng)集成了模糊判決器的模型可以對模糊判決器進行修改嵌入到Siulink模型編輯器中進行模糊控制的仿動詞PID控制器目前還未大面積推廣Matlab中沒有相應的集成模塊因此沒有進行動詞PID控制的Siulink仿。動詞PID控制并不是無法用Siulink進行仿真只是難度比較高工作量比較大本人沒有進行研究這里只簡要介紹解決方Siulink模型編輯器里面除了可以放置Matlab已經(jīng)定義的模塊還可以放置用戶自定義的模。在庫瀏覽器Siulink庫User-DefinedFunction子庫中選S-Function拖放到模型編輯器這是一個空白的模塊用戶需要用Matlab程序語言編寫一個文件程序里面描述用戶需要定義的模塊的功。比如在程序中編寫計算動詞PID動詞推理過程,然后保存為erbPI.在Siulink模型編輯器中雙擊S-Function模塊填寫S-FunctionName為erbPI.S-Functionaameters的填寫與m文件中的變量定義有寫好動詞推理S-Function程序在模型編輯器中設置好S-Function模塊的屬性就實現(xiàn)了動詞推理算法嵌入到Siulink仿真。4.6 本章小結(jié)本章簡要介紹電弧爐爐溫控制系統(tǒng)以及Siulink仿真軟用Siulink對該爐溫進行傳統(tǒng)PID和模糊PID控制的仿真由于動詞PID推理模塊嵌入到Siulink中工作量比較大本章沒有對其進行仿真只是提出了一些解決思傳統(tǒng)PID和模糊PID的仿真結(jié)果比較相似模糊PID沒有對傳統(tǒng)PID控制效果進行明顯的改。5 用Matlab編寫程序進行各種PID控制仿真本章用Matlab編寫程序?qū)刂茖ο筮M行傳統(tǒng)PID模糊PID動詞PID控制仿被控對象仍然是第4章所用過的爐溫控制系統(tǒng)系統(tǒng)函數(shù):(5.1)5.1 仿真程序流程圖三個Matlab仿真程序的結(jié)構(gòu)組成都列于圖5.1。程序開始設定控制目標r,對被控對象的輸入信號u、以及kp、ki、kd三個參數(shù)進行初始化,然后進入循環(huán)。由u作用于被控對象,對象的輸出為yout,控制誤差e=r-yout,誤差變化率ec用e的差分表示,誤差的積累用表示。如果是傳統(tǒng)PID控制器,因為PID三個參數(shù)不變,所以直接用加法求出新的控制信號u,進行下一輪循環(huán)。圖5.1流程圖智能PID控制器在求出e和ec之后通過e和ec計算出?kp?ki和?kd修正3個參數(shù)然后再進行加法求出u進入下一個循。模糊PID控制和動詞PID控制仿真程序的不同在于修正3個PID參數(shù)的過模糊PID控制器通過查找模糊規(guī)則表然后K=K0+?K而動詞規(guī)則分別求出e的動態(tài)與七個標準動詞的相似度?k是七個輸出動詞在相似度上的加權平均然后修正參數(shù)Knext=Kcurrent+?k.做完預設的循環(huán)次數(shù)后每一仿真時刻的youtkpkikd都有記錄下來此時畫出這四個變量隨時間變化的曲線以供研究比。5.2 關鍵環(huán)節(jié)的算法圖5.1已經(jīng)描述了仿真程序的大綱其中一些加法減法乘法累加的環(huán)節(jié)非常容易理只有兩個環(huán)節(jié)的算法比較復一個是由e和ec怎樣計算出?kp?ki和?kd針對模糊和動詞控制規(guī)則有相應的計算方法在前面已經(jīng)介。另外一個比較復雜的環(huán)節(jié)是如何由控制電壓u得到輸出yout本文仿真通過用ode45求解微分方程的方法來完由于選取的控制對象具有時滯在寫微分方程時要對系統(tǒng)函數(shù)里時滯的部分進行近似所以用到一AD指令下面分別介。5.2.1 ode45求解微分方程[7]仿真程序中ode45的用法如下:TSAN=Ts*k:siuStep:Ts*(k+1);[t,x]=ode45(dynsys’,TSAN,x0);Ts是采樣時間siuStep=Ts/4k是循環(huán)控制量TSAN把兩次采樣的時間間隔分成5個dynsys’是一個文件名dynsy.m文件里保存著描述被控對象特征的微分方程這些微分方程以狀態(tài)空間的形式給出其中包含了輸入u的影。˙=Ax+Bu (5.2)x是狀態(tài)向量(列向量。TSAN是ode45解微分方程組的幾個時間點x0是第一個時間點上系統(tǒng)的狀態(tài)向這樣進行ode45運算的結(jié)果產(chǎn)生了5個t和5個t是一維的也就是5個時間x的維數(shù)與系統(tǒng)的階數(shù)相系統(tǒng)的輸出yout是x的幾個分量以及輸入u的線性組。y=Cx+Du (5.3)ABCD是一些矩在已知系統(tǒng)的傳遞函數(shù)的情況下在Matlab主窗口中輸入[A,,,D]=tf2ss([um],[den])即可得到這4個矩[um]和[den]是系統(tǒng)函數(shù)的分子和分。5.2.2 對延時的近似處理對無時滯的系統(tǒng)進行仿真時直接用tf2ss寫出微分方程再寫進dynsy.m文件在主程序里循環(huán)調(diào)用ode45函數(shù)即可進行仿。本文選用的被控對象具有208秒的延。無法直接根據(jù)系統(tǒng)函數(shù)寫出微分方我采用的解決方法是,先把e?τs用Matlab指[NUM,DEN]=ADE(τ,N近似成一個N階的不帶指數(shù)的系統(tǒng)函數(shù)(N越大近似越精確再和原來系統(tǒng)函數(shù)中非時滯的部分相乘得到總的系統(tǒng)函數(shù)然后用TF2SS寫出微分方。針對上面的系統(tǒng)在Matlab中輸入“[NUM,DEN]=PADE(208,1)”得到NUM=[-10.0096]DEN=[10.0096],即用代替,則:(5.4)5.3傳統(tǒng)PID控制仿真5.3.1調(diào)整過程及結(jié)果仿真程序的編寫遵循圖5.1的上中部設置PID三個參數(shù)并進行調(diào)PID參數(shù)的選取在第4.3.2小節(jié)已經(jīng)提先令ki=0kd=0找到一個kp然后ki從0開始增大kp適當減小ki增大到能消除靜態(tài)誤差就行了不必一直調(diào)最后調(diào)kd再對kpkd進行聯(lián)合調(diào)。調(diào)節(jié)三個參數(shù)觀察在傳統(tǒng)PID控制下誤差e的變化情誤差e的變化如圖5.2所當Kp=80Ki=0.01Kd=800時誤差變化如圖所示。本文后面要拿智能PID控制的效果來和傳統(tǒng)PID控制做比較為了統(tǒng)一標準智能PID控制結(jié)果都和傳統(tǒng)PID來做對在響應時間差不多的情況下看智能PID對超調(diào)和振蕩的控制效果如在這里傳統(tǒng)PID控制超調(diào)量為15。圖5.2:傳統(tǒng)PID控制誤差e變化圖5.3:傳統(tǒng)PID仿真結(jié)果5.3.2關于兩種不同仿真方法的說明用編程語言仿真時得到的一組參數(shù)和用Siulink仿真時得到的一組參數(shù)有些差這個控制對象本身帶有208秒的時滯控制達到穩(wěn)定需要幾千秒的時程序是用循環(huán)來做的我選取Ts=20秒k=0~400仿真4000秒只需要200次循為了減少每次仿真程序運行的時間只能這而Siulink里面計算精度比較高取樣時間不同導致仿真方法調(diào)試出來的參數(shù)不同但在數(shù)量級上是一致。誤差剛開始是1,這是我寫程序時沒有采用延時的近似處理,這樣更與實際情況貼合,圖5.2、圖5.3可以反映出實際情況5.4模糊PID控制仿真5.4.1模糊推理源代碼分析模糊PID控制首先設置一組初始PID參在仿真過程中時時檢測控制誤差e(k)及其變化率ec(k)保存到兩個變量在每次循環(huán)里:e_1=e(k+1);ec_1=e(k+1)-e(k);然后調(diào)用第2.3節(jié)建立的那個模糊判決器:k_pid=alfis([e_1,ec_1],a);k_pid就是模糊判決器的輸出是一個三維的列向量這三個數(shù)就是?kp?ki和?kd然后對PID三個初始的參數(shù)進行修。Kp=Kp0+k_pid(1);Ki=Ki0+k_pid(2);Kd=Kd0+k_pid(3);這樣就完成了參數(shù)的自整定因為程序是循環(huán)在執(zhí)行的所以參數(shù)的整定也是循環(huán)在做。5.4.2參數(shù)調(diào)整及仿真結(jié)果圖5.4:模糊PID仿真結(jié)果圖5.5:模糊PID的誤差變化圖5.6:kp、ki、kd自適應曲線從圖5.4與圖5.3比較中可以看出在響應時間差不多的情況下模糊PID比傳統(tǒng)PID超調(diào)有所減小超調(diào)量大概5kpkikd的自整定曲線如圖5.5。由以上圖形,可以知道:(1)模糊PID控制所得到的結(jié)果和傳統(tǒng)的很接近。(2)模糊PID在調(diào)整3個參量的時候有一個調(diào)整的空間,因此利用模糊PID進行控制時,得到參數(shù)會比用傳統(tǒng)PID方法來的更快。(3)曲線開始略微上翹,是由于程序?qū)ρ舆t模塊采用了一階近似產(chǎn)生的誤差。5.5動詞PID控制仿真動詞PID控制中,動詞規(guī)則的實現(xiàn)是建立在動詞相似度的基礎上,因此動詞PID控制的仿真程序中,觀察誤差e的變化趨勢,求e的變化與7條規(guī)則前件條件的相似度的部分,即用求相似度算法的動詞PID控制的仿真程序,進行調(diào)試。相似度算法有兩種方法,本文用基于進化函數(shù)求相似度的方法進行仿真分析。另一種方法是基于簡化的動詞相似度的控制算法,與第一種算法結(jié)果類似,本為就不在闡述。5.5.1基于進化函數(shù)求相似度的動詞PID控制的仿真調(diào)試動詞PID的仿真程序中,需要整定的參數(shù)更多了。同樣要設置PID三個初始參數(shù),還要設置參數(shù)調(diào)整的幅度:Kpscale、Kdscale和Kiscale。求相似度時要對一段時間內(nèi)標準動詞和觀察動詞的進化函數(shù)進行∧、∨運算并積分,由于仿真采用離散形式,所以一段時間的積分轉(zhuǎn)換成幾個點的累加,因此要設置累加的點的個數(shù),在程序里建立一個變量mw=10。動詞PID的參數(shù)整定與模糊PID不同,Knext=Kcurrent+△K。為了避免能量過剩導致控制進入振蕩的非穩(wěn)定狀態(tài),還要設置PID三個參數(shù)變化的上下限。另外,△K反映了K下一步的變化趨勢,而在動詞規(guī)則里,K的變化還有速度之差別,become[adverb](noun1,noun2)中的adverb可以是slow或者fast,缺省是normally。所以再建立兩個變量,beta_fast(biggerthan1)和beta_slow(between(0,1)),再根據(jù)需要進行調(diào)整,缺省的beta是1。5.5.1.1程序模塊及其仿真(1)基于動詞規(guī)則的模糊隸屬度仿真程序如下:en=e/abs(e(1));enabs=abs(en);muB=max(0,1+(enabs-1)-abs(enabs-1));muM=max(0,1+(enabs-0.5)-3*abs(enabs-0.5));muS=max(0,1-4*(enabs-0.25));muZ=max(0,1-4*(enabs));動詞相似度的求取(以動詞become(big;medium)為例):Ab=0;Bb=0;n=round(rmw/2);forj=1:nEb(j)=1-0.5(j/n);endAm=0;Bm=0;forj=n:rmwEm(j)=0.5+0.5*(j-n)/n;Am=Am+min(Em(j),muM(bprt+j));Bm=Bm+max(Em(j),muM(bprt+j));endsb=Ab/(Bb+Bm);sm=Am/(Bb+Bm);Balance=2*min(sb,sm);s2(k+1)=(Ab+Am)/(Bb+Bm)*Balance;其中:①E(j)=1-0.5*(j/n)和E(j)=0.5+0.5*(j/n)是描述動詞的一個進化函數(shù),選取了一個比較簡單的形式,②S2是所得到的計算動詞相似度。將所用的動詞和7條動詞規(guī)則的動詞進行類似的計算,就可以算出7個動詞相似度。分別為S1、S2、S3、……S7。(3)解動詞化經(jīng)過動詞推理過后,可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度園林綠化工程環(huán)境保障合同2篇
- 2024版ktv娛樂中心股份收購及品牌授權合同3篇
- 2024年度版權質(zhì)押合同的質(zhì)押范圍、質(zhì)押期限和質(zhì)權變更協(xié)議2篇
- 2024年度防水材料生產(chǎn)與質(zhì)量控制合同范本3篇
- 2024年度商鋪租賃合同(帶品牌合作扶持條款)3篇
- 2024年度煤場地租賃合同范本下載2篇
- 2024年度汽車保養(yǎng)與維修服務合同2篇
- 倉儲人員培訓與績效管理
- 2024年度學校食堂食品采購配送合同3篇
- 2024年展覽海報制作保密合同版B版
- 馬克思主義基本原理第一章第一節(jié)
- AHP層次分析法-EXCEL表格自動計算
- 計算機基礎認識鍵盤鍵盤教程 (課堂PPT)
- SOP作業(yè)指導書模板
- 小學科學實驗室儀器名稱匯總
- 威信旅行社團體報價單
- 企業(yè)績效考核大全設計包裝人員績效考核
- TPRI設計常用模塊說明
- 山東昌樂二中“271高效課堂”教學模式
- (完整版)倍長中線法的應用教案
- GB 1886.304-2020 食品安全國家標準 食品添加劑 磷酸(濕法)_(高清-現(xiàn)行)
評論
0/150
提交評論