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

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

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

標(biāo)準(zhǔn)PID算法的一些改進(jìn)措施

CHANBAEK ? 來(lái)源:嵌入式之入坑筆記 ? 作者:嵌入式之入坑筆記 ? 2023-08-22 11:06 ? 次閱讀

前面的幾篇文章分別分享了PID算法的原理、增量式和位置式PID算法的區(qū)別、以及過(guò)程控制中一些重要的指標(biāo),感興趣的朋友可以回看之前的文章或者自行查閱資料。

在實(shí)際項(xiàng)目中,使用數(shù)字PID算法對(duì)系統(tǒng)的被控量進(jìn)行控制的時(shí)候,有時(shí)候并不是僅僅的使用簡(jiǎn)單的增量式或者位置式的PID就完成了對(duì)系統(tǒng)的被控量控制。很多時(shí)候會(huì)采用一些改進(jìn)了的PID算法進(jìn)行系統(tǒng)的控制,以求達(dá)到更好的控制效果。

常見(jiàn)的對(duì)標(biāo)準(zhǔn)PID算法進(jìn)行改進(jìn)的措施有哪些呢?下面會(huì)根據(jù)我個(gè)人有限的經(jīng)驗(yàn)進(jìn)行簡(jiǎn)單的分享,就當(dāng)是一次學(xué)習(xí)分享吧!

1、針對(duì)微分項(xiàng)的改進(jìn)

對(duì)微分項(xiàng)的改進(jìn)常見(jiàn)的有兩種措施:微分先行和輸入濾波。

(1)微分先行

我們知道,在一個(gè)閉環(huán)的控制系統(tǒng)中,即使我們期望被控量穩(wěn)定在期望的值范圍內(nèi)它也不可能是絕對(duì)的穩(wěn)定的,變化才是常態(tài),所以才要考慮才要某些算法進(jìn)行調(diào)控,比如PID算法就很常用。

而微分先行的改進(jìn)措施就是:在PID算法中把對(duì)偏差微分改為對(duì)被控量的微分。

這是什么意思呢?因?yàn)閷?duì)于很多的系統(tǒng)而言,就算在給定的輸入值發(fā)生了變化,也不會(huì)引起被控量的輸出發(fā)生大幅度的變化。這就是說(shuō)在輸入值發(fā)生變化的時(shí)候,被控量也是在一段時(shí)間范圍內(nèi)緩慢進(jìn)行變化的,是不會(huì)發(fā)生突變的。

那么既然被控量不會(huì)因?yàn)檩斎胫档耐蛔兌l(fā)生突變,所以微分先行就是把原本算法中由對(duì)偏差的微分變?yōu)閷?duì)被控量的變化的微分。這樣的做法就是在即使輸入量發(fā)生變化偏差還未產(chǎn)生時(shí),微分就已經(jīng)在起作用了,從而緩慢變化到新的輸入值所要求的輸出值。

所以,微分先行的輸出增量計(jì)算如下:

圖片

(2)輸入濾波

輸入濾波的做法就是在計(jì)算微分項(xiàng)的時(shí)候,不直接采用當(dāng)前時(shí)刻的誤差e(n) 進(jìn)行計(jì)算,而是采用經(jīng)過(guò)濾波之后的濾波值。

這個(gè)濾波是怎么進(jìn)行的呢?一般的做法是:用過(guò)去的三個(gè)采樣時(shí)刻的誤差和當(dāng)前時(shí)刻的誤差共四個(gè)誤差值求一個(gè)平均值,再通過(guò)加權(quán)求和的方式構(gòu)成微分項(xiàng)。

圖片

2、針對(duì)積分項(xiàng)的改進(jìn)

對(duì)于積分的作用我前面的文章是有講過(guò)的,在PID算法中,積分可以消除系統(tǒng)的靜差,讓被控量偏離期望輸出值的偏差減小。但是積分作用它本身也有一個(gè)副作用,因?yàn)榉e分是對(duì)偏差的累積,可能會(huì)引起積分飽和的情況。

積分飽和又是什么呢?積分飽和指的是在一個(gè)PID調(diào)控的系統(tǒng)中,如果偏差一直存在的情況下,積分會(huì)一直對(duì)偏差進(jìn)行累積,可能會(huì)導(dǎo)致積分項(xiàng)變得很大。

積分飽和又會(huì)對(duì)PID調(diào)控的系統(tǒng)帶來(lái)什么樣的影響呢?打個(gè)比方:如果積分飽和了,在系統(tǒng)的偏差方向發(fā)生了改變了之后,PID這個(gè)時(shí)候會(huì)起作用進(jìn)行調(diào)節(jié),但是由于積分項(xiàng)太大了,就需要經(jīng)過(guò)比較長(zhǎng)的時(shí)間才能讓輸出U(n) 從積分飽和區(qū)脫離,會(huì)使調(diào)控作用滯后,讓系統(tǒng)出現(xiàn)明顯的超調(diào),整個(gè)系統(tǒng)的調(diào)節(jié)效果會(huì)變差,這肯定是不希望出現(xiàn)的。

