91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

一文解析PID的積分抗飽和原理

電子設(shè)計 ? 來源:CSDN博主 ? 作者:weixin_39827625 ? 2021-03-22 15:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

理想的PID算法往往不能滿足實際使用中的很多場景,比如積分飽和的問題,因此需要在此基礎(chǔ)上對積分器做抗飽和處理,積分anti windup的優(yōu)化。這不,隆哥這次面試,直接掛在這么基礎(chǔ)的知識點上,腸子悔青,在這里簡單總結(jié)一下。

1、什么是積分飽和

積分飽和(Integral windup或integrator windup)是指PID控制器或是其他有積分器的控制器中可能會發(fā)生的一種現(xiàn)象。

這種現(xiàn)象往往發(fā)生在誤差有大幅變化(例如大幅增加),積分器因為誤差的大幅增加有很大的累計量,因為積分器的輸出滿足下式;

離散化形式表示為:

所以隨著時間的增加,每次累積較大的誤差 ,很容易造成積分飽和并產(chǎn)生較大的過沖,而且當(dāng)誤差變?yōu)樨?fù)時,其過沖仍維持一段時間之后才恢復(fù)正常的情形。

2、實際的例子

這里舉一個直流電機(jī)調(diào)速例子,先看下圖;

隆哥設(shè)定了轉(zhuǎn)速為 ,這里可以是100 rpm,但是由于某種原因電機(jī)一開始堵轉(zhuǎn)了,所以反饋的轉(zhuǎn)速 為0;

這時候仍然處于堵轉(zhuǎn)狀態(tài),那偏差 就會一直處于很大的狀態(tài),積分器對偏差 進(jìn)行累積,便迅速達(dá)到一個很大的值,導(dǎo)致PID的輸出已經(jīng)接近輸出的 上限,導(dǎo)致最終輸出的PWM的占空比很大;

此時,堵轉(zhuǎn)忽然消失,但是前面提到PID的輸出已經(jīng)接近輸出的 上限,因此電機(jī)轉(zhuǎn)速也急劇上升,當(dāng) 時, ,此時偏差都處于負(fù)數(shù)狀態(tài);

雖然誤差變成負(fù)數(shù),并且積分器開始累加負(fù)數(shù),但是由于之前積分器累積的值已經(jīng)很大,于是,PID依然會保持較大的輸出一段時間,從而產(chǎn)生了很大的過沖;

通常會產(chǎn)生的輸出如下圖所示;

pIYBAGBYRWmAQQDxAAGEIOqXvpY692.png

從圖中我們不難發(fā)現(xiàn),這里有三個過程;

過程①:因為這個過程存在 較大幅度變化的誤差,因此積分器累積了較大的值,從圖中可以看到,積分器的面積比較大(陰影部分);過程②:此時積分已經(jīng)飽和,產(chǎn)生了較大的過沖,并且在較長的一段時間內(nèi),一直處于過沖的狀態(tài);過程③:積分脫離飽和狀態(tài),產(chǎn)生了積極的調(diào)節(jié)作用,消除靜差,系統(tǒng)輸出達(dá)到設(shè)定值;

3、負(fù)面影響

積分器的作用是消除系統(tǒng)穩(wěn)態(tài)誤差,如果出現(xiàn)積分飽和,往往會對系統(tǒng)造成負(fù)面的影響;

系統(tǒng)輸出會產(chǎn)生較大的過沖(超調(diào)量);

如果產(chǎn)生正向飽和(圖一所示)則系統(tǒng)對于反向的變化會偏慢;

系統(tǒng)產(chǎn)生了較大的過沖 ,并且較大的一段時間 都處于過沖的狀態(tài);具體如下圖所示;

o4YBAGBYRXqAcXDsAAERP0Pxv_U814.png

4、如何防止積分飽和

為了防止PID控制器出現(xiàn)積分飽和,需要在算法加入抗積分飽和(anti-integral windup)的算法;通常有以下幾種措施;

積分分離或者稱為去積分算法;

在飽和的時候?qū)⒎e分器的累計值初始化到一個比較理想的值;

