国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

自動控制系統PID控制器的基本實現

454398 ? 來源:博客園 ? 作者:木南創智 ? 2020-11-04 14:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在自動控制中,PID及其衍生出來的算法是應用最廣的算法之一。各個做自動控制的廠家基本都有會實現這一經典算法。我們在做項目的過程中,也時常會遇到類似的需求,所以就想實現這一算法以適用于更多的應用場景。

1、PID算法基本原理

PID算法是控制行業最經典、最簡單、而又最能體現反饋控制思想的算法。對于一般的研發人員來說,設計和實現PID算法是完成自動控制系統的基本要求。這一算法雖然簡單,但真正要實現好,卻也需要下一定功夫。首先我們從PID算法最基本的原理開始分析和設計這一經典命題。

PID算法的執行流程是非常簡單的,即利用反饋來檢測偏差信號,并通過偏差信號來控制被控量。而控制器本身就是比例、積分、微分三個環節的加和。其功能框圖如下:

根據上圖我們考慮在某個特定的時刻t,此時輸入量為rin(t),輸出量為rout(t),于是偏差就可計算為err(t)=rin(t)-rout(t)。于是PID的基本控制規律就可以表示為如下公式:

其中Kp為比例帶,TI為積分時間,TD為微分時間。PID控制的基本原理就是如此。

2、PID算法的離散化

上一節簡單介紹了PID算法的基本原理,但要在計算機上實現就必須將其離散化,接下來我們就說一說PID算法的離散化問題。在實現離散化之前,我們需要對比例、積分、微分的特性做一個簡單的說明。

比例就是用來對系統的偏差進行反應,所以只要存在偏差,比例就會起作用。積分主要是用來消除靜差,所謂靜差就是指系統穩定后輸入輸出之間依然存在的差值,而積分就是通過偏差的累計來抵消系統的靜差。而微分則是對偏差的變化趨勢做出反應,根據偏差的變化趨勢實現超前調節,提高反應速度。

在實現離散前,我們假設系統采樣周期為T。假設我們檢查第K個采樣周期,很顯然系統進行第K次采樣。此時的偏差可以表示為err(K)=rin(K)-rout(K),那么積分就可以表示為:err(K)+ err(K+1)+┈┈,而微分就可以表示為:(err(K)- err(K-1))/T。于是我們可以將第K次采樣時,PID算法的離線形式表示為:

也可以記為:

這就是所謂的位置型PID算法的離散描述公式。我們知道還有一個增量型PID算法,那么接下來我們推到一下增量型PID算法的公式。上面的公式描述了第k個采樣周期的結果,那么前一時刻也就是k-1個采樣周期就不難表示為:

那么我們再來說第K個采樣周期的增量,很顯然就是U(k)-U(k-1)。于是我們用第k個采樣周期公式減去第k-1個采樣周期的公式,就得到了增量型PID算法的表示公式:

當然,增量型PID必須記得一點,就是在記住U(k)=U(k-1)+?U(k)。

3PID控制器的基本實現

完成了離散化后,我們就可以來實現它了。已經用離散化的數據公式表示出來后,再進型計算機編程已經不是問題了。接下來我們就使用C語言分別針對位置型公式和增量型公式來具體實現。

1)位置型PID的簡單實現

位置型PID的實現就是以前面的位置型公式為基礎。這一節我們只是完成最簡單的實現,也就是將前面的離散位置型PID公式的計算機語言化。

首先定義PID對象的結構體:

 1 /*定義結構體和公用體*/
 2 
 3 typedef struct
 4 
 5 {
 6 
 7   float setpoint;       //設定值
 8 
 9   float proportiongain;     //比例系數
10 
11   float integralgain;      //積分系數
12 
13   float derivativegain;    //微分系數
14 
15   float lasterror;     //前一拍偏差
16 
17   float result; //輸出值
18 
19   float integral;//積分值
20 
21 }PID;

