一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

重溫經(jīng)典 PID 算法

黃工的嵌入式技術(shù)圈 ? 來源:網(wǎng)站整理 ? 2020-03-12 11:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PID算法可以說是在自動控制原理中比較經(jīng)典的一套算法,在現(xiàn)實生活中應(yīng)用的比較廣泛。

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

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

Ⅰ什么是PID

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

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

下面引用一段網(wǎng)上經(jīng)典的話:

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

ⅡPID原理

常規(guī)的模擬 PID 控制系統(tǒng)原理框圖如下:

該系統(tǒng)由模擬 PID 控制器和被控對象組成。

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

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

三個重要的參數(shù):

Kp:控制器的比例系數(shù).

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

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

1、P - 比例部分

比例環(huán)節(jié)的作用是對偏差瞬間作出反應(yīng)。偏差一旦產(chǎn)生控制器立即產(chǎn)生控制作用, 使控制量向減少偏差的方向變化。 控制作用的強弱取決于比例系數(shù)Kp, 比例系數(shù)Kp越大,控制作用越強, 則過渡過程越快, 控制過程的靜態(tài)偏差也就越??; 但是Kp越大,也越容易產(chǎn)生振蕩, 破壞系統(tǒng)的穩(wěn)定性。 故而, 比例系數(shù)Kp選擇必須恰當, 才能過渡時間少, 靜差小而又穩(wěn)定的效果。

2、I - 積分部分

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

積分環(huán)節(jié)的調(diào)節(jié)作用雖然會消除靜態(tài)誤差,但也會降低系統(tǒng)的響應(yīng)速度,增加系統(tǒng)的超調(diào)量。積分常數(shù)Ti越大,積分的積累作用越弱,這時系統(tǒng)在過渡時不會產(chǎn)生振蕩; 但是增大積分常數(shù)Ti會減慢靜態(tài)誤差的消除過程,消除偏差所需的時間也較長, 但可以減少超調(diào)量,提高系統(tǒng)的穩(wěn)定性。

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

3、D - 微分部分

實際的控制系統(tǒng)除了希望消除靜態(tài)誤差外,還要求加快調(diào)節(jié)過程。在偏差出現(xiàn)的瞬間,或在偏差變化的瞬間, 不但要對偏差量做出立即響應(yīng)(比例環(huán)節(jié)的作用), 而且要根據(jù)偏差的變化趨勢預(yù)先給出適當?shù)募m正。為了實現(xiàn)這一作用,可在 PI 控制器的基礎(chǔ)上加入微分環(huán)節(jié),形成 PID 控制器。

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

ⅢPID算法代碼

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

兩者的區(qū)別:

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

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

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

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

1.位置式PID

typedef struct { float Kp; //比例系數(shù)Proportional float Ki; //積分系數(shù)Integral float Kd; //微分系數(shù)Derivative float Ek; //當前誤差 float Ek1; //前一次誤差 e(k-1) float Ek2; //再前一次誤差 e(k-2) float LocSum; //累計積分位置 }PID_LocTypeDef; /************************************************函數(shù)名稱 : PID_Loc功 能 : PID位置(Location)計算參 數(shù) : SetValue ------ 設(shè)置值(期望值) ActualValue --- 實際值(反饋值) PID ----------- PID數(shù)據(jù)結(jié)構(gòu)返 回 值 : 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; //比例系數(shù)Proportional float Ki; //積分系數(shù)Integral float Kd; //微分系數(shù)Derivative float Ek; //當前誤差 float Ek1; //前一次誤差 e(k-1) float Ek2; //再前一次誤差 e(k-2) }PID_IncTypeDef; /************************************************函數(shù)名稱 : PID_Inc功 能 : PID增量(Increment)計算參 數(shù) : SetValue ------ 設(shè)置值(期望值) ActualValue --- 實際值(反饋值) PID ----------- PID數(shù)據(jù)結(jié)構(gòu)返 回 值 : 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;}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電機
    +關(guān)注

    關(guān)注

    143

    文章

    9299

    瀏覽量

    149561
  • PID算法
    +關(guān)注

    關(guān)注

    2

    文章

    172

    瀏覽量

    25001
  • Integrate
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    9086
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

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

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

    用硬件電路去實現(xiàn)PID的控制

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

    PID控制詳解(可下載)

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

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

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

    PID控制算法的C語言實現(xiàn):PID算法原理

    的是,在我所接觸的控制算法當中,PID 控制算法又是最簡單,最能體現(xiàn)反饋思想的控制算法,可謂經(jīng)典中的經(jīng)典
    發(fā)表于 02-26 15:24

    求LabVIEW程序代做,關(guān)于噪聲測量方面,需要matlab與labview混合編程,涉及優(yōu)化算法PID控制等,可帶價聯(lián)系

    求LabVIEW程序代做,關(guān)于噪聲測量方面,需要matlab與labview混合編程,涉及優(yōu)化算法、PID控制等,可帶價聯(lián)系QQ2789223947
    發(fā)表于 12-11 17:27

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

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

    如何使用Python實現(xiàn)PID控制

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

    PID控制在工業(yè)自動化中的重要性

    在現(xiàn)代工業(yè)自動化領(lǐng)域,精確和高效的控制是實現(xiàn)生產(chǎn)效率和質(zhì)量的關(guān)鍵。PID控制作為一種經(jīng)典的控制算法,因其簡單、魯棒和易于實現(xiàn)的特點,在工業(yè)控制系統(tǒng)中占據(jù)了舉足輕重的地位。 PID控制的
    的頭像 發(fā)表于 11-13 14:33 ?1832次閱讀

    什么是PID控制器的原理 PID算法在自動化中的應(yīng)用

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

    什么是PID控制與傳統(tǒng)控制的區(qū)別

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

    PID控制的優(yōu)缺點分析 PID參數(shù)調(diào)節(jié)的常見方法

    PID控制,即比例-積分-微分控制,是一種廣泛應(yīng)用于工業(yè)控制系統(tǒng)中的控制算法。它通過比例(P)、積分(I)和微分(D)三個參數(shù)的調(diào)整來實現(xiàn)對系統(tǒng)輸出的精確控制。 PID控制的優(yōu)點 簡單易行 :
    的頭像 發(fā)表于 11-06 10:33 ?5178次閱讀

    PID算法的基本原理介紹

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

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

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