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

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

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

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

PID控制算法基本原理

嵌入式開發(fā)愛好者 ? 來源:嵌入式開發(fā)愛好者 ? 作者:嵌入式開發(fā)愛好者 ? 2022-11-02 09:44 ? 次閱讀

大家好,我是ST。

今天和大家聊一聊PID算法的控制原理。

在講解PID算法之前,在此拋出一個(gè)問題,如何通過算法控制加熱器使水溫穩(wěn)定在50攝氏度?

一、傳統(tǒng)的位式控制算法(非PID算法)

bd416156-59f1-11ed-a3b6-dac502259ad0.jpg

(1)算法邏輯:用戶設(shè)置目標(biāo)溫度Sv為50,傳感器檢測控制對象即水的溫度Pv

①當(dāng)Pv ②當(dāng)Pv==SV時(shí),表示實(shí)際溫度等于目標(biāo)溫度,不輸出

③當(dāng)Pv>Sv時(shí),表示實(shí)際溫度高于目標(biāo)溫度,輸出低電平OUT=L,讓執(zhí)行元件即加熱器不工作,即0功率輸出

(2)代碼實(shí)現(xiàn):

#define Sv 50
void func(unsigned int Pv)
{
          if(Pv

(1)缺點(diǎn)

①控制算法過于簡單,單純對設(shè)定值和輸出值進(jìn)行比較,一旦發(fā)現(xiàn)低于設(shè)定值,就輸出高,否則就輸出低

②要么處于全功率下,要么處于0功率下工作

③會(huì)導(dǎo)致溫度總是在設(shè)定值上下波動(dòng)如下圖所示,因?yàn)榭刂茖ο缶哂幸欢ǖ膽T性,即加熱時(shí)水的溫度不會(huì)立即上升,不加熱時(shí)水的溫度不會(huì)立即下降

bd4a8466-59f1-11ed-a3b6-dac502259ad0.jpg

二、PID閉環(huán)控制

PID閉環(huán)即比例-積分-微分控制,即通過對偏差進(jìn)行比例-積分-微分控制,使得當(dāng)前值趨于目標(biāo)值的過程。一般來說,比例P控制是必須的,所以衍生出很多組合的PID控制,如PD、PI、PID。離散PID公示為:

bd554edc-59f1-11ed-a3b6-dac502259ad0.jpg

其中,e(k):為k時(shí)刻的偏差,u(k):為輸出的控制量(對于加熱器來說是PWM)

bd643046-59f1-11ed-a3b6-dac502259ad0.jpg

(1)比例控制(P)

Sv為用戶設(shè)置目標(biāo)值,Pv為控制對象即水的當(dāng)前溫度值

Ek為目標(biāo)溫度與當(dāng)前溫度的偏差:Ek=Sv-Pv

①當(dāng)Ek<0時(shí),表示當(dāng)前溫度未達(dá)標(biāo)

②當(dāng)Ek==0時(shí),表示當(dāng)前溫度正好達(dá)標(biāo)

③當(dāng)Ek>0時(shí),表示當(dāng)前溫度已超標(biāo)

比例控制算法公式:PWM=Kp*Ek

Kp參數(shù)的解釋:Kp可以理解為一個(gè)衰減器或者放大器,主要是用來調(diào)整偏差值,調(diào)整其增益或者說是放大倍數(shù)

比例控制的作用:

調(diào)節(jié)到達(dá)目標(biāo)值的時(shí)間,增大Kp會(huì)增加相應(yīng)速度,但可能會(huì)造成超調(diào),有靜態(tài)誤差

(2)積分控制(I)

Ek為歷史上某一時(shí)刻的偏差,Sk為歷史偏差之和:Sk=E1+E2+E3+...+EN ①當(dāng)Sk<0時(shí),表示歷史上大部分時(shí)間溫度未達(dá)標(biāo)(現(xiàn)在是否達(dá)標(biāo)不知道) ②當(dāng)Sk==0時(shí),表示歷史上溫度總體上是好的(現(xiàn)在溫度是否達(dá)標(biāo)不管) ③當(dāng)Sk>0時(shí),表示歷史上大部分時(shí)間溫度超標(biāo)(現(xiàn)在溫度是否超標(biāo)不知道)

積分控制公式:

PWM=Ki*Sk Ki參數(shù)的解釋:Ki可以理解為一個(gè)衰減器或者放大器,主要是用來調(diào)整Sk,調(diào)整其增益或者說是放大倍數(shù)

比例控制的作用:

如果我們把加熱器放到一個(gè)非常冷的地方對水進(jìn)行加熱,加熱目標(biāo)值是50攝氏度在比例控制下,水溫度慢慢升高,直到升高到45攝氏度,發(fā)現(xiàn)天氣太冷,水散熱的速度正好等于比例控制下的加熱速度。所以水溫永遠(yuǎn)停留在45攝氏度,永遠(yuǎn)到不了50攝氏度。如果加上積分控制,只要沒有達(dá)到50攝氏度,就會(huì)存在偏差,這時(shí)候?qū)ζ畈粩喾e分(累加),輸出的PWM就會(huì)增大,即增大的加熱器的功率,使水溫能達(dá)到50攝氏度。所以比例控制的作用是,減少靜態(tài)情況下的誤差,但容易造成震蕩