所以需要一些措施對(duì)抗積分飽和。常見(jiàn)的克服積分飽和的方法有下面的方式:

(1)積分限幅法

積分限幅法的操作原理是:對(duì)積分項(xiàng)的輸出設(shè)定一個(gè)限制,當(dāng)積分項(xiàng)的輸出達(dá)到限制,就停止積分項(xiàng)的計(jì)算,PID算法中的積分計(jì)算項(xiàng)的值采用上一個(gè)時(shí)刻的積分值。這樣是為了防止積分項(xiàng)的輸出過(guò)大,讓系統(tǒng)的調(diào)節(jié)時(shí)間變慢,影響系統(tǒng)品質(zhì)。

積分限幅的計(jì)算實(shí)現(xiàn)步驟一般如下圖:

圖片

(2)積分分離法

上面提到了積分限幅的方式,就是讓積分項(xiàng)的輸出不要過(guò)大,防止控制時(shí)間變化太慢。還有一種做法就是將積分分離出來(lái)。

積分分離的做法就是:對(duì)系統(tǒng)的偏差設(shè)定一個(gè)門限值,如果系統(tǒng)偏差的絕對(duì)值小于門限值,就進(jìn)行積分累加;相反,如果系統(tǒng)的偏差的絕對(duì)值大于這個(gè)門限值,就不進(jìn)行積分。這樣也可以避免過(guò)度積分的問(wèn)題,防止系統(tǒng)因?yàn)槠钸^(guò)大時(shí)產(chǎn)生了過(guò)大的控制作用。

積分分離的計(jì)算步驟如下:

圖片

(3)變速積分法

變速積分法的基本實(shí)現(xiàn)原理是:當(dāng)系統(tǒng)的偏差比較大的時(shí)候,讓積分的速度慢一些;相反,當(dāng)系統(tǒng)的偏差比較小的時(shí)候,讓積分的速度快一些,以求盡快的消除靜差。

這種操作方式時(shí),積分項(xiàng)按照下面的方式計(jì)算:

圖片

上面的計(jì)算中,A為設(shè)定的一個(gè)偏差閾值。

3、補(bǔ)充數(shù)字PID的其他需要注意的問(wèn)題

(1)積分的不靈敏區(qū)

數(shù)字PID算法的應(yīng)用大多數(shù)都是通過(guò)微處理器實(shí)現(xiàn)的,所以即使同樣的算法放在不同的微處理器系統(tǒng)中產(chǎn)生的效果也是不一樣的。

之所以會(huì)出現(xiàn)積分不靈敏的情況,是跟微處理的運(yùn)行字長(zhǎng)和計(jì)算精度有關(guān)的。比如當(dāng)一個(gè)微處理器的運(yùn)行字長(zhǎng)較短時(shí),如果采樣周期很短,但是積分時(shí)間又比較長(zhǎng),這個(gè)時(shí)候就會(huì)容易因?yàn)樽珠L(zhǎng)太小精度不夠,導(dǎo)致偏差不明顯或者不出現(xiàn),讓積分的作用消失了。這就是積分不靈敏的情況。

圖片

(2)數(shù)字PID采樣周期的選擇問(wèn)題

根據(jù)前面的數(shù)字PID的計(jì)算公式中會(huì)發(fā)現(xiàn),公式中有一個(gè)變量Ti,這個(gè)就是采樣周期。

一般而言,采樣周期越小,數(shù)字PID就越是精確,控制效果就越接近連續(xù)控制。但是呢,天下萬(wàn)物都是有正反兩面的,采樣周期小了控制效果是精確了,但是太過(guò)頻繁的采樣就必然是要占用跟多的計(jì)算時(shí)間,計(jì)算機(jī)的計(jì)算負(fù)擔(dān)就會(huì)變重,對(duì)計(jì)算機(jī)的運(yùn)算性能要求就更高。

那采樣頻率要怎么選擇才合適呢?

這個(gè)時(shí)候就要先看看采樣定理了,也就是“香農(nóng)采樣定理”或“奈奎斯特采樣定理”。

采樣定理:在進(jìn)行模擬/數(shù)字信號(hào)的轉(zhuǎn)換過(guò)程中,當(dāng)采樣頻率fs.max大于信號(hào)中最高頻率fmax的2倍時(shí)(fs.max >= 2fmax),采樣之后的數(shù)字信號(hào)完整地保留了原始信號(hào)中的信息,一般實(shí)際應(yīng)用中保證采樣頻率為信號(hào)最高頻率的5~10倍。

所以,最大的采樣周期公式如下:

圖片

