PID控制詳解課件_第1頁
PID控制詳解課件_第2頁
PID控制詳解課件_第3頁
PID控制詳解課件_第4頁
PID控制詳解課件_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 PID控制詳解主要內(nèi)容:1.常用的控制算法與PID控制算法的異同點;2.PID控制算法的理論分析3.基于單片機(jī)的PID算法實現(xiàn)4.PID算法的工程應(yīng)用的一些注意事項5.演示板電路分析6.PID算法C語言實現(xiàn)-基于ARM-CortexM3(STM32)的增量式PID溫度控制 一、常用的控制算法:1.控制系統(tǒng)的基本結(jié)構(gòu): 控制目的: 控制的根本目的就是要使控制對象當(dāng)前的狀態(tài)值與用戶的設(shè)定值相同(最大限度的接近)?;舅枷耄?用戶設(shè)定值SV與被控制對象當(dāng)前的值PV兩者同時送入由特定硬件電路模型或特定的軟件算法組成的控制算法邏輯中,利用不同的控制算法對SV和PV進(jìn)行分析、判斷、處理,從而產(chǎn)生當(dāng)前應(yīng)該

2、輸出的控制信號OUT,控制信號經(jīng)過執(zhí)行機(jī)構(gòu)施加到控制對象上,從而產(chǎn)生預(yù)期的控制效果。2.常用控制算法:-位式控制 1).二位式控制算法特點: a.二位式控制算法輸出的控制量只有高低2種狀態(tài)。 b.執(zhí)行機(jī)構(gòu)使控制對象要不全額工作,要不就停止工作。當(dāng)PV低于SV時全額工作,PV大于或等于SV時就徹底停止工作。如果控制對象是一個1000W的加熱器,溫度不到時就1000W全功率運行,溫度達(dá)到時就停止工作。 c.由于環(huán)境因素或控制系統(tǒng)傳輸延時或者控制對象本身的慣性等因素,控制效果往往是PV在SV的上下有一個較大的波動。 d.在PV接近SV的臨界點時,控制輸出信號OUT往往在H和L之間頻繁轉(zhuǎn)換,導(dǎo)致執(zhí)行部

3、件的觸點頻繁開關(guān)動作,易產(chǎn)生干擾及縮短執(zhí)行部件的壽命。 2).具有回差的二位式控制算法特點: a. 取SV的正負(fù)10%左右作為回差調(diào)節(jié)上下限,高于上限才開始輸出L,低于下限才開始輸出H; b.避免了一般二位式控制算法在臨界點時執(zhí)行部件頻繁動作。 c.因為控制對象只有全額運行或不運行兩種狀態(tài),仍然存在一般二位式控制算法的缺點:PV總是在SV附近波動。 3).三位式控制算法特點:在二位式控制的基礎(chǔ)上對控制對象的功率分成0功率(停止工作)、半功率、全功率三種情況(即三位)。 當(dāng)前值低于設(shè)定值一定比例(一般10%)時OUT1和OUT2同時起控制作用,控制對象全功率運行; 當(dāng)前值在設(shè)定值的正負(fù)10%范圍

4、時,OUT1單獨作用,工作于半功率狀態(tài); 當(dāng)前值達(dá)到或超過設(shè)定值時OUT1和OUT2都停止輸出,控制對象停止工作。 相對一般二位式控制算法,三位式算法對控制對象的當(dāng)前狀態(tài)值做了簡單的分析,并根據(jù)不同的當(dāng)前狀態(tài)值輸出不同的控制信號。能夠較好的對輸出產(chǎn)生控制效果。小結(jié):位式控制的主要特征: 1.控制算法只關(guān)注控制當(dāng)前的狀態(tài)值(PV)與設(shè)定值之間的差值-二者當(dāng)前有差值就輸出控制信號,二者當(dāng)前無差值就不輸出控制信號。 2.位式控制算法的輸出信號狀態(tài)單一,只輸出了高低兩種狀態(tài),這兩種狀態(tài)對應(yīng)著控制對象的工作與不工作-如果是溫度控制系統(tǒng),就是加熱器加熱與不加熱。 3.由于控制系統(tǒng)自身的延時或者控制對象自身

5、的慣性,位式控制算法只能使控制對象當(dāng)前的狀態(tài)值在設(shè)定值附件波動,不能很好的跟蹤在設(shè)定值的附近甚至相等。 二、PID控制算法1.PID控制算法的基本思想 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ù)情況隨時改變輸

