pid控制算法系列pid控制算法_第1頁
pid控制算法系列pid控制算法_第2頁
pid控制算法系列pid控制算法_第3頁
pid控制算法系列pid控制算法_第4頁
pid控制算法系列pid控制算法_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、id控制算法系列(2) pid控制算法1.PID 控制算法的基本思想用戶設(shè)定PID控制算法L歷史侷望近期備差傳感器PID 算法是一種具有預(yù)見性的控制算法,其核心思想是:1. PID 算法不但考慮控制對象的當(dāng)前狀態(tài)值(現(xiàn)在狀態(tài)),而且還考慮控制對象過去一段 時間的狀態(tài)值(歷史狀態(tài))和最近一段時間的狀態(tài)值變化(預(yù)期),由這 3方面共同決定當(dāng) 前的輸出控制信號;2.PID 控制算法的運算結(jié)果是一個數(shù),利用這個數(shù)來控制被控對象在多種工作狀態(tài)(比如 加熱器的多種功率,閥門的多種開度等)工作,一般輸出形式為PWM,基本上滿足了按需 輸出控制信號,根據(jù)情況隨時改變輸出的目的。2.PID 算法分析:設(shè)某控制系

2、統(tǒng):用戶設(shè)定值為SV(也就是希望通過PID控制算法使被控制對象的狀態(tài)值保 持在SV的附近)。1從系統(tǒng)投入運行開始,控制算法每隔一段時間對被控制對象的狀態(tài)值進(jìn)行采樣。由此, 可得到開機(jī)以來由各個采樣時間點被控制對象的狀態(tài)值所形成的數(shù)據(jù)序列:X1,X2, X3, X4, Xk-2,Xk-1,Xk說明:X1 :開機(jī)以來的第一次米樣值Xk: 目前的采樣值(最近一次的采樣值)2 從這個米樣值序列中提取出三方面信息:當(dāng)前采樣值Xk與用戶設(shè)定值SV之間的差值:EkEk =Sv - Xk分析 Ek:Ek 0:說明當(dāng)前狀態(tài)值未達(dá)標(biāo)Ek=O:說明當(dāng)前控制狀態(tài)值正好滿足要求EkvO:說明當(dāng)前狀態(tài)值已經(jīng)超標(biāo)結(jié)論:Ek

3、反應(yīng)了控制對象當(dāng)前值與設(shè)定值的偏差程度,可以根據(jù)Ek的大小對輸出信號 OUT進(jìn)行調(diào)整:偏差程度大OUT增大,偏差程度小OUT減小。即輸出信號的強弱與當(dāng)前 偏差程度的大小成比例,所以根據(jù)Ek的大小來給出控制信號OUT的當(dāng)前值的算法稱為比 例控制(Proportio n)。用數(shù)學(xué)模型可以表示為:POUT=(Kp*Ek)+ OutOKp: 一般稱之為比例系數(shù),可以理解為硬件上的放大器(或衰減器),適當(dāng)選取Kp將當(dāng) 前誤差值Ek按一定的增益放大或縮小,以提高控制算法的相應(yīng)速度。OutO:是一個常數(shù),目的是為了當(dāng)Ek為0時,確保輸出信號不為0,以不至于在當(dāng)前值與 設(shè)定值相等時控制器輸出信號OUT為0,系

4、統(tǒng)處于無控制信號的失控狀態(tài)。將投入運行以來的各個采樣值都與設(shè)定值相減,可得到開機(jī)以來每個采樣時刻的偏差序 列數(shù)據(jù):E1, E2, E3 Ek-2,Ek-1,Ek說明:E1:開機(jī)的第一個采樣點與設(shè)定值的偏差E1=SV-X1;E2=SV-X2;EK-2=SV-XK-2;EK-1=SV-XK-1;Ek: 當(dāng)前的采樣值與設(shè)定值的偏差EK=SV-XK分析開機(jī)以來的誤差序列:每個偏差值可能有:0,0),有時候正好滿足要求(Ex=O);如果將這些偏差值進(jìn)行累加求代數(shù)和得到Sk, 即:Sk=E1+E2+E3+Ek-2+Ek-1+Ek分析Sk:Sk0: 過去大多數(shù)時候未達(dá)標(biāo)Sk=O:過去控制效果較理想Sk0:說

