前面的幾篇文章分別分享了PID算法的原理、增量式和位置式PID算法的區(qū)別、以及過程控制中一些重要的指標(biāo),感興趣的朋友可以回看之前的文章或者自行查閱資料。
在實際項目中,使用數(shù)字PID算法對系統(tǒng)的被控量進行控制的時候,有時候并不是僅僅的使用簡單的增量式或者位置式的PID就完成了對系統(tǒng)的被控量控制。很多時候會采用一些改進了的PID算法進行系統(tǒng)的控制,以求達到更好的控制效果。
常見的對標(biāo)準(zhǔn)PID算法進行改進的措施有哪些呢?下面會根據(jù)我個人有限的經(jīng)驗進行簡單的分享,就當(dāng)是一次學(xué)習(xí)分享吧!
1、針對微分項的改進
對微分項的改進常見的有兩種措施:微分先行和輸入濾波。
(1)微分先行
我們知道,在一個閉環(huán)的控制系統(tǒng)中,即使我們期望被控量穩(wěn)定在期望的值范圍內(nèi)它也不可能是絕對的穩(wěn)定的,變化才是常態(tài),所以才要考慮才要某些算法進行調(diào)控,比如PID算法就很常用。
而微分先行的改進措施就是:在PID算法中把對偏差微分改為對被控量的微分。
這是什么意思呢?因為對于很多的系統(tǒng)而言,就算在給定的輸入值發(fā)生了變化,也不會引起被控量的輸出發(fā)生大幅度的變化。這就是說在輸入值發(fā)生變化的時候,被控量也是在一段時間范圍內(nèi)緩慢進行變化的,是不會發(fā)生突變的。
那么既然被控量不會因為輸入值的突變而發(fā)生突變,所以微分先行就是把原本算法中由對偏差的微分變?yōu)閷Ρ豢亓康淖兓奈⒎?。這樣的做法就是在即使輸入量發(fā)生變化偏差還未產(chǎn)生時,微分就已經(jīng)在起作用了,從而緩慢變化到新的輸入值所要求的輸出值。
所以,微分先行的輸出增量計算如下:

(2)輸入濾波
輸入濾波的做法就是在計算微分項的時候,不直接采用當(dāng)前時刻的誤差e(n) 進行計算,而是采用經(jīng)過濾波之后的濾波值。
這個濾波是怎么進行的呢?一般的做法是:用過去的三個采樣時刻的誤差和當(dāng)前時刻的誤差共四個誤差值求一個平均值,再通過加權(quán)求和的方式構(gòu)成微分項。

2、針對積分項的改進
對于積分的作用我前面的文章是有講過的,在PID算法中,積分可以消除系統(tǒng)的靜差,讓被控量偏離期望輸出值的偏差減小。但是積分作用它本身也有一個副作用,因為積分是對偏差的累積,可能會引起積分飽和的情況。
積分飽和又是什么呢?積分飽和指的是在一個PID調(diào)控的系統(tǒng)中,如果偏差一直存在的情況下,積分會一直對偏差進行累積,可能會導(dǎo)致積分項變得很大。
積分飽和又會對PID調(diào)控的系統(tǒng)帶來什么樣的影響呢?打個比方:如果積分飽和了,在系統(tǒng)的偏差方向發(fā)生了改變了之后,PID這個時候會起作用進行調(diào)節(jié),但是由于積分項太大了,就需要經(jīng)過比較長的時間才能讓輸出U(n) 從積分飽和區(qū)脫離,會使調(diào)控作用滯后,讓系統(tǒng)出現(xiàn)明顯的超調(diào),整個系統(tǒng)的調(diào)節(jié)效果會變差,這肯定是不希望出現(xiàn)的。
所以需要一些措施對抗積分飽和。常見的克服積分飽和的方法有下面的方式:
(1)積分限幅法
積分限幅法的操作原理是:對積分項的輸出設(shè)定一個限制,當(dāng)積分項的輸出達到限制,就停止積分項的計算,PID算法中的積分計算項的值采用上一個時刻的積分值。這樣是為了防止積分項的輸出過大,讓系統(tǒng)的調(diào)節(jié)時間變慢,影響系統(tǒng)品質(zhì)。
積分限幅的計算實現(xiàn)步驟一般如下圖:

