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

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

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

PID的模擬控制和數(shù)字控制實(shí)現(xiàn) 數(shù)字PID算法的兩種類型

CHANBAEK ? 來(lái)源:嵌入式之入坑筆記 ? 作者:嵌入式之入坑筆記 ? 2023-08-22 11:02 ? 次閱讀

前面的文章已經(jīng)介紹過(guò)什么是pid了,現(xiàn)在再回顧一下:

PID:是過(guò)程控制中常用的一種針對(duì)某個(gè)對(duì)象或者參數(shù)進(jìn)行自動(dòng)控制的一種算法。

這一篇分享不打算再深究pid的理論知識(shí),如果有不懂或者對(duì)pid感興趣的朋友,可以自行查閱資料,或者看我前面的文章。

這次分享一下pid算法的常見實(shí)現(xiàn)和流程。主要簡(jiǎn)單分享一下pid的模擬控制實(shí)現(xiàn)和數(shù)字控制實(shí)現(xiàn)。

1、PID的模擬控制

在以前,計(jì)算機(jī)系統(tǒng)沒(méi)這么發(fā)達(dá)的時(shí)候,那個(gè)時(shí)候很多的系統(tǒng)是通過(guò)硬件電子的方式去實(shí)現(xiàn)的。如果有觀察過(guò)一些老物件的話,會(huì)發(fā)現(xiàn)以前那個(gè)時(shí)代的很多電子式的控制系統(tǒng),都是很巨大很笨重的,里面滿滿的都是電子元器件。

到了后面計(jì)算機(jī)技術(shù)發(fā)展迅猛,很多的系統(tǒng)可以依靠軟件算法實(shí)現(xiàn)了,也極大地減少了系統(tǒng)的元器件電子的使用,使得很多系統(tǒng)功能強(qiáng)大的同時(shí)還體積小巧輕便。

比如下圖這個(gè)模擬反饋控制系統(tǒng)的示意圖:

圖片

上圖是一個(gè)簡(jiǎn)單的模擬閉環(huán)反饋控制系統(tǒng),它可以實(shí)現(xiàn)將被控量通過(guò)反饋回路反饋到輸入端,從而對(duì)被控量和期望輸出值進(jìn)行比較,形成一個(gè)閉環(huán)的自動(dòng)控制系統(tǒng)。

圖中的模擬調(diào)節(jié)器的意思就是控制規(guī)律的方案是通過(guò)模擬硬件的方式來(lái)實(shí)現(xiàn)的,如果想要調(diào)整系統(tǒng)的控制規(guī)律就需要修改調(diào)節(jié)器的硬件。這就是模擬控制系統(tǒng)的意思。

而模擬PID的實(shí)現(xiàn)也是通過(guò)模擬電子器件搭建的電路實(shí)現(xiàn)的,通過(guò)電子元器件的方式實(shí)現(xiàn)比例、積分、微分單元,然后整合在一塊組成一個(gè)控制系統(tǒng),這就是模擬PID了。如下的示意圖:

圖片

模擬PID的微分方程如下:

圖片

而PID調(diào)節(jié)器的傳遞函數(shù)如下:

圖片

2、PID的數(shù)字控制

數(shù)字控制系統(tǒng)是以微型計(jì)算機(jī)作為控制器,通過(guò)軟件的方式來(lái)實(shí)現(xiàn)控制規(guī)律的一種控制系統(tǒng)。當(dāng)我們想要改變控制器的控制規(guī)律,一般只要通過(guò)改變相應(yīng)的程序或者軟件參數(shù)即可以實(shí)現(xiàn)改變控制規(guī)律。

數(shù)字控制系統(tǒng)的示意圖如下:

圖片

通過(guò)數(shù)字控制實(shí)現(xiàn)的PID的差分方程如下:

圖片

3、數(shù)字PID算法的兩種類型 — 位置式、增量式