關(guān)于PID算法的一些改進(jìn)就分享到這里,因?yàn)槭莻€(gè)人實(shí)際使用中的總結(jié),可能會(huì)有理解錯(cuò)誤的地方,如有錯(cuò)漏,還煩請(qǐng)指正。

聲明:本文內(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)投訴
  • PID算法
    +關(guān)注

    關(guān)注

    2

    文章

    169

    瀏覽量

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

    關(guān)注

    35

    文章

    1467

    瀏覽量

    85083
  • 增量式
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    8693
  • 數(shù)字PID
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    1617
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    pid一些資料

    pid一些資料.
    發(fā)表于 07-11 17:48

    PID算法

    一些PID算法的資料
    發(fā)表于 07-21 17:00

    labview應(yīng)用PID模糊控制工具包學(xué)習(xí)一些實(shí)例程序

    請(qǐng)問(wèn)labview想學(xué)習(xí)PID控制包包含一些模糊算法粒子群算法的實(shí)例應(yīng)用,學(xué)習(xí)哪本書(shū)或者去哪找一些實(shí)例程序?。?,十分感謝!
    發(fā)表于 03-20 18:57

    PID算法學(xué)習(xí)筆記分享

    最近在學(xué)習(xí)與無(wú)人機(jī)有關(guān)的一些控制算法,在這里做一些筆記,今天學(xué)的是有關(guān)于PID算法。什么是PID
    發(fā)表于 01-14 06:50

    常用的一些PID算法有哪些?

    PID的原理是什么?常用的一些PID算法有哪些?
    發(fā)表于 01-21 06:48

    溫控系統(tǒng)中改進(jìn)PID算法

    對(duì) 傳統(tǒng)的 PID控制 算法進(jìn)行了深入的分析,并結(jié)合實(shí)際工程項(xiàng)目,對(duì)原PID算法進(jìn)行了改進(jìn),改進(jìn)
    發(fā)表于 07-22 18:11 ?115次下載
    溫控系統(tǒng)中<b class='flag-5'>改進(jìn)</b>的<b class='flag-5'>PID</b><b class='flag-5'>算法</b>

    標(biāo)準(zhǔn)PID處理例程(PID通俗易懂的講解)[2]

    有關(guān)PID入門的一些簡(jiǎn)單代碼例程,可以幫助小白理解PID算法。
    發(fā)表于 05-06 14:37 ?18次下載

    關(guān)于PID一些常用知識(shí)

    本文檔詳細(xì)介紹分析了關(guān)于PID一些常用知識(shí)
    發(fā)表于 08-29 14:22 ?2次下載

    改進(jìn)PID算法在智能車控制上的應(yīng)用

    改進(jìn)PID算法在智能車控制上的應(yīng)用
    發(fā)表于 11-18 17:19 ?1次下載

    PID與模糊控制算法的比較及其改進(jìn)_劉素芹

    PID與模糊控制算法的比較及其改進(jìn)_劉素芹
    發(fā)表于 01-31 15:22 ?7次下載

    改進(jìn)PID控制算法之變結(jié)構(gòu)PID控制

    pid算法改進(jìn)
    發(fā)表于 06-10 08:00 ?10次下載

    數(shù)字PID控制算法教程之如何對(duì)標(biāo)準(zhǔn)PID算法進(jìn)行改進(jìn)

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)字PID控制算法教程之如何對(duì)標(biāo)準(zhǔn)PID算法進(jìn)行改進(jìn)主要內(nèi)容包括了:
    發(fā)表于 12-04 08:00 ?15次下載
    數(shù)字<b class='flag-5'>PID</b>控制<b class='flag-5'>算法</b>教程之如何對(duì)<b class='flag-5'>標(biāo)準(zhǔn)</b><b class='flag-5'>PID</b><b class='flag-5'>算法</b>進(jìn)行<b class='flag-5'>改進(jìn)</b>

    基于改進(jìn)PID控制算法的火電廠過(guò)熱溫度控制

    基于改進(jìn)PID控制算法的火電廠過(guò)熱溫度控制
    發(fā)表于 07-01 16:20 ?38次下載

    PID算法模塊(含常用改進(jìn)算法和例程)--C源碼

    各位在工程中應(yīng)用。PID模塊除了普通PID還加入了常用的幾個(gè)改進(jìn)PID算法:1、積分分離PID2
    發(fā)表于 12-03 21:06 ?16次下載
    <b class='flag-5'>PID</b><b class='flag-5'>算法</b>模塊(含常用<b class='flag-5'>改進(jìn)</b><b class='flag-5'>算法</b>和例程)--C源碼

    PID算法學(xué)習(xí)筆記

    最近在學(xué)習(xí)與無(wú)人機(jī)有關(guān)的一些控制算法,在這里做一些筆記,今天學(xué)的是有關(guān)于PID算法。什么是PID
    發(fā)表于 01-14 11:13 ?9次下載
    <b class='flag-5'>PID</b><b class='flag-5'>算法</b>學(xué)習(xí)筆記