最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

PID詳解

2022-12-05 23:52 作者:峰依  | 我要投稿


PID在控制領(lǐng)域應(yīng)該是應(yīng)用最為廣泛的算法了,在工業(yè)控制,汽車電子等諸多領(lǐng)域中運用

下面我用一個例子和算法過程來講解PID的概念

PID:

P比例控制:基本作用就是控制對象以線性的方式增加,在一個常量比例下,動態(tài)輸出

缺點:會產(chǎn)生穩(wěn)態(tài)誤差

I積分控制:基本作用就是用來消除穩(wěn)態(tài)誤差

缺點:會增加超調(diào)

D微分控制:基本作用就是減弱超調(diào),加大慣性響應(yīng)速度

1、什么是PID及其作用

上圖描述: 設(shè)定一個輸出目標(biāo),反饋系統(tǒng)傳回輸出值,如與目標(biāo)不一致,則存在一個誤差,PID 根據(jù)此誤差調(diào)整輸入值,直至輸出達(dá)到設(shè)定值.

為什么需要PID呢,比如控制溫度,我們需要設(shè)置一個要達(dá)到的目標(biāo)溫度值,當(dāng)將溫度穩(wěn)定在目標(biāo)溫度值

例如,我們希望水的目標(biāo)溫度值為70°,其希望無非就是可以快速而且無抖動的達(dá)到70°,并穩(wěn)定在70°

如果我們使用普通的方式加熱,當(dāng)溫度到達(dá)70°后就以及停止加熱,豈不是簡單快速,當(dāng)然用在要求不高的場合也可以,但是如果要求更高的場合呢,會出現(xiàn)溫度到達(dá)70°后,由于加熱器的余溫會使溫度繼續(xù)上升,并且再加上環(huán)境的溫度會散熱,所以我們無法將水溫很平穩(wěn)的穩(wěn)定在70°

總結(jié)一下:我們需要PID的作用無非就是無法通過普通控制手段快速穩(wěn)定的輸出到目前設(shè)定值

2、公式

經(jīng)過化解后的公式

Kp-------比例常數(shù)

Ki= (Kp*T)/Ti------積分常數(shù)

Kd=(Kp*Td)/T------微分常數(shù)


3、實戰(zhàn)例子

小明接到一個任務(wù): 有個水桶,需要時刻保持1m 的高度,目前水桶里有0.2m 的水

那么小明采用P(比例) 的方法加水:即每次測量與1m 的誤差,并加入與誤差成比例的水量

設(shè)Kp=0.4

第一次,誤差是 e(1)=1-0.2=0.8m,那么加入水量是 Kp0.8= 0.40.8 = 0.32m.當(dāng)前水桶水位:0.2+0.32=0.52

第二次, 誤差是e(2) = 1-(0.2+0.32) =0.48m 那么加入水量是 Kp*0.48=0.192m,當(dāng)前水桶水位:0.52+0.192=0.712

通過P比例控制完美解決了快速穩(wěn)定在目前值,但是在實際環(huán)境中得考慮各種影響問題,所以

小明的新任務(wù): 有個水桶,但桶底漏了個洞,仍需保持1m 的高度,目前水桶里有0.2m 的水,但每次加水都會流出0.1m. 這個例子就接近我們實際工程的例子了,比如電機(jī)摩擦的阻力,損耗.

P (比例控制) u= Kp e (e為與上次差值)*

當(dāng)前水量0.2m,目前值水量1m

設(shè)Kp=0.4. 則u= 0.4*e ,e=上次水量 - 當(dāng)前水量

第一次,誤差是 e(1)=1-0.2=0.8m,那么加入水量是 Kp0.8= 0.40.8 = 0.32m.當(dāng)前水桶水位:0.2+0.32 -0.1=0.42

第二次, 誤差是e(2) = 1-0.42 =0.58m 那么加入水量是 Kp*0.58=0.232m,當(dāng)前水桶水位:0.42+0.232 - 0.1=0.552

問題來了,水位最終在0.75m 處穩(wěn)定了,但是,當(dāng)誤差是0.25m 時,加水量時0.1,每次加入的剛好等于漏掉的0.1.

這里就引入了穩(wěn)態(tài)誤差的概念:即當(dāng)系統(tǒng)到達(dá)穩(wěn)態(tài)時與目標(biāo)的誤差.
當(dāng)我們加大KP時,增加值1

已經(jīng)更接近目前值了,當(dāng)我們繼續(xù)增加呢


當(dāng)增加值1.8時,已經(jīng)非常接近1m的水量了,但是也出現(xiàn)了非常大的抖動
結(jié)論: 比例控制引入了穩(wěn)態(tài)誤差,且無法消除.比例常數(shù)增大可以減小穩(wěn)態(tài)誤差,但如果太大則引起系統(tǒng)震蕩,不穩(wěn)定.

為了消除穩(wěn)態(tài)誤差,第二次加入積分,使用PI(比例積分控制)

積分控制就是將歷史誤差全部加起來乘以積分常數(shù).

一樣的情況,現(xiàn)在設(shè)Kp=0.4,Ki= 0.3

第一次,誤差是 e(1)=1-0.2=0.8m,那么加入水量是 Kp0.8 = 0.40.8 = 0.32m , KI * e(1) = 0.3 * 0.8 = 0.24 加入水量 = 0.32 + 0. 24= 0.56 當(dāng)前水桶水位:0.2+ 0.56 - 0.1=0.66

第二次,誤差是 e(2)=1-0.66=0.34m,那么加入水量是 Kp0.34 = 0.40.34 = 0.136m , KI * (e(2)+e(1)) = 0.3 * 1.14 = 0.342 加入水量 = 0.136m + 0.342 = 0.478 當(dāng)前水桶水位:0.66+ 0.478 - 0.1=1.038

