色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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;}

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

    關注

    142

    文章

    9038

    瀏覽量

    145737
  • PID算法
    +關注

    關注

    2

    文章

    172

    瀏覽量

    24340
  • Integrate
    +關注

    關注

    0

    文章

    8

    瀏覽量

    9009
收藏 人收藏

    評論

    相關推薦

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

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

    如何使用Python實現PID控制

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

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

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

    什么是PID控制器的原理 PID算法在自動化中的應用

    PID控制器是一種廣泛應用于工業控制系統中的控制器,它根據系統的偏差來計算控制量,以實現對被控對象的精確控制。PID是比例(Proportional)、積分(Integral)和微分
    的頭像 發表于 11-13 14:27 ?1006次閱讀

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

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

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

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

    PID算法的基本原理介紹

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

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

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

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

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

    PID在工業控制領域的應用

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

    位置式PID與增量式PID的區別

    PID(比例-積分-微分)控制器作為工業自動化領域中的核心控制算法,廣泛應用于各種需要精確控制的系統中。在PID控制器的實現中,有兩種主要的控制模式:位置式PID和增量式
    的頭像 發表于 06-05 16:23 ?7081次閱讀

    在定時器內使用浮點運算的PID控制算法,程序就會重啟,為什么?

    在定時器內使用浮點運算的PID控制算法,程序就會重啟,把浮點數換為整形數據就不會。
    發表于 06-05 07:24

    什么是PIDPID各個參數有什么作用?

    PID,就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種很常見的控制算法PID已經有107年的歷史了,它并不是什么很神圣的東西,大家一定都見過
    發表于 03-18 11:24 ?1.2w次閱讀
    什么是<b class='flag-5'>PID</b>?<b class='flag-5'>PID</b>各個參數有什么作用?

    什么是pid控制原理 pid各個參數對系統的影響

    PID(Proportional-Integral-Derivative)控制是一種常見的控制算法,廣泛應用于工業過程控制、機器人控制、自動駕駛等領域。本文將詳細介紹PID控制的原理以及其中的各個
    的頭像 發表于 01-22 15:35 ?6110次閱讀

    什么是PID控制器?PID控制器積分控制介紹

    PID,就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種很常見的控制算法
    的頭像 發表于 01-11 18:14 ?1442次閱讀
    什么是<b class='flag-5'>PID</b>控制器?<b class='flag-5'>PID</b>控制器積分控制介紹
    主站蜘蛛池模板: 免费观看a视频| 黑粗硬大欧美在线视频| 亚洲三级在线观看| 四虎成人影院| 日本又黄又裸一级大黄裸片| 免费果冻传媒在线完整观看| 久久亚洲这里只有精品18| 交换:年轻夫妇-HD中文字幕| 国产人妻系列无码专区97SS| 国产成人在线播放视频| 国产白丝JK被疯狂输出视频| 成 人 免费 黄 色 网站无毒下载 成 人 动漫3d 在线看 | 日本一卡精品视频免费| 漂亮的保姆5电影免费观看完整版中文| 美女诱点第6季| 麻豆一二三四区乱码| 魅男mangay| 欧亚一卡二卡日本一卡二卡| 欧美在线亚洲综合国产人| 求个av网站| 四虎永久精品视频在线| 十二月综合缴缴情| 香蕉eeww99国产精品| 亚洲理论在线a中文字幕| 亚洲欧美日韩人成| 一个人的视频在线观看免费观看| 伊人无码高清| 97精品在线| 成人小视频在线观看| 国产精品xxxav免费视频| 国产在线观看黄| 久久久久久久电影| 免费可以看黄的视频s色| 青柠在线观看视频在线高清完整 | jk制服喷水| 成人在线不卡视频| 国产精品成人免费| 狠很橹快播| 久久综合亚洲色hezyo| 欧美亚洲精品午夜福利AV| 十分钟视频影院免费|