chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

自動控制系統(tǒng)PID控制器的基本實現(xiàn)

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

掃碼添加小助手

加入工程師交流群

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

1、PID算法基本原理

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

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

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

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

2、PID算法的離散化

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

比例就是用來對系統(tǒng)的偏差進行反應(yīng),所以只要存在偏差,比例就會起作用。積分主要是用來消除靜差,所謂靜差就是指系統(tǒng)穩(wěn)定后輸入輸出之間依然存在的差值,而積分就是通過偏差的累計來抵消系統(tǒng)的靜差。而微分則是對偏差的變化趨勢做出反應(yīng),根據(jù)偏差的變化趨勢實現(xiàn)超前調(diào)節(jié),提高反應(yīng)速度。

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

也可以記為:

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

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

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

3、PID控制器的基本實現(xiàn)

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

1)位置型PID的簡單實現(xiàn)

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

首先定義PID對象的結(jié)構(gòu)體:

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

接下來實現(xiàn)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 }

這就實現(xiàn)了一個最簡單的位置型PID控制器,當(dāng)然沒有考慮任何干擾條件,僅僅只是對數(shù)學(xué)公式的計算機語言化。

2)增量型PID的簡單實現(xiàn)

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

首先定義PID對象的結(jié)構(gòu)體:

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

接下來實現(xiàn)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;

}

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

4、基本特點

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

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

位置型PID控制的輸出與整個過去的狀態(tài)有關(guān),用到了偏差的累加值,容易產(chǎn)生累積偏差。

位置型PID適用于執(zhí)行機構(gòu)不帶積分部件的對象。