5、明從上一采樣時刻到當(dāng)前誤差有增大趨勢Dk=O:說明從上一采樣時刻到當(dāng)前誤差平穩(wěn)DkvO:說明從上一采樣時刻到當(dāng)前誤差有減小趨勢結(jié)論:Dk能夠說明從上次采樣到當(dāng)前采樣的這段時間被控制對象的狀態(tài)變化趨勢,這種變化 的趨勢很可能會在一定程度上延續(xù)到下一個采樣時間點,所以可以根據(jù)這個變化趨勢(Dk 的值)對輸出信號OUT進(jìn)行調(diào)整,達(dá)到提前控制的目的。Dk形如數(shù)學(xué)上的微分運算,反應(yīng)了控制對象在一段時間內(nèi)的變化趨勢及變化量,所以利 用Dk對控制器輸出信號進(jìn)行調(diào)節(jié)的算法稱為微分(Differential)算法??梢杂脭?shù)學(xué)模型表 達(dá)為:DOUT=Kp*(Td(de/dt)+OutOKp:為一常數(shù),可理解為硬件

6、上的放大器或衰減器,用于對輸出信號OUT的增益進(jìn)行調(diào)OutO:為一常數(shù),為了在Dk為0時確保OUT都有一個穩(wěn)定的控制值,避免失控。Td:叫微分時間常數(shù),(猶如硬件上電感器的自感系數(shù))Td越大導(dǎo)致OUT增大,對輸出信 號產(chǎn)生強烈的影響。3PID 算法的形成1.比例、積分、微分三種算法的優(yōu)缺點分析:POUT=(Kp*Ek) + OutO-比例算法IOUT=kp* ( (1/Ti) Exdt)+OutO -積分算法DOUT=Kp*(Td(de/dt)+OutO -微分算法比例算法: 只考慮控制對象當(dāng)前誤差,當(dāng)前有誤差才輸出控制信號,當(dāng)前沒有誤差就不輸出 控制信號,也就是說只要偏差已經(jīng)產(chǎn)生了比例算法才

7、采取措施進(jìn)行調(diào)整,所以單獨的比例算 法不可能將控制對象的狀態(tài)值控制在設(shè)定值上,始終在設(shè)定值上下波動;但是比例控制反應(yīng) 靈敏,有誤差馬上就反應(yīng)到輸出。積分算法:考慮了被控制對象的歷史誤差情況,過去的誤差狀況參與了當(dāng)前的輸出控制,但 是在系統(tǒng)還沒有達(dá)到目標(biāo)期間,往往會因為這些歷史的誤差對當(dāng)前的控制產(chǎn)生了干擾(即拖 后腿),使用不當(dāng)反而攪亂當(dāng)前的輸出。但是在系統(tǒng)進(jìn)入穩(wěn)定狀態(tài)后,特別是當(dāng)前值與設(shè)定 值沒有偏差時,積分算法可以根據(jù)過去的偏差值輸出一個相對穩(wěn)定的控制信號,以防止產(chǎn)生 偏離目標(biāo),起到打預(yù)防針的效果。微分算法:單純的考慮了近期的變化率,當(dāng)系統(tǒng)的偏差趨近于某一個固定值時(變化率為0), 微分算法

8、不輸出信號對其偏差進(jìn)行調(diào)整,所以微分算法不能單獨使用,它只關(guān)心偏差的變化速度,不考慮是否有偏 差(偏差變化率為0時偏差不一定是0) .但是微分算法能獲得控制對象近期的變化趨勢, 它可以協(xié)助輸出信號盡早的抑制控制對象的變化。可以理解為將要有劇烈變化時就大幅度調(diào) 整輸出信號進(jìn)行抑制,避免了控制對象的大幅度變化。以上三種算法綜合起來產(chǎn)生一個當(dāng)前的控制量對控制對象進(jìn)行控制,它們的優(yōu)缺點互補, 即形成經(jīng)典的 PID 算法。2.PID 算法數(shù)學(xué)模型OUT= POUT+ IOUT+ DOUT即:OUT=(KP*Ek)+ OutO)+ kp*Fxdt)+Outo(KpFTdge/cit)+OiitO)耳 f

