女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

重溫經典 PID 算法

黃工的嵌入式技術圈 ? 來源:網站整理 ? 2020-03-12 11:09 ? 次閱讀

PID算法可以說是在自動控制原理中比較經典的一套算法,在現實生活中應用的比較廣泛。

大學參加過電子競賽的朋友都應該玩過電機(或者說循跡小車),我們要控制電機按照設定的速度運轉,PID控制在其中起到了關鍵的作用。

說來慚愧,大學這門課程學的不咋滴,老師講的課基本沒聽進去過。直到后面接觸競賽,算是對PID有了很基礎的一點點認識,直到現在工作實際應用的比較廣泛才知道它的重要性。所以,這里特地回顧一下。

Ⅰ什么是PID

PID,即比例Proportion、積分Integral和微分Derivative三個單詞的縮寫。

閉環自動控制技術是基于反饋的概念以減少不確定性,在閉環自動控制原理中,我們把它叫做“PID控制器”,拿控制電機來說,參考下面模型:

下面引用一段網上經典的話:

在工業應用中PID及其衍生算法是應用最廣泛的算法之一,是當之無愧的萬能算法,如果能夠熟練掌握PID算法的設計與實現過程,對于一般的研發人員來講,應該是足夠應對一般研發問題了,而難能可貴的是,在我所接觸的控制算法當中,PID控制算法又是最簡單,最能體現反饋思想的控制算法,可謂經典中的經典。經典的未必是復雜的,經典的東西常常是簡單的,而且是最簡單的,想想牛頓的力學三大定律吧,想想愛因斯坦的質能方程吧,何等的簡單!簡單的不是原始的,簡單的也不是落后的,簡單到了美的程度。

ⅡPID原理

常規的模擬 PID 控制系統原理框圖如下:

該系統由模擬 PID 控制器和被控對象組成。

上面框圖中, r(t) 是給定值, y(t) 是系統的實際輸出值,給定值與實際輸出值構成控制偏差e(t) = r(t) ? y(t).

e(t)作為 PID 控制的輸入,u(t)作為 PID 控制器的輸出和被控對象的輸入。 所以模擬 PID 控制器的控制規律為:

三個重要的參數:

Kp:控制器的比例系數.

Ti:控制器的積分時間,也稱積分系數.

Td:控制器的微分時間,也稱微分系數.

1、P - 比例部分

比例環節的作用是對偏差瞬間作出反應。偏差一旦產生控制器立即產生控制作用, 使控制量向減少偏差的方向變化。 控制作用的強弱取決于比例系數Kp, 比例系數Kp越大,控制作用越強, 則過渡過程越快, 控制過程的靜態偏差也就越?。?但是Kp越大,也越容易產生振蕩, 破壞系統的穩定性。 故而, 比例系數Kp選擇必須恰當, 才能過渡時間少, 靜差小而又穩定的效果。

2、I - 積分部分

從積分部分的數學表達式可以知道, 只要存在偏差, 則它的控制作用就不斷的增加; 只有在偏差e(t)=0時, 它的積分才能是一個常數,控制作用才是一個不會增加的常數。 可見,積分部分可以消除系統的偏差。

積分環節的調節作用雖然會消除靜態誤差,但也會降低系統的響應速度,增加系統的超調量。積分常數Ti越大,積分的積累作用越弱,這時系統在過渡時不會產生振蕩; 但是增大積分常數Ti會減慢靜態誤差的消除過程,消除偏差所需的時間也較長, 但可以減少超調量,提高系統的穩定性。

當 Ti 較小時, 則積分的作用較強,這時系統過渡時間中有可能產生振蕩,不過消除偏差所需的時間較短。所以必須根據實際控制的具體要求來確定Ti 。

3、D - 微分部分

實際的控制系統除了希望消除靜態誤差外,還要求加快調節過程。在偏差出現的瞬間,或在偏差變化的瞬間, 不但要對偏差量做出立即響應(比例環節的作用), 而且要根據偏差的變化趨勢預先給出適當的糾正。為了實現這一作用,可在 PI 控制器的基礎上加入微分環節,形成 PID 控制器。

微分環節的作用使阻止偏差的變化。它是根據偏差的變化趨勢(變化速度)進行控制。偏差變化的越快,微分控制器的輸出就越大,并能在偏差值變大之前進行修正。微分作用的引入, 將有助于減小超調量, 克服振蕩, 使系統趨于穩定, 特別對髙階系統非常有利, 它加快了系統的跟蹤速度。但微分的作用對輸入信號的噪聲很敏感,對那些噪聲較大的系統一般不用微分, 或在微分起作用之前先對輸入信號進行濾波。

