0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PID算法原理分析及優(yōu)化

森木磊石 ? 2023-11-08 08:23 ? 次閱讀

歡迎來(lái)到森木磊石「技術(shù)微課堂」,本期為大家分享經(jīng)典控制算法之一的PID控制方法。

PID控制方法從提出至今已有百余年歷史,其由于結(jié)構(gòu)簡(jiǎn)單、易于實(shí)現(xiàn)、魯棒性好、可靠性高等特點(diǎn),在機(jī)電、冶金、機(jī)械、化工等行業(yè)中應(yīng)用廣泛。

下面就跟著小編一起來(lái)學(xué)習(xí)PID算法的原理分析及優(yōu)化,快來(lái)get!

一、PID原理

PID控制方法將偏差的比例(proportional)、積分(integral)、微分(derivative)通過(guò)線性組合構(gòu)成控制量,對(duì)被控對(duì)象進(jìn)行控制。

常規(guī)的PID控制系統(tǒng)如圖所示:

078b9150-7dcd-11ee-9788-92fbcf53809c.jpg

系統(tǒng)的輸入r(t)為控制量的目標(biāo)輸出值,輸出y(t)為控制量的實(shí)際輸出值,e(t)為輸出量目標(biāo)值與實(shí)際值的偏差量,PID算法的調(diào)控是基于e(t)進(jìn)行的。

比例調(diào)節(jié)是基于實(shí)際值與目標(biāo)值的偏差量進(jìn)行線性調(diào)節(jié),在系統(tǒng)中表現(xiàn)為Kpe(t),Kp為比例增益。

比例增益Kp越大調(diào)節(jié)作用越激進(jìn),輸入輸出的微小偏差都會(huì)造成很大的調(diào)節(jié)動(dòng)作;相反的Kp越小調(diào)節(jié)作用越保守,即使輸入輸出差異很大系統(tǒng)的調(diào)節(jié)效果都不太明顯。

積分調(diào)節(jié)是利用歷史偏差量的累計(jì)對(duì)系統(tǒng)輸出進(jìn)行調(diào)節(jié),在系統(tǒng)種表示為:

t

Ki∫ e(t)dt,Ki為積分增益。

0

積分調(diào)節(jié)的意義是消除系統(tǒng)的穩(wěn)態(tài)誤差。積分增益Ki越大系統(tǒng)的穩(wěn)態(tài)誤差消除的越快,Ki越小系統(tǒng)的穩(wěn)態(tài)誤差越不易消除,系統(tǒng)的調(diào)節(jié)精度越差。但是Ki過(guò)大會(huì)在響應(yīng)過(guò)程產(chǎn)生較大超調(diào),導(dǎo)致積分飽和現(xiàn)象的產(chǎn)生。

微分調(diào)節(jié)是基于偏差量的變化速率(偏差求導(dǎo))對(duì)系統(tǒng)輸出進(jìn)行調(diào)節(jié),在系統(tǒng)種表示為:

de(t)

Kd ———— ,Kd為微分增益。

dt

微分調(diào)節(jié)主要起到阻尼的作用,抑制超調(diào)。微分增益Kd越大,系統(tǒng)的穩(wěn)定性越好,調(diào)節(jié)過(guò)程中曲線波動(dòng)越小。但是Kd若設(shè)置過(guò)大會(huì)使得系統(tǒng)的調(diào)節(jié)時(shí)間增長(zhǎng),抗干擾性減弱。

偏差值在經(jīng)過(guò)三種調(diào)節(jié)作用后會(huì)產(chǎn)生一個(gè)控制量u(t),u(t)將通過(guò)執(zhí)行單元控制輸出。系統(tǒng)將利用采樣單元將輸出反饋給輸入端進(jìn)行偏差量計(jì)算。

常規(guī)PID控制系統(tǒng)中u(t)與e(t)之間的函數(shù)關(guān)系如下:

t de(t)

u(t)=Kpe(t)+Ki∫ e(t)dt+Kd ———— 式1

0 dt

分別調(diào)節(jié)Kp、Ki、Kd參數(shù)對(duì)PID控制系統(tǒng)性能的影響如下表所示:

0797585a-7dcd-11ee-9788-92fbcf53809c.jpg

二、數(shù)字PID控制

隨著計(jì)算機(jī)技術(shù)發(fā)展,目前多以微控制器或計(jì)算機(jī)為運(yùn)算核心,利用軟件程序來(lái)實(shí)現(xiàn)PID控制和校正,也就是數(shù)字PID控制。常用的數(shù)字PID控制方法有:位置式PID、增量式PID以及步進(jìn)式PID等。