6、出的目的。2.PID算法分析: 設(shè)某控制系統(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之間的差值:Ek Ek =Sv - Xk 分析Ek: >0:說明當(dāng)前狀態(tài)值未達(dá)標(biāo) Ek

7、 =0:說明當(dāng)前控制狀態(tài)值正好滿足要求 <0:說明當(dāng)前狀態(tài)值已經(jīng)超標(biāo) 結(jié)論:Ek反應(yīng)了控制對象當(dāng)前值與設(shè)定值的偏差程度,可以根據(jù)Ek的大小對輸出信號OUT進(jìn)行調(diào)整:偏差程度大OUT增大,偏差程度小OUT減小。即輸出信號的強(qiáng)弱與當(dāng)前偏差程度的大小成比例,所以根據(jù)Ek的大小來給出控制信號OUT的當(dāng)前值的算法稱為比例控制(Proportion)。用數(shù)學(xué)模型可以表示為: POUT=(Kp*Ek)+ Out0 Kp:一般稱之為比例系數(shù),可以理解為硬件上的放大器(或衰減器),適當(dāng)選取Kp將當(dāng)前誤差值Ek按一定的增益放大或縮小,以提高控制算法的相應(yīng)速度。 Out0:是一個常數(shù),目的是為了當(dāng)Ek為0時,

8、確保輸出信號不為0,以不至于在當(dāng)前值與設(shè)定值相等時控制器輸出信號OUT為0,系統(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,=0這三種可能的值,因為從開機(jī)到現(xiàn)在,控制算法不斷輸出控制信號對被控對象進(jìn)行控制,導(dǎo)致了過

9、去這段時間有時候超標(biāo)(Ex<0),有些時候未達(dá)標(biāo)(Ex>0),有時候正好滿足要求(Ex=0);如果將這些偏差值進(jìn)行累加求代數(shù)和得到Sk,即: Sk=E1+E2+E3+.+Ek-2+Ek-1+Ek分析Sk: >0: 過去大多數(shù)時候未達(dá)標(biāo) Sk =0:過去控制效果較理想 <0: 過去大多數(shù)時候已經(jīng)超標(biāo) 結(jié)論:1.通過對Sk的分析,可以對控制算法過去的控制效果進(jìn)行綜合評估。體現(xiàn)了控制算法按照原來的方式輸出的控制信號導(dǎo)致了現(xiàn)在的控制結(jié)果,所以應(yīng)該利用這個值來對當(dāng)前要輸出的控制信號OUT進(jìn)行修正,以確保控制對象會在將來的一小段時間盡快達(dá)到用戶設(shè)定的值。 2.Sk實際上是過去每個時

10、間點的誤差相加,與數(shù)學(xué)上的定積分運算類似,因此根據(jù)Sk對輸出信號進(jìn)行調(diào)節(jié)的算法稱積分(integral)算法。所以積分控制的數(shù)學(xué)模型為: IOUT=(kp* ( (1/Ti) Exdt)+Out0 Kp是一常數(shù),其目的類似硬件上的放大器,用于將Sk放大或衰減; Out0是一常數(shù),為了在歷史積分偏差值為0時確保系統(tǒng)有一個輸出值,避免失控; Ti 是積分時間常數(shù),取值越大會導(dǎo)致輸出量OUT會越小,可理解為歷史上已經(jīng)很久的誤差值都影響了當(dāng)前的輸出信號。取值越小,輸出OUT會越強(qiáng)烈,可理解為積分只考慮了最近一段時間的誤差。 實際中,如果系統(tǒng)已經(jīng)運行“很長”一段時間了,那些早期采樣的偏差值可以忽略他們對

11、當(dāng)前控制的影響,所以應(yīng)該根據(jù)情況選擇合理的Ti值方能得到良好的控制效果。 最近兩次的偏差之差 Dk Dk=Ek-Ek-1 說明: Ek: 當(dāng)前的偏差 Ek-1: 基于當(dāng)前的前一個采樣時刻的偏差值 (即上一次的偏差值); 分析Dk: >0:說明從上一采樣時刻到當(dāng)前誤差有增大趨勢 Dk =0:說明從上一采樣時刻到當(dāng)前誤差平穩(wěn) <0:說明從上一采樣時刻到當(dāng)前誤差有減小趨勢 Dk>0 Dk=0 Dk<0 Ek-1 Ek Ek-1 Ek Ek-1 Ek 結(jié)論: 1. Dk能夠說明從上次采樣到當(dāng)前采樣的這段時間被控制對象的狀態(tài)變化趨勢,這種變化的趨勢很可能會在一定程度上延續(xù)到下一個

12、采樣時間點,所以可以根據(jù)這個變化趨勢(Dk的值)對輸出信號OUT進(jìn)行調(diào)整,達(dá)到提前控制的目的。 2. Dk形如數(shù)學(xué)上的微分運算,反應(yīng)了控制對象在一段時間內(nèi)的變化趨勢及變化量,所以利用Dk對控制器輸出信號進(jìn)行調(diào)節(jié)的算法稱為微分(differential)算法??梢杂脭?shù)學(xué)模型表達(dá)為: DOUT=Kp*(Td(de/dt)+Out0 Kp:為一常數(shù),可理解為硬件上的放大器或衰減器,用于對輸出信號OUT的增益進(jìn)行調(diào)整; Out0:為一常數(shù),為了在Dk為0時確保OUT都有一個穩(wěn)定的控制值,避免失控。 Td:叫微分時間常數(shù),(猶如硬件上電感器的自感系數(shù))Td越大導(dǎo)致OUT增大,對輸出信號產(chǎn)生強(qiáng)烈的影響。3

13、>PID算法的形成1.比例、積分、微分三種算法的優(yōu)缺點分析:POUT=(Kp*Ek)+ Out0 -比例算法IOUT=kp* ( (1/Ti) Exdt)+Out0 -積分算法DOUT=Kp*(Td(de/dt)+Out0 -微分算法比例算法: 只考慮控制對象當(dāng)前誤差,當(dāng)前有誤差才輸出控制信號,當(dāng)前沒有誤差就不輸出控制信號,也就是說只要偏差已經(jīng)產(chǎn)生了比例算法才采取措施進(jìn)行調(diào)整,所以單獨的比例算法不可能將控制對象的狀態(tài)值控制在設(shè)定值上,始終在設(shè)定值上下波動;但是比例控制反應(yīng)靈敏,有誤差馬上就反應(yīng)到輸出。積分算法:考慮了被控制對象的歷史誤差情況,過去的誤差狀況參與了當(dāng)前的輸出控制,但是在系統(tǒng)

14、還沒有達(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),微分算法不輸出信號對其偏差進(jìn)行調(diào)整,所以微分算法不能單獨使用,它只關(guān)心偏差的變化速度,不考慮是否有偏差(偏差變化率為0時偏差不一定是0).但是微分算法能獲得控制對象近期的變化趨勢,它可以協(xié)助輸出信號盡早的抑制控制對象的變化??梢岳斫鉃閷⒁袆×易兓瘯r就大

15、幅度調(diào)整輸出信號進(jìn)行抑制,避免了控制對象的大幅度變化。 以上三種算法綜合起來產(chǎn)生一個當(dāng)前的控制量對控制對象進(jìn)行控制,它們的優(yōu)缺點互補(bǔ),即形成經(jīng)典的PID算法。 2.PID算法數(shù)學(xué)模型 OUT= POUT+ IOUT+ DOUT即:OUT=(Kp*Ek)+ Out0)+(kp* ( (1/Ti) Exdt)+Out0)+ (Kp*(Td(de/dt)+Out0)整理該式子得到:將各項的Out0歸并為OUT0。OUT=kp( Ek+ ( (1/Ti) Exdt)+ (Td(de/dt)+OUT03.PID算法在單片機(jī)中的應(yīng)用 1) PID算法在單片機(jī)中應(yīng)用時,對積分和微分項可以作近似變換:對于積分

16、項可改寫成: n I =1/TiEk*T k=0即用過去一段時間的采樣點的偏差值的代數(shù)和的代替積分。 T是采樣周期,也叫控制周期,每隔T時間段進(jìn)行一次PID計算。對于微分項可改寫成: D=TD*(Ek-Ek-1)/T) Ek:本次偏差,Ek-1上次的偏差值2)位置式PID算法數(shù)學(xué)模型由此可得到單片機(jī)中PID算法的表達(dá)式: OUT=kp( Ek+ ( (1/Ti) Exdt)+ (Td(de/dt)+OUT0 => OUT= nKp(En+(1/TiEk*T)+(TD*(Ek-Ek-1)/T)+out0 k=0進(jìn)一步展開得: nOUT=(Kp*Ek) + (Kp*(T/Ti)Ek) + (

17、Kp*(TD/T)(EK-Ek-1) +OUT0 k=0令 Ki= Kp*(T/Ti); KD=(Kp*(TD/T) 故: nOUT=(Kp*Ek) + (KiEk) + (KD(EK-Ek-1) +OUT0 k=0程序設(shè)計時利用C語言或匯編語言可以方便實現(xiàn)這個計算公式。OUT即為本次運算的結(jié)果,利用OUT可以去驅(qū)動執(zhí)行機(jī)構(gòu)輸出對應(yīng)的控制信號,例如溫度控制就可以控制PWM的寬度,電磁閥就可以改變電磁線圈電流以改變閥門開度,或者是可控硅的導(dǎo)通角度等;這種PID算法計算出的結(jié)果(OUT值)表示當(dāng)前控制器應(yīng)該輸出的控制量,所以稱為位置式(直接輸出了執(zhí)行機(jī)構(gòu)應(yīng)該達(dá)到的狀態(tài)值)。3)增量式PID算法 位

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

溫馨提示

  • 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

提交評論