怎樣使用上位機調PID

問題

一、 爲什麼P過小時系統會有靜差?·
二、 爲什麼Kp過大時會有超調、震盪?
三、 爲什麼積分項可以消除穩態誤差?
四、 爲什麼微分項可以抑制震盪、限制超調、以及可以作爲超前控制系統的主要輸出?
五、 PID整定口訣

PID中P增大增快響應速度,I消除穩差,D增加增強預判。這些值越大越好嗎?P太大會超調,D大會震盪,I值有累積作用。

一、爲什麼P過小時系統會有靜差?

在這裏插入圖片描述
舉個例子,假如一個溫度控制系統,就比如控制烙鐵的溫度。
1.我們在烙鐵電源線中間串一個繼電器作爲自動開關,繼電器用單片機控制。
2.烙鐵頭上綁一個熱電偶,作爲溫度反饋元件。

首先假設:
1.給定值Sv=100度。
2.PWM的週期T=1000,對應單片機電壓U=5V。
3.最低動作電壓,或者叫死區電壓爲2.5V。

下面開始分析:
假如一開始烙鐵上電,烙鐵溫度是10度,那麼此時偏差Ek=100-10=90
回顧一下比例控制的公式:
Pout=Kp * Ek

  1. 若Kp設爲1,則此時Pout最大等於90,加載到負載上的電壓最大爲90/1000 * 5V =0.09V。
    0.09V對於5V來講,連維持電壓的標準都達不到,所以Kp=1時烙鐵基本就不會升溫。
  2. Kp=10;Pout最大爲900,加載到負載上的電壓最大爲900/1000 * 5V =4.5V。這個可以了,烙鐵開始升溫。而此時注意了,隨着溫度的升高偏差也在減小,隨之Pout輸出也在減弱,當溫度升到40度時,Pout=10 * 60=600,電壓爲600/1000 * 5 = 3V,加載到負載的電壓是3V,高於死區電壓,故溫度繼續上升。
    而當溫度上升到50度時,此時Ek=50,故Pout=500,電壓也就等於(500/1000) *5=2.5V,此時到了臨界死區電壓,也就是此時的電壓無法再使得溫度繼續上升了。由於溫度的慣性,可能還會在升高幾度。之後就會維持在那裏,進入穩態。
    那麼此時也就產生了穩態誤差,穩態誤差也就是靜差,等於50。
    如果你繼續加大Kp,那麼穩態誤差會相關減小。但穩態誤差不會消失。
    有同學就問了,Kp繼續加大,穩態誤差就會減下去,那使勁加大Kp不就能消除穩態誤差了?答案是不能,Kp太小,系統存在穩態誤差;而Kp過大,則會使系統有超調,並且出現震盪。

二、 爲什麼Kp過大時會有超調、震盪?

在這裏插入圖片描述
我們繼續上個假設,當Kp=200時,假如溫度升到了90度,此時偏差爲10,但此時系統輸出電壓U=200*10 /1000 *5 =10V,但因爲最大5V,所以系統仍以5V的電壓高度運行,然後逐漸高速接近100度,此時注意,溫度越高偏差越小輸出越小。

但更要注意溫度控制是個大慣性系統。

理論上到99度時,偏差Ek=1,輸出爲200*1/1000 *5 =1V。

而實際情況是:因爲前面溫度上升非常快,而加熱元件是慣性系統,所以即使理論輸出1V,實際情況

是加熱元件上面的熱量依然很高,依然頂着溫度往上跑,呼呼的衝過了100度,然後繼續上升。過一段時間後,溫度停止上升纔開始下降,降到100度以下,系統瞬間接收到正偏差,開始給加熱元件供電,然而此時又是因爲其是慣性元件,故雖然加熱元件已開始供電但溫度卻繼續下降。降了好多度之後,溫度停止降溫開始升溫。來來回回週而復始。也就出現了震盪(非衰減震盪,因爲不會進入誤差帶)。

三、 爲什麼積分項可以消除穩態誤差?

積分是什麼?積分的幾何意義概括的說是求曲邊梯形的面積,將曲邊梯形分成無數個小塊,每塊都可以近似擬合成長方形。將所有“長方形”的面積求和,即得到曲面梯形的面積。

所以積分的核心思想是什麼啊?這是求和啊。

回顧一下積分項的公式:

Iout = Kp * 1/Ti * T * ∑ Ek

簡化一下就是:Iout=∑ Ek ,k∈( 0 , n )

意思就是積分項輸出,等於從第0時刻到當前這一時刻,的偏差求和。

