PID_控制參數(shù)如何設定調節(jié)_第1頁
PID_控制參數(shù)如何設定調節(jié)_第2頁
PID_控制參數(shù)如何設定調節(jié)_第3頁
PID_控制參數(shù)如何設定調節(jié)_第4頁
PID_控制參數(shù)如何設定調節(jié)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、PID 控制參數(shù)如何設定調節(jié)PID控制簡介         目前工業(yè)自動化水平已成為衡量各行各業(yè)現(xiàn)代化水平的一個重要標志。同時,控制理論的發(fā)展也經(jīng)歷了古典控制理論、現(xiàn)代控制理論和智能控制理論三個階段。智能控制的典型實例是模糊全自動洗衣機等。自動控制系統(tǒng)可分為開環(huán)控制系統(tǒng)和閉環(huán)控制系統(tǒng)。一個控控制系統(tǒng)包括控制器傳感器變送器執(zhí)行機構輸入輸出接口。控制器的輸出經(jīng)過輸出接口執(zhí)行機構加到被控系統(tǒng)上控制系統(tǒng)的被控量經(jīng)過傳感器變送器通過輸入接口送到控制器。不同的控制系統(tǒng)其傳感器 變送器執(zhí)行機構是不一樣的。比如壓力控制系統(tǒng)要采用壓

2、力傳感器。電加熱控制系統(tǒng)的傳感器是溫度傳感器。目前,PID控制及其控制器或智能PID控制器(儀表)已經(jīng)很多,產(chǎn)品已在工程實際中得到了廣泛的應用,有各種各樣的PID控制器產(chǎn)品,各大公司均開發(fā)了具有PID參數(shù)自整定功能的智能調節(jié)器 (intelligent regulator),其中PID控制器參數(shù)的自動調整是通過智能化調整或自校正、自適應算法來實現(xiàn)。有利用PID控制實現(xiàn)的壓力、溫度、流量、液位控制器,能實現(xiàn)PID控制功能的可編程控制器(PLC),還有可實現(xiàn)PID控制的PC系統(tǒng)等等??删幊炭刂破?PLC)是利用其閉環(huán)控制模塊來實現(xiàn)PID控制,而可編程控制器(PLC)可以直接與ControlNet相

3、連。還有可以實現(xiàn)PID 控制功能的控制器,如Rockwell 的Logix產(chǎn)品系列,可以直接與ControlNet相連,利用網(wǎng)絡實現(xiàn)其遠程控制功能。 1、開環(huán)控制系統(tǒng)開環(huán)控制系統(tǒng)(open-loop control system)指被控對象的輸出(被控制量)對控制器(controller)的輸出沒有影響。在這種控制系統(tǒng)中,不依賴將被控量反送回來以形成任何閉環(huán)回路。 2、閉環(huán)控制系統(tǒng)閉環(huán)控制系統(tǒng)(closed-loop control system)的特點是系統(tǒng)被控對象的輸出(被控制量)會反送回來影響控制器的輸出,形成一個或多個閉環(huán)。閉環(huán)控制系統(tǒng)有正反饋和負反饋,若反饋信號與系統(tǒng)給定值信號相反,

4、則稱為負反饋( Negative Feedback),若極性相同,則稱為正反饋,一般閉環(huán)控制系統(tǒng)均采用負反饋,又稱負反饋控制系統(tǒng)。閉環(huán)控制系統(tǒng)的例子很多。比如人就是一個具有負反饋的閉環(huán)控制系統(tǒng),眼睛便是傳感器,充當反饋,人體系統(tǒng)能通過不斷的修正最后作出各種正確的動作。如果沒有眼睛,就沒有了反饋回路,也就成了一個開環(huán)控制系統(tǒng)。另例,當一臺真正的全自動洗衣機具有能連續(xù)檢查衣物是否洗凈,并在洗凈之后能自動切斷電源,它就是一個閉環(huán)控制系統(tǒng)。3、階躍響應階躍響應是指將一個階躍輸入(step function)加到系統(tǒng)上時,系統(tǒng)的輸出。穩(wěn)態(tài)誤差是指系統(tǒng)的響應進入穩(wěn)態(tài)后系統(tǒng)的期望輸出與實際輸出之差??刂葡到y(tǒng)