數(shù)字PID:指的是PID控制算法的實(shí)現(xiàn)是通過(guò)計(jì)算機(jī)軟件程序?qū)崿F(xiàn)的,計(jì)算機(jī)需要對(duì)輸入的連續(xù)信號(hào)進(jìn)行采集,然后通過(guò)量化作為控制器的輸入?yún)?shù),從而經(jīng)過(guò)算法的調(diào)節(jié)實(shí)現(xiàn)目標(biāo)對(duì)象的控制。

PID控制算法在計(jì)算機(jī)系統(tǒng)中,一般都是采用的數(shù)值逼近的方法進(jìn)行的。因?yàn)樵诤芏嗟南到y(tǒng)中,它一般都是連續(xù)的,而計(jì)算機(jī)要進(jìn)行運(yùn)算就要依靠計(jì)算機(jī)的運(yùn)算,計(jì)算機(jī)的運(yùn)算是離散的。所以想要讓計(jì)算機(jī)能夠?qū)崿F(xiàn)PID算法程序,就必須要將PID算法的連續(xù)函數(shù)進(jìn)行離散化,從而能夠在計(jì)算中通過(guò)軟件算法的方式實(shí)現(xiàn)。

一般而言,計(jì)算機(jī)實(shí)現(xiàn)PID算法的時(shí)候,在采樣周期很小的時(shí)候,積分部分可以用對(duì)誤差求和的方式代替,微分部分可以用差商的方式代替,從而實(shí)現(xiàn)將連續(xù)的PID算法的差分方程進(jìn)行離散化,能夠通過(guò)計(jì)算機(jī)實(shí)現(xiàn)。

數(shù)字PID主要有兩種:位置式PID和增量式PID

3.1、位置式PID

位置式PID:指的是PID控制器經(jīng)過(guò)運(yùn)算輸出的Uk是被控對(duì)象的實(shí)際控制量大小。

這個(gè)概念是不是咋一看有點(diǎn)拗口?不理解?別急,舉個(gè)例子看看就知道了。

打個(gè)比方:我要進(jìn)行一個(gè)閥門的控制,從而控制流體的流量大小。假設(shè)閥門的開度位置為0~100,當(dāng)前閥門的開度在位置20的地方?,F(xiàn)在我希望加大流體的流量,通過(guò)修改設(shè)定值,PID通過(guò)調(diào)節(jié),最終輸出控制量Uk=80,即這個(gè)時(shí)候閥門的開度要到80的位置。這就是位置式PID輸出的是對(duì)被控對(duì)象的實(shí)際控制量大小的理解。

圖片

再來(lái)位置式PID的離散公式。如下:

圖片

式中:

圖片

通過(guò)進(jìn)一步整理,可以表示為:

圖片

其中:

Kp - 比例系數(shù)
Ki - 積分系數(shù);Ki = Kp*T/Ti;
Kd - 微分系數(shù);Kd = Kp*Td/T;
T:采樣時(shí)間
Ti:積分時(shí)間
Td:微分時(shí)間

從上面的公式可以看出,位置式PID只需要計(jì)算第K次和K-1次的誤差即可,并且控制器會(huì)對(duì)偏差進(jìn)行累加,也就是控制器的每次輸出Uk都和過(guò)去的狀態(tài)有關(guān)。

這也會(huì)帶來(lái)一些問(wèn)題,因?yàn)槲恢胮id的輸出Uk和以前的狀態(tài)有關(guān),如果控制器出現(xiàn)異常,那么可能會(huì)導(dǎo)致Uk的輸出大幅變化,導(dǎo)致執(zhí)行機(jī)構(gòu)的狀態(tài)大幅變化,嚴(yán)重的話可能會(huì)導(dǎo)致嚴(yán)重的生產(chǎn)事故。

另外,因?yàn)槲恢肞ID要對(duì)偏差進(jìn)行累積,所以會(huì)導(dǎo)致系統(tǒng)的運(yùn)算量變大,這對(duì)于運(yùn)算性能不夠好的計(jì)算機(jī)也是一種負(fù)擔(dān)。