若積分飽和因為目標(biāo)值突然變化而產(chǎn)生,將目標(biāo)值以適當(dāng)斜率的斜坡變化可避免此情形;

將積分累計量限制上下限,避免積分累計量超過限制值;

如果 PID輸出已經(jīng)飽和,重新計算積分累計量,使輸出恰好為合理的范圍;

TI文檔中的方法

下面是TI的位置式PI算法所做的改進(jìn),如下圖所示;

pIYBAGBYRYiAK_TZAACmPiOXssg955.png

比例部分的輸出:

積分部分的輸出:

未做處理的PID輸出:

最終PID輸出 :

抗積分飽和用的系數(shù)

根據(jù)我的理解,由上述輸出和①式可知,判斷系統(tǒng)是否處于飽和的狀態(tài);

如果 ,說明積分器處于飽和狀態(tài),此時使 系數(shù)為0,這樣防止積分進(jìn)一步進(jìn)行累積。

反計算抗飽和法

反計算Anti-Windup法,簡稱AW法,就是在輸出限幅部分根據(jù)輸入信號和輸出信號的差值,把 作為反饋值輸入到積分部分,從而達(dá)到抑制積分飽和現(xiàn)象的目的;

具體如下圖所示;

o4YBAGBYRZaAEfdDAAF67V8AvoI908.png

不難發(fā)現(xiàn),在輸出未飽和的情況下, 因此不會對積分器造成影響;當(dāng)系統(tǒng)發(fā)生飽和時,則 ;

現(xiàn)在假設(shè)此時為正向飽和,則 ,那么 ,所以最終將 反饋到積分部分;那么從圖中可知,相當(dāng)于從 中減去了 ,這樣可以削弱積分,讓它退出飽和的狀態(tài);

關(guān)于 系數(shù), 越大,積分器退出飽和的作用越強(qiáng),反之則越弱;

當(dāng)然,積分抗飽和的方法還有很多 遇限積分削弱法,遇限保留積分法 ,這只是其中的一種,下面給出TI的位置式PID算法,增量式的抗飽和處理也是類似的做法。

5、PID算法(抗飽和)

TI的算法中只實現(xiàn)了比例和積分,如果需要微分項,可以去除結(jié)尾部分的注釋;

/* ===========

File name:       PID_REG3.H  (IQ version)                    
=*/ #ifndef __PIDREG3_H__ #define __PIDREG3_H__ typedef struct {  _iq  Ref;    
  // Input: Reference input        _iq  Fdb;    
  // Input: Feedback input        _iq  Err;    // Variable: Error    
  _iq  Kp;    // Parameter: Proportional gain       _iq  Up;    // Variable: Proportional output   
     _iq  Ui;    // Variable: Integral output        _iq  Ud;    // Variable: Derivative output   
     _iq  OutPreSat;   // Variable: Pre-saturated output       _iq  OutMax;      // Parameter: Maximum output  
      _iq  OutMin;      // Parameter: Minimum output       _iq  Out;      // Output: PID output    

    _iq  SatErr;   // Variable: Saturated difference       _iq  Ki;       // Parameter: Integral gain   
    _iq  Kc;        // Parameter: Integral correction gain       _iq  Kd;           // Parameter: Derivative gain    
   _iq  Up1;          // History: Previous proportional output       } PIDREG3;         
     typedef PIDREG3 *PIDREG3_handle;
 /*-----------------------------------------------------------------------------
Default initalizer for the PIDREG3 object.

--*/                      #define PIDREG3_DEFAULTS { 0,    \
                           0,    \
                           0,    \
                           _IQ(1.3),  \
                           0,    \
                           0,    \
                           0,    \
                           0,    \
                           _IQ(1),   \
                           _IQ(-1),  \
                           0,    \
                           0,    \
                           _IQ(0.02),  \
                           _IQ(0.5),  \
                           _IQ(1.05),  \
                           0,    \
                   }
 /*------------------------------------------------------------------------------
  PID Macro Definition
------------------------------------------------------------------------------*/
 #define PID_MACRO(v)                     \
 v.Err = v.Ref - v.Fdb;          /* Compute the error */      \
 v.Up= _IQmpy(v.Kp,v.Err);        /* Compute the proportional output */  \
 v.Ui= v.Ui + _IQmpy(v.Ki,v.Up) + _IQmpy(v.Kc,v.SatErr); /* Compute the integral output */   \
 v.OutPreSat= v.Up + v.Ui;        /* Compute the pre-saturated output */  \
 v.Out = _IQsat(v.OutPreSat, v.OutMax, v.OutMin);  /* Saturate the output */     \
 v.SatErr = v.Out - v.OutPreSat;       /* Compute the saturate difference */  \
 v.Up1 = v.Up;         
  /* Update the previous proportional output */ #endif // __PIDREG3_H__ // Add the lines below if derivative output is needed following the integral update //
 v.Ud = _IQmpy(v.Kd,(v.Up - v.Up1));  // v.OutPreSat = v.Up + v.Ui + v.Ud;  

