PID算法學(xué)習(xí)筆記
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)
于是我們就有了增量 PID算法
二:增量PID算法
DS=S(K)-S(K-1)
整個(gè)式子的化簡 相信 。。。應(yīng)該都會(huì)吧#01
DS=Pdu(k)+I t/ti(uk)+ D TD/T duk+du(k-1)
于是我們只剩下 三個(gè)系統(tǒng)狀態(tài)是需要的 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 在本恒壓系統(tǒng)中的應(yīng)用
也就是C18 程序的具體實(shí)現(xiàn)
當(dāng)然 我思路還很亂。。我去百度百度再來
還要說一句 絕情才能成長 多情的 多愁善感的人都是廢物
評(píng)論