5、的性能可以用穩(wěn)、準、快三個字來描述。穩(wěn)是指系統(tǒng)的穩(wěn)定性(stability),一個系統(tǒng)要能正常工作,首先必須是穩(wěn)定的,從階躍響應上看應該是收斂的準是指控制系統(tǒng)的準確性、控制精度,通常用穩(wěn)態(tài)誤差來(Steady-state error) 描述,它表示系統(tǒng)輸出穩(wěn)態(tài)值與期望值之差快是指控制系統(tǒng)響應的快速性,通常用上升時間來定量描述。4、PID控制的原理和特點在工程實際中,應用最為廣泛的調節(jié)器控制規(guī)律為比例、積分、微分控制,簡稱PID控制,又稱PID調節(jié)。PID控制器問世至今已有近70年歷史,它以其結構簡單、穩(wěn)定性好、工作可靠、調整方便而成為工業(yè)控制的主要技術之一。當被控對象的結構和參數(shù)不能完全掌握,

6、或得不到精確的數(shù)學模型時,控制理論的其它技術難以采用時,系統(tǒng)控制器的結構和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調試來確定,這時應用PID控制技術最為方便。即當我們不完全了解一個系統(tǒng)和被控對象或不能通過有效的測量手段來獲得系統(tǒng)參數(shù)時,最適合用PID控制技術。PID控制,實際中也有PI和PD控制。PID控制器就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計算出控制量進行控制的。比例(P)控制比例控制是一種最簡單的控制方式。其控制器的輸出與輸入誤差信號成比例關系。當僅有比例控制時系統(tǒng)輸出存在穩(wěn)態(tài)誤差(Steady-state error)。積分(I)控制在積分控制中,控制器的輸出與輸入誤差信號的積分成正比關系。對一個自

7、動控制系統(tǒng),如果在進入穩(wěn)態(tài)后存在穩(wěn)態(tài)誤差,則稱這個控制系統(tǒng)是有穩(wěn)態(tài)誤差的或簡稱有差系統(tǒng)(System with Steady-state Error)。為了消除穩(wěn)態(tài)誤差,在控制器中必須引入“積分項”。積分項對誤差取決于時間的積分,隨著時間的增加,積分項會增大。這樣,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩(wěn)態(tài)誤差進一步減小,直到等于零。因此,比例+積分(PI)控制器,可以使系統(tǒng)在進入穩(wěn)態(tài)后無穩(wěn)態(tài)誤差。微分(D)控制在微分控制中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關系。自動控制系統(tǒng)在克服誤差的調節(jié)過程中可能會出現(xiàn)振蕩甚至失穩(wěn)。其原因是由于存在有

8、較大慣性組件(環(huán)節(jié))或有滯后(delay)組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差的作用的變化“超前”,即在誤差接近零時,抑制誤差的作用就應該是零。這就是說,在控制器中僅引入“比例”項往往是不夠的,比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預測誤差變化的趨勢,這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負值,從而避免了被控量的嚴重超調。所以對有較大慣性或滯后的被控對象,比例+微分(PD)控制器能改善系統(tǒng)在調節(jié)過程中的動態(tài)特性。5、PID控制器的參數(shù)整定PID控制器的參數(shù)整定是控制系統(tǒng)設計的核心內容。它是根

9、據(jù)被控過程的特性確定PID控制器的比例系數(shù)、積分時間和微分時間的大小。PID控制器參數(shù)整定的方法很多,概括起來有兩大類:一是理論計算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學模型,經(jīng)過理論計算確定控制器參數(shù)。這種方法所得到的計算數(shù)據(jù)未必可以直接用,還必須通過工程實際進行調整和修改。二是工程整定方法,它主要依賴工程經(jīng)驗,直接在控制系統(tǒng)的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。PID控制器參數(shù)的工程整定方法,主要有臨界比例法、反應曲線法和衰減法。三種方法各有其特點,其共同點都是通過試驗,然后按照工程經(jīng)驗公式對控制器參數(shù)進行整定。但無論采用哪一種方法所得到的控制器參數(shù),都需要在實際運行中進行最

