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

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

3天內不再提示

一文詳細解析到底什么是積分飽和

電子工程師 ? 來源:開源博客 ? 作者:小麥大叔 ? 2021-04-05 05:38 ? 次閱讀

1、什么是積分飽和

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

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

pIYBAGBYOGKAMGJyAAAKa3yzFcw010.png

離散化形式表示為:

pIYBAGBYOJqATzZgAAALkxL3jOw485.png

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

2、實際的例子

這里舉一個直流電機調速例子,先看下圖;

o4YBAGBYOQSAHTY5AAIjcjOzsSM005.png

隆哥設定了轉速為 ,這里可以是100 rpm,但是由于某種原因電機一開始堵轉了,所以反饋的轉速 為0;

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

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

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

通常會產生的輸出如下圖所示;

o4YBAGBYOR-APSCrAAIJXwZqBuo640.png

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

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

3、負面影響

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

系統(tǒng)輸出會產生較大的過沖(超調量);

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

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

pIYBAGBYOTqAWuUqAAF1JTcn7ug683.png

4、如何防止積分飽和

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

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

在飽和的時候將積分器的累計值初始化到一個比較理想的值;

若積分飽和因為目標值突然變化而產生,將目標值以適當斜率的斜坡變化可避免此情形;

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

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

TI文檔中的方法

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

o4YBAGBYOV2AUScgAADWon6qbAc347.png

比例部分的輸出:

積分部分的輸出:

未做處理的PID輸出:

最終PID輸出 :

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

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

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

反計算抗飽和法

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

具體如下圖所示;

o4YBAGBYOXqAZpkoAAHPjnf7rXw422.png

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

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

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

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

5、PID算法(抗飽和)

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

