PID算法是工程控制領(lǐng)域常用的一種算法,其有著技術(shù)成熟,不需要建立數(shù)學(xué)模型,參數(shù)整定靈活,適用性強(qiáng),魯棒性強(qiáng),控制效果好等優(yōu)點(diǎn),得到了廣泛的應(yīng)用,其參數(shù)整定對(duì)控制效果影響極大,針對(duì)增量式的PID的參數(shù)整定方法在現(xiàn)有的文獻(xiàn)中較少涉及。
PID分位置式PID和增量式PID兩種,由于位置式PID控制的輸出與整個(gè)過去的狀態(tài)有關(guān),用到了誤差的累加值;而增量式PID的輸出只與當(dāng)前狀態(tài)和前兩狀態(tài)的誤差有關(guān),因此位置式PID控制的累積誤差相對(duì)更大,增量式PID輸出的是控制量增量,如果微處理器出現(xiàn)故障,誤動(dòng)作影響較小,而執(zhí)行機(jī)構(gòu)本身有記憶功能,可仍保持原位,不會(huì)嚴(yán)重影響系統(tǒng)的工作,而位置式的輸出直接對(duì)應(yīng)對(duì)象的輸出,對(duì)系統(tǒng)影響較大,因此實(shí)際中增量式PID應(yīng)用更加廣泛。
增量式PID控制
增量式PID控制,數(shù)字PID控制算法的一種基本形式,是通過對(duì)控制量的增量(本次控制量和上次控制量的差值)進(jìn)行PID控制的一種控制算法。
增量式PID控制主要是通過求出增量,將原先的積分環(huán)節(jié)的累積作用進(jìn)行了替換,避免積分環(huán)節(jié)占用大量計(jì)算性能和存儲(chǔ)空間。
增量式PID控制的主要優(yōu)點(diǎn)為:
①算式中不需要累加??刂圃隽喀(k)的確定僅與最近3次的采樣值有關(guān),容易通過加權(quán)處理獲得比較好的控制效果;
②計(jì)算機(jī)每次只輸出控制增量,即對(duì)應(yīng)執(zhí)行機(jī)構(gòu)位置的變化量,故機(jī)器發(fā)生故障時(shí)影響范圍小、不會(huì)嚴(yán)重影響生產(chǎn)過程;
③手動(dòng)—自動(dòng)切換時(shí)沖擊小。當(dāng)控制從手動(dòng)向自動(dòng)切換時(shí),可以作到無擾動(dòng)切換。
由于增量式需要對(duì)控制量進(jìn)行記憶,所以對(duì)于不帶記憶裝置的系統(tǒng),只能使用位置式PID控制方式進(jìn)行控制。
增量式pid參數(shù)調(diào)整公式
增量式PID控制根據(jù)位置式PID控制公式,寫出n-1時(shí)刻的控制量:
設(shè)
得到
令 為積分系數(shù); 為微分系數(shù),可以將上式簡(jiǎn)化為
增量式PID控制算法
當(dāng)執(zhí)行機(jī)構(gòu)需要的不是控制量的絕對(duì)值,而是控制量的增量(例如去驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī))時(shí),需要用PID的“增量算法”。
增量式PID控制算法可以通過(2-4)式推導(dǎo)出。由(2-4)可以得到控制器的第k-1個(gè)采樣時(shí)刻的輸出值為:
由(2-6)可以看出,如果計(jì)算機(jī)控制系統(tǒng)采用恒定的采樣周期T,一旦確定A、B、C,只要使用前后三次測(cè)量的偏差值,就可以由(2-6)求出控制量。
增量式PID控制算法與位置式PID算法(2-4)相比,計(jì)算量小得多,因此在實(shí)際中得到廣泛的應(yīng)用。
位置式PID控制算法也可以通過增量式控制算法推出遞推計(jì)算公式:
(2-7)就是目前在計(jì)算機(jī)控制中廣泛應(yīng)用的數(shù)字遞推PID控制算法。
增量式PID控制算法C51程序
/*====================================================================================================
PID Function
The PID (比例、積分、微分) function is used in mainly
control applications. PIDCalc performs one iteration of the PID
algorithm.
While the PID function works, main is just a dummy program showing a typical usage.
=====================================================================================================*/
typedef struct PID
{
int SetPoint; //設(shè)定目標(biāo)
Desired Value long SumError; //誤差累計(jì)
double Proportion; //比例常數(shù) Proportional Const
double Integral; //積分常數(shù) Integral Const
double Derivative; //微分常數(shù) Derivative Const
int LastError; //Error[-1]
int PrevError; //Error[-2]
} PID;
static PID sPID;
static PID *sptr = &sPID;
*=======================================================================
Initialize PID Structure PID參數(shù)初始化
=====================================================================================================*/
void IncPIDInit(void)
{
sptr-》SumError = 0;
sptr-》LastError = 0; //Error[-1]
sptr-》PrevError = 0; //Error[-2]
sptr-》Proportion = 0; //比例常數(shù)
Proportional Const sptr-》Integral = 0; //積分常數(shù)Integral Const
sptr-》Derivative = 0; //微分常數(shù)
Derivative Const sptr-》SetPoint = 0;
}
/*====================================================================================================
增量式PID計(jì)算部分
=====================================================================================================*/
int IncPIDCalc(int NextPoint)
{
register int iError, iIncpid; //當(dāng)前誤差
iError = sptr-》SetPoint - NextPoint; //增量計(jì)算
iIncpid = sptr-》Proportion * iError //E[k]項(xiàng)
- sptr-》Integral * sptr-》LastError //E[k-1]項(xiàng)
+ sptr-》Derivative * sptr-》PrevError; //E[k-2]項(xiàng)
//存儲(chǔ)誤差,用于下次計(jì)算
sptr-》PrevError = sptr-》LastError;
sptr-》LastError = iError;
//返回增量值
return(iIncpid);
}
結(jié)合上述公式探討PID的普遍控制規(guī)律和常用參數(shù)整定方法
(一)先來討論P(yáng)ID三個(gè)參數(shù)的控制規(guī)律
1. 比例調(diào)節(jié)規(guī)律(Kp):是按比例反應(yīng)系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用用以減少偏差。
2. 積分調(diào)節(jié)規(guī)律(Ki):實(shí)質(zhì)上就是對(duì)偏差累積進(jìn)行控制,直至偏差為零。使系統(tǒng)消除穩(wěn)態(tài)誤差,提高無差度。
3. 微分調(diào)節(jié)規(guī)律(Kd):微分作用反映系統(tǒng)偏差信號(hào)的變化率,具有預(yù)見性,能預(yù)見偏差變化的趨勢(shì),因此能產(chǎn)生超前的控制作用,在偏差還沒有形成之前,已被微分調(diào)節(jié)作用消除。
4. 比例積分微分控制規(guī)律PID:PID控制規(guī)律是一種較理想的控制規(guī)律,它在比例的基礎(chǔ)上引入積分,可以消除余差,再加入微分作用,又能提高系統(tǒng)的穩(wěn)定性。
(二)再來討論P(yáng)ID參數(shù)整定的一般方法
1. 實(shí)驗(yàn)湊試法,整定步驟為“先比例,再積分,最后微分,這也是初接觸PID的人常使用的。
2. 理論計(jì)算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過理論計(jì)算確定控制器參數(shù)。
3. 實(shí)驗(yàn)經(jīng)驗(yàn)法,擴(kuò)充臨界比例度法,實(shí)驗(yàn)經(jīng)驗(yàn)法調(diào)整PID參數(shù)的方法中較常用的是擴(kuò)充臨界比例度法,其最大的優(yōu)點(diǎn)是,參數(shù)的整定不
依賴受控對(duì)象的數(shù)學(xué)模型,直接在現(xiàn)場(chǎng)整定、簡(jiǎn)單易行。
總之,對(duì)于PID的初用者,增量式的PID參數(shù)整定的時(shí)候,采用同位置式的比例Kp,積分Ki,微分Kd相同的系數(shù),理解起來比較容易,整定自然就會(huì)符合以上所說的規(guī)律,可以達(dá)到預(yù)期的控制效果。
-
PID
+關(guān)注
關(guān)注
35文章
1473瀏覽量
85844 -
增量式PID
+關(guān)注
關(guān)注
0文章
5瀏覽量
8365
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
淺談增量式PID參數(shù)整定
在STM32如何去實(shí)現(xiàn)增量式PID算法
PID算法增量式算法
如何實(shí)現(xiàn)增量式PID
什么是PID參數(shù)調(diào)整
請(qǐng)問如何調(diào)節(jié)增量式pid?
增量式pid分析及參數(shù)整定
![<b class='flag-5'>增量</b><b class='flag-5'>式</b><b class='flag-5'>pid</b>分析及<b class='flag-5'>參數(shù)</b>整定](https://file1.elecfans.com//web2/M00/A6/F5/wKgZomUMQXmADJudAAAhuQxMaQY532.png)
評(píng)論