PID的數(shù)學(xué)模型
在工業(yè)應(yīng)用中PID及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無(wú)愧的萬(wàn)能算法,如果能夠熟練掌握PID算法的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,對(duì)于一般的研發(fā)人員來(lái)講,應(yīng)該是足夠應(yīng)對(duì)一般研發(fā)問(wèn)題了,而難能可貴的是,在很多控制算法當(dāng)中,PID控制算法又是最簡(jiǎn)單,最能體現(xiàn)反饋思想的控制算法,可謂經(jīng)典中的經(jīng)典。經(jīng)典的未必是復(fù)雜的,經(jīng)典的東西常常是簡(jiǎn)單的,而且是最簡(jiǎn)單的。
PID算法的一般形式
PID算法通過(guò)誤差信號(hào)控制被控量,而控制器本身就是比例、積分、微分三個(gè)環(huán)節(jié)的加和。這里我們規(guī)定(在t時(shí)刻):
1.輸入量為
2.輸出量為
3.偏差量為
PID算法的數(shù)字離散化
假設(shè)采樣間隔為T(mén),則在第K個(gè)T時(shí)刻:
偏差=
積分環(huán)節(jié)用加和的形式表示,即:
微分環(huán)節(jié)用斜率的形式表示,即:
PID算法離散化后的式子:
則可表示成為:
其中式中:
比例參數(shù):控制器的輸出與輸入偏差值成比例關(guān)系。系統(tǒng)一旦出現(xiàn)偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用以減少偏差。
特點(diǎn):過(guò)程簡(jiǎn)單快速、比例作用大,可以加快調(diào)節(jié),減小誤差;但是使系統(tǒng)穩(wěn)定性下降,造成不穩(wěn)定,有余差。
積分參數(shù):積分環(huán)節(jié)主要是用來(lái)消除靜差,所謂靜差,就是系統(tǒng)穩(wěn)定后輸出值和設(shè)定值之間的差值,積分環(huán)節(jié)實(shí)際上就是偏差累計(jì)的過(guò)程,把累計(jì)的誤差加到原有系統(tǒng)上以抵消系統(tǒng)造成的靜差。
微分參數(shù):微分信號(hào)則反映了偏差信號(hào)的變化規(guī)律,或者說(shuō)是變化趨勢(shì),根據(jù)偏差信號(hào)的變化趨勢(shì)來(lái)進(jìn)行超前調(diào)節(jié),從而增加了系統(tǒng)的快速性。
PID的基本離散表示形式如上。目前的這種表述形式屬于位置型PID,另外一種表述方式為增量式PID,由上述表達(dá)式可以輕易得到:
那么:
上式就是離散化PID的增量式表示方式,由公式可以看出,增量式的表達(dá)結(jié)果和最近三次的偏差有關(guān),這樣就大大提高了系統(tǒng)的穩(wěn)定性。需要注意的是最終的輸出結(jié)果應(yīng)該為:輸出量 = + 增量調(diào)節(jié)值。
目的
PID 的重要性應(yīng)該無(wú)需多說(shuō)了,這個(gè)控制領(lǐng)域的應(yīng)用最廣泛的算法了。本篇文章的目的是希望通過(guò)一個(gè)例子展示算法過(guò)程,并解釋以下概念:
(1)簡(jiǎn)單描述何為PID?為何需要PID?PID 能達(dá)到什么作用?
(2)理解P(比例環(huán)節(jié))作用:基礎(chǔ)比例環(huán)節(jié)。
缺點(diǎn):產(chǎn)生穩(wěn)態(tài)誤差。
疑問(wèn):何為穩(wěn)態(tài)誤差 為什么會(huì)產(chǎn)生穩(wěn)態(tài)誤差。
(3)理解I(積分環(huán)節(jié))作用:消除穩(wěn)態(tài)誤差。
缺點(diǎn):增加超調(diào)
疑問(wèn):積分為何能消除穩(wěn)態(tài)誤差?
(4)理解D(微分環(huán)節(jié))作用:加大慣性響應(yīng)速度,減弱超調(diào)趨勢(shì)
疑問(wèn):為何能減弱超調(diào)?
(5)理解各個(gè)比例系數(shù)的作
何為PID以及為何需要PID?
以下即PID控制的整體框圖,過(guò)程描述為:
設(shè)定一個(gè)輸出目標(biāo),反饋系統(tǒng)傳回輸出值,如與目標(biāo)不一致,則存在一個(gè)誤差,PID根據(jù)此誤差調(diào)整輸入值,直至輸出達(dá)到設(shè)定值
疑問(wèn):那么我們?yōu)槭裁葱枰狿ID呢,比如我控制溫度,我不能監(jiān)控溫度值,溫度值一到就停止嗎?
這里必須要先說(shuō)下我們的目標(biāo),因?yàn)槲覀兯械目刂茻o(wú)非就是想輸出能夠達(dá)到我們的設(shè)定,即如果我們?cè)O(shè)定了一個(gè)目標(biāo)溫度值,那么我們想要一個(gè)什么樣的溫度變化呢?
比如設(shè)定目標(biāo)溫度為30度,目標(biāo)無(wú)非是希望達(dá)到圖1希望其能夠快速而且沒(méi)有抖動(dòng)的達(dá)到30度。
那這樣大家應(yīng)該就明白,如果使用溫度一到就停止的辦法,當(dāng)然如果要求不高可能也行,但肯定達(dá)不到圖1這樣的要求,因?yàn)闇囟鹊搅撕笥鄿匾矔?huì)讓溫度繼續(xù)升高。而且溫度自身也會(huì)通過(guò)空氣散熱的。
系統(tǒng)輸出的響應(yīng)目標(biāo)
綜上所述,我們需要PID的原因無(wú)非就是普通控制手段沒(méi)有辦法使輸出快速穩(wěn)定地到達(dá)設(shè)定值。
控制器的P、I、D項(xiàng)選擇
下面將常用的各種控制規(guī)律的控制特點(diǎn)簡(jiǎn)單歸納一下:
(1)比例控制規(guī)律P:采用P控制規(guī)律能較快地克服擾動(dòng)的影響,它的作用于輸出值較快,但不能很好穩(wěn)定在一個(gè)理想的數(shù)值,不良的結(jié)果是雖較能有效的克服擾動(dòng)的影響,但有余差出現(xiàn)。它適用于控制通道滯后較小、負(fù)荷變化不大、控制要求不高、被控參數(shù)允許在一定范圍內(nèi)有余差的場(chǎng)合。如:金彪公用工程部下設(shè)的水泵房冷、熱水池水位控制;油泵房中間油罐油位控制等。
(2)比例積分控制規(guī)律(PI):在工程中比例積分控制規(guī)律是應(yīng)用最廣泛的一種控制規(guī)律。積分能在比例的基礎(chǔ)上消除余差,它適用于控制通道滯后較小、負(fù)荷變化不大、被控參數(shù)不允許有余差的場(chǎng)合。如:在主線窯頭重油換向室中F1401到F1419號(hào)槍的重油流量控制系統(tǒng);油泵房供油管流量控制系統(tǒng);退火窯各區(qū)溫度調(diào)節(jié)系統(tǒng)等。
(3)比例微分控制規(guī)律(PD):微分具有超前作用,對(duì)于具有容量滯后的控制通道,引入微分參與控制,在微分項(xiàng)設(shè)置得當(dāng)?shù)那闆r下,對(duì)于提高系統(tǒng)的動(dòng)態(tài)性能指標(biāo),有著顯著效果。因此,對(duì)于控制通道的時(shí)間常數(shù)或容量滯后較大的場(chǎng)合,為了提高系統(tǒng)的穩(wěn)定性,減小動(dòng)態(tài)偏差等可選用比例微分控制規(guī)律。如:加熱型溫度控制、成分控制。需要說(shuō)明一點(diǎn),對(duì)于那些純滯后較大的區(qū)域里,微分項(xiàng)是無(wú)能為力,而在測(cè)量信號(hào)有噪聲或周期性振動(dòng)的系統(tǒng),則也不宜采用微分控制。如:大窯玻璃液位的控制。
(4)例如積分微分控制規(guī)律(PID):PID控制規(guī)律是一種較理想的控制規(guī)律,它在比例的基礎(chǔ)上引入積分,可以消除余差,再加入微分作用,又能提高系統(tǒng)的穩(wěn)定性。它適用于控制通道時(shí)間常數(shù)或容量滯后較大、控制要求較高的場(chǎng)合。如溫度控制、成分控制等。
鑒于D規(guī)律的作用,我們還必須了解時(shí)間滯后的概念,時(shí)間滯后包括容量滯后與純滯后。其中容量滯后通常又包括:測(cè)量滯后和傳送滯后。測(cè)量滯后是檢測(cè)元件在檢測(cè)時(shí)需要建立一種平衡,如熱電偶、熱電阻、壓力等響應(yīng)較慢產(chǎn)生的一種滯后。而傳送滯后則是在傳感器、變送器、執(zhí)行機(jī)構(gòu)等設(shè)備產(chǎn)生的一種控制滯后。純滯后是相對(duì)于測(cè)量滯后的,在工業(yè)上,大多的純滯后是由于物料傳輸所致,如:大窯玻璃液位,在投料機(jī)動(dòng)作到核子液位儀檢測(cè)需要很長(zhǎng)的一段時(shí)間。
總之,控制規(guī)律的選用要根據(jù)過(guò)程特性和工藝要求來(lái)選取,絕不是說(shuō)PID控制規(guī)律在任何情況下都具有較好的控制性能,部分場(chǎng)合都采用是不明智的。如果這樣做,只會(huì)給其它工作增加復(fù)雜性,并給參數(shù)整定帶來(lái)困難。當(dāng)采用PID控制器還達(dá)不到工藝要求,則需要考慮其它的控制方案。如串級(jí)控制、前饋控制、大滯后控制等。
Kp、Ti、Td三個(gè)參數(shù)的設(shè)定是PID控制算法的關(guān)鍵問(wèn)題。一般說(shuō)來(lái)編程時(shí)只能設(shè)定他們的大概數(shù)值,并在系統(tǒng)運(yùn)行時(shí)通過(guò)反復(fù)調(diào)試來(lái)確定最佳值。因此調(diào)試階段程序必須得能隨時(shí)修改和記憶這三個(gè)參數(shù)。
數(shù)字PID控制器
(1)模擬PID控制規(guī)律的離散化
(2)數(shù)字PID控制器的差分方程
參數(shù)的自整定
在某些應(yīng)用場(chǎng)合,比如通用儀表行業(yè),系統(tǒng)的工作對(duì)象是不確定的,不同的對(duì)象就得采用不同的參數(shù)值,沒(méi)法為用戶設(shè)定參數(shù),就引入?yún)?shù)自整定的概念。實(shí)質(zhì)就是在首次使用時(shí),通過(guò)N次測(cè)量為新的工作對(duì)象尋找一套參數(shù),并記憶下來(lái)作為以后工作的依據(jù)。具體的整定方法有三種:臨界比例度法、衰減曲線法、經(jīng)驗(yàn)法。
1、臨界比例度法(Ziegler-Nichols)
1.1 在純比例作用下,逐漸增加增益至產(chǎn)生等副震蕩,根據(jù)臨界增益和臨界周期參數(shù)得出PID控制器參數(shù),步驟如下:
(1)將純比例控制器接入到閉環(huán)控制系統(tǒng)中(設(shè)置控制器參數(shù)積分時(shí)間常數(shù)Ti =∞,實(shí)際微分時(shí)間常數(shù)Td =0)。
(2)控制器比例增益K設(shè)置為最小,加入階躍擾動(dòng)(一般是改變控制器的給定值),觀察被調(diào)量的階躍響應(yīng)曲線。
(3)由小到大改變比例增益K,直到閉環(huán)系統(tǒng)出現(xiàn)振蕩。
(4)系統(tǒng)出現(xiàn)持續(xù)等幅振蕩時(shí),此時(shí)的增益為臨界增益(Ku),振蕩周期(波峰間的時(shí)間)為臨界周期(Tu)。
(5) 由表1得出PID控制器參數(shù)。
表1
1.2 采用臨界比例度法整定時(shí)應(yīng)注意以下幾點(diǎn):
(1)在采用這種方法獲取等幅振蕩曲線時(shí),應(yīng)使控制系統(tǒng)工作在線性區(qū),不要使控制閥出現(xiàn)開(kāi)、關(guān)的極端狀態(tài),否則得到的持續(xù)振蕩曲線可能是“極限循環(huán)”,從線性系統(tǒng)概念上說(shuō)系統(tǒng)早已處于發(fā)散振蕩了。
(2)由于被控對(duì)象特性的不同,按上表求得的控制器參數(shù)不一定都能獲得滿意的結(jié)果。對(duì)于無(wú)自平衡特性的對(duì)象,用臨界比例度法求得的控制器參數(shù)往往使系統(tǒng)響應(yīng)的衰減率偏大(ψ>0.75 )。而對(duì)于有自平衡特性的高階等容對(duì)象,用此法整定控制器參數(shù)時(shí)系統(tǒng)響應(yīng)衰減率大多偏小(ψ<0.75 )。為此,上述求得的控制器參數(shù),應(yīng)針對(duì)具體系統(tǒng)在實(shí)際運(yùn)行過(guò)程中進(jìn)行在線校正。
(3) 臨界比例度法適用于臨界振幅不大、振蕩周期較長(zhǎng)的過(guò)程控制系統(tǒng),但有些系統(tǒng)從安全性考慮不允許進(jìn)行穩(wěn)定邊界試驗(yàn),如鍋爐汽包水位控制系統(tǒng)。還有某些時(shí)間常數(shù)較大的單容對(duì)象,用純比例控制時(shí)系統(tǒng)始終是穩(wěn)定的,對(duì)于這些系統(tǒng)也是無(wú)法用臨界比例度法來(lái)進(jìn)行參數(shù)整定的。
(4)只適用于二階以上的高階對(duì)象,或一階加純滯后的對(duì)象,否則,在純比例控制情況下,系統(tǒng)不會(huì)出現(xiàn)等幅振蕩。
1.3 若求出被控對(duì)象的靜態(tài)放大倍數(shù)KP=△y/△u ,則增益乘積KpKu可視為系統(tǒng)的最大開(kāi)環(huán)增益。通常認(rèn)為Ziegler-Nichols閉環(huán)試驗(yàn)整定法的適用范圍為:
(1) 當(dāng)KpKu > 20時(shí),應(yīng)采用更為復(fù)雜的控制算法,以求較好的調(diào)節(jié)效果。
(2)當(dāng)KpKu < 2時(shí),應(yīng)使用一些能補(bǔ)償傳輸遲延的控制策略。
(3)當(dāng)1.5
(4)當(dāng)KpKu< 1.5時(shí),在對(duì)控制精度要求不高的場(chǎng)合仍可使用PI控制器,在這種情況下,微分作用已意義不大。
2、衰減曲線法
衰減曲線法與臨界比例度法不同的是,閉環(huán)設(shè)定值擾動(dòng)試驗(yàn)采用衰減振蕩(通常為4:1或10:l),然后利用衰減振蕩的試驗(yàn)數(shù)據(jù),根據(jù)經(jīng)驗(yàn)公式求取控制器的整定參數(shù)。整定步驟如下:
(1)在純比例控制器下,置比例增益K為較小值,并將系統(tǒng)投入運(yùn)行。
(2)系統(tǒng)穩(wěn)定后,作設(shè)定值階躍擾動(dòng),觀察系統(tǒng)的響應(yīng),若系統(tǒng)響應(yīng)衰減太快,則減小比例增益K;反之,應(yīng)增大比例增益K。直到系統(tǒng)出現(xiàn)如下圖(a)所示的4:1衰減振蕩過(guò)程,記下此時(shí)的比例增益Ks及和振蕩周期Ts數(shù)值。
(3)利用Ks和Ts值,按下表給出的經(jīng)驗(yàn)公式,計(jì)算出控制器的參數(shù)整定值。
(4)10:1 衰減曲線法類(lèi)似,只是用Tr帶入計(jì)算。
采用衰減曲線法必須注意幾點(diǎn):
(1)加給定干擾不能太大,要根據(jù)生產(chǎn)操作要求來(lái)定,一般在5%左右,也有例外的情況。
(2)必須在工藝參數(shù)穩(wěn)定的情況下才能加給定干擾,否則得不到正確的整定參數(shù)。
(3)對(duì)于反應(yīng)快的系統(tǒng),如流量、管道壓力和小容量的液位調(diào)節(jié)等,要得到嚴(yán)格的4:1衰減曲線較困難,一般以被調(diào)參數(shù)來(lái)回波動(dòng)兩次達(dá)到穩(wěn)定,就近似地認(rèn)為達(dá)到4:1衰減過(guò)程了。
(4)投運(yùn)時(shí),先將K放在較小的數(shù)值,把Ti減少到整定值,把Td逐步放大到整定值,然后把K拉到整定值(如果在K=整定值的條件下很快地把Td放到整定值,控制器的輸出會(huì)劇烈變化)。
3、經(jīng)驗(yàn)整定法
3.1方法一A:
(1)確定比例增益
使PID為純比例調(diào)節(jié),輸入設(shè)定為系統(tǒng)允許最大值的60%~70%,由0逐漸加大比例增益至系統(tǒng)出現(xiàn)振蕩;再反過(guò)來(lái),從此時(shí)的比例增益逐漸減小至系統(tǒng)振蕩消失,記錄此時(shí)的比例增益,設(shè)定PID的比例增益P為當(dāng)前值的60%~70%。
(2)確定積分時(shí)間常數(shù)
比例增益P確定后,設(shè)定一個(gè)較大的積分時(shí)間常數(shù)Ti的初值,然后逐漸減小Ti至系統(tǒng)出現(xiàn)振蕩,之后在反過(guò)來(lái),逐漸加大Ti至系統(tǒng)振蕩消失。記錄此時(shí)的Ti,設(shè)定PID的積分時(shí)間常數(shù)Ti為當(dāng)前值的150%~180%。
(3)確定積分時(shí)間常數(shù)Td
積分時(shí)間常數(shù)Td一般不用設(shè)定,為0即可。若要設(shè)定,與確定 P和Ti的方法相同,取不振蕩時(shí)的30%。
(4)系統(tǒng)帶載聯(lián)調(diào),再對(duì)PID參數(shù)進(jìn)行微調(diào),直至滿足要求。
3.2 方法一B:
(1)PI調(diào)節(jié)
(a)純比例作用下,把比例度從較大數(shù)值逐漸往下降,至開(kāi)始產(chǎn)生周期振蕩(測(cè)量值以給定值為中心作有規(guī)則的振蕩),在產(chǎn)生周期性振蕩的情況下,把此比例度逐漸加寬直至系統(tǒng)充分穩(wěn)定。
(b)接下來(lái)把積分時(shí)間逐漸縮短至產(chǎn)生振蕩,此時(shí)表示積分時(shí)間過(guò)短,應(yīng)把積分時(shí)間稍加延長(zhǎng),直至振蕩停止。
(2)PID調(diào)節(jié)
(a)純比例作用下尋求起振點(diǎn)。
(b)加大微分時(shí)間使振蕩停止,接著把比例度調(diào)得稍小一些,使振蕩又產(chǎn)生,加大微分時(shí)間,使振蕩再停止,來(lái)回這樣操作,直至雖加大微分時(shí)間,但不能使振蕩停止,求得微分時(shí)間的最佳值,此時(shí)把比例度調(diào)得稍大一些直至振蕩停止。
(c)把積分時(shí)間調(diào)成和微分時(shí)間相同的數(shù)值,如果又產(chǎn)生振蕩則加大積分時(shí)間直至振蕩停止。
3.3 方法二:
另一種方法是先從表列范圍內(nèi)取Ti的某個(gè)數(shù)值,如果需要微分,則取Td=(1/3~1/4)Ti,然后對(duì)δ進(jìn)行試湊,也能較快地達(dá)到要求。實(shí)踐證明,在一定范圍內(nèi)適當(dāng)?shù)亟M合δ和Ti的數(shù)值,可以得到同樣衰減比的曲線,就是說(shuō),δ的減少,可以用增加Ti的辦法來(lái)補(bǔ)償,而基本上不影響調(diào)節(jié)過(guò)程的質(zhì)量。所以,這種情況,先確定Ti、Td再確定δ的順序也是可以的。而且可能更快些。如果曲線仍然不理想,可用Ti、Td再加以適當(dāng)調(diào)整。
3.4 方法三:
(1)在實(shí)際調(diào)試中,也可以先大致設(shè)定一個(gè)經(jīng)驗(yàn)值,然后根據(jù)調(diào)節(jié)效果修改。
流量系統(tǒng):P(%)40--100,I(分)0.1--1
壓力系統(tǒng):P(%)30--70, I(分)0.4--3
液位系統(tǒng):P(%)20--80, I(分)1—5
溫度系統(tǒng):P(%)20--60, I(分)3--10,D(分)0.5--3
(2)以下整定的口訣:
階躍擾動(dòng)投閉環(huán),參數(shù)整定看曲線;先投比例后積分,最后再把微分加;
理想曲線兩個(gè)波,振幅衰減4比1;比例太強(qiáng)要振蕩,積分太強(qiáng)過(guò)程長(zhǎng);
動(dòng)差太大加微分,頻率太快微分降;偏離定值回復(fù)慢,積分作用再加強(qiáng)。
4、復(fù)雜調(diào)節(jié)系統(tǒng)的參數(shù)整定
以串級(jí)調(diào)節(jié)系統(tǒng)為例來(lái)說(shuō)明復(fù)雜調(diào)節(jié)系統(tǒng)的參數(shù)整定方法。由于串級(jí)調(diào)節(jié)系統(tǒng)中,有主、副兩組參數(shù),各通道及回路間存在著相互聯(lián)系和影響。改變主、副回路的任一參數(shù),對(duì)整個(gè)系統(tǒng)都有影響。特別是主、副對(duì)象時(shí)間常數(shù)相差不大時(shí),動(dòng)態(tài)聯(lián)系密切,整定參數(shù)的工作尤其困難。
在整定參數(shù)前,先要明確串級(jí)調(diào)節(jié)系統(tǒng)的設(shè)計(jì)目的。如果主要是保證主參數(shù)的調(diào)節(jié)質(zhì)量,對(duì)副參數(shù)要求不高,則整定工作就比較容易;如果主、副參數(shù)都要求高,整定工作就比較復(fù)雜。下面介紹“先副后主”兩步參數(shù)整定法。
第一步:在工況穩(wěn)定情況下,將主回路閉合,把主控制器比例度放在100%,積分時(shí)間放在最大,微分時(shí)間放在零。用4:1衰減曲線整定副回路,求出副回路的比例增益K2s和振蕩周期T2s。
第二步:把副回路看成是主回路的一個(gè)環(huán)節(jié),使用4:1衰減曲線法整定主回路,求得主控制器K1s和T1s。
根據(jù)K1s、K2s、T1s、T2s按表2經(jīng)驗(yàn)公式算出串級(jí)調(diào)節(jié)系統(tǒng)主、副回路參數(shù)。先放上副回路參數(shù),再放上主回路參數(shù),如果得到滿意的過(guò)渡過(guò)程,則整定工作完畢。否則可進(jìn)行適當(dāng)調(diào)整。
如果主、副對(duì)象時(shí)間常數(shù)相差不大,按4:1衰減曲線法整定,可能出現(xiàn)“共振”危險(xiǎn),這時(shí),可適當(dāng)減小副回路比例度或積分時(shí)間,以達(dá)到減少副回路振蕩周期的目的。同理,加大主回路比例度或積分時(shí)間,以期增大主回路振蕩周期,使主、副回路振蕩周期之比加大,避免“共振”。這樣做的結(jié)果會(huì)降低調(diào)節(jié)質(zhì)量。
如果主、副對(duì)象特性太相近,則說(shuō)明確定的方案欠妥當(dāng),就不能完全依靠參數(shù)整定來(lái)提高調(diào)節(jié)質(zhì)量了。
實(shí)際應(yīng)用體會(huì):
一是利用數(shù)字PID控制算法調(diào)節(jié)直流電機(jī)的速度,方案是采用光電開(kāi)關(guān)來(lái)獲得電機(jī)的轉(zhuǎn)動(dòng)產(chǎn)生的脈沖信號(hào),單片機(jī)(MSP430G2553)通過(guò)測(cè)量脈沖信號(hào)的頻率來(lái)計(jì)算電機(jī)的轉(zhuǎn)速(具體測(cè)量頻率的算法是采用直接測(cè)量法,定時(shí)1s測(cè)量脈沖有多少個(gè),本身的測(cè)量誤差可以有0.5轉(zhuǎn)加減),測(cè)量的轉(zhuǎn)速同給定的轉(zhuǎn)速進(jìn)行比較產(chǎn)生誤差信號(hào),來(lái)產(chǎn)生控制信號(hào),控制信號(hào)是通過(guò)PWM調(diào)整占空比也就是調(diào)整輸出模擬電壓來(lái)控制的(相當(dāng)于1位的DA,如果用10位的DA來(lái)進(jìn)行模擬調(diào)整呢?效果會(huì)不會(huì)好很多?),這個(gè)實(shí)驗(yàn)控制能力有一定的范圍,只能在30轉(zhuǎn)/秒和150轉(zhuǎn)/秒之間進(jìn)行控制,當(dāng)給定值(程序中給定的速度)高于150時(shí),實(shí)際速度只能保持在150轉(zhuǎn),這也就是此系統(tǒng)的最大控制能力,當(dāng)給定值低于30轉(zhuǎn)時(shí),直流電機(jī)轉(zhuǎn)軸實(shí)際是不轉(zhuǎn)動(dòng)的,但由于誤差值過(guò)大,轉(zhuǎn)速會(huì)迅速變高,然后又會(huì)停止轉(zhuǎn)動(dòng),就這樣循環(huán)往復(fù),不能達(dá)到控制效果。
根據(jù)實(shí)測(cè),轉(zhuǎn)速穩(wěn)態(tài)精度在正負(fù)3轉(zhuǎn)以內(nèi),控制時(shí)間為4到5秒。實(shí)驗(yàn)只進(jìn)行到這種程度,思考和分析也只停留在這種深度。
二是利用數(shù)字PID控制算法調(diào)節(jié)直流減速電機(jī)的位置,方案是采用與電機(jī)同軸轉(zhuǎn)動(dòng)的精密電位器來(lái)測(cè)量電機(jī)轉(zhuǎn)動(dòng)的位置和角度,通過(guò)測(cè)量得到的角度和位置與給定的位置進(jìn)行比較產(chǎn)生誤差信號(hào),然后位置誤差信號(hào)通過(guò)一定關(guān)系(此關(guān)系純屬根據(jù)想象和實(shí)驗(yàn)現(xiàn)象來(lái)擬定和改善的)轉(zhuǎn)換成PWM信號(hào),作為控制信號(hào)的PWM信號(hào)是先產(chǎn)生對(duì)直流減速電機(jī)的模擬電壓U,U來(lái)控制直流減速電機(jī)的力矩(不太清楚),力矩產(chǎn)生加速度,加速度產(chǎn)生速度,速度改變位置,輸出量是位置信號(hào),所以之間應(yīng)該對(duì)直流減速電機(jī)進(jìn)行系統(tǒng)建模分析,仿真出直流減速電機(jī)的近似系統(tǒng)傳遞函數(shù),然后根據(jù)此函數(shù)便可以對(duì)PID的參數(shù)進(jìn)行整定了。
兩次體會(huì)都不是特別清楚PID參數(shù)是如何整定的,沒(méi)有特別清晰的理論指導(dǎo)和實(shí)驗(yàn)步驟,對(duì)結(jié)果的整理和分析也不夠及時(shí),導(dǎo)致實(shí)驗(yàn)深度和程度都不能達(dá)到理想效果。
怎樣形象理解PID算法?
小明接到這樣一個(gè)任務(wù):
有一個(gè)水缸點(diǎn)漏水(而且漏水的速度還不一定固定不變)要求水面高度維持在某個(gè)位置一旦發(fā)現(xiàn)水面高度低于要求位置,就要往水缸里加水。
小明接到任務(wù)后就一直守在水缸旁邊,時(shí)間長(zhǎng)就覺(jué)得無(wú)聊,就跑到房里看小說(shuō)了,每30分鐘來(lái)檢查一次水面高度。水漏得太快,每次小明來(lái)檢查時(shí),水都快漏完了,離要求的高度相差很遠(yuǎn),小明改為每3分鐘來(lái)檢查一次,結(jié)果每次來(lái)水都沒(méi)怎么漏,不需要加水,來(lái)得太頻繁做的是無(wú)用功。
幾次試驗(yàn)后,確定每10分鐘來(lái)檢查一次。這個(gè)檢查時(shí)間就稱為采樣周期。
開(kāi)始小明用瓢加水,水龍頭離水缸有十幾米的距離,經(jīng)常要跑好幾趟才加夠水,于是小明又改為用桶加,一加就是一桶,跑的次數(shù)少了,加水的速度也快了,但好幾次將缸給加溢出了,不小心弄濕了幾次鞋,小明又動(dòng)腦筋,我不用瓢也不用桶,老子用盆,幾次下來(lái),發(fā)現(xiàn)剛剛好,不用跑太多次,也不會(huì)讓水溢出。這個(gè)加水工具的大小就稱為比例系數(shù)。
小明又發(fā)現(xiàn)水雖然不會(huì)加過(guò)量溢出了,有時(shí)會(huì)高過(guò)要求位置比較多,還是有打濕鞋的危險(xiǎn)。他又想了個(gè)辦法,在水缸上裝一個(gè)漏斗,每次加水不直接倒進(jìn)水缸,而是倒進(jìn)漏斗讓它慢慢加。這樣溢出的問(wèn)題解決了,但加水的速度又慢了,有時(shí)還趕不上漏水的速度。
于是他試著變換不同大小口徑的漏斗來(lái)控制加水的速度,最后終于找到了滿意的漏斗。漏斗的時(shí)間就稱為積分時(shí)間 。
小明終于喘了一口,但任務(wù)的要求突然嚴(yán)了,水位控制的及時(shí)性要求大大提高,一旦水位過(guò)低,必須立即將水加到要求位置,而且不能高出太多,否則不給工錢(qián)。
小明又為難了!于是他又開(kāi)動(dòng)腦筋,終于讓他想到一個(gè)辦法,常放一盆備用水在旁邊,一發(fā)現(xiàn)水位低了,不經(jīng)過(guò)漏斗就是一盆水下去,這樣及時(shí)性是保證了,但水位有時(shí)會(huì)高多了。
他又在要求水面位置上面一點(diǎn)將水鑿一孔,再接一根管子到下面的備用桶里這樣多出的水會(huì)從上面的孔里漏出來(lái)。這個(gè)水漏出的快慢就稱為微分時(shí)間。
拿一個(gè)水池水位來(lái)說(shuō),我們 可以制定一個(gè)規(guī)則:
把水位分為超高、高、較高、中、較低、低、超低幾個(gè)區(qū)段;
再把水位波動(dòng)的趨勢(shì)分為甚快、快、較快、慢、停幾個(gè)區(qū)段,并區(qū)分趨勢(shì)的正負(fù);
把輸出分為超大幅 度、大幅度、較大幅度、微小幾個(gè)區(qū)段。
當(dāng)水位處于中值、趨勢(shì)處于停頓的時(shí)候,不調(diào)節(jié);
當(dāng)水位處于中值、趨勢(shì)緩慢變化的時(shí)候,也可以暫不調(diào)節(jié);
當(dāng)水位處于較高、趨勢(shì)緩慢變化 的時(shí)候,輸出一個(gè)微小調(diào)節(jié)量就夠了;
當(dāng)水位處于中值、趨勢(shì)較快變化的時(shí)候,輸出進(jìn)行較大幅度調(diào)節(jié)……
如上所述,我們需要制定一個(gè)控制規(guī)則表,然后制定參數(shù)判斷水位區(qū)段的界值、波動(dòng)趨 勢(shì)的界值、輸出幅度的界值。
比例控制(P)是一種最簡(jiǎn)單的控制方式。其控制器的輸出與輸入誤差信號(hào)成比例關(guān)系。
根據(jù)設(shè)備有所不同,比例帶一般為2~10%(溫度控制)。
但是,僅僅是P控制的話,會(huì)產(chǎn)生下面將提到的offset (穩(wěn)態(tài)誤差),所以一般加上積分控制(I),以消除穩(wěn)態(tài)誤差。
比例帶與比例控制(P)輸出的關(guān)系如圖所示。用MVp運(yùn)算式的設(shè)定舉例
穩(wěn)態(tài)誤差(Off set)
比例控制中,經(jīng)過(guò)一定時(shí)間后誤差穩(wěn)定在一定值時(shí),此時(shí)的誤差叫做穩(wěn)態(tài)誤差(off set)。
僅用比例控制的時(shí)候,根據(jù)負(fù)載的變動(dòng)及設(shè)備的固有特性不同,會(huì)出現(xiàn)不同的穩(wěn)態(tài)誤差。
負(fù)載特性與控制特性曲線的交點(diǎn)和設(shè)定值不一致是產(chǎn)生穩(wěn)態(tài)誤差的原因。
比例帶小時(shí)不會(huì)產(chǎn)生。為消除穩(wěn)態(tài)誤差,我們?cè)O(shè)定手動(dòng)復(fù)位值--manual reset值(MR),以消除控制誤差。
手動(dòng)復(fù)位(Manual reset)
如前所述,僅用比例控制不能消除穩(wěn)態(tài)誤差。
為此,將MR(manual reset值)設(shè)為可變,則可自由整定(即調(diào)整)調(diào)節(jié)器的輸出。只要手動(dòng)操作輸出相當(dāng)于offset的量,就能與目標(biāo)值一致。
這就叫做手動(dòng)復(fù)位(manual reset),通常比例調(diào)節(jié)器上配有此功能。
在實(shí)際的自動(dòng)控制中,每次發(fā)生off set時(shí)以手動(dòng)進(jìn)行reset的話,這樣并不實(shí)用。在后面將敘述的積分控制功能,能自動(dòng)消除穩(wěn)態(tài)誤差。
為此,將MR(manual reset值)設(shè)為可變,則可自由整定(即調(diào)整)調(diào)節(jié)器的輸出。只要手動(dòng)操作輸出相當(dāng)于offset的量,就能與目標(biāo)值一致。
這就叫做手動(dòng)復(fù)位(manual reset),通常比例調(diào)節(jié)器上配有此功能。
在實(shí)際的自動(dòng)控制中,每次發(fā)生off set時(shí)以手動(dòng)進(jìn)行reset的話,這樣并不實(shí)用。在后面將敘述的積分控制功能,能自動(dòng)消除穩(wěn)態(tài)誤差。
所謂積分控制(I),就是在出現(xiàn)穩(wěn)態(tài)誤差時(shí)自動(dòng)地改變輸出量,使其與手動(dòng)復(fù)位動(dòng)作的輸出量相同,達(dá)到消除穩(wěn)態(tài)誤差的目的。
當(dāng)系統(tǒng)存在誤差時(shí),進(jìn)行積分控制,根據(jù)積分時(shí)間的大小調(diào)節(jié)器的輸出會(huì)以一定的速度變化,只要誤差還存在,就會(huì)不斷地進(jìn)行輸出。
積分時(shí)間的定義:
當(dāng)積分項(xiàng)和比例項(xiàng)對(duì)于控制器的輸出的貢獻(xiàn)相同,即積分作用重復(fù)了一次比例作用時(shí)所花費(fèi)的時(shí)間,就是積分時(shí)間。
微分控制(D)的功能是通過(guò)誤差的變化率預(yù)報(bào)誤差信號(hào)的未來(lái)變化趨勢(shì)。
通過(guò)提供超前控制作用,微分控制能使被控過(guò)程趨于穩(wěn)定。因此,它經(jīng)常用來(lái)抵消積分控制產(chǎn)生的不穩(wěn)定趨勢(shì)。
通過(guò)提供超前控制作用,微分控制能使被控過(guò)程趨于穩(wěn)定。因此,它經(jīng)常用來(lái)抵消積分控制產(chǎn)生的不穩(wěn)定趨勢(shì)。
微分時(shí)間的定義:
當(dāng)輸入量持續(xù)的以一定速率變化時(shí),微分項(xiàng)和比例項(xiàng)對(duì)于控制器的輸出的貢獻(xiàn)相同,即微分作用重復(fù)了一次比例作用時(shí)所花費(fèi)的時(shí)間,就是微分時(shí)間。
實(shí)際中如何使用?
我們看一個(gè)生活例子,冬天洗熱水澡,需要先放掉一段時(shí)間的冷水,因?yàn)樗芾镉幸欢卫渌?,熱水器也需要一個(gè)加熱過(guò)程,等過(guò)了這段時(shí)間之后水溫有些接近目標(biāo)值后,開(kāi)始調(diào)節(jié)水龍頭來(lái)調(diào)節(jié)冷、熱水之間的比例及出水量,之后再慢慢的微調(diào),在洗浴過(guò)程中感覺(jué)溫度不合適,再一點(diǎn)點(diǎn)的調(diào)節(jié)。這個(gè)過(guò)程,其實(shí)就是PID算法過(guò)程。我們之所以微調(diào),是因?yàn)樗疁氐淖兓俣扰c我調(diào)節(jié)的速度不相匹配,存在一個(gè)滯后效應(yīng),我們需要調(diào)節(jié)一點(diǎn)點(diǎn),等一下再感覺(jué)一下溫度,不夠再調(diào)節(jié)一點(diǎn)點(diǎn),再感覺(jué),這個(gè)過(guò)程就叫PID算法,也可以說(shuō),滯后效應(yīng)是引入PID的原因。
失去的能否找回來(lái)?能!只是我找回了紐扣,卻發(fā)現(xiàn)衣服已經(jīng)不再了。這個(gè)就是滯后效應(yīng)。
負(fù)反饋系統(tǒng),都有滯后效應(yīng),但為什么運(yùn)放、電源這類(lèi)的卻從來(lái)不提PID算法呢?這是因?yàn)檫@類(lèi)系統(tǒng)的滯后延時(shí)時(shí)間非常短,若考慮這個(gè)延時(shí),負(fù)反饋引入180度相位,延時(shí)恰好引入180度相位,則完全可能引起振蕩。問(wèn)題在于這個(gè)延時(shí)時(shí)間足夠短,它的諧振頻率點(diǎn)比較高,以運(yùn)放為例,加入延時(shí)加上負(fù)反饋引起的諧振點(diǎn)為10MHz,但這片運(yùn)放的頻率響應(yīng)是1MHz,則在10MHz下完全不可能導(dǎo)致振蕩,因?yàn)檫@個(gè)芯片的頻響特性只有1MHz。我們常用的線性電源IC,比如SOT23封裝的LDO,假如輸出不加電容,就會(huì)輸出一個(gè)振蕩的波形,相對(duì)來(lái)說(shuō)電源IC的滯后效應(yīng)比運(yùn)放要大,但是,因?yàn)殡娫匆话愫竺娑家哟箅娙莸模念l響特性很低,接近直流0Hz,所以當(dāng)有電容時(shí)候,就無(wú)法振蕩了。
而工業(yè)控制領(lǐng)域,比如溫度等,都是滯后效應(yīng)很?chē)?yán)重的,往往都是mS,甚至是10mS級(jí)別的,若直接用負(fù)反饋,因?yàn)榧?lì)與反饋的不同步,必然導(dǎo)致強(qiáng)烈的振蕩,所以為了解決這個(gè)問(wèn)題,我們需要引入PID算法,來(lái)實(shí)現(xiàn)這類(lèi)滯后效應(yīng)嚴(yán)重系統(tǒng)的負(fù)反饋控制,我們以高頻感應(yīng)加熱設(shè)備加熱工件,從常溫25度加熱到700度為例做說(shuō)明:
1、25~600度,100%的全功率加熱工件,這是因?yàn)闇夭钐螅捌谝β?,先加熱到靠近目?biāo)溫度。之所以考慮在600度,是因?yàn)闇笮?yīng),若設(shè)定太高,當(dāng)發(fā)現(xiàn)接近700度再停下來(lái),但實(shí)際上,溫度會(huì)沖過(guò)700度。當(dāng)然,600度是一個(gè)經(jīng)驗(yàn)值,以下幾個(gè)溫度點(diǎn)都是經(jīng)驗(yàn)值,根據(jù)實(shí)際情況而來(lái)。
2、600以上,開(kāi)啟P算法,P就是根據(jù)測(cè)量值與目標(biāo)值的誤差來(lái)決定負(fù)反饋的大小。P算法公式:反饋=P*(當(dāng)前溫度-目標(biāo)溫度)。但因?yàn)樨?fù)反饋是基于存在誤差為前提的,所以P算法導(dǎo)致一個(gè)問(wèn)題,永遠(yuǎn)到不了想要的值:700度。因?yàn)榈搅?00度,反饋值就沒(méi)有了。P算法的開(kāi)啟,進(jìn)一步逼近了目標(biāo)溫度,假設(shè)穩(wěn)態(tài)下可以達(dá)到650度,這樣就算因?yàn)闇笮?yīng)導(dǎo)致的延時(shí),也不會(huì)超過(guò)700度太多。
3、當(dāng)達(dá)到P算法的穩(wěn)態(tài)極限650度附近的時(shí)候,比如640度,就應(yīng)該開(kāi)啟另外一個(gè)算法解決P算法引起的極限誤差,那就是I算法。I算法就是為了消除這個(gè)P算法導(dǎo)致的誤差值,畢竟我們想要的是700度,而不是650度。I算法,本質(zhì)上講就是獲取一個(gè)700度下對(duì)應(yīng)的一個(gè)驅(qū)動(dòng)值,之后用這個(gè)驅(qū)動(dòng)值來(lái)取代P算法,那么我們?cè)趺吹玫竭@個(gè)驅(qū)動(dòng)值呢,唯一的手段就是把之前的誤差都累加起來(lái),最后得到一個(gè)期望值,這個(gè)期望值就是我們想要的驅(qū)動(dòng)值。因?yàn)橹灰c目標(biāo)值存在誤差,那么把這些誤差值積累起來(lái)再去反饋控制,就能一步步的逼近目標(biāo)值,這如同水溫不夠高,再加一點(diǎn)點(diǎn)熱水,不夠高再加,這樣總能達(dá)到想要的水溫。值得注意的是,I算法不能接入太高,必須要在P算法的后期介入,不然很容易積累過(guò)大。這個(gè)時(shí)候可以引入一個(gè)誤差門(mén)限,比如誤差為60,當(dāng)作6來(lái)處理,誤差為50,當(dāng)作5來(lái)處理,消除大的誤差值,具體根據(jù)項(xiàng)目情況決定。
4、當(dāng)I算法把工件溫度加熱到很接近目標(biāo)溫度后,那么可以調(diào)節(jié)的范圍就很小了,最后一點(diǎn)點(diǎn)的微動(dòng),讓調(diào)節(jié)的每一次的變化,不要太大,這就是D算法。D算法本質(zhì)上講就是反對(duì)劇烈的變化,所以適用于達(dá)到目標(biāo)溫度的時(shí)候。
總結(jié):
PID算法其實(shí)不復(fù)雜,但從目前看,很多人都是因?yàn)閷?duì)這三者的使用條件不了解導(dǎo)致的問(wèn)題,都是從加熱一開(kāi)始,三個(gè)要素都上,結(jié)果可想而知。P算法是溫度接近目標(biāo)值的時(shí)候用,I算法是在P算法到穩(wěn)態(tài)極限的時(shí)候用,D算法是達(dá)到目標(biāo)值附近的時(shí)候用。實(shí)際項(xiàng)目中,D算法一般不用,效果不大。假如非要找一個(gè)現(xiàn)實(shí)中對(duì)應(yīng)的實(shí)物,那么以開(kāi)關(guān)電源為例,TL431基準(zhǔn)電源比較器可以認(rèn)為是P,輸出濾波電容C是I,輸出濾波電感是D,兩者完全等價(jià)。它們各自的應(yīng)用工作點(diǎn)可以認(rèn)為:假設(shè)目標(biāo)溫度700度,600~800度:P算法;640~760度:I算法;690~710度:D算法。具體值,以實(shí)驗(yàn)為準(zhǔn),數(shù)據(jù)僅供參考。
最后給出一個(gè)PID最通俗的解讀:我們?cè)O(shè)計(jì)一樣?xùn)|西,一般都是先打個(gè)樣,這個(gè)樣跟我們想要的接近,但細(xì)節(jié)沒(méi)到位,這就是P,樣有差異,所以就要修改,擬合逼近,這就是I,到了定稿,就不允許隨便修改了,就算要修改,也是有限制的修改,這就是D。
來(lái)源:STM32嵌入式開(kāi)發(fā)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
算法
+關(guān)注
關(guān)注
23文章
4612瀏覽量
92910 -
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
356092 -
PID
+關(guān)注
關(guān)注
35文章
1472瀏覽量
85526
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論