PID控制算法是自動(dòng)控制中的一個(gè)非常典型且重要的算法,可以明確的說(shuō),對(duì)于學(xué)自動(dòng)控制的朋友來(lái)說(shuō),不懂PID控制,那就等于沒(méi)真正的學(xué)過(guò)自動(dòng)控制。
PID的應(yīng)用其實(shí)在我們的生活中是很普遍的,它不止浮現(xiàn)于算法介紹的文獻(xiàn)中,在生活中也是應(yīng)用廣泛的、比如我們?nèi)粘J褂玫暮銣責(zé)崴?、液位穩(wěn)定系統(tǒng),以及平衡車(chē),無(wú)人機(jī)的飛行姿態(tài)、飛行速度的控制等等。甚至更加高端的領(lǐng)域如自動(dòng)駕駛等都會(huì)涉及到PID的使用。
說(shuō)到這里,那我們就得要思考幾個(gè)問(wèn)題:什么是PID?為什么需要使用 PID?什么情況下可以使用PID呢?
那我們先舉個(gè)例子:比如恒溫?zé)崴畨卮蠹覒?yīng)該都熟悉吧,我想讓熱水壺里面的水可以保持在一個(gè)恒定的溫度,那么就需要先將熱水壺里面的水先加熱到目標(biāo)溫度的位置附近。到達(dá)這個(gè)水溫之后就一直保持在這個(gè)溫度,當(dāng)水溫低了可以自動(dòng)調(diào)節(jié)它升高到目標(biāo)溫度,當(dāng)水溫高了又能降低到目標(biāo)溫度。這個(gè)過(guò)程的實(shí)現(xiàn)就需要依靠一種調(diào)節(jié)算法來(lái)實(shí)現(xiàn),而pid算法就能實(shí)現(xiàn)這樣的操作。
1、什么是 PID 呢?
PID算法是一種閉環(huán)控制算法,它由比例(proportional)、積分(integral)、微分(derivative)三部分控制算法單元組成,是一種常見(jiàn)的用于保持目標(biāo)參數(shù)或者目標(biāo)對(duì)象穩(wěn)定的控制算法。理論說(shuō)的有點(diǎn)拗口,下面會(huì)一步一步解釋的。
首先,我們先來(lái)理解一下過(guò)程控制的思路。下面是一個(gè)簡(jiǎn)單的閉環(huán)控制系統(tǒng)的框圖:
上圖中,被控變量是我們希望通過(guò)這個(gè)控制系統(tǒng)進(jìn)行控制的對(duì)象,而給定值是我們?cè)O(shè)定給系統(tǒng)的輸入?yún)?shù),希望通過(guò)整個(gè)控制系統(tǒng)的作用,在給定值的情況下被控對(duì)象達(dá)到我們預(yù)期的目標(biāo)。這是我們理想中要得到的效果。
所以,上圖中的調(diào)節(jié)器部分就是我們?yōu)榱吮豢刈兞窟_(dá)到我們預(yù)設(shè)的目標(biāo)值,而又能穩(wěn)定的維持要采用的控制器(算法),而PID就是其中的一種算法。
上圖中將調(diào)節(jié)器的部分改動(dòng)一下,改為PID控制器,就變成如下的框圖:
框圖中 e(t) 和 u(t) 的關(guān)系式如下:
將上面的傳遞函數(shù)展開(kāi),如下:
然后:
由此可得:
因此,上面的公式中:
Kp:比例時(shí)間系數(shù);
Ki:積分時(shí)間系數(shù);
Kd:微分時(shí)間系數(shù);
e(t):誤差
t:時(shí)間
上面的式子中,把公式進(jìn)行拆解,可以得到三種控制算法,每一種都可以單獨(dú)使用,如下:
從上面也可以看的出來(lái),PID算法其實(shí)就是三個(gè)算法的組合,從數(shù)學(xué)的角度來(lái)看也就是三部分算法作用之后的的代數(shù)和!
總結(jié):PID 調(diào)節(jié)器是一種線(xiàn)性調(diào)節(jié)器,它將給定值 r(t)與實(shí)際輸出值 c(t)的偏差的比例(P)、積分(I)、微分(D)通過(guò)線(xiàn)性組合構(gòu)成控制量,對(duì)控制對(duì)象進(jìn)行控制。
2、PID算法的 P、I、D 部分的作用和解釋
(1)P - 比例的作用
比例P的作用:能夠即時(shí)成比例的反映控制系統(tǒng)的偏差信號(hào)e(t),一旦有偏差的產(chǎn)生,調(diào)節(jié)器能立即產(chǎn)生作用 減少偏差 。
這是什么意思呢?是不是不好理解?
簡(jiǎn)單點(diǎn)說(shuō):比例部分其實(shí)就是對(duì)系統(tǒng)設(shè)定值和輸出值的偏差的放大倍數(shù)。
舉個(gè)例子:
如果有一個(gè)電機(jī)的兩端電壓為U,系統(tǒng)采用P控制,P=0.4,設(shè)定的目標(biāo)值是800,而現(xiàn)在的反饋值實(shí)際是1000,那么此時(shí)輸出到電機(jī)兩端的電壓應(yīng)該變?yōu)?U+0.4*(800-1000),以此來(lái)實(shí)現(xiàn)調(diào)節(jié)電機(jī)速度的目的。
由此也可以看的出來(lái),P越大,電機(jī)轉(zhuǎn)速回歸到輸入值的速度就越快,反應(yīng)就越迅速,即調(diào)節(jié)的 靈敏度就越高 。
但是,P也不是越大越好,雖然P大的時(shí)候調(diào)節(jié)的靈敏度會(huì)變高,但是也容易導(dǎo)致調(diào)節(jié)之后的目標(biāo)值在預(yù)設(shè)值的附近振蕩,使系統(tǒng)穩(wěn)定性下降,會(huì)造成系統(tǒng)不穩(wěn)定。
(2)I - 積分的左右
針對(duì)上面提到的振蕩的問(wèn)題,引入積分是可以解決的。
積分的目的其實(shí)就是對(duì)預(yù)設(shè)值和反饋值之間的偏差在時(shí)間上進(jìn)行累加,從而消除系統(tǒng)的穩(wěn)態(tài)誤差,提高系統(tǒng)的無(wú)差度??偠灾灰到y(tǒng)還存在誤差,那么積分環(huán)節(jié)就會(huì)進(jìn)行調(diào)節(jié),直到系統(tǒng)沒(méi)有誤差為止。
但是,積分作用也不是越強(qiáng)越好,積分的作用過(guò)強(qiáng)的話(huà),會(huì)導(dǎo)致系統(tǒng)的調(diào)節(jié)效果出現(xiàn)滯后。
總的來(lái)說(shuō),積分環(huán)節(jié)的作用就是反應(yīng)系統(tǒng)的累計(jì)偏差,使系統(tǒng)消除穩(wěn)態(tài)誤差,提高無(wú)差度,只要有誤差的存在,積分調(diào)節(jié)就會(huì)進(jìn)行,直至無(wú)誤差;
(3)D - 微分的作用
還是接著上面的電機(jī)的轉(zhuǎn)速來(lái)說(shuō)明,微分的存在其實(shí)就是反映電機(jī)轉(zhuǎn)速的變化率,能夠通過(guò)之前誤差的變化預(yù)測(cè)電機(jī)轉(zhuǎn)速的誤差變化的趨勢(shì),具有超前調(diào)節(jié)的作用,并且D越大,超前預(yù)測(cè)的作用越明顯。
簡(jiǎn)單來(lái)說(shuō),微分的存在是為了預(yù)測(cè)偏差的變化趨勢(shì),產(chǎn)生超前的控制作用,在偏差沒(méi)有形成之前,就通過(guò)微分的調(diào)節(jié)左右消除偏差,改善系統(tǒng)的動(dòng)態(tài)性能。
關(guān)于PID的知識(shí)就先簡(jiǎn)單講這么一點(diǎn)點(diǎn),后期再繼續(xù)學(xué)習(xí)補(bǔ)充。
下面是我在網(wǎng)上找到的一個(gè)關(guān)于PID的調(diào)節(jié)的一個(gè)演示,很生動(dòng)的說(shuō)明了PID調(diào)節(jié)過(guò)程中P、I、D三個(gè)控制參數(shù)作用到系統(tǒng)的調(diào)節(jié)效果,方便大家理解PID,如下:
從上面的動(dòng)圖可以看出:
1、Kp越大,越能快速接近目標(biāo)值1.0
2、只調(diào)整Kp可能會(huì)存在穩(wěn)定誤差
3、加入Ki可以減小穩(wěn)定誤差,但同時(shí)也使得系統(tǒng)震蕩加劇
4、加入Ki加快了整體的響應(yīng)速度
5、加入Kd可以減小震蕩,但也降低了響應(yīng)速度(可以通過(guò)觀察圖像什么時(shí)間t首次碰到目標(biāo)1.0)
-
控制器
+關(guān)注
關(guān)注
114文章
17072瀏覽量
183838 -
PID
+關(guān)注
關(guān)注
37文章
1481瀏覽量
87832 -
自動(dòng)控制
+關(guān)注
關(guān)注
10文章
721瀏覽量
45096 -
PID控制
+關(guān)注
關(guān)注
10文章
461瀏覽量
41182 -
控制算法
+關(guān)注
關(guān)注
4文章
170瀏覽量
22221
發(fā)布評(píng)論請(qǐng)先 登錄
用c語(yǔ)言實(shí)現(xiàn)的pid算法
PID控制中P、I、D參數(shù)的作用是什么?
pid算法_什么是pid算法

PID控制中P、I、D參數(shù)分別有什么作用
PID控制中P、I、D參數(shù)的作用是什么
PID控制中P、I、D參數(shù)的作用
PID控制算法是什么

評(píng)論