當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]在過程控制中,按偏差的比例(P)、積分(I)和微分(D)進(jìn)行控制的PID控制器(亦稱PID調(diào)節(jié)器)是應(yīng)用最為廣泛的一種自動(dòng)控制器。

在過程控制中,按偏差的比例(P)、積分(I)和微分(D)進(jìn)行控制的PID控制器(亦稱PID調(diào)節(jié)器)是應(yīng)用最為廣泛的一種自動(dòng)控制器。

它具有原理簡單,易于實(shí)現(xiàn),適用面廣,控制參數(shù)相互獨(dú)立,參數(shù)的選定比較簡單等優(yōu)點(diǎn);而且在理論上可以證明,對于過程控制的典型對象──“一階滯后+純滯后”與“二階滯后+純滯后”的控制對象,PID控制器是一種最優(yōu)控制。PID調(diào)節(jié)規(guī)律是連續(xù)系統(tǒng)動(dòng)態(tài)品質(zhì)校正的一種有效方法,它的參數(shù)整定方式簡便,結(jié)構(gòu)改變靈活(PI、PD、…)。

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

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

1PID算法基本原理

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

PID算法的執(zhí)行流程是非常簡單的,即利用反饋來檢測偏差信號,并通過偏差信號來控制被控量。而控制器本身就是比例、積分、微分三個(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控制的基本原理就是如此。

2、PID算法的離散化

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

比例就是用來對系統(tǒng)的偏差進(jìn)行反應(yīng),所以只要存在偏差,比例就會(huì)起作用。積分主要是用來消除靜差,所謂靜差就是指系統(tǒng)穩(wěn)定后輸入輸出之間依然存在的差值,而積分就是通過偏差的累計(jì)來抵消系統(tǒng)的靜差。而微分則是對偏差的變化趨勢做出反應(yīng),根據(jù)偏差的變化趨勢實(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算法,那么接下來我們推到一下增量型PID算法的公式。上面的公式描述了第k個(gè)采樣周期的結(jié)果,那么前一時(shí)刻也就是k-1個(gè)采樣周期就不難表示為:

那么我們再來說第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)

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

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

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

首先定義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;
 

 

接下來實(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è)最簡單的位置型PID控制器,當(dāng)然沒有考慮任何干擾條件,僅僅只是對數(shù)學(xué)公式的計(jì)算機(jī)語言化。

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

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

首先定義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;
 

接下來實(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è)最簡單的增量型PID控制器,也沒有考慮任何的干擾條件,僅僅只是對數(shù)學(xué)公式的計(jì)算機(jī)語言化。

4、基本特點(diǎn)

 

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

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

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

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

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

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

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

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

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

這篇就寫到這里。要想直觀地體驗(yàn)PID的控制作用,需要一個(gè)具體的東西來調(diào)試。如果感覺文章還不錯(cuò)歡迎大家收藏轉(zhuǎn)發(fā)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