導航:首頁 > 源碼編譯 > 為什麼採用嵌入式pid演算法

為什麼採用嵌入式pid演算法

發布時間:2023-08-11 18:16:48

1. PID到底是個啥講個故事告訴你


啥是PID?


PID,就是「比例(proportional)、積分(integral)、微分(derivative)」,是一種很常見的控制演算法

PID已經有107年的 歷史 了


它並不是什麼很神聖的東西,大家一定都見過PID的實際應用。


比如四軸飛行器,再比如平衡小車......還有 汽車 的定速巡航、3D列印機上的溫度控制器....


就是類似於這種:需要將某一個物理量「保持穩定」的場合(比如維持平衡,穩定溫度、轉速等),PID都會派上大用場。PID應用相關文章,點擊閱讀:應用PID控制,讓機器人學會騎自行車。


那麼問題來了:


比如,我想控制一個「熱得快」,讓一鍋水的溫度保持在50 ,這么簡單的任務,為啥要用到微積分的理論呢

。關於PID原理,也可以看這篇文章:PID演算法原理介紹。


你一定在想:


這不是so easy嘛~ 小於50度就讓它加熱,大於50度就斷電,不就行了?幾行代碼用Arino分分鍾寫出來。


沒錯~在要求不高的情況下,確實可以這么干~ But!如果換一種說法,你就知道問題出在哪裡了:

【嵌入式物聯網單片機學習】 嵌入式物聯網開發需要學的東西比較多,大家可以加下面微信一起學習,整理了100多G(全網最全)的學習資料包(持續更新)、最新的學習路線思維導圖。


各種學習群、項目開發教程。還可以圍觀我朋友圈中的一手行業消息,每周的技術大咖直播答疑吹水。

點擊這里加我 嵌入式物聯網單片機學習

如果我的控制對象是一輛 汽車 呢?


要是希望 汽車 的車速保持在50km/h不動,你還敢這樣幹麼。


設想一下,假如 汽車 的定速巡航電腦在某一時間測到車速是45km/h。它立刻命令發動機:加速!


結果,發動機那邊突然來了個100%全油門,嗡的一下, 汽車 急加速到了60km/h。


這時電腦又發出命令:剎車!


結果,吱...............哇............(乘客吐)

所以,在大多數場合中,用「開關量」來控制一個物理量,就顯得比較簡單粗暴了。有時候,是無法保持穩定的。因為單片機、感測器不是無限快的,採集、控制需要時間:單片機開發中,感測器的數據處理演算法。


而且,控制對象具有慣性。比如你將一個加熱器拔掉,它的「余熱」(即熱慣性)可能還會使水溫繼續升高一小會。


這時,就需要一種『演算法』:



於是,當時的數學家們發明了這一歷久不衰的演算法——這就是PID。


你應該已經知道了,P,I,D是三種不同的調節作用,既可以單獨使用(P,I,D),也可以兩個兩個用(PI,PD),也可以三個一起用(PID)。


這三種作用有什麼區別呢?客官別急,聽我慢慢道來

我們先只說PID控制器的三個最基本的參數:kP,kI,kD。


kP


P就是比例的意思。它的作用最明顯,原理也最簡單。我們先說這個:


需要控制的量,比如水溫,有它現在的『當前值』,也有我們期望的『目標值』。


這就是P的作用,跟開關控制方法相比,是不是「溫文爾雅」了很多


實際寫程序時, 就讓偏差(目標減去當前)與調節裝置的「調節力度」,建立一個一次函數的關系, 就可以實現最基本的「比例」控制了~


kP越大,調節作用越激進,kP調小會讓調節作用更保守。


要是你正在製作一個平衡車,有了P的作用,你會發現,平衡車在平衡角度附近來回「狂抖」,比較難穩住。


如果已經到了這一步——恭喜你!離成功只差一小步了~


kD


D的作用更好理解一些,所以先說說D,最後說I。


剛才我們有了P的作用。你不難發現,只有P好像不能讓平衡車站起來,水溫也控製得晃晃悠悠,好像整個系統不是特別穩定,總是在「抖動」。


你心裡設想一個彈簧:現在在平衡位置上。拉它一下,然後鬆手。這時它會震盪起來。因為阻力很小,它可能會震盪很長時間,才會重新停在平衡位置。


請想像一下:要是把上圖所示的系統浸沒在水裡,同樣拉它一下 :這種情況下,重新停在平衡位置的時間就短得多。


我們需要一個控製作用,讓被控制的物理量的「變化速度」趨於0,即類似於「阻尼」的作用。


因為,當比較接近目標時,P的控製作用就比較小了。越接近目標,P的作用越溫柔。有很多內在的或者外部的因素,使控制量發生小范圍的擺動。


D的作用就是讓物理量的速度趨於0,只要什麼時候,這個量具有了速度,D就向相反的方向用力,盡力剎住這個變化。


kD參數越大,向速度相反方向剎車的力道就越強。


如果是平衡小車,加上P和D兩種控製作用,如果參數調節合適,它應該可以站起來了~歡呼吧


等等,PID三兄弟好像還有一位。看起來PD就可以讓物理量保持穩定,那還要I幹嘛?


因為我們忽視了一種重要的情況:


kI


還是以熱水為例。假如有個人把我們的加熱裝置帶到了 非常冷 的地方,開始燒水了。 需要燒到50


在P的作用下,水溫慢慢升高。直到升高到 45 時,他發現了一個不好的事情: 天氣太冷,水散熱的速度,和P控制的加熱的速度相等了


這可怎麼辦?



於是,水溫永遠地停留在45 ,永遠到不了50 。


作為一個人,根據常識,我們知道,應該進一步增加加熱的功率。可是增加多少該如何計算呢?

前輩科學家們想到的方法是真的巧妙。


設置一個積分量。只要偏差存在,就不斷地對偏差進行積分(累加),並反應在調節力度上。


這樣一來,即使45 和50 相差不太大,但是隨著時間的推移,只要沒達到目標溫度,這個積分量就不斷增加。系統就會慢慢意識到:還沒有到達目標溫度,該增加功率啦!


到了目標溫度後,假設溫度沒有波動,積分值就不會再變動。這時,加熱功率仍然等於散熱功率。但是,溫度是穩穩的50 。


kI的值越大,積分時乘的系數就越大,積分效果越明顯。


所以,I的作用就是,減小靜態情況下的誤差,讓受控物理量盡可能接近目標值。

I在使用時還有個問題:需要設定積分限制。防止在剛開始加熱時,就把積分量積得太大,難以控制。

版權聲明:本文來源於網路,免費傳達知識,版權歸原作者所有,如涉及作品版權問題,請聯系我進行刪除

2. 請問專家PID演算法的作用是什麼

PID調節器,本質上是要一個系統的輸出達到理想的目標狀態。P是比例調節,根據理想態和當前態的差距,乘以一個系數,進行調節;I是積分環節,是消除靜態誤差的;D是微分環節,用來預測差值的變化對調節進行修正的(這個說法不完全對,因為還有微分先行之類的演算法,能有效地避免雜訊干擾);至於專家PID,主要是檢查誤差的區間,合理調節PID中的各種系數,使之不是定值,使調節系統更有魯棒性。

3. 什麼是PID演算法,PID控制器的原理是什麼

PID演算法具體分兩種:一種是位置式的 ,一種是增量式的。

位置式PID的輸出與過去的所有狀態有關,計算時要對e(每一次的控制誤差)進行累加,這個計算量非常大,而明顯沒有必要。而且小車的PID控制器的輸出並不是絕對數值,而是一個△,代表增多少,帶激減多少。換句話說,通過增量PID演算法祥亂,每次輸出是PWM要增加多少或者減小多少,而不是PWM的實際值。所以明白增量式PID就行了。

PID的增量型公式:

PID=Uk+KP*【E(k)-E(k-1)】+KI*E(k)+KD*【E(k)-2E(k-1)+E(k-2)】

拓展資料:

PID=port ID,在STP(生成樹協議)中,若在埠收到的BPDU中BID和path cost相同時,則比較PID來選擇阻塞埠。數字電視復用系統名詞 PID(Packet Identifier) 在數蠢宴襪字電視復用系統中它的作用好比一份文件的文件名,我們可以稱它為「標志碼傳輸包」 。工程式控制制和數學物理方面 PID(比例積分微分)英文全稱為Proportion Integration Differentiation,它是一個數學物理術語。PID由8位埠優先順序加埠號組成,埠號占低位,默認埠號優先順序128。

4. pid控制原理

PID即:Proportional(比例)、Integral(積分)、Differential(微分)的縮寫,PID控制演算法是結合比例、積分和微分三種環節於一體的控制演算法。
它是連續系統中技術最為成熟、應用最為廣泛的一種控制演算法,該控制演算法出現於20世紀30至40年代,適用於對被控對象模型了解不清楚的場合。實際運行的經驗和理論的分析都表明,運用這種控制規律對許多工業過程進行控制時,都能得到比較滿意的效果。PID控制的實質就是根據輸入的偏差值,按照比例、積分、微分的函數關系進行運算,運算結果用以控制輸出。
在工業應用中PID及其衍生演算法是應用最廣泛的演算法之一,是當之無愧的萬能演算法,如果能夠熟練掌握PID演算法的設計與實現過程,對於一般的研發人員來講,應該是足夠應對一般研發問題了,而難能可貴的是,在很多控制演算法當中,PID控制演算法又是最簡單,最能體現反饋思想的控制演算法,可謂經典中的經典。經典的未必是復雜的,經典的東西常常是簡單的,而且是最簡單的。

閱讀全文

與為什麼採用嵌入式pid演算法相關的資料

熱點內容
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:274
unsignedintjava 瀏覽:216
編譯器下載地址 瀏覽:42
什麼是面對對象編程 瀏覽:708
b站伺服器什麼時候恢復 瀏覽:721
6p相當於安卓機什麼水準 瀏覽:498
能否給隱藏相冊加密 瀏覽:596
糖心app改什麼名 瀏覽:823
戰地1控伺服器如何部署 瀏覽:395
xp還原系統輸入命令 瀏覽:324
mysql命令行版本 瀏覽:305
如何進入itunes找文件夾 瀏覽:834
CAD中重復命令使用 瀏覽:479
心智pdf 瀏覽:477