新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PID算法學(xué)習(xí)筆記

PID算法學(xué)習(xí)筆記

作者: 時(shí)間:2012-09-15 來源:網(wǎng)絡(luò) 收藏

1年前就有聽說 搖搖擺擺終于 可以來 詳細(xì)的 應(yīng)用學(xué)習(xí)下

系統(tǒng)需求: 調(diào)壓器 恒壓恒流功能的使用

最基本的比例調(diào)節(jié) U=P*Uk+U0

u 為控制信號(hào)輸出UK為 當(dāng)前值 和 期望值的U0的偏差 P 為比例系數(shù)

這個(gè)很容易理解的

這種控制 只在 存在偏差 UK不等于0的時(shí)候 才起作用

也就是說 這種控制一定會(huì)存在偏差,,偏差越小調(diào)節(jié)作用越弱

當(dāng)然 如果增加K 可以使這個(gè)必然存在的偏差值 變小。。不過 增加K 會(huì)讓整個(gè)系統(tǒng)不穩(wěn)定,,

(比如系統(tǒng)存在一個(gè)正偏差,,K很大,。。系統(tǒng)很容易就輸出到一個(gè) 傅偏差的值,,這樣系統(tǒng)很難穩(wěn)定 或者說K越大 系統(tǒng)波動(dòng) 的幅度也越大 增加K減小誤差 只適用與不存在超調(diào)的系統(tǒng) 也就是 輸出只會(huì)從一個(gè)方向逼近 理想值 不過這種系統(tǒng) 似乎不是很多 雖然也存在)

這樣這個(gè)不穩(wěn)定的調(diào)節(jié)方式 是需要改進(jìn)的。

為了減小這個(gè)必然存在的誤差 除了增大K 還有什么別的辦法呢?

神奇的天才們給出了PID 控制的I部分

你不是始終存在誤差嘛? 我讓你誤差累加 以增加我獲得誤差 值

比如你的系統(tǒng) 誤差隨著時(shí)間變化 我采樣到 0.1 0.08 0.02 -0.02 在T3 也就是采樣到0.2的時(shí)候 這個(gè)誤差相對(duì)于0.1 時(shí)候來說已經(jīng)很小了。。使用Y=KX+u 的調(diào)節(jié) 很明顯已經(jīng)效果不咋樣了

不過我們 如果 在0.02 時(shí)刻 把誤差視為 0.1+0.08+0.02=0.2 那么是否 能獲得更好的調(diào)節(jié)效果呢?

于是 有了 積分環(huán)節(jié) T/Ti ∑UK 對(duì)誤差求和

,明眼人一看就知道 你這雖然 讓系統(tǒng)必然存在的誤差變小了,,甚至無限逼近與0 不過依然解決不了系統(tǒng)震蕩,,甚至?xí)屜到y(tǒng)震蕩的更嚴(yán)重

不要緊,,為了解決這個(gè)問題 我們還有個(gè)微分環(huán)節(jié)

(Td/T)[U(K)-U(k-1)]

系統(tǒng)為什么震蕩?

不就是UK-U(K-1) 有點(diǎn)大么(如果UK>0 U(K-1)>0 正常情況下UK- U(K-1)0 系統(tǒng)越調(diào) UK 應(yīng)該越逼近0)

那么我把這個(gè)負(fù)值 加到你的系統(tǒng)中 讓你系統(tǒng) 越 逼近0的時(shí)候 輸出 越小或者說 抑制輸出變化速度 免得你震蕩嘛

這個(gè)也就是微分的作用咯

最后 記得給這三個(gè)部分 分別乘以一個(gè)系數(shù) 以調(diào)整每一部分的作用效果

系數(shù)分別定為 P I D

當(dāng)然還要加上一個(gè)系統(tǒng)初值U0

PID調(diào)節(jié)公式就成了:

S(K)=PU(k)+IT/Ti ∑UK+D (Td/T)[U(K)-U(k-1)])+ U0

不覺得 積分環(huán)節(jié) T/Ti ∑UK 從0時(shí)刻積分到現(xiàn)在 很累么? 而且系統(tǒng)中 TX時(shí)刻出現(xiàn)的偶然情況(不屬于系統(tǒng)正常變化部分) 會(huì)一直影響著現(xiàn)在的輸出。。咋辦呢?

用現(xiàn)在的S減去上一時(shí)刻的S 我只要 S的變化量加上一時(shí)刻的輸出 來確定現(xiàn)在的輸出 (S =s(T-1)+ds)

于是我們就有了增量

二:增量

DS=S(K)-S(K-1)

整個(gè)式子的化簡(jiǎn) 相信 。。。應(yīng)該都會(huì)吧#01

DS=Pdu(k)+I t/ti(uk)+ D TD/T duk+du(k-1)

于是我們只剩下 三個(gè)是需要的 UK UK-1 UK-2

應(yīng)為DU(K-1) 是UK-1- UK-2

QQ空間打公式太麻煩 所以比較懶的省了很多括號(hào) 還望大家見諒 相信 應(yīng)該都能看明白

可能大家覺得這么著已經(jīng)湊合著了吧

不過想想。。又積分 又微分。。是否會(huì)讓系統(tǒng)響應(yīng) 不是足夠快?

呵呵 偉大的神人們說

我找一個(gè)門限值US

當(dāng)S(K)>US 的時(shí)候 我不要微分 讓系統(tǒng) 很快的調(diào) 盡快的把SK 調(diào)下來

當(dāng)SK US 的時(shí)候 我加入積分部分讓系統(tǒng) 慢慢調(diào)精確的調(diào)、

扯淡的理論 就寫到這里了 接下來 就玩真格的

PID 在本中的應(yīng)用

也就是C18 程序的具體實(shí)現(xiàn)

當(dāng)然 我思路還很亂。。我去百度百度再來

還要說一句 絕情才能成長(zhǎng) 多情的 多愁善感的人都是廢物



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