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

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

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

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

PID控制器開發(fā)筆記之八:帶死區(qū)的PID控制器的實現(xiàn)

bojie1024 ? 來源:bojie1024 ? 作者:bojie1024 ? 2022-12-06 10:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在計算機控制系統(tǒng)中,由于系統(tǒng)特性和計算精度等問題,致使系統(tǒng)偏差總是存在,系統(tǒng)總是頻繁動作不能穩(wěn)定。為了解決這種情況,我們可以引入帶死區(qū)的PID算法。

1、帶死區(qū)PID的基本思想

帶死區(qū)的PID控制算法就是檢測偏差值,若是偏差值達到一定程度,就進行調(diào)節(jié)。若是偏差值較小,就認為沒有偏差。用公式表示如下:

pYYBAGOOq3mAJIWWAAAYKl8zInE772.png

其中的死區(qū)值得選擇需要根據(jù)具體對象認真考慮,因為該值太小就起不到作用,該值選取過大則可能造成大滯后。

帶死區(qū)的PID算法,對無論位置型還是增量型的表達式?jīng)]有影響,不過它是一個非線性系統(tǒng)。

除以上描述之外還有一個問題,在零點附近時,若偏差很小,進入死去后,偏差置0會造成積分消失,如是系統(tǒng)存在靜差將不能消除,所以需要人為處理這一點。

2、算法實現(xiàn)

前面我們描述了帶死區(qū)的PID控制的基本思想。在接下來我們來實現(xiàn)這一思想,同樣是按位置型和增量型來分別實現(xiàn)。

(1)位置型PID算法實現(xiàn)

前面我們對微分項、積分項采用的不同的優(yōu)化算法,他們都可以與死區(qū)一起作用于PID控制。這一節(jié)我們就來實現(xiàn)一個采用抗積分飽和、梯形積分、變積分算法以及不完全微分算法和死區(qū)控制的PID算法。首先依然是定義一個PID結(jié)構(gòu)體

接下來我們實現(xiàn)帶死區(qū)、抗積分飽和、梯形積分、變積分算法以及不完全微分算法的增量型PID控制器。/*定義結(jié)構(gòu)體和公用體*/