3.2、增量式PID

增量式PID:指的是控制器的輸出是對(duì)被控對(duì)象的增量?Uk,而不是實(shí)際的控制量大小。

怎么去理解增量式PID呢?

打個(gè)比方:比如我要控制一個(gè)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的角度,步進(jìn)電機(jī)轉(zhuǎn)動(dòng)之后所在的位置沒(méi)有達(dá)到我們期望的位置,但是又快要接近了,這個(gè)時(shí)候PID控制器輸出的是變化的增量,而不是實(shí)際的控制量。

這么說(shuō)吧,假如我希望步進(jìn)電機(jī)轉(zhuǎn)動(dòng)到角度120°,現(xiàn)在是115°了,所以只要再增加+5°的輸出角度即可。如果因?yàn)榭刂瞥?,到?23°的位置,這個(gè)時(shí)候只要減少-3°即可。所以這種情況下控制的輸出是增量變化,而不是實(shí)際的控制量大小。

圖片

增量式PID的離散公式如下:

圖片

整理如下:

圖片

式中:

圖片

從增量式PID的離散公式可以看到:增量式PID跟n時(shí)刻、n-1時(shí)刻、n-2時(shí)刻的偏差都有關(guān)系,但是不會(huì)對(duì)偏差進(jìn)行累積,所以相比位置式PID的計(jì)算量要小,也不會(huì)跟過(guò)去的偏差有關(guān)聯(lián),所以控制的穩(wěn)定性會(huì)更好。

4、數(shù)字PID算法的程序流程

上面分享了數(shù)字PID的離散化公式,代碼也是有實(shí)現(xiàn)的,但是因?yàn)闀簳r(shí)還沒(méi)整理好,就留著下次分享的時(shí)候再放上來(lái)吧。這里先放PID算法的程序流程圖,其實(shí)說(shuō)到這里,PID的算法也已經(jīng)可以自己去實(shí)現(xiàn)了。

(1)位置式PID的算法實(shí)現(xiàn)的流程圖

圖片

(2)增量式PID的算法實(shí)現(xiàn)流程圖

圖片