ⅢPID算法代碼

PID 控制算法可以分為位置式 PID和增量式 PID控制算法。

兩者的區別:

(1)位置式PID控制的輸出與整個過去的狀態有關,用到了誤差的累加值;而增量式PID的輸出只與當前拍和前兩拍的誤差有關,因此位置式PID控制的累積誤差相對更大;

(2)增量式PID控制輸出的是控制量增量,并無積分作用,因此該方法適用于執行機構帶積分部件的對象,如步進電機等,而位置式PID適用于執行機構不帶積分部件的對象,如電液伺服閥。

(3)由于增量式PID輸出的是控制量增量,如果計算機出現故障,誤動作影響較小,而執行機構本身有記憶功能,可仍保持原位,不會嚴重影響系統的工作,而位置式的輸出直接對應對象的輸出,因此對系統影響較大。

下面給出公式直接體現的C語言源代碼(請結合項目修改源代碼):

1.位置式PID

typedef struct { float Kp; //比例系數Proportional float Ki; //積分系數Integral float Kd; //微分系數Derivative float Ek; //當前誤差 float Ek1; //前一次誤差 e(k-1) float Ek2; //再前一次誤差 e(k-2) float LocSum; //累計積分位置 }PID_LocTypeDef; /************************************************函數名稱 : PID_Loc功 能 : PID位置(Location)計算參 數 : SetValue ------ 設置值(期望值) ActualValue --- 實際值(反饋值) PID ----------- PID數據結構返 回 值 : PIDLoc -------- PID位置作 者 : strongerHuang*************************************************/ float PID_Loc(float SetValue, float ActualValue, PID_LocTypeDef *PID){ float PIDLoc; //位置 PID->Ek = SetValue - ActualValue; PID->LocSum += PID->Ek; //累計誤差 PIDLoc = PID->Kp * PID->Ek + (PID->Ki * PID->LocSum) + PID->Kd * (PID->Ek1 - PID->Ek); PID->Ek1 = PID->Ek; return PIDLoc;}

2.增量式PID

typedef struct { float Kp; //比例系數Proportional float Ki; //積分系數Integral float Kd; //微分系數Derivative float Ek; //當前誤差 float Ek1; //前一次誤差 e(k-1) float Ek2; //再前一次誤差 e(k-2) }PID_IncTypeDef; /************************************************函數名稱 : PID_Inc功 能 : PID增量(Increment)計算參 數 : SetValue ------ 設置值(期望值) ActualValue --- 實際值(反饋值) PID ----------- PID數據結構返 回 值 : PIDInc -------- 本次PID增量(+/-)作 者 : strongerHuang*************************************************/ float PID_Inc(float SetValue, float ActualValue, PID_IncTypeDef *PID){ float PIDInc; //增量 PID->Ek = SetValue - ActualValue; PIDInc = (PID->Kp * PID->Ek) - (PID->Ki * PID->Ek1) + (PID->Kd * PID->Ek2); PID->Ek2 = PID->Ek1; PID->Ek1 = PID->Ek; return PIDInc;}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電機
    +關注

    關注

    143

    文章

    9249

    瀏覽量

    148359
  • PID算法
    +關注

    關注

    2

    文章

    172

    瀏覽量

    24789
  • Integrate
    +關注

    關注

    0

    文章

    8

    瀏覽量

    9066
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    改進粒子群算法的永磁同步電機PID控制器

    采用粒子優化算法進行PID模糊控制訓練能提高永磁同步電機的控制精度,提出一種基于改進粒子群算法的永磁同步電機 PID控制方法,構建永磁同步電機PD模糊控制目標畫數,選擇電壓、轉矩、速度
    發表于 05-28 15:44

    限時免積分下載:增量式與位置式PID算法的C語言實現分享

    前面咱們有分享對PID算法離散化和增量式PID算法原理進行來探索,之后又使用Matlab進行了仿真實驗,對PID三個參數又有了更深入的認識,
    發表于 03-05 18:32

    用硬件電路去實現PID的控制

    PID是一種非常經典的控制方法,該方法被廣泛的應用在工業領域,通常PID算法是通過對希望控制的模擬量進行數字化采樣后得到的數據與預先希望的數據進行做差,對得到的差值進行積分、微分與比例
    的頭像 發表于 03-03 19:33 ?817次閱讀
    用硬件電路去實現<b class='flag-5'>PID</b>的控制

    PID控制詳解(可下載)

    一、PID控制簡介 PID( Proportional Integral Derivative)控制是最早發展起來的控制策略之一,由于其算法簡單、魯棒 性好和可靠性高,被廣泛應用于工業過程
    發表于 02-27 15:42 ?1次下載

    資料免費下!PID電機控制系統(控制原理+控制算法+程序范例)

    資料免費下啦!本資料包括PID調節控制做電機速度控制、ourdevBasic PID經典文章、PID測速、由入門到精通-吃透PID2.0版
    發表于 02-27 14:17

    PID控制算法的C語言實現:PID算法原理

    的是,在我所接觸的控制算法當中,PID 控制算法又是最簡單,最能體現反饋思想的控制算法,可謂經典中的經典
    發表于 02-26 15:24

    西門子增量式PID算法帶積分分離

    西門子增量式帶積分分離PID控制器是一種改進的PID控制算法,它結合了增量式PID和積分分離的優點。這種控制器在處理某些特定類型的控制問題時特別有效,尤其是在需要快速響應且避免積分飽和
    的頭像 發表于 12-07 09:34 ?849次閱讀
    西門子增量式<b class='flag-5'>PID</b><b class='flag-5'>算法</b>帶積分分離

    如何使用Python實現PID控制

    PID控制(比例-積分-微分控制)是一種常見的反饋控制算法,廣泛應用于工業控制系統中。在Python中實現PID控制,我們可以遵循以下步驟: 1. 理解PID控制原理
    的頭像 發表于 11-14 09:09 ?1373次閱讀

    PID控制在工業自動化中的重要性

    在現代工業自動化領域,精確和高效的控制是實現生產效率和質量的關鍵。PID控制作為一種經典的控制算法,因其簡單、魯棒和易于實現的特點,在工業控制系統中占據了舉足輕重的地位。 PID控制的
    的頭像 發表于 11-13 14:33 ?1661次閱讀

    什么是PID控制與傳統控制的區別

    在自動化控制系統中,PID控制(比例-積分-微分控制)是一種廣泛應用的控制算法。它以其簡單、魯棒和易于實現的特點,在工業和工程領域中占據了重要地位。然而,隨著技術的發展,傳統控制方法已經不能完全滿足
    的頭像 發表于 11-06 10:34 ?1450次閱讀

    PID控制的優缺點分析 PID參數調節的常見方法

    PID控制,即比例-積分-微分控制,是一種廣泛應用于工業控制系統中的控制算法。它通過比例(P)、積分(I)和微分(D)三個參數的調整來實現對系統輸出的精確控制。 PID控制的優點 簡單易行 :
    的頭像 發表于 11-06 10:33 ?4770次閱讀

    PID算法的基本原理介紹

    在現代工業自動化和控制系統中,PID控制器因其簡單、魯棒和高效而成為最廣泛使用的控制算法之一。PID代表比例(Proportional)、積分(Integral)和微分(Derivative
    的頭像 發表于 11-06 10:28 ?1367次閱讀

    第13章-循跡功能 STM32智能小車循跡教程 PID循跡算法分析

    第13章-循跡功能 循跡小車講解 原理分析 STM32智能小車循跡教程 紅外對管使用 PID循跡算法分析V3:HAL庫開發、功能:PID速度控制、PID循跡、
    的頭像 發表于 08-21 16:27 ?3598次閱讀
    第13章-循跡功能 STM32智能小車循跡教程 <b class='flag-5'>PID</b>循跡<b class='flag-5'>算法</b>分析

    機器學習的經典算法與應用

    關于數據機器學習就是喂入算法和數據,讓算法從數據中尋找一種相應的關系。Iris鳶尾花數據集是一個經典數據集,在統計學習和機器學習領域都經常被用作示例。數據集內包含3類共150條記錄,每類各50個數
    的頭像 發表于 06-27 08:27 ?1953次閱讀
    機器學習的<b class='flag-5'>經典</b><b class='flag-5'>算法</b>與應用

    PID在工業控制領域的應用

    在工業控制領域,PID(比例-積分-微分)控制算法以其簡單實用、魯棒性好、應用范圍廣等特點,成為了工程師們實現穩定、高效控制的首選方案。PID控制算法通過調整比例、積分和微分三個參數,
    的頭像 發表于 06-11 14:47 ?2119次閱讀