接下來實現PID控制器:

 1 void PIDRegulation(PID *vPID, float processValue)
 2 
 3 {
 4 
 5   float thisError;
 6 
 7   thisError=vPID->setpoint-processValue;
 8 
 9   vPID->integral+=thisError;
10 
11   vPID->result=vPID->proportiongain*thisError+vPID->integralgain*vPID->integral+vPID->derivativegain*(thisError-vPID->lasterror);
12 
13   vPID->lasterror=thisError;
14 
15 }

這就實現了一個最簡單的位置型PID控制器,當然沒有考慮任何干擾條件,僅僅只是對數學公式的計算機語言化。

2)增量型PID的簡單實現

增量型PID的實現就是以前面的增量型公式為基礎。這一節我們只是完成最簡單的實現,也就是將前面的離散增量型PID公式的計算機語言化。

首先定義PID對象的結構體:

 1 /*定義結構體和公用體*/
 2 
 3 typedef struct
 4 
 5 {
 6 
 7   float setpoint;       //設定值
 8 
 9   float proportiongain;     //比例系數
10 
11   float integralgain;      //積分系數
12 
13   float derivativegain;    //微分系數
14 
15   float lasterror;     //前一拍偏差
16 
17   float preerror;     //前兩拍偏差
18 
19   float deadband;     //死區
20 
21   float result; //輸出值
22 
23 }PID;

接下來實現PID控制器:

void PIDRegulation(PID *vPID, float processValue)

{

  float thisError;

  float increment;

  float pError,dError,iError;

 

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

  pError=thisError-vPID->lasterror;

  iError=thisError;

  dError=thisError-2*(vPID->lasterror)+vPID->preerror;

  increment=vPID->proportiongain*pError+vPID->integralgain*iError+vPID->derivativegain*dError;   //增量計算

 

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

  vPID->lasterror=thisError;

  vPID->result+=increment;

}

這就實現了一個最簡單的增量型PID控制器,也沒有考慮任何的干擾條件,僅僅只是對數學公式的計算機語言化。

4、基本特點

前面講述并且實現了PID控制器,包括位置型PID控制器和增量型PID控制器。界限來我們對這兩種類型的控制器的特點作一個簡單的描述。

位置型PID控制器的基本特點:

位置型PID控制的輸出與整個過去的狀態有關,用到了偏差的累加值,容易產生累積偏差。

位置型PID適用于執行機構不帶積分部件的對象。

位置型的輸出直接對應對象的輸出,對系統的影響比較大。

增量型PID控制器的基本特點:

增量型PID算法不需要做累加,控制量增量的確定僅與最近幾次偏差值有關,計算偏差的影響較小。

增量型PID算法得出的是控制量的增量,對系統的影響相對較小。

