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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

在自動(dòng)控制中,PID及其衍生出來(lái)的算法是應(yīng)用最廣的算法之一。各個(gè)做自動(dòng)控制的廠家基本都有會(huì)實(shí)現(xiàn)這一經(jīng)典算法。我們?cè)谧鲰?xiàng)目的過(guò)程中,也時(shí)常會(huì)遇到類似的需求,所以就想實(shí)現(xiàn)這一算法以適用于更多的應(yīng)用場(chǎng)景。

1PID算法基本原理

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

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

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

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

2PID算法的離散化

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

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

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

也可以記為:

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

那么我們?cè)賮?lái)說(shuō)第K個(gè)采樣周期的增量,很顯然就是U(k)-U(k-1)。于是我們用第k個(gè)采樣周期公式減去第k-1個(gè)采樣周期的公式,就得到了增量型PID算法的表示公式:

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

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

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

1)位置型PID的簡(jiǎn)單實(shí)現(xiàn)

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

首先定義PID對(duì)象的結(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;

接下來(lái)實(shí)現(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 }

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

2)增量型PID的簡(jiǎn)單實(shí)現(xiàn)

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

首先定義PID對(duì)象的結(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;

接下來(lái)實(shí)現(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;   //增量計(jì)算

 

  vPID->preerror=vPID->lasterror;  //存放偏差用于下次運(yùn)算

  vPID->lasterror=thisError;

  vPID->result+=increment;

}

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

4、基本特點(diǎn)

前面講述并且實(shí)現(xiàn)了PID控制器,包括位置型PID控制器和增量型PID控制器。界限來(lái)我們對(duì)這兩種類型的控制器的特點(diǎn)作一個(gè)簡(jiǎn)單的描述。

位置型PID控制器的基本特點(diǎn):

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

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

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

增量型PID控制器的基本特點(diǎn):

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

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

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

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

    關(guān)注

    10

    文章

    722

    瀏覽量

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

    關(guān)注

    2

    文章

    173

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    大棚溫度自動(dòng)控制系統(tǒng):實(shí)時(shí)采集環(huán)境數(shù)據(jù),遠(yuǎn)程管理溫室

    大棚溫度自動(dòng)控制系統(tǒng)是一套以物聯(lián)網(wǎng)+智能控制為核心的閉環(huán)解決方案,通過(guò)“實(shí)時(shí)感知—數(shù)據(jù)傳輸—智能決策—自動(dòng)執(zhí)行”,將棚內(nèi)溫度穩(wěn)定在作物適宜區(qū)間,實(shí)現(xiàn)無(wú)人值守、精準(zhǔn)控溫、遠(yuǎn)程管理。 一、
    的頭像 發(fā)表于 02-24 16:36 ?391次閱讀

    半導(dǎo)體晶圓去膠機(jī)自動(dòng)控制系統(tǒng)核心介紹

    半導(dǎo)體晶圓去膠機(jī)自動(dòng)控制系統(tǒng)是確保高效、精準(zhǔn)去除光刻膠的關(guān)鍵,以下是其核心功能的介紹:高精度參數(shù)控制動(dòng)態(tài)調(diào)節(jié)能力:通過(guò)PLC或DCS系統(tǒng)集成PID算法,實(shí)時(shí)監(jiān)控溫度(±0.5℃)、壓力
    的頭像 發(fā)表于 12-16 11:05 ?372次閱讀
    半導(dǎo)體晶圓去膠機(jī)<b class='flag-5'>自動(dòng)控制系統(tǒng)</b>核心介紹

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

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

    增產(chǎn)30%的秘密:智能溫室自動(dòng)控制系統(tǒng)如何重塑農(nóng)業(yè)生產(chǎn)

    在溫室大棚種植中,“溫度高了忘通風(fēng)、濕度大了沒(méi)降濕、澆水施肥憑感覺(jué)” 是傳統(tǒng)管理的常見(jiàn)問(wèn)題,不僅消耗大量人力,還易導(dǎo)致作物減產(chǎn)、品質(zhì)下降。 智能溫室大棚自動(dòng)控制系統(tǒng)通過(guò)物聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn) “環(huán)境參數(shù)
    的頭像 發(fā)表于 11-05 16:46 ?588次閱讀

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

    Aerodiode激光PID伺服控制器產(chǎn)品圖 Aerodiode的超高帶寬激光鎖定PID控制器能夠動(dòng)態(tài)最小化系統(tǒng)信號(hào)與目標(biāo)設(shè)定值之間的差異。
    的頭像 發(fā)表于 10-22 07:48 ?470次閱讀
    Aerodiode高帶寬激光鎖定<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>

    CW32電機(jī)控制基礎(chǔ)——PID控制原理

    的CW32L011無(wú)刷電機(jī)驅(qū)動(dòng)有感控制代碼就用到了相關(guān)方法。也是電機(jī)控制必備知識(shí)。 1模擬PID控制原理 在模擬
    的頭像 發(fā)表于 09-30 11:44 ?2686次閱讀
    CW32電機(jī)<b class='flag-5'>控制</b>基礎(chǔ)——<b class='flag-5'>PID</b><b class='flag-5'>控制</b>原理

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

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

    協(xié)同與高效:工業(yè)自動(dòng)控制系統(tǒng)的多系統(tǒng)集成功能

    工業(yè)化自動(dòng)控制系統(tǒng)作為現(xiàn)代工業(yè)生產(chǎn)的 “神經(jīng)中樞”,通過(guò)集成傳感、控制器、執(zhí)行與軟件算法,實(shí)現(xiàn)了從生產(chǎn)參數(shù)采集到設(shè)備精準(zhǔn)調(diào)控的全流程
    的頭像 發(fā)表于 08-18 17:08 ?980次閱讀

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

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

    溫度位元式控制系統(tǒng)與連續(xù)的PID控制系統(tǒng)的區(qū)別

    電子發(fā)燒友網(wǎng)站提供《溫度位元式控制系統(tǒng)與連續(xù)的PID控制系統(tǒng)的區(qū)別.pdf》資料免費(fèi)下載
    發(fā)表于 08-13 15:54 ?1次下載

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

    控制系統(tǒng)的計(jì)算機(jī)仿真數(shù)學(xué)模型。設(shè)計(jì)了系統(tǒng)速度環(huán)的模糊PID控制器,仿真結(jié)果表明。與傳統(tǒng)PID控制
    發(fā)表于 07-09 14:18

    水位自動(dòng)控制器是什么設(shè)備?4G遠(yuǎn)程通訊,手機(jī)APP智能控制水泵

    水位自動(dòng)控制器是一種用于自動(dòng)監(jiān)測(cè)和控制液體(主要是水)液位高度的智能設(shè)備。通過(guò)傳感實(shí)時(shí)檢測(cè)水位變化,并根據(jù)預(yù)設(shè)條件自動(dòng)啟停水泵、閥門或其他
    的頭像 發(fā)表于 07-07 17:35 ?1186次閱讀

    一步到位,Moku數(shù)字PID控制器實(shí)現(xiàn)系統(tǒng)實(shí)時(shí)調(diào)節(jié)與驗(yàn)證

    PID控制被廣泛應(yīng)用于實(shí)驗(yàn)控制和工業(yè)自動(dòng)系統(tǒng)中,但在實(shí)際調(diào)試中,傳統(tǒng)的PID
    的頭像 發(fā)表于 06-03 12:00 ?1375次閱讀
    一步到位,Moku數(shù)字<b class='flag-5'>PID</b><b class='flag-5'>控制器</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>系統(tǒng)</b>實(shí)時(shí)調(diào)節(jié)與驗(yàn)證

    改進(jìn)的BP網(wǎng)絡(luò)PID控制器在無(wú)刷直流電機(jī)中的應(yīng)用

    通過(guò)分析學(xué)習(xí)速率對(duì)BP算法的影響,提出一種分層調(diào)整學(xué)習(xí)速率的改進(jìn)BP 網(wǎng)絡(luò)算法,并把該方法設(shè)計(jì)成 PID控制器應(yīng)用在無(wú)刷直流電機(jī)控制系統(tǒng)中,仿真結(jié)果驗(yàn)證了基于改進(jìn)的 BP 網(wǎng)絡(luò)的PID
    發(fā)表于 05-28 15:42

    水池水位自動(dòng)控制器如何征服污水水池?

    水池水位自動(dòng)控制器的應(yīng)用范圍廣泛,涵蓋了工業(yè)、農(nóng)業(yè)及生活用水等多個(gè)關(guān)鍵領(lǐng)域。下面,我們將詳細(xì)闡述如何利用達(dá)泰水池水位自動(dòng)控制器,來(lái)實(shí)時(shí)監(jiān)測(cè)并準(zhǔn)確控制各個(gè)應(yīng)用場(chǎng)景下的水池水位,實(shí)現(xiàn)水資源
    的頭像 發(fā)表于 04-25 16:44 ?709次閱讀
    水池水位<b class='flag-5'>自動(dòng)控制器</b>如何征服污水水池?