typedef struct
{
  float setpoint;               /*設(shè)定值*/
  float kp;                     /*比例系數(shù)*/
  float ki;                     /*積分系數(shù)*/
  float kd;                     /*微分系數(shù)*/
  float lasterror;              /*前一拍偏差*/
  float preerror;               /*前兩拍偏差*/
  float deadband;               /*死區(qū)*/
  float result;                 /*PID控制器計算結(jié)果*/
  float output;                 /*輸出值0-100%*/
  float maximum;                /*輸出值上限*/
  float minimum;                /*輸出值下限*/
  float errorabsmax;            /*偏差絕對值最大值*/
  float errorabsmin;            /*偏差絕對值最小值*/
  float alpha;                  /*不完全微分系數(shù)*/
  float derivative;              /*微分項*/
  float integralValue;          /*積分累計量*/
}CLASSICPID;
接下來我們實現(xiàn)帶死區(qū)、抗積分飽和、梯形積分、變積分算法以及不完全微分算法的增量型PID控制器。
void PIDRegulator(CLASSICPID vPID,float pv)
{
  float thisError;
  float result;
  float factor;

  thisError=vPID->setpoint-pv; //得到偏差值
  result=vPID->result;

  if (fabs(thisError)>vPID->deadband)
  {
    vPID-> integralValue= vPID-> integralValue+ thisError;

    //變積分系數(shù)獲取
    factor=VariableIntegralCoefficient(thisError,vPID->errorabsmax,vPID->errorabsmin);

    //計算微分項增量帶不完全微分
    vPID-> derivative =kd*(1-vPID->alpha)* (thisError-vPID->lasterror +vPID->alpha*vPID-> derivative;

result=vPID->kp*thisError+vPID->ki*vPID-> integralValue +vPID-> derivative;
  }
  else
  {
    if((abs(vPID->setpoint-vPID->minimum)deadband)&&(abs(pv-vPID->minimum)deadband))
    {
      result=vPID->minimum;
    }
  }

  /*對輸出限值,避免超調(diào)和積分飽和問題*/
  if(result>=vPID->maximum)
  {
    result=vPID->maximum;
  }

  if(result<=vPID->minimum)
  {
    result=vPID->minimum;
  }

  vPID->preerror=vPID->lasterror;  //存放偏差用于下次運算
  vPID->lasterror=thisError;
  vPID->result=result;

  vPID->output=((result-vPID->minimum)/(vPID->maximum-vPID->minimum))*100.0;
}

3、總結(jié)

引入死區(qū)的主要目的是消除穩(wěn)定點附近的波動,由于測量值的測量精度和干擾的影響,實際系統(tǒng)中測量值不會真正穩(wěn)定在某一個具體的值,而與設(shè)定值之間總會存在偏差,而這一偏差并不是系統(tǒng)真實控制過程的反應(yīng),所以引入死區(qū)就能較好的消除這一點。

當(dāng)然,死區(qū)的大小對系統(tǒng)的影響是不同的。太小可能達不到預(yù)期的效果,而太大則可能對系統(tǒng)的正常變化造成嚴重滯后,需要根據(jù)具體的系統(tǒng)對象來設(shè)定。

審核編輯:湯梓紅

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

    關(guān)注

    114

    文章

    17098

    瀏覽量

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

    關(guān)注

    37

    文章

    1482

    瀏覽量

    87999
  • 計算機控制
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    10913
  • PID控制器
    +關(guān)注

    關(guān)注

    2

    文章

    173

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    PID控制器開發(fā)筆記之一:PID算法原理及基本實現(xiàn)

    ; //微分系數(shù)floatlasterror;//前一拍偏差floatpreerror;//前兩拍偏差floatdeadband;//死區(qū)floatresult; //輸出值}PID;接下來實現(xiàn)
    發(fā)表于 04-21 16:58

    PID控制器開發(fā)筆記之二:積分分離PID控制器實現(xiàn)

    `前面的文章中,我們已經(jīng)講述了PID控制器實現(xiàn),包括位置型PID控制器和增量型PID
    發(fā)表于 04-28 23:33

    PID控制器開發(fā)筆記之三:抗積分飽和PID控制器實現(xiàn)

    飽和的思想很簡單,解釋在控制器輸出的最大最小值附近限制積分的累積情況,以防止在恢復(fù)時沒有響應(yīng)。根據(jù)前面得分系我們可以得到如下的流程圖:(1)位置型PID算法實現(xiàn)對于位置型PID的抗積分
    發(fā)表于 05-05 17:24

    PID控制器開發(fā)筆記四:梯形積分PID控制器實現(xiàn)

    ; //微分系數(shù)floatlasterror;//前一拍偏差floatresult; //輸出值floatintegral;//積分值}PID;接下來實現(xiàn)PID控制器:void
    發(fā)表于 05-13 11:37

    什么是pid控制,什么是pid控制器

    什么是pid控制器 所謂PID控制,就是在一個閉環(huán)控制系統(tǒng)中,使被控物理量能夠迅速而準確地?zé)o限接近于
    發(fā)表于 09-10 12:39 ?1.8w次閱讀
    什么是<b class='flag-5'>pid</b><b class='flag-5'>控制</b>,什么是<b class='flag-5'>pid</b><b class='flag-5'>控制器</b>

    pid控制器原理

    pid控制器原理       在工程實際中,應(yīng)用最為廣泛的調(diào)節(jié)控制規(guī)律為比例積分微分控制
    發(fā)表于 09-10 12:44 ?1.4w次閱讀
    <b class='flag-5'>pid</b><b class='flag-5'>控制器</b>原理

    Smith預(yù)估的預(yù)測PID控制器的設(shè)計

    Smith預(yù)估的預(yù)測PID控制器的設(shè)計  PID控制器因算法簡單、魯棒性好、可靠
    發(fā)表于 10-25 11:07 ?6922次閱讀
    <b class='flag-5'>帶</b>Smith預(yù)估<b class='flag-5'>器</b>的預(yù)測<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>的設(shè)計

    13個基于PID控制器的設(shè)計實例

    PID控制器(比例-積分-微分控制器)是一個在工業(yè)控制應(yīng)用中常見的反饋回路部件,由比例單元比例P(proportion)、積分單元I(integration)和微分單元D
    發(fā)表于 11-15 11:36 ?72次下載

    PID控制器PID算法的研究

    PID 算法 在過程控制中,PID 控制器,一直是應(yīng)用最為廣泛的一種自動控制器PID
    發(fā)表于 11-21 17:03 ?31次下載

    pid控制器的輸入輸出_PID控制器控制實現(xiàn)

    本文首先介紹的是PID控制器的工作原理,其次介紹的是pid控制器的輸入輸出,最后介紹了PID控制器
    的頭像 發(fā)表于 06-01 09:09 ?3w次閱讀

    PID控制器控制電壓的詳細介紹和PID控制器的C程序的概述

    本文檔的主要內(nèi)容介紹的是PID控制器控制電壓的詳細介紹和PID控制器的C程序的概述
    發(fā)表于 06-07 08:00 ?71次下載
    <b class='flag-5'>PID</b><b class='flag-5'>控制器</b><b class='flag-5'>控制</b>電壓的詳細介紹和<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>的C程序的概述

    pid控制器工作原理

    PID控制器廣泛應(yīng)用于工業(yè)過程控制。工業(yè)自動化領(lǐng)域的大約95%的閉環(huán)操作使用PID控制器。控制器
    發(fā)表于 07-18 15:10 ?1.1w次閱讀
    <b class='flag-5'>pid</b><b class='flag-5'>控制器</b>工作原理

    PID控制的理論和PID控制器設(shè)計的及PID控制器參數(shù)整定的以及分析

    PID控制作為一種經(jīng)典的控制方法而廣泛應(yīng)用于工業(yè)控制中,是實際工業(yè)生產(chǎn)過程正常運行的基本保障。隨著計算機技術(shù)的飛躍發(fā)展和人工智能技術(shù)滲透到自動控制
    發(fā)表于 12-04 08:00 ?27次下載
    <b class='flag-5'>PID</b><b class='flag-5'>控制</b>的理論和<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>設(shè)計的及<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>參數(shù)整定的以及分析

    PID控制器與PWM控制器的區(qū)別

    在工業(yè)自動化和控制系統(tǒng)設(shè)計中,PID控制器(比例-積分-微分控制器)和PWM控制器(脈沖寬度調(diào)制控制器
    的頭像 發(fā)表于 06-05 18:25 ?5485次閱讀

    PID控制器的類型和選擇指南

    PID控制器是一種廣泛應(yīng)用于工業(yè)控制系統(tǒng)中的控制器,它根據(jù)系統(tǒng)的偏差來計算控制量,以實現(xiàn)對系統(tǒng)的
    的頭像 發(fā)表于 11-06 10:37 ?1832次閱讀