10、后調整與完善?,F(xiàn)在一般采用的是臨界比例法。利用該方法進行PID控制器參數(shù)的整定步驟如下:(1)首先預選擇一個足夠短的采樣周期讓系統(tǒng)工作(2)僅加入比例控制環(huán)節(jié),直到系統(tǒng)對輸入的階躍響應出現(xiàn)臨界振蕩,記下這時的比例放大系數(shù)和臨界振蕩周期(3)在一定的控制度下通過公式計算得到PID控制器的參數(shù)。PID參數(shù)的設定:是靠經(jīng)驗及工藝的熟悉,參考測量值跟蹤與設定值曲線,從而調整PID的大小。PID控制器參數(shù)的工程整定,各種調節(jié)系統(tǒng)中P.I.D參數(shù)經(jīng)驗數(shù)據(jù)以下可參照:溫度T: P=2060%,T=180600s,D=3-180s壓力P: P=3070%,T=24180s,液位L: P=2080%,T=603

11、00s,流量L: P=40100%,T=660s。書上的常用口訣:參數(shù)整定找最佳,從小到大順序查先是比例后積分,最后再把微分加曲線振蕩很頻繁,比例度盤要放大曲線漂浮繞大灣,比例度盤往小扳曲線偏離回復慢,積分時間往下降曲線波動周期長,積分時間再加長曲線振蕩頻率快,先把微分降下來動差大來波動慢。微分時間應加長理想曲線兩個波,前高后低4比1一看二調多分析,調節(jié)質量不會低         這里介紹一種經(jīng)驗法。這種方法實質上是一種試湊法,它是在生產(chǎn)實踐中總結出來的行之有效的方法,并在現(xiàn)場中得到了廣泛的應用。這種方法的基本程序

12、是先根據(jù)運行經(jīng)驗,確定一組調節(jié)器參數(shù),并將系統(tǒng)投入閉環(huán)運行,然后人為地加入階躍擾動(如改變調節(jié)器的給定值),觀察被調量或調節(jié)器輸出的階躍響應曲線。若認為控制質量不滿意,則根據(jù)各整定參數(shù)對控制過程的影響改變調節(jié)器參數(shù)。這樣反復試驗,直到滿意為止。       經(jīng)驗法簡單可靠,但需要有一定現(xiàn)場運行經(jīng)驗,整定時易帶有主觀片面性。當采用PID調節(jié)器時,有多個整定參數(shù),反復試湊的次數(shù)增多,不易得到最佳整定參數(shù)。下面以PID調節(jié)器為例,具體說明經(jīng)驗法的整定步驟:讓調節(jié)器參數(shù)積分系數(shù)S0=0,實際微分系數(shù)k=0,控制系統(tǒng)投入閉環(huán)運行,由小到大改變比

13、例系數(shù)S1,讓擾動信號作階躍變化,觀察控制過程,直到獲得滿意的控制過程為止。取比例系數(shù)S1為當前的值乘以0.83,由小到大增加積分系數(shù)S0,同樣讓擾動信號作階躍變化,直至求得滿意的控制過程。(3)積分系數(shù)S0保持不變,改變比例系數(shù)S1,觀察控制過程有無改善,如有改善則繼續(xù)調整,直到滿意為止。否則,將原比例系數(shù)S1增大一些,再調整積分系數(shù)S0,力求改善控制過程。如此反復試湊,直到找到滿意的比例系數(shù)S1和積分系數(shù)S0為止。引入適當?shù)膶嶋H微分系數(shù)k和實際微分時間TD,此時可適當增大比例系數(shù)S1和積分系數(shù)S0。和前述步驟相同,微分時間的整定也需反復調整,直到控制過程滿意為止。注意:仿真系統(tǒng)所采用的PI