聲明:本文內(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)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7292

    瀏覽量

    87523
  • PID算法
    +關(guān)注

    關(guān)注

    2

    文章

    169

    瀏覽量

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

    關(guān)注

    35

    文章

    1467

    瀏覽量

    85083
  • 數(shù)字控制
    +關(guān)注

    關(guān)注

    2

    文章

    177

    瀏覽量

    25773
  • 模擬控制
    +關(guān)注

    關(guān)注

    1

    文章

    31

    瀏覽量

    15045
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)字PID控制算法的研究

    數(shù)字PID控制算法的研究
    發(fā)表于 06-13 11:42

    基于C語(yǔ)言的數(shù)字PID控制算法實(shí)現(xiàn)

    基于C語(yǔ)言的數(shù)字PID控制算法實(shí)現(xiàn)
    發(fā)表于 06-13 11:45

    PID算法與直流電機(jī)的PWM技術(shù)控制相關(guān)資料分享

    技術(shù)控制。本文圍繞下面幾個(gè)問(wèn)題展開:什么是PID控制算法?  PID控制
    發(fā)表于 06-29 08:44

    什么是PID控制算法呢?PID控制算法有何作用

    什么是PID控制算法呢?PID控制算法有何作用?PID
    發(fā)表于 02-25 07:36

    數(shù)字PID控制實(shí)現(xiàn)技術(shù)

      目的:掌握數(shù)字PID控制算法在工程應(yīng)用中的實(shí)現(xiàn)技術(shù),包括采樣周期、字長(zhǎng)的選取,無(wú)擾切換與抗積分飽和
    發(fā)表于 10-20 16:09 ?39次下載

    數(shù)字PID控制實(shí)驗(yàn)

    數(shù)字PID控制實(shí)驗(yàn) Ⅰ 標(biāo)準(zhǔn)PID 控制算法一.實(shí)驗(yàn)要求1. 了解和掌握連續(xù)
    發(fā)表于 05-15 00:18 ?7928次閱讀
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b>實(shí)驗(yàn)

    位置式PID控制算法研究

    由51單片機(jī)組成的數(shù)字控制系統(tǒng)控制中,PID控制器是通過(guò)PID控制算法
    發(fā)表于 03-16 15:26 ?153次下載

    pid算法_什么是pid算法

    PID控制器是一種最優(yōu)控制。本文講述了增量式PID算法原理與數(shù)字
    發(fā)表于 01-01 11:58 ?1.1w次閱讀
    <b class='flag-5'>pid</b><b class='flag-5'>算法</b>_什么是<b class='flag-5'>pid</b><b class='flag-5'>算法</b>

    數(shù)字PID控制算法講解

    數(shù)字PID控制算法是將模擬PID離散化得到,各參數(shù)有著明顯的物理意義,調(diào)整方便,所以
    發(fā)表于 01-16 16:27 ?903次下載
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>講解

    如何利用高速dsp和準(zhǔn)pid控制數(shù)字控制電源

    如何利用高速dsp和準(zhǔn)pid控制數(shù)字控制電源?
    發(fā)表于 04-09 11:15 ?33次下載
    如何利用高速dsp和準(zhǔn)<b class='flag-5'>pid</b><b class='flag-5'>控制</b>的<b class='flag-5'>數(shù)字控制</b>電源

    數(shù)字PID控制算法教程之如何對(duì)標(biāo)準(zhǔn)PID算法進(jìn)行改進(jìn)

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)字PID控制算法教程之如何對(duì)標(biāo)準(zhǔn)PID算法進(jìn)行改進(jìn)主要內(nèi)容包括了:
    發(fā)表于 12-04 08:00 ?15次下載
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>教程之如何對(duì)標(biāo)準(zhǔn)<b class='flag-5'>PID</b><b class='flag-5'>算法</b>進(jìn)行改進(jìn)

    如何使用DSP進(jìn)行數(shù)字PID控制器的設(shè)計(jì)

    基于數(shù)字信號(hào)處理器(DSP)TMS320I F 2407和外接D/A轉(zhuǎn)換芯片,實(shí)現(xiàn)數(shù)字PID控制器,采用的
    發(fā)表于 01-02 16:30 ?34次下載
    如何使用DSP進(jìn)行<b class='flag-5'>數(shù)字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b>器的設(shè)計(jì)

    直流電機(jī)PID閉環(huán)數(shù)字控制器設(shè)計(jì)

    直流電機(jī)PID閉環(huán)數(shù)字控制器設(shè)計(jì)(核達(dá)中遠(yuǎn)通電源技術(shù)有限公司電話號(hào)碼)-直流電機(jī)PID閉環(huán)數(shù)字控制器設(shè)計(jì),有需要的可以參考!
    發(fā)表于 09-15 15:39 ?40次下載
    直流電機(jī)<b class='flag-5'>PID</b>閉環(huán)<b class='flag-5'>數(shù)字控制</b>器設(shè)計(jì)

    數(shù)字PID控制的原理

    數(shù)字PID控制的原理 自從計(jì)算機(jī)和各類微控制器芯片進(jìn)入控制領(lǐng)域以來(lái),用計(jì)算機(jī)或微控制器芯片取代
    發(fā)表于 03-09 14:23 ?1906次閱讀
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b>的原理

    兩種實(shí)現(xiàn)PID控制算法的技巧

    PID控制算法公式*
    的頭像 發(fā)表于 05-19 16:45 ?727次閱讀
    <b class='flag-5'>兩種</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b>的<b class='flag-5'>算法</b>的技巧