采用增量型PID算法易于實現手動到自動的無擾動切換。
編輯:hfy

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

    關注

    10

    文章

    722

    瀏覽量

    46462
  • PID控制器
    +關注

    關注

    2

    文章

    173

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    大棚溫度自動控制系統:實時采集環境數據,遠程管理溫室

    大棚溫度自動控制系統是一套以物聯網+智能控制為核心的閉環解決方案,通過“實時感知—數據傳輸—智能決策—自動執行”,將棚內溫度穩定在作物適宜區間,實現無人值守、精準控溫、遠程管理。 一、
    的頭像 發表于 02-24 16:36 ?382次閱讀

    半導體晶圓去膠機自動控制系統核心介紹

    半導體晶圓去膠機自動控制系統是確保高效、精準去除光刻膠的關鍵,以下是其核心功能的介紹:高精度參數控制動態調節能力:通過PLC或DCS系統集成PID算法,實時監控溫度(±0.5℃)、壓力
    的頭像 發表于 12-16 11:05 ?369次閱讀
    半導體晶圓去膠機<b class='flag-5'>自動控制系統</b>核心介紹

    請問如何優化PID控制器的參數以實現快速響應和減少超調?

    PID控制器在電機控制中起著關鍵作用。如何根據電機的特性和應用需求調整PID控制器的參數(如比例系數、積分系數和微分系數),以
    發表于 12-08 06:15

    增產30%的秘密:智能溫室自動控制系統如何重塑農業生產

    在溫室大棚種植中,“溫度高了忘通風、濕度大了沒降濕、澆水施肥憑感覺” 是傳統管理的常見問題,不僅消耗大量人力,還易導致作物減產、品質下降。 智能溫室大棚自動控制系統通過物聯網技術,實現 “環境參數
    的頭像 發表于 11-05 16:46 ?584次閱讀

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

    Aerodiode激光PID伺服控制器產品圖 Aerodiode的超高帶寬激光鎖定PID控制器能夠動態最小化系統信號與目標設定值之間的差異。
    的頭像 發表于 10-22 07:48 ?464次閱讀
    Aerodiode高帶寬激光鎖定<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>

    CW32電機控制基礎——PID控制原理

    的CW32L011無刷電機驅動有感控制代碼就用到了相關方法。也是電機控制必備知識。 1模擬PID控制原理 在模擬
    的頭像 發表于 09-30 11:44 ?2678次閱讀
    CW32電機<b class='flag-5'>控制</b>基礎——<b class='flag-5'>PID</b><b class='flag-5'>控制</b>原理

    自動控制系統中什么叫開環控制,半閉環控制,閉環控制?三者有何區別?

    自動控制系統中,開環控制、半閉環控制和閉環控制是三種基礎的控制方式,它們以不同的信息處理機制實現
    的頭像 發表于 08-25 07:39 ?4043次閱讀
    <b class='flag-5'>自動控制系統</b>中什么叫開環<b class='flag-5'>控制</b>,半閉環<b class='flag-5'>控制</b>,閉環<b class='flag-5'>控制</b>?三者有何區別?

    協同與高效:工業自動控制系統的多系統集成功能

    工業化自動控制系統作為現代工業生產的 “神經中樞”,通過集成傳感、控制器、執行與軟件算法,實現了從生產參數采集到設備精準調控的全流程
    的頭像 發表于 08-18 17:08 ?977次閱讀

    水泵遠程自動控制系統:功能解析與多場景化應用指南

    自動控制系統通過物聯網、自動控制等技術,實現了水泵的遠程監控、智能調節與故障示警,改變傳統管理模式。 一、核心功能:構建水泵智能管理體系 水泵遠程
    的頭像 發表于 08-14 15:19 ?1375次閱讀

    溫度位元式控制系統與連續的PID控制系統的區別

    電子發燒友網站提供《溫度位元式控制系統與連續的PID控制系統的區別.pdf》資料免費下載
    發表于 08-13 15:54 ?1次下載

    無刷直流電機自適應模糊PID控制系統

    控制系統的計算機仿真數學模型。設計了系統速度環的模糊PID控制器,仿真結果表明。與傳統PID控制
    發表于 07-09 14:18

    水位自動控制器是什么設備?4G遠程通訊,手機APP智能控制水泵

    水位自動控制器是一種用于自動監測和控制液體(主要是水)液位高度的智能設備。通過傳感實時檢測水位變化,并根據預設條件自動啟停水泵、閥門或其他
    的頭像 發表于 07-07 17:35 ?1176次閱讀

    一步到位,Moku數字PID控制器實現系統實時調節與驗證

    PID控制被廣泛應用于實驗控制和工業自動系統中,但在實際調試中,傳統的PID
    的頭像 發表于 06-03 12:00 ?1373次閱讀
    一步到位,Moku數字<b class='flag-5'>PID</b><b class='flag-5'>控制器</b><b class='flag-5'>實現</b><b class='flag-5'>系統</b>實時調節與驗證

    改進的BP網絡PID控制器在無刷直流電機中的應用

    通過分析學習速率對BP算法的影響,提出一種分層調整學習速率的改進BP 網絡算法,并把該方法設計成 PID控制器應用在無刷直流電機控制系統中,仿真結果驗證了基于改進的 BP 網絡的PID
    發表于 05-28 15:42

    水池水位自動控制器如何征服污水水池?

    水池水位自動控制器的應用范圍廣泛,涵蓋了工業、農業及生活用水等多個關鍵領域。下面,我們將詳細闡述如何利用達泰水池水位自動控制器,來實時監測并準確控制各個應用場景下的水池水位,實現水資源
    的頭像 發表于 04-25 16:44 ?704次閱讀
    水池水位<b class='flag-5'>自動控制器</b>如何征服污水水池?