(3)微分控制(D)

E(k)為當(dāng)前偏差值,E(k-1)為上一次偏差值 Dk為最近兩次偏差相減,表示最近兩個(gè)時(shí)間點(diǎn)偏差的變化:Dk=E(k)-E(k-1) ①當(dāng)Dk<0時(shí),表示偏差有增大的趨勢 ②當(dāng)Dk==0時(shí),表示偏差穩(wěn)定,輸出為0 ③當(dāng)Dk>0時(shí),表示偏差有減小的趨勢

微分控制公式:

PWM=Kd*Dk Kd參數(shù)的解釋:Kd可以理解為一個(gè)衰減器或者放大器,主要是用來調(diào)整Dk,調(diào)整其增益或者說是放大倍數(shù)

微分控制的作用:

只要物理量存在變化,微分控制就會(huì)起作用,讓物理量的變化速度趨于0,增大Kd參數(shù)能夠抑制震蕩,盡快穩(wěn)定,但有可能造成調(diào)節(jié)周期過長

(4)PID算法控制代碼實(shí)現(xiàn)

int PID(int Sv,int Pv)
{
      /* Sv:用戶設(shè)定的目標(biāo)值
      ** Pv:傳感器檢測到的當(dāng)前值
      ** Ek:目標(biāo)值與當(dāng)前值的偏差值
      ** last_Ek:上一次的Ek值
      ** Sk:偏差值Ek的積分值
      ** PWM:輸出的PWM值
      */
      static int Ek,last_Ek,Sk;
      static float PWM;
      Ek=Sv-Pv;
      Sk+=Ek;
      /*積分限幅,Sk_max和Sk_min根據(jù)情況自己給定*/
      if(Sk>Sk_max)   Sk=Sk_max;
      if(SkPWM_max)   PWM=PWM_max;
      if(PWM

當(dāng)Ek、Ki和Kp參數(shù)參數(shù)調(diào)節(jié)的比較好時(shí),溫度能及時(shí)達(dá)到目標(biāo)溫度并且很平穩(wěn)如圖所示:

bd706974-59f1-11ed-a3b6-dac502259ad0.jpg

三、PID控制參數(shù)整定的方法

PID控制的調(diào)節(jié)經(jīng)驗(yàn)可以總結(jié)為:先只使用 P 控制,增大 P 系數(shù)直到系統(tǒng)振蕩,然后加入微分控制增大阻尼,消除振蕩之后再根據(jù)系統(tǒng)對響應(yīng)和靜差等具體要求,調(diào)節(jié) P 和 I 參數(shù)。

例子:我們需要調(diào)節(jié)目標(biāo)值為 10390,當(dāng)前值為 10000

①先設(shè)置Kd和Ki的參數(shù)值為0,然后把Kp參數(shù)從0逐漸增大,直到出現(xiàn)震蕩

當(dāng)Kp=62,Ki=0,Kd=0時(shí),響應(yīng)曲線如下:

bd7a8ac6-59f1-11ed-a3b6-dac502259ad0.jpg

②保持Kp=62,Ki=0不變,Kd從0逐漸增大,當(dāng)Kd=188時(shí),響應(yīng)曲線如下:

bdaa5af8-59f1-11ed-a3b6-dac502259ad0.jpg

當(dāng)加入微分控制的時(shí)候,可以看到,系統(tǒng)的振蕩得到了抑制,但是系統(tǒng)的響應(yīng)變慢了。因?yàn)槲⒎挚刂葡喈?dāng)于一個(gè)阻尼力,引入微分控制相當(dāng)于增大系統(tǒng)的阻尼。這個(gè)時(shí)候需要結(jié)合 KP 和 KI 進(jìn)行進(jìn)一步的優(yōu)化。在實(shí)際生產(chǎn)中,需要對不同項(xiàng)目進(jìn)行評估,比如一個(gè)系統(tǒng)對快速性要求不高,但對穩(wěn)定性和準(zhǔn)確性的要求很高,那么就需要嚴(yán)格控制超調(diào)量和靜差。

總結(jié):PID控制算法是經(jīng)典控制方法中,現(xiàn)實(shí)生活中使用非常廣泛,掌握其中的原理非常重要。

