|
網(wǎng)上看到的一篇關(guān)于PID通俗易懂的文檔。
很多同學(xué)都不清楚 PID 是個什么東西,因為很多不是自動化的學(xué)生。他們開口就要資料,要程序。這是明顯的學(xué)習(xí)方法不對,起碼,首先,你要理解 PID 是個什么東西。
本文以通俗的理解,以小車縱向控制舉例說明 PID 的一些理解。
首先,為什么要做 PID?由于外界原因,小車的實際速度有時不穩(wěn)定,這是其一,要讓小車以最快的時間達達到既定的目標(biāo)速度,這是其二。速度控制系統(tǒng)是閉環(huán),才能滿足整個系統(tǒng)的穩(wěn)定要求,必竟速度是系統(tǒng)參數(shù)之一,這是其三.
小車調(diào)速肯定不是線性的,外界因素那么多,沒人能證明是線性的。如果是線性的,直接用 P 就可以了。比如在 PWM=60%時,速度是2M/S,那么你要它3M/S,就把 PWM 提高到90%。因為90/60=3/2,這樣一來太完美了。完美是不可能的。
那么不是線性的,要怎么怎么控制 PWM使速度達到即定的速度呢?即要快,又要準(zhǔn),又要狠。(即快準(zhǔn)狠)系統(tǒng)這個速度的調(diào)整過程就必須通過某個算法調(diào)整,一般 PID 就是這個所用的算法。
為了避免教科書公式化的說明,本文用口語化和通俗的語言描述。雖然不一定恰當(dāng),但意思差不多,就是那個事。如果要徹頭徹尾地弄PID,建議多調(diào)試,寫幾個仿真程序。
PID 一般有兩種:位置式 PID 和增量式 PID。在小車?yán)镆话阌迷隽渴�,為什么呢?位置式PID的輸出與過去的所有狀態(tài)有關(guān),計算時要對e(每一次的控制誤差)進行累加,這個計算量非常大,而明沒有必要。而且小車的PID 控制器的輸出并不是絕對數(shù)值,而是一個△,代表增多少,減多少。換句話說,通過增量PID 算法,每次輸出是 PWM 要增加多少或者減小多少,而不是PWM的實際值。 下面均以增量式 PID 說明。
這里再說一下 P、I、D 三個參數(shù)的作用。P=Proportion,比例的意思,I 是Integral,積分,D是 Differential 微分。
打個比方,如果現(xiàn)在的輸出是1,目標(biāo)輸出是100,那么 P 的作用是以最快的速度達到100,把 P 理解為一個系數(shù)即可;而 I 呢?大家學(xué)過高數(shù)的,0的積分才能是一個常數(shù),I 就是使誤差為0而起調(diào)和作用;D 呢?大家都知道微分是求導(dǎo)數(shù),導(dǎo)數(shù)代表切線是吧,切線的方向就是最快到至高點的方向。這樣理解,最快獲得最優(yōu)解,那么微分就是加快調(diào)節(jié)過程的作用了。
公式本來需要推導(dǎo)的,我就不來這一套了。直接貼出來:
來的,按這個公式,就可以簡化計算量了,因為 P I D是常數(shù),那么 A B C 可以用一個宏表示。這樣看來,只需要求 e(k) e(k-1) e(k-2)就可以知道△Uk 的值了,按照△Uk 來調(diào)節(jié) PWM 的大小就OK 了。PID 三個參數(shù)的確定有很多方法,不在本文討論范圍內(nèi)。采樣周期也是有據(jù)可依的,不能太大,也不能太小。
........................
........................
PID 實際編程的過程的,要注意的東西還是有幾點的。PID 這東西可以做得很深。
1 PID 的診定。湊試法,臨界比例法,經(jīng)驗法。
2 T 的確定,采樣周期應(yīng)遠小于過程的擾動信號的周期,在小車程序中一般是 ms 級別。
3 目標(biāo)速度何時賦值問題,如何更新新的目標(biāo)速度?這個問題一般的人都乎略了。目標(biāo)速度
肯定不是個恒定的,那么何時改變目標(biāo)速度呢?
4 改變了目標(biāo)速度,那么 e(k) e(k-1) e(k-2)怎么改變呢?是賦 0 還是要怎么變?
5 是不是PID 要一直開著?
6 error 為多少時就可以當(dāng)速度已達到目標(biāo)?
7 PID 的優(yōu)先級怎么處理,如果和圖像采集有沖突怎么辦?
8 PID 的輸入是速度,輸出是 PWM,按理說 PWM 產(chǎn)生速度,但二者不是同一個東西,有
沒有問題?
9 PID 計算如何優(yōu)化其速度?指針,匯編,移位?都可以試!
完整的pdf格式文檔51黑下載地址(共5頁,帶源程序):
PID通俗易懂.pdf
(249.29 KB, 下載次數(shù): 43)
2018-5-31 17:07 上傳
點擊文件名下載附件
|
評分
-
查看全部評分
|