木森的宅家工作記錄2019年4月5日(PID算法詳解)

這是一個卑微電子信息學員的開始

這是學習stm32(自平衡小車)的開始

寒假開始了,卑微電子信息學員開始了stm32的學習過程。

小車的硬件結構學習

一.PID 算法

1.P - Proportional 比例
通俗的方面講,P就是係數Kp,簡稱爲P,現不考慮ID,現考慮P。設期望值爲c(t),當前檢測到的值是r(t),則誤差e(t)=c(t)-r(t)。則有增加的u(t)=Kp*e(t)。這一參數可以即時成比例地反應控制系統的偏差信號e(t),偏差一旦產生,控制器立即產生控制作用以減小誤差。當偏差e=0時,控制作用也爲0。因此,比例控制是基於偏差進行調節的,即有差調節。
2.I - Integral 積分
設有一水缸,爲使水缸的水位達到1m,假設這個水缸在加水的過程中,存在漏水的情況,假設每次加水的過程,都會漏掉0.1米高度的水。假設kp取0.5,那麼會存在着某種情況,假設經過幾次加水,水缸中的水位到0.8時,水位將不會再變換!!!因爲,水位爲0.8,則誤差error=0.2. 所以每次往水缸中加水的量爲u=0.5x0.2=0.1同時,每次加水缸裏又會流出去0.1米的水!!!加入的水和流出的水相抵消,水位將不再變化!!
也就是說,我的目標是1米,但是最後系統達到0.8米的水位就不在變化了,且系統已經達到穩定。由此產生的誤差就是穩態誤差了。
(在實際情況中,這種類似水缸漏水的情況往往更加常見,比如控制汽車運動,摩擦阻力就相當於是“漏水”,控制機械臂、無人機的飛行,各類阻力和消耗都可以理解爲本例中的“漏水”) 所以,單獨的比例控制,在很多時候並不能滿足要求。
這時引入I - Integral 積分,這個參數將成爲累加誤差e(t)的和的係數,使增量比原先更大或者更小,進而打破上文所說的(假)穩定循環,進而逼近循環。加上這一項後寫作u(t)=K*pe(t)+Ki∗∫e(t)dt 但是,如果初始值與預期值相差極大,會使積分的和在短時間達到極大的一個數值,進而使輸出結果長期的在期望值上下跳動,所以需要給積分值設定一個上限值(我還沒有調試,不知道確定的數值)
3. D - Derivative 導數
D參數的引入使預計數據未來的情況成爲了可能,可以讓數據在離預期值遠時以較大的速率逼近這一預期值,而當數據離預期值近時以較小的速率逼近這一數值,使曲線更快的逼近預期值。
在這裏插入圖片描述

二.小車的調試方法
在這裏插入圖片描述
我還沒有調試過,感覺看起來超級正確。

引用了一些文章和百度文庫:
https://blog.csdn.net/xmy306538517/article/details/72771269
https://blog.csdn.net/qq_25352981/article/details/81007075

個人工作記錄,最終解釋權由作者本人享有。

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