国产精品色情一区二区三区_欧美一区综合_日韩中文字幕一区二区_日韩一区二区三区毛片_一级毛片视频免费_久久精品国产午夜伦班片

教你從小明給水桶加水的例子弄懂PID

2019/8/20 1:06:25 人評論 次瀏覽 分類:過程控制  文章地址:http://www.gsipv.com/tech/2683.html

PID的重要性應該不需多說,在自動控制領域的應用很廣泛。Jason通過記錄小明給水桶加水的過程展示經典PID算法過程,以舉例子的形式給新手理解PID提供多一種思路。

Jason希望通過鮮活的例子解釋以下五個概念:

1、簡單描述何為PID, 為何需要PID,PID 能達到什么作用
2、理解P(比例環節)作用:基礎比例環節
缺點: 產生穩態誤差。
疑問: 何為穩態誤差 為什么會產生穩態誤差。
3、理解I(積分環節)作用:消除穩態誤差。
缺點: 增加超調
疑問: 積分為何能消除穩態誤差?
4、理解D(微分環節)作用:加大慣性響應速度,減弱超調趨勢
疑問: 為何能減弱超調
5、理解各個比例系數的作用
PID控制中各個比例系數的作用
下面就開始進入正題。


1、何為PID以及為何需要PID?

以下是PID控制的整體框圖,過程描述為:設定一個輸出目標,反饋系統傳回輸出值,如與目標不一致,則存在一個誤差,PID根據此誤差調整輸入值,直至輸出達到設定值。
PID控制框圖
疑問:那么我們為什么需要PID?比如我控制溫度,我不能監控溫度值,溫度值一到就停止嗎?


這里必須要先說下我們的目標,因為我們所有的控制無非就是想輸出能夠達到我們的設定,即如果我們設定了一個目標溫度值,那么我們想要一個什么樣的溫度變化呢。


比如設定目標溫度為30℃,目標無非是希望達到圖1的效果:希望其能夠快速而且沒有抖動的達到30℃。

 PID控制系統輸出的響應目標
圖1 PID控制系統輸出的響應目標
那這樣大家應該就明白,如果使用溫度一到就停止的辦法,當然如果要求不高可能也行,當肯定達不到圖1這樣的要求,因為溫度到了后余溫也會讓溫度繼續升高,而且溫度自身也會通過空氣散熱。
總結:我們需要PID的原因無非就是普通控制手段沒有辦法使輸出快速穩定的到達設定值。

如果你仍對此感到疑問,我們就開始用一個常用的例子來具體說明。


2、從小明給水桶加水的例子弄懂PID

在開始前,我們需要將公式搬出:

咋一看,這個公式挺唬人的。其實你只要知道微分和積分的基本定義就可以理解。而且最終我們所有的努力也都是能夠理解這個公式,否則再精妙的比喻也無法使你真正的明白和使用。

這里我們將其離散化(如果這步驟有些太快的話,后面再加入對此的解釋):


公式中Kp為比例常數,Ki=(Kp×T)/Ti為積分常數,Kd=(Kp×Td)/T為微分常數


以下Jason就通過一個例子具體展示這個方程是如何工作的。

①小明接到一個任務: 有個水桶,需要時刻保持1m的高度,目前水桶里有0.2m的水
那么小明采用P(比例)的方法加水:即每次測量與1m的誤差,并加入與誤差成比例的水量。比如設Kp=0.5
第一次加水:誤差是1-0.2=0.8m,那么加入水量是Kp×0.8=0.4m;
第二次加水,誤差是1-0.4 =0.6m,那么加入水量是 Kp×0.6=0.3m;
......

n次加水水桶水位統計表

n次加水水桶水位坐標圖
我們發現這太完美了,那么比例環節就能夠完美的解決問題了,可是等等,在下這個結論前,我們看小明的新任務


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


我們還是來給小明解決問題吧,
方案一仍是使用P(比例控制)U=Kp×e,仍然設Kp=0.5. 則U=0.5×e,L(最終水位)=本次輸入U加上上一次水位。
第一次加水:誤差是1-0.2=0.8m,那么加入水量是Kp×0.8=0.4m,最終水位時是0.4+0.2-0.1=0.5m。

第二次加水:誤差是1-0.5=0.5m,那么加入水量是Kp×0.5=0.25m,最終水位是0.5+0.25-0.1=0.65m
......