9、電11 屮 J整理該式子得到:將各項的OutO歸并為OUTO。3.PID 算法在單片機(jī)中的應(yīng)用PID 算法在單片機(jī)中應(yīng)用時,對積分和微分項可以作近似變換 對于積分項可改寫成:nI =l/TiEk*Tk=O即用過去一段時間的采樣點的偏差值的代數(shù)和的代替積分。T是采樣周期,也叫控制周期,每隔T時間段進(jìn)行一次PID計算。對于微分項可改寫成:D=TD*(Ek-Ek-1)/T)Ek:本次偏差,Ek-1上次的偏差值位置式PID算法數(shù)學(xué)模型由此可得到單片機(jī)中PID算法的表達(dá)式:OUT=kp( Ek+ ( (1/Ti) Exdt)+ (Td(de/dt)+OUT0=OUT=nKp(E n+(1/TiEk*T)

10、+(TD*(Ek-Ek-1)/T)+outOk=0進(jìn)一步展開得:nOUT=(Kp*Ek) + (Kp*(T/Ti)Ek) +(Kp*(TD/T)(EK-Ek-1) +OUT0k=O令 Ki= Kp*(T/Ti);KD=(Kp*(TD/T)故:nOUT=(Kp*Ek) + (KiEk) +(KD(EK-Ek-1) +OUT0k=0程序設(shè)計時利用C語言或匯編語言可以方便實現(xiàn)這個計算公式。OUT即為本次運算的結(jié)果,利用OUT可以去驅(qū)動執(zhí)行機(jī)構(gòu)輸出對應(yīng)的控制信號,例如溫度控制就可以控制PWM的寬度,電磁閥就可以改變電磁線圈電流以改變閥門開度,或者是可控硅的導(dǎo)通角度等;這種PID算法計算出的結(jié)果(OUT

11、值)表示當(dāng)前控制器應(yīng)該輸出的控制量,所以稱為位置式(直接輸出了執(zhí)行機(jī)構(gòu)應(yīng)該達(dá)到的狀態(tài)值)。3)增量式PID算法位置式PID算法計算量較大,比較消耗處理器的資源。在有些控制系統(tǒng)中,執(zhí)行機(jī)構(gòu)本身沒有記憶功能,比如 MOS管是否導(dǎo)通完全取決于控制極電壓,可控硅是否導(dǎo)通取決于觸發(fā)信號,繼電器是否接通取決于線圈電流等,只要控制信號丟失,執(zhí)行機(jī)構(gòu)就停止,在這些應(yīng)用中應(yīng)該采用位置式PID。也有一些執(zhí)行機(jī)構(gòu)本身具有記憶功能,比如步進(jìn)電機(jī),即使控制信號丟失,由于其自身 的機(jī)械結(jié)構(gòu)會保持在原來的位置等,在這些控制系統(tǒng)中, PID 算法沒有必要輸出本次應(yīng)該到達(dá)的真實位置,只需要說明 應(yīng)該在上次的基礎(chǔ)上對輸出信號做多

12、大的修正(可正可負(fù))即可,這就是增量式PID算法。增量式 PID 計算出的是應(yīng)該在當(dāng)前控制信號上的調(diào)整值,如果計算出為正,則增強輸出 信號;如果計算出為負(fù)則減弱輸出信號。增量式 PID 算法數(shù)學(xué)模型:如果用0UTK-1表示上次的輸出控制信號值,那么當(dāng)前的輸出值應(yīng)該為OUTk,這兩者之間的關(guān)系為:OUTK=OUTk-1 + OUTOUT即為應(yīng)該輸出的增量值;上式變形得:OUT= OUTK- OUTk-1本次的位置式算法輸出:nOUTk=(Kp*Ek)+ (KiEk) +(KD(EK-Ek-1) +OUT0 -1 式k=0上次的位置式算法輸出:n-1OUTk-1=(Kp*Ek-1) +(KiEk)

13、 +(KD(EK-1-Ek-2) +OUT0 -2 式k=0上述1 式減2 式即得到相鄰兩次的增量:如前所述:Ki= Kp*(T/Ti);KD=(Kp*(TD/T)OUT= OUTK- OUTk-1 =kp(EK-EK-1)+(Kp*T)/Ti)Ek+(Kp*TD)/T)*(Ek-2Ek-1+Ek-2)EK: 本次的偏差;Ek-1:上次的偏差Ek-2:上上次的偏差Kp : 算法增益調(diào)節(jié)Ti : 積分時間TD: 微分時間常數(shù)結(jié)論:增量式PID的計算只需要最近3次的偏差(本次偏差,上次偏差,上上次偏差),不需要 處理器存儲大量的歷史偏差值,計算量也相對較少,容易實現(xiàn)。4)關(guān)于 Ti 和 TD 的理解:在PID控制算法中,當(dāng)前的輸出信號由比例項,積分項,微分項共同作用形成,當(dāng)比例項輸出不為0 時,如果積分項對運算輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論