01位置式PID

由于計(jì)算機(jī)的運(yùn)算是離散的,要想實(shí)現(xiàn)數(shù)字PID控制首先需要將連續(xù)函數(shù)進(jìn)行離散化。

我們用誤差的累加替代積分運(yùn)算,用誤差的差分代替微分運(yùn)算,可得:

k

u(k)=Kpe(k)+ki ∑ e(j)+kd(e(k)-e(k-1)) 式2

j=0

其中k為采樣序列號(hào)(k=0,1,2,3......),e(k)為第k次采樣時(shí)的誤差值,e(k-1)為第k-1次采樣時(shí)的誤差值u(k)為第k次采樣時(shí)控制量的輸出值。在位置式PID中輸出u(k)直接控制待控制對(duì)象,u(k)的值和控制對(duì)象是一一對(duì)應(yīng)的關(guān)系。

從式2可以看出,位置式PID需要計(jì)算第k次和k-1次的誤差,控制器會(huì)對(duì)偏差進(jìn)行累加,這樣會(huì)使得系統(tǒng)的運(yùn)算量變大,占用內(nèi)存過(guò)多,給計(jì)算機(jī)帶來(lái)負(fù)擔(dān)。

同時(shí),控制器的每次輸出u(k)都和過(guò)去的狀態(tài)有關(guān),u(k)的大幅變化會(huì)導(dǎo)致執(zhí)行機(jī)構(gòu)的狀態(tài)大幅變化,系統(tǒng)抗干擾能力差。

為了改善這些問(wèn)題,有學(xué)者提出了數(shù)字PID的另外一種實(shí)現(xiàn)方法——增量式PID。

02增量式PID

增量式PID的輸出是對(duì)被控對(duì)象的增量?u(k),而不是實(shí)際的控制量大小。

?u(k)=u(k)-u(k-1)

=kp(e(k)-e(k-1))+kie(k)+kd(e(k)-2e(k-1)+e(k-2))

=a0e(k)+a?e(k-1)+a?e(k-2)

其中a0=kp+ki+kd,a?=-Kp-2kd,a?=kd。

從上式可以看出增量式PID跟k時(shí)刻、k-1時(shí)刻、k-2時(shí)刻的偏差都有關(guān)系,但是不會(huì)對(duì)偏差進(jìn)行累積,所以相比位置式PID的計(jì)算量要小,也不會(huì)跟過(guò)去的偏差有關(guān)聯(lián),所以控制系統(tǒng)的穩(wěn)定性好。

03步進(jìn)式PID

當(dāng)PID系統(tǒng)的設(shè)定值發(fā)生較大的突變時(shí),系統(tǒng)很容易產(chǎn)生超調(diào),影響其穩(wěn)定性。為了避免階躍信號(hào)帶來(lái)的不利影響,有學(xué)者提出了步進(jìn)式PID。

步進(jìn)式PID不對(duì)階躍信號(hào)進(jìn)行直接響應(yīng),而是按照設(shè)定的步進(jìn)規(guī)則逐漸增加設(shè)定值,使得信號(hào)逐步靠近目標(biāo)值,這樣被控對(duì)象運(yùn)行平穩(wěn),避免了因突變帶來(lái)的超調(diào)。

這種方法并未改變PID算法結(jié)構(gòu)本身,而是對(duì)設(shè)定值進(jìn)行步進(jìn)處理,使其不產(chǎn)生突變。步進(jìn)處理方法有很多種,最為常見(jiàn)的是建立一個(gè)線性變化函數(shù),確定變化步長(zhǎng),當(dāng)檢測(cè)到目標(biāo)值發(fā)生變化后按照步長(zhǎng)逐步調(diào)整設(shè)定值。

Ys=Yn+kT

其中Ys為設(shè)定目標(biāo)值,Yn為當(dāng)前目標(biāo)值,T為步長(zhǎng),k為變化系數(shù)。當(dāng)檢測(cè)到目標(biāo)值增加時(shí)k=1,當(dāng)目標(biāo)值不變時(shí)k=0,當(dāng)目標(biāo)值減小時(shí)k=-1。

步進(jìn)式PID雖然可以減少階躍信號(hào)帶來(lái)的干擾,但是也會(huì)讓系統(tǒng)的響應(yīng)速度變慢,可以調(diào)節(jié)步長(zhǎng)來(lái)平衡兩者之間的關(guān)系。步長(zhǎng)越小運(yùn)行越穩(wěn)定,系統(tǒng)響應(yīng)速度越慢,反之亦然。