那不就行了,偏差求和,偏差求和,只要你敢有偏差那我就敢求和,那繼而就有輸出。你一有偏差我就積分(求和),一有偏差我就積分,直到積到你偏差等0我才停止,否則我就會一直積積積,也就一直有輸出輸出輸出。

所以,積分能消除靜差(穩態誤差)。

四、 爲什麼微分項可以抑制震盪、限制超調、以及可以作爲超前控制系統的主要輸出?

微分微分,我們在數學中學過“求導數”,位置的導數爲速度,速度的導數是加速度。
速度反應的是位置的變化率,而加速度反映的是速度的變化率。
我們再來回顧一下PID理論中微分項的公式:
Dout=Kp * Td * [ E(k)-E(k-1) ]/ T

公式核心部分是:[ E(k)-E(k-1) ]/ T, 這是啥?“本次偏差減去上次偏差,再除以兩次間隔的時間”,這就是赤裸裸的求導啊!
求導是啥?就是求變化率呀!

所以,微分項輸出就是由偏差變化率決定。即:偏差一旦有變化率,那我就有輸出,否則你偏差再大,只要你變化率趨於0,那我就沒輸出。

那麼結論就來了,只要我將微分項的輸出量的符號設爲負值。注意了,那麼一旦系統有變化率,此時微分項輸出多少,系統就得從總輸出中減去多少。若前兩次偏差的變化率非常大,那麼本次總輸出減去的值也就對應的非常多,也就是大大削弱了總輸出量,這不相當於微分項作爲一個阻尼,抑制了系統的輸出嗎?
那爲什麼可以抑制震盪呢?
在這裏插入圖片描述
首先,震盪的產生一般是因爲,Kp設置過大導致比例項單位輸出過大,導致輸出過量而產生震盪。那麼注意此時系統響應速度也就非常高,即震盪頻率不低。而震盪頻率越高,我微分項在一個控制週期(或者叫採樣週期)內捕獲到的偏差變化率也就越大。那麼我微分項輸出也就越大,相應的就會削弱更多的系統輸出。此時輸出被削弱就不會導致單位輸出過量,也就是說震盪就會減小了。(不知道大家能不能邊看文章邊想象,波形和輸出的關係。。。等我晚上回去畫一張圖,以便於大家理解。)

限制超調其實也是一個道理,只不過超調限制的不太明顯,爲啥內?因爲公認的好系統都是阻尼比大於0小於1的衰減震盪,也就是剛開始是有超調震盪的,然後隨着時間的延長震盪越來越小直至進入誤差帶範圍內。。。如果你再問爲啥不能把微分項使勁加大,加到沒有超調。那我只能回答你,那樣會極大削弱系統響應時間,過渡過程時間會非常大,響應非常慢。。都是自控基礎知識了,,,看書看書咳咳,,
微分項作爲超前控制的主要輸出?
之前做了全國大學生電子設計競賽的板球控制系統。參考了王向陽大哥的思路。
板球控制系統其實就是基本靠微分項輸出的控制系統,目的就是爲了極限加大系統的響應速度,減小響應時間。同學就問了,“加大響應速度靠微分項?你搞錯了是靠比例項。”
不,同學,你搞錯了。我問你,比例控制還有一個名字叫什麼?有差控制!
明白沒有?明白了吧。板球的球滾那麼快,你一個控制週期過去,球都滾沒影了你還控制嘞你,妖怪吧。。。
微分項不一樣,微分項可以由在前幾次的變化趨勢,來預測系統後面幾個週期的狀態,以作出超前的控制輸出。
即:你已經有往那邊滾動的趨勢了,那麼在你還沒滾丟之前,我就提前輸出一個量來阻止你繼續往那邊滾動。不等你滾丟的那個週期的偏差來到,我就已經未雨綢繆了。把你想滾丟的念頭扼殺在搖籃裏。
這時候呢,作爲超前控制,你微分項就可以越大越好了(也不能太大)。越大超前性越高。

五、 PID整定口訣

參數整定找最佳,從小到大順序查
先是比例後積分,最後再把微分加
曲線振盪很頻繁,比例度盤要放大
曲線漂浮繞大灣,比例度盤往小扳
曲線偏離回覆慢,積分時間往下降
曲線波動週期長,積分時間再加長
曲線振盪頻率快,先把微分降下來
動差大來波動慢,微分時間應加長
理想曲線兩個波,前高後低四比一
一看二調多分析,調節質量不會低

具體pid從入門到使用上位機調參下載鏈接:pid從入門到使用上位機調參

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章