14、D調節(jié)器與傳統(tǒng)的工業(yè) PID調節(jié)器有所不同,各個參數(shù)之間相互隔離,互不影響,因而用其觀察調節(jié)規(guī)律十分方便。PID參數(shù)是根據(jù)控制對象的慣量來確定的。大慣量如:大烘房的溫度控制,一般P可在10以上,I=3-10,D=1左右。小慣量如:一個小電機帶一水泵進行壓力閉環(huán)控制,一般只用PI控制。P=1-10,I=0.1-1,D=0,這些要在現(xiàn)場調試時進行修正的。提供一種增量式PID供參考U(k)=Ae(k)-Be(k-1)+Ce(k-2)A=Kp(1+T/Ti+Td/T)B=Kp(1+2Td/T)C=KpTd/TT采樣周期 Td微分時間 Ti積分時間用上面的算法可以構造自己的PID算法。U(K)=U(K-

15、1)+U(K)file:/F|/共享之家/PID處理程序.txt/*=這是從網(wǎng)上找來的一個比較典型的PID處理程序,在使用單片機作為控制cpu時,請稍作簡化,具體的PID參數(shù)必須由具體對象通過實驗確定。由于單片機的處理速度和ram資源的限制,一般不采用浮點數(shù)運算,而將所有參數(shù)全部用整數(shù),運算到最后再除以一個2的N次方數(shù)據(jù)(相當于移位),作類似定點數(shù)運算,可大大提高運算速度,根據(jù)控制精度的不同要求,當精度要求很高時,注意保留移位引起的“余數(shù)”,做好余數(shù)補償。這個程序只是一般常用pid算法的基本架構,沒有包含輸入輸出處理部分。=*/#include <string.h>#include

16、 <stdio.h>/*=PID FunctionThe PID (比例、積分、微分) function is used in mainlycontrol applications. PIDCalc performs one iteration of the PIDalgorithm.While the PID function works, main is just a dummy program showinga typical usage.=*/typedef struct PID double SetPoint; / 設定目標 Desired Valuedouble Pro

17、portion; / 比例常數(shù) Proportional Constdouble Integral; / 積分常數(shù) Integral Constdouble Derivative; / 微分常數(shù) Derivative Constdouble LastError; / Error-1double PrevError; / Error-2double SumError; / Sums of Errors PID;/*=PID計算部分=*/double PIDCalc( PID *pp, double NextPoint )file:/F|/共享之家/PID處理程序.txtdouble dError