三、PID算法優(yōu)化

01積分飽和優(yōu)化處理

若系統(tǒng)持續(xù)存在一個(gè)方向的偏差時(shí),PID控制器的輸出由于積分作用不斷累加而增大,從而導(dǎo)致控制器輸出產(chǎn)生超調(diào)進(jìn)入飽和區(qū)。

當(dāng)系統(tǒng)出現(xiàn)反向偏差時(shí),由于輸出飽和而不能對(duì)反向的偏差進(jìn)行快速響應(yīng),這種現(xiàn)象稱為積分飽和。

07a2e544-7dcd-11ee-9788-92fbcf53809c.jpg

常用抑制PID積分飽和方法有:積分分離法、遇限削弱積分法以及變速積分法等。

//積分分離法

當(dāng)系統(tǒng)檢測(cè)到偏差e(k)較大時(shí),取消積分環(huán)節(jié),當(dāng)被控量接近給定值時(shí),誤差減小,此時(shí)恢復(fù)積分環(huán)節(jié)。這樣既不影響控制器的動(dòng)態(tài)性能,又能避免出現(xiàn)嚴(yán)重超調(diào)或持續(xù)振蕩現(xiàn)象。

//變速積分法

根據(jù)系統(tǒng)的偏差e(k)大小對(duì)積分速度進(jìn)行調(diào)整,當(dāng)e(k)絕對(duì)值很大時(shí)減慢積分速度,當(dāng)e(k)絕對(duì)值很小時(shí)加快積分速度。在積分飽和時(shí)減小積分時(shí)間可以達(dá)到抑制積分飽和的效果,增強(qiáng)系統(tǒng)的適應(yīng)性。

//遇限削弱積分法:

當(dāng)檢測(cè)到控制量u(k)進(jìn)入飽和區(qū)時(shí)不再進(jìn)行積分項(xiàng)累加,而執(zhí)行削弱積分的運(yùn)算。這樣不會(huì)產(chǎn)生過(guò)多的超調(diào)量,當(dāng)需要反向調(diào)節(jié)時(shí)能較快地響應(yīng),避免輸出長(zhǎng)時(shí)間停留在飽和區(qū)。

02微分項(xiàng)優(yōu)化處理

PID算法中微分項(xiàng)與偏差的變化速率有關(guān)。如果系統(tǒng)存在頻率較高的干擾或突變等情況時(shí),微分項(xiàng)的數(shù)值會(huì)不斷跳變,使控制過(guò)程產(chǎn)生系統(tǒng)振蕩,影響控制系統(tǒng)的穩(wěn)定性。

07ad46c4-7dcd-11ee-9788-92fbcf53809c.jpg

常用的微分環(huán)節(jié)優(yōu)化方法如下:

//微分先行:

微分項(xiàng)對(duì)測(cè)量值產(chǎn)生的偏差起作用,而不是對(duì)設(shè)定值起作用。這樣可以避免設(shè)定值的變化而產(chǎn)生較大的調(diào)節(jié)波動(dòng),抑制高頻干擾引起的系統(tǒng)振蕩。

//不完全微分:

不完全微分是在微分作用后引入一階慣性環(huán)節(jié),使得在偏差作階躍式變化時(shí)產(chǎn)生的微分調(diào)節(jié)量,以一種較為平緩的方式輸出。這樣在不減小微分調(diào)節(jié)作用的前提下,降低因?yàn)槠钔蛔儺a(chǎn)生的波動(dòng)。

//受控微分法:

受控量微分PID算法是對(duì)控制器的輸出值進(jìn)行微分,而不是對(duì)系統(tǒng)響應(yīng)的實(shí)際輸出值進(jìn)行微分,可避免由于系統(tǒng)設(shè)定值頻繁變化或執(zhí)行器的振蕩產(chǎn)生的系統(tǒng)響應(yīng)超調(diào)量過(guò)大。

03串級(jí)PID

所謂串級(jí)PID,就是采用多個(gè)PID控制器串聯(lián)工作,外環(huán)控制器的輸出作為內(nèi)環(huán)控制器的設(shè)定值,由內(nèi)環(huán)控制器的輸出去操縱外環(huán)控制器,從而實(shí)現(xiàn)外環(huán)被控量的控制效果。串級(jí)PID能夠有效改善控制質(zhì)量,在過(guò)程控制中應(yīng)用廣泛。