我們發現了問題,水位最終在0.8m處穩定了,這個也很好理解,當誤差是0.2m時,加水量時0.1,每次加入的剛好等于漏掉的。這里就引入了穩態誤差的概念:穩態誤差即當系統到達穩態時與目標的誤差。

那么我們加大Kp呢,
我們發現誤差變小了;

那我們繼續增大吧,
我們發現系統開始震蕩了。此處使用excel折線圖,大家可以調節參數觀察變化

結論: 比例控制引入了穩態誤差,且無法消除.比例常數增大可以減小穩態誤差,但如果太大則引起系統震蕩,不穩定。


為了消除穩態誤差,方案二:在比例基礎上加入積分,使用PI(比例積分控制),
積分控制就是將歷史誤差全部加起來乘以積分常數。

這個式子什么意思呢,為啥就能消除穩態誤差呢?
還是先設Kp=0.5,Ki=0.3(這個值我這里是隨意設置的)
第一次加水:誤差為0.8,比例部分Kp×0.8=0.4m, 積分部分 Ki×[e(1)]=0.24m,加入水量u為0.4+0.24=0.64m,最終水位0.2+0.64-0.1=0.74m
第二次加水:誤差為0.26,比例部分Kp×0.26=0.13m,積分部分Kp×[e(1)+e(2)]=0.318m,加入水量u為0.13+0.318=0.448m。最終水位0.74+0.448-0.1=1.088m
PID控制方式加水水位統計數據表


我們發現,雖然過程曲折,但是最終可以穩定到設定值了。


如果加大Ki呢?
此處使用excel 折線圖,大家可以調節參數觀察變化

結論:

①只要存在偏差,積分就不停的累計,直到誤差為0,積分項不再累加,變成一個常數,可以抵消穩態誤差。
大家可以看到表2中系統穩定后,積分項約是0.1。
②引入積分可以消除穩態誤差,但會增加超調,且Ki增大,超調量也增大。

為了消除超調,我們引入微分作用。
現在式子變成了:
 
還是先設Kp=0.5,Ki=0.5,Kd=0.3

第一次加水:誤差為0.8m,比例部分Kp×0.8=0.4m,積分部分Ki×[e(1)]=0.24m,微分部分=0(因為沒加水前水位差就是0.8m,加入水量U為0.4+0.4=0.8m,最終水位0.2+0.8-0.1=0.9m
第二次加水:誤差為0.1m,比例部分Kp×0.1=0.5m,積分部分Kp×[e(1)+e(2)]=0.45m,微分部分為Kd×[e(2)-e(1)]=-0.21m,加入水量u為0.5+0.45-0.21=0.29,最終水位0.9+0.29-0.1=1.09m


 PID控制方式加水水位坐標圖
我們發現對比上面那張Kp=0.5,Ki=0.5 的圖,這張圖的震蕩減輕了,這正是微分發生了作用,


大家可以看到表3中當第2次誤差為0.1時,上一次誤差為0.8時,微分是一個負數,阻止結果快速的變化。

結論: 微分能夠減弱超調趨勢。

可是,這個波形還是在震蕩啊,是的,別忘了,這個值是我隨手設置的,我們不能指望我們隨便設一個值就能使PID完美的工作起來,如果你自己用excel模擬一下你就會發現,如果Ki,Kd設置大些,這個系統會大幅度震蕩起來。


因此我們就需要對Kp,Ki,Kd整定,其實就是試怎么使輸出達到圖1的要求。當然這個例子其實使用PI就可以了,我們這里是為了理解其作用的原理。


能熟練進行PID參數整定,將自動控制系統投自動,這代表著工程技術人員的自動化技能水平,但很多人并未真正掌握PID控制和PID參數整定。在本站“PID調節器”產品頁面免費分享白志剛工程師編著的《自動調節系統解析與PID整定》一書,書中內容沒有高深的理論公式,全是實戰干貨,理解了此書內容真諦,高中學歷的儀表人也能整定PID參數,將PID控制弄透徹!對您有幫助,還是免費的,趕快去產品頁面“PID調節器”免費領取這本書!  
自動調節系統解析與PID整定

共有訪客發表了評論 網友評論

  客戶姓名:
郵箱或QQ:
驗證碼: 看不清楚?