標(biāo)題: 一篇不錯(cuò)的PID通俗易懂的講解文章分享 [打印本頁]

作者: 冰霧花泣    時(shí)間: 2018-5-31 17:13
標(biāo)題: 一篇不錯(cuò)的PID通俗易懂的講解文章分享
網(wǎng)上看到的一篇關(guān)于PID通俗易懂的文檔。

很多同學(xué)都不清楚 PID 是個(gè)什么東西,因?yàn)楹芏嗖皇亲詣?dòng)化的學(xué)生。他們開口就要資料,要程序。這是明顯的學(xué)習(xí)方法不對(duì),起碼,首先,你要理解 PID 是個(gè)什么東西。
本文以通俗的理解,以小車縱向控制舉例說明 PID 的一些理解。
首先,為什么要做 PID?由于外界原因,小車的實(shí)際速度有時(shí)不穩(wěn)定,這是其一,要讓小車以最快的時(shí)間達(dá)達(dá)到既定的目標(biāo)速度,這是其二。速度控制系統(tǒng)是閉環(huán),才能滿足整個(gè)系統(tǒng)的穩(wěn)定要求,必竟速度是系統(tǒng)參數(shù)之一,這是其三.
  小車調(diào)速肯定不是線性的,外界因素那么多,沒人能證明是線性的。如果是線性的,直接用 P 就可以了。比如在 PWM=60%時(shí),速度是2M/S,那么你要它3M/S,就把 PWM 提高到90%。因?yàn)?0/60=3/2,這樣一來太完美了。完美是不可能的。
    那么不是線性的,要怎么怎么控制 PWM使速度達(dá)到即定的速度呢?即要快,又要準(zhǔn),又要狠。(即快準(zhǔn)狠)系統(tǒng)這個(gè)速度的調(diào)整過程就必須通過某個(gè)算法調(diào)整,一般 PID 就是這個(gè)所用的算法。

為了避免教科書公式化的說明,本文用口語化和通俗的語言描述。雖然不一定恰當(dāng),但意思差不多,就是那個(gè)事。如果要徹頭徹尾地弄PID,建議多調(diào)試,寫幾個(gè)仿真程序。
          PID 一般有兩種:位置式 PID 和增量式 PID。在小車?yán)镆话阌迷隽渴,為什么呢?位置式PID的輸出與過去的所有狀態(tài)有關(guān),計(jì)算時(shí)要對(duì)e(每一次的控制誤差)進(jìn)行累加,這個(gè)計(jì)算量非常大,而明沒有必要。而且小車的PID 控制器的輸出并不是絕對(duì)數(shù)值,而是一個(gè)△,代表增多少,減多少。換句話說,通過增量PID 算法,每次輸出是 PWM 要增加多少或者減小多少,而不是PWM的實(shí)際值。 下面均以增量式 PID 說明。
  這里再說一下 P、I、D 三個(gè)參數(shù)的作用。P=Proportion,比例的意思,I 是Integral,積分,D是 Differential 微分。
打個(gè)比方,如果現(xiàn)在的輸出是1,目標(biāo)輸出是100,那么 P 的作用是以最快的速度達(dá)到100,把 P 理解為一個(gè)系數(shù)即可;而 I 呢?大家學(xué)過高數(shù)的,0的積分才能是一個(gè)常數(shù),I 就是使誤差為0而起調(diào)和作用;D 呢?大家都知道微分是求導(dǎo)數(shù),導(dǎo)數(shù)代表切線是吧,切線的方向就是最快到至高點(diǎn)的方向。這樣理解,最快獲得最優(yōu)解,那么微分就是加快調(diào)節(jié)過程的作用了。
公式本來需要推導(dǎo)的,我就不來這一套了。直接貼出來:

來的,按這個(gè)公式,就可以簡(jiǎn)化計(jì)算量了,因?yàn)?P I D是常數(shù),那么 A  B  C 可以用一個(gè)宏表示。這樣看來,只需要求 e(k) e(k-1) e(k-2)就可以知道△Uk 的值了,按照△Uk 來調(diào)節(jié) PWM 的大小就OK 了。PID 三個(gè)參數(shù)的確定有很多方法,不在本文討論范圍內(nèi)。采樣周期也是有據(jù)可依的,不能太大,也不能太小。
   ........................
   ........................
PID 實(shí)際編程的過程的,要注意的東西還是有幾點(diǎn)的。PID 這東西可以做得很深。
1 PID 的診定。湊試法,臨界比例法,經(jīng)驗(yàn)法。
2 T 的確定,采樣周期應(yīng)遠(yuǎn)小于過程的擾動(dòng)信號(hào)的周期,在小車程序中一般是 ms 級(jí)別。
3  目標(biāo)速度何時(shí)賦值問題,如何更新新的目標(biāo)速度?這個(gè)問題一般的人都乎略了。目標(biāo)速度
肯定不是個(gè)恒定的,那么何時(shí)改變目標(biāo)速度呢?
4  改變了目標(biāo)速度,那么 e(k) e(k-1) e(k-2)怎么改變呢?是賦 0 還是要怎么變?
5  是不是PID 要一直開著?
6 error 為多少時(shí)就可以當(dāng)速度已達(dá)到目標(biāo)?
7 PID 的優(yōu)先級(jí)怎么處理,如果和圖像采集有沖突怎么辦?
8  PID 的輸入是速度,輸出是 PWM,按理說 PWM 產(chǎn)生速度,但二者不是同一個(gè)東西,有
沒有問題?
9 PID 計(jì)算如何優(yōu)化其速度?指針,匯編,移位?都可以試!

完整的pdf格式文檔51黑下載地址(共5頁,帶源程序):
PID通俗易懂.pdf (249.29 KB, 下載次數(shù): 43)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1