18、,Error;Error = pp->SetPoint - NextPoint; / 偏差pp->SumError += Error; / 積分dError = pp->LastError - pp->PrevError; / 當前微分pp->PrevError = pp->LastError;pp->LastError = Error;return (pp->Proportion * Error / 比例項+ pp->Integral * pp->SumError / 積分項+ pp->Derivative * dError

19、/ 微分項);/*=Initialize PID Structure=*/void PIDInit (PID *pp)memset ( pp,0,sizeof(PID);/*=Main Program=*/double sensor (void) / Dummy Sensor Functionreturn 100.0;void actuator(double rDelta) / Dummy Actuator Functionvoid main(void)PID sPID; / PID Control Structuredouble rOut; / PID Response (Output)do

20、uble rIn; / PID Feedback (Input)PIDInit ( &sPID ); / Initialize StructuresPID.Proportion = 0.5; / Set PID CoefficientssPID.Integral = 0.5;sPID.Derivative = 0.0;sPID.SetPoint = 100.0; / Set PID Setpointfor (;) / Mock Up of PID ProcessingrIn = sensor (); / Read InputrOut = PIDCalc ( &sPID,rIn

21、); / Perform PID Interationactuator ( rOut ); / Effect Needed Changes#include <hidef.h>      /* common defines and macros */#include "derivative.h"      /* derivative-specific definitions */#include <mc9s12xs128.h>/定義PID參數(shù)#define VV_KPVAL

22、UE 3       /比例#define VV_KIVALUE 40     /積分#define VV_KDVALUE 3     /微分#define VV_MAX 10000       /返回的最大值,是pwm的周期值#define VV_MIN 0#define VV_DEADLINE 0X08   /速度PID,設置死區(qū)范圍typedef struct PID     &#

23、160; /定義數(shù)法核心數(shù)據(jù)signed int vi_Ref;      /速度PID,速度設定值signed int vi_FeedBack;  /速度PID,速度反饋值signed long vi_PreError;  /速度PID,前一次,速度誤差,vi_Ref - vi_FeedBacksigned long vi_PreDerror; /速度PID,前一次,速度誤差之差,d_error-PreDerror;unsigned int v_Kp;      /速度PI

24、D,Ka = Kpunsigned int v_Ki;      /速度PID,Kb = Kp * ( T / Ti )unsigned int v_Kd;      /速度PID,  signed long vl_PreU;    /電機控制輸出值 PID;PID  sPID;                /  PID Control

25、 Structurevoid PIDInit(void) sPID.vi_Ref = 0 ;        /速度設定值sPID.vi_FeedBack = 0 ;  /速度反饋值 sPID.vi_PreError = 0 ;   /前一次,速度誤差,vi_Ref - vi_FeedBacksPID.vi_PreDerror = 0 ;   /前一次,速度誤差之差,d_error-PreDerror;sPID.v_Kp = VV_KPVALUE;sPID.v_Ki

26、= VV_KIVALUE;sPID.v_Kd = VV_KDVALUE;  sPID.vl_PreU = 0 ;      /電機控制輸出值                                   unsigned int v_PIDCalc( PID *pp )signed long&

27、#160; error,d_error,dd_error;   error = (signed long)(pp->vi_Ref - pp->vi_FeedBack); / 偏差計算     d_error = error - pp->vi_PreError;  dd_error = d_error - pp->vi_PreDerror;  pp->vi_PreError = error; /存儲當前偏差pp->vi_PreDerror = d_er

28、ror;if( ( error < VV_DEADLINE ) && ( error > -VV_DEADLINE ) ); /設置調節(jié)死區(qū)              /速度PID計算  pp->vl_PreU += (signed long)(  pp -> v_Kp * d_error + pp -> v_Ki * error  + pp->v_Kd*dd_error); 

29、;else if( pp->vl_PreU >= VV_MAX )   /速度PID,防止調節(jié)最高溢出  pp->vl_PreU = VV_MAX;  else if( pp->vl_PreU <= VV_MIN ) /速度PID,防止調節(jié)最低溢出   pp->vl_PreU = VV_MIN; else;   return ( pp->vl_PreU  );  / 返回預調節(jié)占空比void main(void)

30、  /* put your own code here */   InitMCu();     IncPIDInit();int g_CurrentVelocity=0;   /全局變量也初始化int g_Flag=0;                /全局變量也初始化EnableInterrupts;  While(1)   if (g_Flag&&vi_Fe

31、edBack)                PWMOUT+=  v_PIDCalc( PID *pp );            g_Flag&= vi_FeedBack;  for(;)     _FEED_COP(); /* feeds the dog */   /* loop forever */  /

32、* please make sure that you never leave main */ PID控制器參數(shù)選擇的方法很多,例如試湊法、臨界比例度法、擴充臨界比例度法等。但是,對于PID控制而言,參數(shù)的選擇始終是一件非常煩雜的工作,需要經(jīng)過不斷的調整才能得到較為滿意的控制效果。依據(jù)經(jīng)驗,一般PID參數(shù)確定的步驟如下:(1) 確定比例系數(shù)Kp確定比例系數(shù)Kp時,首先去掉PID的積分項和微分項,可以令Ti=0、Td=0,使之成為純比例調節(jié)。輸入設定為系統(tǒng)允許輸出最大值的6070,比例系數(shù)Kp由0開始逐漸增大,直至系統(tǒng)出現(xiàn)振蕩;再反過來,從此時的比例系數(shù)Kp逐漸減小,直至系統(tǒng)振蕩消失。記錄此時的比例系數(shù)Kp,設定PID的比例

溫馨提示

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

評論

0/150

提交評論