我們發(fā)現(xiàn)加入KI后,有效的消除了穩(wěn)態(tài)誤差,但是發(fā)現(xiàn)了超調(diào)現(xiàn)象


如果我們增加KI呢


超調(diào)也會增加,同樣減小KI值,超調(diào)也會變小

結(jié)論:

只要存在偏差,積分就不停的累計,直到誤差為0, 積分項不再累加,變成一個常數(shù),可以抵消穩(wěn)態(tài)誤差.
在表中最后幾項的輸出已經(jīng)非常接近0.1,說明消除了穩(wěn)態(tài)無處,但是卻出現(xiàn)的超調(diào)的部分
所以為了消弱超調(diào),KD出現(xiàn)了
所以公式是:

設(shè)Kp=0.4,Ki= 0.3,Kd=0.3,水位0.2,目標(biāo)水位1

第一次,誤差是 e(1)=1-0.2=0.8m,那么加入水量是 Kp0.8 = 0.40.8 = 0.32m , KI * e(1) = 0.3 * 0.8 = 0.24 , KD = 0 (因為當(dāng)前水位差就是0.8) 加入水量 = 0.32m + 0.24 = 0.56 當(dāng)前水桶水位:0.2+ 0.56 - 0.1=0.66

第二次,誤差是 e(2)=1-0.66=0.34m,那么加入水量是 Kp0.34 = 0.40.34 = 0.136m , KI * (e(2)+e(1)) = 0.3 * 1.46 = 0.342 , KD (e(2) - (e1))= 0.3(0.342 - 0.8) = -0.138 加入水量 = 0.136m + 0.342 -0.138 = 0.34 當(dāng)前水桶水位:0.66+ 0.34 - 0.1=0.9

有明顯的削弱超調(diào)

結(jié)論: 微分能夠減弱超調(diào)趨勢.

為了更明顯對比三個系數(shù)的關(guān)系,我們進(jìn)行計算對比,看下圖
設(shè)初始水位0.2,目前水位1,流出水位0.1,KP=0.4,KI=0.3,KD=0.3
首先是數(shù)據(jù)對比

仔細(xì)查看三個圖的最終水量的變化,

只有KP情況下,第一張圖水位無法達(dá)到目標(biāo)水位

有KP和KI情況下,第二張圖水位達(dá)到目標(biāo)水位,但是出現(xiàn)超調(diào)

有PID的情況下,第三張圖在出現(xiàn)超調(diào)后,KD馬上進(jìn)行的減小,有效抑制了超調(diào)

說明:PID三個參數(shù)是隨意設(shè)定,所以在調(diào)整時,需要不斷測試及根據(jù)經(jīng)驗調(diào)試

下面用曲線圖對比

此參數(shù)只是參考,具體PID參數(shù)的設(shè)置需要不斷嘗試,直到達(dá)到標(biāo)準(zhǔn)

如果運用在電機(jī)控制領(lǐng)域,同樣在控制輸出給電機(jī)的電流大小,一般通過PWM去控制輸出的電流量,通過反饋的采樣電阻得知當(dāng)前的電機(jī)轉(zhuǎn)速,也就是說,我們設(shè)定目前轉(zhuǎn)速,采樣當(dāng)前電機(jī)轉(zhuǎn)速,去調(diào)整PID三個參數(shù),經(jīng)過不斷嘗試達(dá)到預(yù)定狀態(tài),但是在控制電機(jī)時,會涉及到電機(jī)的開環(huán)和閉環(huán),開環(huán)簡單來說就是電機(jī)加速的過程,相當(dāng)于電機(jī)從0到預(yù)定轉(zhuǎn)速并平穩(wěn)后的過程,而閉環(huán)就是后續(xù)穩(wěn)定的運行過程,如果圖中所示

所以對于電機(jī)的調(diào)試一般開環(huán)轉(zhuǎn)閉環(huán)的過程會比較麻煩一些,當(dāng)在調(diào)試過程中你會發(fā)現(xiàn)你設(shè)定轉(zhuǎn)速達(dá)不到預(yù)定轉(zhuǎn)速,這時你就要想到出現(xiàn)了穩(wěn)態(tài)誤差,需要KI的幫助,當(dāng)你加入了KI后,可能轉(zhuǎn)速達(dá)到了預(yù)定轉(zhuǎn)速,但是可能出現(xiàn)啟動抖動的想象或者出現(xiàn)啟動電流很大這樣的想象,所以可以加入KD去削弱超調(diào)減小抖動或啟動電流,只有三個參數(shù)配合得當(dāng)時,才會啟動穩(wěn)定,運行正常,當(dāng)然要考慮電機(jī)的屬性,以及電路的設(shè)計,開關(guān)管的參數(shù)等等。

謝謝

excel計算鏈接PID算法

https://kdocs.cn/l/chUfS9QXdozS



————————————————

版權(quán)聲明:本文為CSDN博主「Mr.Fu!」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/weixin_48435215/article/details/125261840


PID詳解的評論 (共 條)

分享到微博請遵守國家法律
延庆县| 德格县| 察雅县| 宜宾县| 环江| 依兰县| 万年县| 衢州市| 乌拉特前旗| 兴安盟| 龙口市| 宜君县| 忻州市| 根河市| 洪洞县| 绥德县| 新营市| 万宁市| 禄劝| 宜阳县| 武平县| 阆中市| 阳信县| 盘山县| 池州市| 义乌市| 印江| 富蕴县| 伊宁市| 景德镇市| 盖州市| 伊吾县| 封开县| 涿鹿县| 武清区| 盈江县| 长岭县| 青州市| 峨边| 报价| 融水|