編輯:hfy

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

    關(guān)注

    36

    文章

    1781

    瀏覽量

    73947
  • PID
    PID
    +關(guān)注

    關(guān)注

    38

    文章

    1499

    瀏覽量

    91206
  • 積分器
    +關(guān)注

    關(guān)注

    4

    文章

    102

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    變頻器內(nèi)置PID控制參數(shù)的含義

    變頻器內(nèi)置PID控制是工業(yè)自動化領(lǐng)域中的關(guān)鍵技術(shù)之,廣泛應(yīng)用于電機(jī)調(diào)速、溫度控制、壓力調(diào)節(jié)等場景。PID控制通過比例(P)、積分(I)、微分(D)三個環(huán)節(jié)的動態(tài)調(diào)節(jié),實現(xiàn)對被控對象的
    的頭像 發(fā)表于 03-04 11:02 ?105次閱讀
    變頻器內(nèi)置<b class='flag-5'>PID</b>控制參數(shù)的含義

    變頻器PID參數(shù)設(shè)置步驟

    變頻器PID控制是工業(yè)自動化領(lǐng)域中實現(xiàn)精確調(diào)節(jié)的關(guān)鍵技術(shù)之,其核心在于通過比例(P)、積分(I)、微分(D)三個參數(shù)的協(xié)同作用,實現(xiàn)對電機(jī)轉(zhuǎn)速、壓力、流量等物理量的閉環(huán)控制。本文將結(jié)合西門子
    的頭像 發(fā)表于 03-03 17:14 ?474次閱讀
    變頻器<b class='flag-5'>PID</b>參數(shù)設(shè)置步驟

    變頻器pid怎么啟用

    變頻器PID調(diào)試是工業(yè)自動化控制中的關(guān)鍵環(huán)節(jié),其核心在于通過比例(P)、積分(I)、微分(D)三個參數(shù)的動態(tài)調(diào)整,實現(xiàn)被控量(如壓力、溫度、流量等)的快速穩(wěn)定控制。以下從調(diào)試原理、步驟、常見問題
    的頭像 發(fā)表于 01-28 07:37 ?343次閱讀
    變頻器<b class='flag-5'>pid</b>怎么啟用

    PID控制的算法

    !簡單的不是原始的,簡單的也不是落后的,簡單到了美的程度。先看看PID算法的般形式: PID的流程簡單到了不能再簡單的程度,通過誤差信號控制被控量,而控制器本身就是比例、積分、微分三
    發(fā)表于 01-23 08:18

    C語言的PID算法

    integral; //增量式pid float err_next; //積分飽和PID float umax; float
    發(fā)表于 01-16 08:13

    C語言實現(xiàn)PID算法介紹

    PID 是 Proportional(比例)、Integral(積分)、Differential(微分)的首字母縮寫;是種結(jié)合比例、積分和微分三種環(huán)節(jié)于
    發(fā)表于 01-16 07:24

    CW32L012的PID溫度控制——算法基礎(chǔ)

    PID 控制算法是比例(Proportional)- 積分(Integral)- 微分(Derivative) 控制的簡稱,是工業(yè)控制、嵌入式系統(tǒng)中最經(jīng)典、應(yīng)用最廣泛的閉環(huán)控制算法。它的核心
    的頭像 發(fā)表于 01-05 16:27 ?2014次閱讀
    CW32L012的<b class='flag-5'>PID</b>溫度控制——算法基礎(chǔ)

    松下硫化厚膜片式電阻(浪涌型):技術(shù)解析與使用注意事項

    松下硫化厚膜片式電阻(浪涌型):技術(shù)解析與使用注意事項 在電子設(shè)備的設(shè)計中,電阻作為基礎(chǔ)元件,其性能直接影響著整個系統(tǒng)的穩(wěn)定性和可靠性。今天我們來深入了解下松下的
    的頭像 發(fā)表于 12-21 17:55 ?1240次閱讀

    請問如何優(yōu)化PID控制器的參數(shù)以實現(xiàn)快速響應(yīng)和減少超調(diào)?

    PID控制器在電機(jī)控制中起著關(guān)鍵作用。如何根據(jù)電機(jī)的特性和應(yīng)用需求調(diào)整PID控制器的參數(shù)(如比例系數(shù)、積分系數(shù)和微分系數(shù)),以實現(xiàn)快速響應(yīng)和減少超調(diào)?
    發(fā)表于 12-08 06:15

    怎樣理解變頻器內(nèi)置PID控制參數(shù)的含義

    應(yīng)用三個維度展開分析。 PID控制的基本原理與變頻器實現(xiàn) PID(比例-積分-微分)控制是種通過誤差反饋實現(xiàn)系統(tǒng)調(diào)節(jié)的經(jīng)典算法。在變頻
    的頭像 發(fā)表于 12-06 07:39 ?2009次閱讀

    Aerodiode高帶寬激光鎖定PID控制器

    。 PID-C型激光鎖定PID控制器專為實現(xiàn)寬達(dá)30MHz控制帶寬內(nèi)的最低噪聲水平而設(shè)計。該設(shè)備采用觸屏控制(無需電腦)的模塊化設(shè)計,集成了比例調(diào)節(jié)、單積分及雙積分功能,是激光鎖定、線
    的頭像 發(fā)表于 10-22 07:48 ?472次閱讀
    Aerodiode高帶寬激光鎖定<b class='flag-5'>PID</b>控制器

    無刷直流電機(jī)自適應(yīng)模糊PID控制系統(tǒng)

    摘要:針對無刷直流電機(jī)傳統(tǒng)PID控制存在精度低、能力差及模糊控制穩(wěn)態(tài)精度不高等問題,研究了種自適應(yīng)模糊PID控制方法。論文分析了直流
    發(fā)表于 07-09 14:18

    無刷直流電機(jī)飽和變結(jié)構(gòu)PI控制研究

    摘 要:無刷直流電機(jī)(BLDCM)電流滯環(huán)控制系統(tǒng)中轉(zhuǎn)速調(diào)節(jié)器因存在電流限幅環(huán)節(jié)會產(chǎn)生積分飽和現(xiàn)象,從而導(dǎo)致了控制系統(tǒng)的超調(diào)最增大,動、穩(wěn)態(tài)性能變差等系列問題。為此,對 BLDCM電流滯環(huán)控制系統(tǒng)
    發(fā)表于 06-27 16:51

    麥歌恩CMOS集成霍爾開關(guān)的亞微安級功耗設(shè)計與飽和特性研究

    集成霍爾開關(guān)以其亞微安級(sub-μA)的極低功耗設(shè)計和獨特的飽和特性,在工業(yè)控制、智能家居等領(lǐng)域展現(xiàn)出顯著優(yōu)勢。本文將深入分析其技術(shù)原理、設(shè)計創(chuàng)新及實際應(yīng)用表現(xiàn)。
    的頭像 發(fā)表于 06-25 17:37 ?771次閱讀

    【RA-Eco-RA4M2開發(fā)板評測】2.907電烙鐵加入PID調(diào)節(jié)

    ;output_min), pid->output_max); // 積分飽和處理 if(output >= pid->
    發(fā)表于 05-14 12:51