審核編輯:湯梓紅

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

    關(guān)注

    37

    文章

    1479

    瀏覽量

    86940
  • 控制算法
    +關(guān)注

    關(guān)注

    4

    文章

    169

    瀏覽量

    22090

原文標(biāo)題:PID控制算法基本原理

文章出處:【微信號(hào):嵌入式開發(fā)愛好者,微信公眾號(hào):嵌入式開發(fā)愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    蟻群算法基本原理及其應(yīng)用實(shí)例

    蟻群算法是一種仿生學(xué)算法,其靈感來源于螞蟻在尋找食物過程中發(fā)現(xiàn)路徑的行為。蟻群算法是一種模擬進(jìn)化算法,初步的研究表明該算法具有許多優(yōu)良的性質(zhì)
    發(fā)表于 02-02 09:44 ?9.3w次閱讀
    蟻群<b class='flag-5'>算法</b><b class='flag-5'>基本原理</b>及其應(yīng)用實(shí)例

    3個(gè)下卷-PID控制基本原理

    再發(fā)一個(gè)好了百度好評文章,PID控制基本原理
    發(fā)表于 01-20 15:26

    遺傳算法基本原理

    遺傳算法基本原理.zip
    發(fā)表于 01-07 12:13

    TSP控制基本原理是什么?

    TSP控制基本原理是什么?
    發(fā)表于 05-11 06:39

    視頻增強(qiáng)算法基本原理是什么?

    視頻增強(qiáng)算法基本原理是什么?單尺度算法的原理是什么?視頻增強(qiáng)能解決的實(shí)際問題及應(yīng)用領(lǐng)域
    發(fā)表于 06-03 07:14

    ADRC的基本原理是什么?有哪些應(yīng)用?

    ADRC的基本原理是什么?有哪些應(yīng)用?PID到底好在在哪里?如何保留PID的優(yōu)點(diǎn)?
    發(fā)表于 11-22 06:14

    PID算法基本原理及其執(zhí)行流程

    景。1、PID算法基本原理PID算法控制行業(yè)最經(jīng)典、最簡單、而又最能體現(xiàn)反饋
    發(fā)表于 12-21 08:22

    嵌入式系統(tǒng)中語音算法基本原理是什么

    嵌入式系統(tǒng)中語音算法基本原理是什么?嵌入式系統(tǒng)中語音算法有何功能?
    發(fā)表于 12-23 08:49

    PID調(diào)節(jié)概念及基本原理

    PID調(diào)節(jié)概念及基本原理:PID全稱比例(proportion)-積分(integral)-微分(derivative)控制器,是自動(dòng)控制
    發(fā)表于 09-23 23:42 ?76次下載

    LSB算法基本原理

    LSB算法基本原理LSB算法基本原理是:對空域的LSB做替換,用來替換LSB的序列就是需要加入的水印信息、水印的數(shù)字摘要或者由水印生成的偽隨機(jī)序列。由于水
    發(fā)表于 12-09 02:41 ?7747次閱讀

    預(yù)測PID控制算法基本原理及研究現(xiàn)狀

    自1992 年Hagglund 提出預(yù)測PI 控制器的思想以來,預(yù)測PID 算法得到了逐 步發(fā)展和完善,并成功應(yīng)用在一些復(fù)雜對象的控制上?,F(xiàn)在文獻(xiàn)上所說的預(yù)測
    發(fā)表于 04-09 09:59 ?79次下載

    蟻群算法基本原理及其改進(jìn)算法.ppt

    蟻群算法基本原理及其改進(jìn)算法.ppt
    發(fā)表于 04-23 14:28 ?6次下載
    蟻群<b class='flag-5'>算法</b>的<b class='flag-5'>基本原理</b>及其改進(jìn)<b class='flag-5'>算法</b>.ppt

    PID自動(dòng)控制算法基本原理和使用說明

    在自動(dòng)控制中,PID及其衍生出來的算法是應(yīng)用最廣的算法之一。各個(gè)做自動(dòng)控制的廠家基本都有會(huì)實(shí)現(xiàn)這一經(jīng)典
    發(fā)表于 11-09 08:00 ?2次下載
    <b class='flag-5'>PID</b>自動(dòng)<b class='flag-5'>控制</b><b class='flag-5'>算法</b>的<b class='flag-5'>基本原理</b>和使用說明

    PID調(diào)節(jié)及PID調(diào)節(jié)的基本原理

    PID調(diào)節(jié)及PID調(diào)節(jié)的基本原理免費(fèi)下載。
    發(fā)表于 04-25 15:41 ?51次下載

    PID算法基本原理介紹

    在現(xiàn)代工業(yè)自動(dòng)化和控制系統(tǒng)中,PID控制器因其簡單、魯棒和高效而成為最廣泛使用的控制算法之一。PID
    的頭像 發(fā)表于 11-06 10:28 ?1188次閱讀