/* ================================================================================== 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;

編輯:jq

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

    關注

    114

    文章

    5057

    瀏覽量

    212173
  • PID
    PID
    +關注

    關注

    35

    文章

    1466

    瀏覽量

    84831
  • 積分
    +關注

    關注

    3

    文章

    21

    瀏覽量

    15663
收藏 人收藏

    評論

    相關推薦

    簡單認識雙積分型A/D轉換器

    積分型A/D轉換器是種重要的模擬到數(shù)字轉換器(Analog-to-Digital Converter,簡稱A/D轉換器),它采用獨特的雙積分方法來將模擬信號轉換為數(shù)字信號。下面將詳細
    的頭像 發(fā)表于 09-06 16:22 ?185次閱讀

    LM324對小電阻r上的電壓進行放大、積分,正向飽和的原因?

    如圖,對小電阻r上的電壓進行放大、積分。 u1: u2輸出: 當用理想運放替換兩個LM324后 u1: u2: 使用理想運放,積分結果很快穩(wěn)定。使用LM324時,輸出u2持續(xù)變化,基本正向飽和了。 請問是何種原因導致
    發(fā)表于 09-03 07:25

    積分-黎曼和的極限解析

    積分如果存在就是個具體的數(shù)值,這個精確的定義是黎曼給出的,所以也叫黎曼積分。
    的頭像 發(fā)表于 03-04 09:47 ?3506次閱讀
    定<b class='flag-5'>積分</b>-黎曼和的極限<b class='flag-5'>解析</b>

    pn結反向飽和電流到底是怎么形成的 它的大小跟哪些因素有關?

    pn結反向飽和電流到底是怎么形成的 它的大小跟哪些因素有關? PN結反向飽和電流是指當PN結處于反向偏置狀態(tài)時,在定條件下,流過PN結的電流達到個穩(wěn)定值。它是由多種因素共同作用形成
    的頭像 發(fā)表于 02-18 14:51 ?3222次閱讀

    積分型上電復位電路解析

    積分型復位電路(Integral Reset Circuit)是種用于單片機系統(tǒng)的復位電路,用于在系統(tǒng)啟動或異常情況下將系統(tǒng)恢復到初始狀態(tài)。
    的頭像 發(fā)表于 01-16 15:36 ?694次閱讀
    <b class='flag-5'>積分</b>型上電復位電路<b class='flag-5'>解析</b>

    羅氏線圈積分器的原理解析及應用領域詳解

    詳細解析羅氏線圈積分器的原理,并探討其在不同領域的應用。 羅氏線圈積分器的原理如下:當電壓V從羅氏線圈的端口輸入時,羅氏線圈產生個與輸入電
    的頭像 發(fā)表于 01-08 14:07 ?2347次閱讀

    電感的飽和電流怎么測

    。精確測量電感的飽和電流對于電路設計和元件選取具有重要意義。本文將詳細介紹電感飽和電流的測量方法及原理解析。 、電感
    的頭像 發(fā)表于 12-25 13:47 ?4133次閱讀

    飽和電感如何設計電流

    飽和電感是種特殊的電感元件,其設計目的是在電流達到定數(shù)值時,保持電感值不變,達到電感器件飽和的狀態(tài)。飽和電感的設計需要考慮多方面的因素,
    的頭像 發(fā)表于 12-19 17:10 ?602次閱讀

    電感如何達到飽和狀態(tài)?飽和如何影響電路?檢測電感飽和的方法

    對電路的性能有著顯著的影響,因此對電感飽和狀態(tài)的檢測也具有非常重要的意義。 要使電感達到飽和狀態(tài),需要以足夠大的電流通過電感,并且電流的變化速度也要足夠快。當電感中的電流達到定值時,磁場的強度會使鐵芯中的磁
    的頭像 發(fā)表于 11-29 11:09 ?1714次閱讀

    什么是飽和變壓器?飽和變壓器的特點有哪些?飽和變壓器的應用場景?

    和功率調節(jié)功能。飽和變壓器的特點有很多,下面詳細介紹下。 首先,飽和變壓器具有高精度的穩(wěn)壓能力。由于它采用了飽和磁芯,其磁化曲線特性非常穩(wěn)
    的頭像 發(fā)表于 11-23 14:26 ?818次閱讀

    飽和變壓器與非飽和變壓器有何不同?

    飽和變壓器與非飽和變壓器有何不同? 飽和變壓器與非飽和變壓器是兩種常見的變壓器類型,它們在磁化過程中表現(xiàn)出不同的特性和行為。以下是對飽和變壓
    的頭像 發(fā)表于 11-23 14:26 ?609次閱讀

    詳細解析電動車輛技術問題

    電子發(fā)燒友網(wǎng)站提供《詳細解析電動車輛技術問題.pdf》資料免費下載
    發(fā)表于 11-02 09:44 ?2次下載
    <b class='flag-5'>詳細</b><b class='flag-5'>解析</b>電動車輛技術問題

    控制算法PID之積分控制(I)的原理和示例代碼

    積分(I)項是PID控制器的個重要組成部分,它對系統(tǒng)的控制輸出做出反應,以減小系統(tǒng)的靜態(tài)誤差,即長時間內誤差積累導致的誤差。積分項的作用是在控制系統(tǒng)中引入
    的頭像 發(fā)表于 11-02 08:00 ?1688次閱讀
    控制算法PID之<b class='flag-5'>積分</b>控制(I)的原理和示例代碼

    電感飽和的幾種判斷方法

    變壓器、電感傳感器等。但是,當電感接收到較大的信號時,就會發(fā)生電感飽和現(xiàn)象,從而影響電路工作。如何判斷電感是否發(fā)生飽和,成為了電子工程師需要解決的問題之。本文將從以下幾個方面來詳細
    的頭像 發(fā)表于 10-31 14:52 ?1645次閱讀

    什么是運放的飽和?運放積分電路上并聯(lián)的電阻有什么作用?

    什么是運放的虛短和虛斷?什么是運放的飽和?運放積分電路上并聯(lián)的電阻有什么作用? 運放,也稱放大器,是電路設計中非常重要的元件。作為個高增益、高輸入阻抗、低輸出阻抗的器件,它能夠將電壓或電流
    的頭像 發(fā)表于 10-23 10:10 ?2112次閱讀