控制系統(tǒng)以外環(huán)控制器為主導(dǎo),保證外環(huán)主變量穩(wěn)定為目的,兩個(gè)控制器協(xié)調(diào)一致,互相配合。外環(huán)控制器按負(fù)荷和操作條件的變化不斷糾正內(nèi)環(huán)控制器的設(shè)定值,使內(nèi)環(huán)控制器的設(shè)定值適應(yīng)負(fù)荷和操作條件的變化。

電機(jī)控制中串級(jí)PID十分常見(jiàn),常用的位置環(huán)+速度環(huán)+電流環(huán)控制結(jié)構(gòu)如圖。

07b8a1cc-7dcd-11ee-9788-92fbcf53809c.jpg

在PID控制方法中P、I、D是三種不同的調(diào)節(jié)作用,在實(shí)際應(yīng)用時(shí)可根據(jù)需求對(duì)三種調(diào)節(jié)作用進(jìn)行靈活組合,這也是PID控制方法的魅力所在,它的結(jié)構(gòu)決定了它在實(shí)際應(yīng)用中的多樣性與靈活性。

本篇主要從PID原理、數(shù)字PID實(shí)現(xiàn)方式以及算法優(yōu)化方面進(jìn)行了簡(jiǎn)單介紹,希望能夠?qū)Υ蠹覍W(xué)習(xí)PID算法有所幫助。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制
    +關(guān)注

    關(guān)注

    4

    文章

    1011

    瀏覽量

    122668
  • PID
    PID
    +關(guān)注

    關(guān)注

    35

    文章

    1472

    瀏覽量

    85526
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    求LabVIEW程序代做,關(guān)于噪聲測(cè)量方面,需要matlab與labview混合編程,涉及優(yōu)化算法、PID控制等,可帶價(jià)聯(lián)系

    求LabVIEW程序代做,關(guān)于噪聲測(cè)量方面,需要matlab與labview混合編程,涉及優(yōu)化算法、PID控制等,可帶價(jià)聯(lián)系QQ2789223947
    發(fā)表于 12-11 17:27

    什么是PID控制與傳統(tǒng)控制的區(qū)別

    在自動(dòng)化控制系統(tǒng)中,PID控制(比例-積分-微分控制)是一種廣泛應(yīng)用的控制算法。它以其簡(jiǎn)單、魯棒和易于實(shí)現(xiàn)的特點(diǎn),在工業(yè)和工程領(lǐng)域中占據(jù)了重要地位。然而,隨著技術(shù)的發(fā)展,傳統(tǒng)控制方法已經(jīng)不能完全滿足
    的頭像 發(fā)表于 11-06 10:34 ?456次閱讀

    PID控制的優(yōu)缺點(diǎn)分析 PID參數(shù)調(diào)節(jié)的常見(jiàn)方法

    PID控制,即比例-積分-微分控制,是一種廣泛應(yīng)用于工業(yè)控制系統(tǒng)中的控制算法。它通過(guò)比例(P)、積分(I)和微分(D)三個(gè)參數(shù)的調(diào)整來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)輸出的精確控制。 PID控制的優(yōu)點(diǎn) 簡(jiǎn)單易行 :
    的頭像 發(fā)表于 11-06 10:33 ?1707次閱讀

    PID算法的基本原理介紹

    在現(xiàn)代工業(yè)自動(dòng)化和控制系統(tǒng)中,PID控制器因其簡(jiǎn)單、魯棒和高效而成為最廣泛使用的控制算法之一。PID代表比例(Proportional)、積分(Integral)和微分(Derivative
    的頭像 發(fā)表于 11-06 10:28 ?391次閱讀

    第13章-循跡功能 STM32智能小車循跡教程 PID循跡算法分析

    第13章-循跡功能 循跡小車講解 原理分析 STM32智能小車循跡教程 紅外對(duì)管使用 PID循跡算法分析V3:HAL庫(kù)開(kāi)發(fā)、功能:PID速度
    的頭像 發(fā)表于 08-21 16:27 ?1512次閱讀
    第13章-循跡功能 STM32智能小車循跡教程 <b class='flag-5'>PID</b>循跡<b class='flag-5'>算法</b><b class='flag-5'>分析</b>

    神經(jīng)網(wǎng)絡(luò)優(yōu)化算法有哪些

    神經(jīng)網(wǎng)絡(luò)優(yōu)化算法是深度學(xué)習(xí)領(lǐng)域中的核心技術(shù)之一,旨在通過(guò)調(diào)整網(wǎng)絡(luò)中的參數(shù)(如權(quán)重和偏差)來(lái)最小化損失函數(shù),從而提高模型的性能和效率。本文將詳細(xì)探討神經(jīng)網(wǎng)絡(luò)優(yōu)化算法的基本原理、主要方法、
    的頭像 發(fā)表于 07-03 16:01 ?550次閱讀

    PID在工業(yè)控制領(lǐng)域的應(yīng)用

    在工業(yè)控制領(lǐng)域,PID(比例-積分-微分)控制算法以其簡(jiǎn)單實(shí)用、魯棒性好、應(yīng)用范圍廣等特點(diǎn),成為了工程師們實(shí)現(xiàn)穩(wěn)定、高效控制的首選方案。PID控制算法通過(guò)調(diào)整比例、積分和微分三個(gè)參數(shù),
    的頭像 發(fā)表于 06-11 14:47 ?1166次閱讀

    位置式PID與增量式PID的區(qū)別

    PID(比例-積分-微分)控制器作為工業(yè)自動(dòng)化領(lǐng)域中的核心控制算法,廣泛應(yīng)用于各種需要精確控制的系統(tǒng)中。在PID控制器的實(shí)現(xiàn)中,有兩種主要的控制模式:位置式PID和增量式
    的頭像 發(fā)表于 06-05 16:23 ?6928次閱讀

    在定時(shí)器內(nèi)使用浮點(diǎn)運(yùn)算的PID控制算法,程序就會(huì)重啟,為什么?

    在定時(shí)器內(nèi)使用浮點(diǎn)運(yùn)算的PID控制算法,程序就會(huì)重啟,把浮點(diǎn)數(shù)換為整形數(shù)據(jù)就不會(huì)。
    發(fā)表于 06-05 07:24

    什么是PID?PID各個(gè)參數(shù)有什么作用?

    PID,就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種很常見(jiàn)的控制算法。 PID已經(jīng)有107年的歷史了,它并不是什么很神圣的東西,大家一定都見(jiàn)過(guò)
    發(fā)表于 03-18 11:24 ?1.2w次閱讀
    什么是<b class='flag-5'>PID</b>?<b class='flag-5'>PID</b>各個(gè)參數(shù)有什么作用?

    如何對(duì)MD5加密算法優(yōu)化?

    有人針對(duì)程序安全啟動(dòng)過(guò)程,進(jìn)行MD5算法優(yōu)化嘛。目前采用標(biāo)準(zhǔn)算法,時(shí)間稍長(zhǎng),如果有人做過(guò)優(yōu)化的話,可以分享一下,謝謝。
    發(fā)表于 02-18 08:20

    什么是pid控制,其控制作用是什么

    PID控制(Proportional-Integral-Derivative control)是一種常見(jiàn)的自動(dòng)控制算法,它被廣泛應(yīng)用于工業(yè)自動(dòng)化、機(jī)器人控制、飛行器導(dǎo)航等領(lǐng)域。PID控制通過(guò)對(duì)反饋
    的頭像 發(fā)表于 02-01 14:51 ?2444次閱讀

    什么是pid控制原理 pid各個(gè)參數(shù)對(duì)系統(tǒng)的影響

    PID(Proportional-Integral-Derivative)控制是一種常見(jiàn)的控制算法,廣泛應(yīng)用于工業(yè)過(guò)程控制、機(jī)器人控制、自動(dòng)駕駛等領(lǐng)域。本文將詳細(xì)介紹PID控制的原理以及其中的各個(gè)
    的頭像 發(fā)表于 01-22 15:35 ?5935次閱讀

    什么是PID控制器?PID控制器積分控制介紹

    PID,就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種很常見(jiàn)的控制算法
    的頭像 發(fā)表于 01-11 18:14 ?1413次閱讀
    什么是<b class='flag-5'>PID</b>控制器?<b class='flag-5'>PID</b>控制器積分控制介紹

    什么是PID控制器?PID控制器控制器中的積分控制是什么?

    ”創(chuàng)始人)等人建立了一整套在頻域范圍設(shè)計(jì)反饋放大器的方法,后被用于自動(dòng)控制系統(tǒng)的分析和設(shè)計(jì),這也是PID算法
    的頭像 發(fā)表于 01-11 08:35 ?1913次閱讀
    什么是<b class='flag-5'>PID</b>控制器?<b class='flag-5'>PID</b>控制器控制器中的積分控制是什么?