(2)積分分離法
上面提到了積分限幅的方式,就是讓積分項的輸出不要過大,防止控制時間變化太慢。還有一種做法就是將積分分離出來。
積分分離的做法就是:對系統(tǒng)的偏差設(shè)定一個門限值,如果系統(tǒng)偏差的絕對值小于門限值,就進行積分累加;相反,如果系統(tǒng)的偏差的絕對值大于這個門限值,就不進行積分。這樣也可以避免過度積分的問題,防止系統(tǒng)因為偏差過大時產(chǎn)生了過大的控制作用。
積分分離的計算步驟如下:

(3)變速積分法
變速積分法的基本實現(xiàn)原理是:當(dāng)系統(tǒng)的偏差比較大的時候,讓積分的速度慢一些;相反,當(dāng)系統(tǒng)的偏差比較小的時候,讓積分的速度快一些,以求盡快的消除靜差。
這種操作方式時,積分項按照下面的方式計算:

上面的計算中,A為設(shè)定的一個偏差閾值。
3、補充數(shù)字PID的其他需要注意的問題
(1)積分的不靈敏區(qū)
數(shù)字PID算法的應(yīng)用大多數(shù)都是通過微處理器實現(xiàn)的,所以即使同樣的算法放在不同的微處理器系統(tǒng)中產(chǎn)生的效果也是不一樣的。
之所以會出現(xiàn)積分不靈敏的情況,是跟微處理的運行字長和計算精度有關(guān)的。比如當(dāng)一個微處理器的運行字長較短時,如果采樣周期很短,但是積分時間又比較長,這個時候就會容易因為字長太小精度不夠,導(dǎo)致偏差不明顯或者不出現(xiàn),讓積分的作用消失了。這就是積分不靈敏的情況。

(2)數(shù)字PID采樣周期的選擇問題
根據(jù)前面的數(shù)字PID的計算公式中會發(fā)現(xiàn),公式中有一個變量Ti,這個就是采樣周期。
一般而言,采樣周期越小,數(shù)字PID就越是精確,控制效果就越接近連續(xù)控制。但是呢,天下萬物都是有正反兩面的,采樣周期小了控制效果是精確了,但是太過頻繁的采樣就必然是要占用跟多的計算時間,計算機的計算負(fù)擔(dān)就會變重,對計算機的運算性能要求就更高。
那采樣頻率要怎么選擇才合適呢?
這個時候就要先看看采樣定理了,也就是“香農(nóng)采樣定理”或“奈奎斯特采樣定理”。
采樣定理:在進行模擬/數(shù)字信號的轉(zhuǎn)換過程中,當(dāng)采樣頻率fs.max大于信號中最高頻率fmax的2倍時(fs.max >= 2fmax),采樣之后的數(shù)字信號完整地保留了原始信號中的信息,一般實際應(yīng)用中保證采樣頻率為信號最高頻率的5~10倍。
所以,最大的采樣周期公式如下:

關(guān)于PID算法的一些改進就分享到這里,因為是個人實際使用中的總結(jié),可能會有理解錯誤的地方,如有錯漏,還煩請指正。
-
PID算法
+關(guān)注
關(guān)注
2文章
172瀏覽量
25478 -
PID
+關(guān)注
關(guān)注
37文章
1489瀏覽量
89888 -
增量式
+關(guān)注
關(guān)注
0文章
16瀏覽量
8909 -
數(shù)字PID
+關(guān)注
關(guān)注
0文章
8瀏覽量
1777
發(fā)布評論請先 登錄
labview應(yīng)用PID模糊控制工具包學(xué)習(xí)一些實例程序
PID算法學(xué)習(xí)筆記分享
溫控系統(tǒng)中改進的PID算法
標(biāo)準(zhǔn)的PID處理例程(PID通俗易懂的講解)[2]
數(shù)字PID控制算法教程之如何對標(biāo)準(zhǔn)PID算法進行改進
PID算法模塊(含常用改進算法和例程)--C源碼
PID算法學(xué)習(xí)筆記

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