位置型的輸出直接對應(yīng)對象的輸出,對系統(tǒng)的影響比較大。

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

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

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

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

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

    關(guān)注

    10

    文章

    721

    瀏覽量

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

    關(guān)注

    2

    文章

    173

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    自動控制系統(tǒng)中什么叫開環(huán)控制,半閉環(huán)控制,閉環(huán)控制?三者有何區(qū)別?

    自動控制系統(tǒng)中,開環(huán)控制、半閉環(huán)控制和閉環(huán)控制是三種基礎(chǔ)的控制方式,它們以不同的信息處理機制實現(xiàn)
    的頭像 發(fā)表于 08-25 07:39 ?1104次閱讀
    <b class='flag-5'>自動控制系統(tǒng)</b>中什么叫開環(huán)<b class='flag-5'>控制</b>,半閉環(huán)<b class='flag-5'>控制</b>,閉環(huán)<b class='flag-5'>控制</b>?三者有何區(qū)別?

    水泵遠程自動控制系統(tǒng):功能解析與多場景化應(yīng)用指南

    自動控制系統(tǒng)通過物聯(lián)網(wǎng)、自動控制等技術(shù),實現(xiàn)了水泵的遠程監(jiān)控、智能調(diào)節(jié)與故障示警,改變傳統(tǒng)管理模式。 一、核心功能:構(gòu)建水泵智能管理體系 水泵遠程
    的頭像 發(fā)表于 08-14 15:19 ?695次閱讀

    PID控制經(jīng)典培訓(xùn)教程

    目前工業(yè)自動化水平已成為衡量各行各業(yè)現(xiàn)代化水平的一個重要標(biāo)志。同時,控制理論的發(fā)展也經(jīng)歷了古典控制理論、現(xiàn)代控制理論和智能控制理論三個階段。
    發(fā)表于 02-26 15:22

    自鎖電路怎么實現(xiàn)自動控制

    在現(xiàn)代電子技術(shù)中,自動控制實現(xiàn)智能化和自動化的關(guān)鍵。自鎖電路作為一種基本的自動控制電路,因其簡單、可靠和易于實現(xiàn)的特點,被廣泛應(yīng)用于各種
    的頭像 發(fā)表于 01-18 10:04 ?1646次閱讀

    智能溫室大棚自動控制系統(tǒng)

    智能溫室大棚自動控制系統(tǒng)作為現(xiàn)代農(nóng)業(yè)發(fā)展的重要組成部分,正逐漸改變著傳統(tǒng)農(nóng)業(yè)的生產(chǎn)模式。該系統(tǒng)集成傳感、物聯(lián)網(wǎng)、自動控制、邊緣計算等技術(shù)
    的頭像 發(fā)表于 01-03 16:17 ?1320次閱讀

    自動控制系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合 自動控制系統(tǒng)的實時監(jiān)測技術(shù)

    自動控制系統(tǒng)提供了更豐富的數(shù)據(jù)支持,而自動控制系統(tǒng)則利用這些數(shù)據(jù)實現(xiàn)了更精確、更智能的控制。 物聯(lián)網(wǎng)的數(shù)據(jù)支持 : 物聯(lián)網(wǎng)通過連接各種設(shè)備和傳感
    的頭像 發(fā)表于 12-18 10:00 ?1266次閱讀

    自動控制系統(tǒng)在智能制造中的應(yīng)用

    1. 自動控制系統(tǒng)的定義 自動控制系統(tǒng)是指通過傳感檢測系統(tǒng)狀態(tài),利用控制器系統(tǒng)進行調(diào)節(jié),以
    的頭像 發(fā)表于 12-18 09:57 ?1357次閱讀

    自動控制系統(tǒng)的常見故障分析

    自動控制系統(tǒng)通過反饋機制來調(diào)節(jié)和控制過程變量,以實現(xiàn)預(yù)定的性能標(biāo)準(zhǔn)。這些系統(tǒng)可能包括傳感、控制器
    的頭像 發(fā)表于 12-18 09:52 ?3075次閱讀

    自動控制系統(tǒng)的調(diào)試方法 自動控制系統(tǒng)與傳統(tǒng)控制系統(tǒng)的比較

    自動控制系統(tǒng)的調(diào)試方法 自動控制系統(tǒng)的調(diào)試是一個復(fù)雜的過程,涉及到對系統(tǒng)性能的測試和優(yōu)化。以下是一些基本的調(diào)試方法: 理論分析與仿真 : 在實際調(diào)試之前,通過理論分析和計算機仿真來預(yù)測系統(tǒng)
    的頭像 發(fā)表于 12-18 09:50 ?1355次閱讀

    自動控制系統(tǒng)的基本原理 自動控制系統(tǒng)在工業(yè)中的應(yīng)用

    在現(xiàn)代工業(yè)生產(chǎn)中,自動控制系統(tǒng)扮演著至關(guān)重要的角色。它們不僅提高了生產(chǎn)效率,還確保了產(chǎn)品質(zhì)量和安全性。 自動控制系統(tǒng)的基本原理 1. 開環(huán)控制與閉環(huán)控制
    的頭像 發(fā)表于 12-18 09:48 ?2483次閱讀

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

    PID控制(比例-積分-微分控制)是一種常見的反饋控制算法,廣泛應(yīng)用于工業(yè)控制系統(tǒng)中。在Python中
    的頭像 發(fā)表于 11-14 09:09 ?1947次閱讀

    如何調(diào)節(jié)PID參數(shù) PID控制器的調(diào)試方法

    在現(xiàn)代工業(yè)自動控制系統(tǒng)中,PID控制器因其簡單、高效而被廣泛使用。PID控制器的三個參數(shù)——比
    的頭像 發(fā)表于 11-13 14:31 ?1.2w次閱讀

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

    PID控制器是一種廣泛應(yīng)用于工業(yè)控制系統(tǒng)中的控制器,它根據(jù)系統(tǒng)的偏差來計算控制量,以
    的頭像 發(fā)表于 11-13 14:27 ?3307次閱讀

    如何選擇適合工業(yè)自動控制系統(tǒng)的傳感

    選擇適合工業(yè)自動控制系統(tǒng)的傳感需要考慮多個方面,以下是一些關(guān)鍵因素: **一、測量需求** 1. 確定測量參數(shù):首先要明確需要測量的物理量,如溫度、壓力、位移、流量等。不同的測量參數(shù)需要不同類
    的頭像 發(fā)表于 11-11 14:55 ?860次閱讀

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

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