殷華文
(南陽理工學(xué)院智能制造學(xué)院,河南 南陽 473004)
在工業(yè)控制領(lǐng)域廣泛應(yīng)用的回路比例積分微分(proportional integral derivative,PID)控制器和Smith預(yù)估控制器等常規(guī)控制器,都只能設(shè)定一組控制器參數(shù),屬于一自由度控制器。一般而言,如果按干擾抑制特性最優(yōu)來整定參數(shù),則設(shè)定值跟隨特性差;如果按設(shè)定值跟隨特性最優(yōu)來整定參數(shù),則干擾抑制特性差。所以常規(guī)控制器的設(shè)計(jì)和參數(shù)整定通常采用折中或試湊的辦法解決[1]。這樣可以滿足大多數(shù)控制系統(tǒng)的要求。但對(duì)于高性能控制系統(tǒng)而言,該方法難以達(dá)到期望的控制性能。這時(shí),就需要采用二自由度PID控制。
二自由度控制是指:采用適當(dāng)?shù)脑O(shè)計(jì)方法,找到兩組獨(dú)立的參數(shù)并設(shè)計(jì)出兩個(gè)獨(dú)立的控制器,分別用優(yōu)化系統(tǒng)的設(shè)定值跟隨特性和干擾抑制特性[1]。二自由度PID的基本概念是由I.M.Horowitz在1963年提出的[2]。抑制外部干擾用微分先行PID控制算法,調(diào)節(jié)Kp、Ti與Td參數(shù),可有效地改善系統(tǒng)動(dòng)態(tài)響應(yīng),實(shí)現(xiàn)最優(yōu)的干擾抑制特性。而對(duì)于設(shè)定值干擾,在PID算法之前疊加設(shè)定值濾波器以調(diào)節(jié)濾波器參數(shù)α,可減緩設(shè)定值的快速變化,從而實(shí)現(xiàn)最優(yōu)的設(shè)定值跟隨特性。這就是四參數(shù)二自由度PID算法。
近年來,隨著各種新型先進(jìn)控制技術(shù)的出現(xiàn),為了更好地發(fā)揮二自由度控制的優(yōu)勢,一些研究者已將新的控制思想與PID控制器或者控制結(jié)構(gòu)相結(jié)合,提出了不同的二自由度控制器的設(shè)計(jì)方法。如:基于內(nèi)??刂圃淼亩杂啥瓤刂?、基于模糊控制理論的二自由度控制等[3]。雖然二自由度控制方法研究已取得較大進(jìn)展,但大多僅限于利用仿真試驗(yàn)進(jìn)行理論驗(yàn)證。因此,將理論研究成果推廣應(yīng)用于實(shí)際工業(yè)過程還有待實(shí)現(xiàn)。
本文針對(duì)大小慣性不同的四種典型過程對(duì)象,進(jìn)行二自由度控制算法研究。
二自由度PID算法是在微分先行PID算法的基礎(chǔ)上加上設(shè)定值濾波環(huán)節(jié),實(shí)現(xiàn)設(shè)定值跟隨性和抗干擾性同時(shí)最優(yōu)。
通常的PID算法是基于偏差補(bǔ)償原理的,即PID運(yùn)算是基于偏差e的。偏差值為設(shè)定值和反饋值的差值,即:
e=r-y
(1)
式中:e為偏差;r為設(shè)定值;y為反饋值。
由式(1)可以看出,e受r和y雙因素變化的影響。PID控制器既要抑制r變化的影響,又要抑制y變化的影響。干擾d會(huì)直接影響到y(tǒng)的變化。r往往是階躍變化的。d是現(xiàn)場擾動(dòng)信號(hào),既可能是一種信號(hào),也可能是幾種信號(hào)的混合。因此,用一組PID參數(shù)難以兼顧對(duì)設(shè)定值階躍的跟隨和抗干擾。為了抑制設(shè)定值階躍的影響,需要弱化微分作用;而為了捕捉干擾對(duì)被控變量的影響,又需要強(qiáng)化微分作用。為了抑制干擾,需要增強(qiáng)比例積分作用以消除余差。但增強(qiáng)比例作用會(huì)增強(qiáng)設(shè)定值階躍對(duì)控制系統(tǒng)的沖擊,而增強(qiáng)積分作用會(huì)引起積分飽和。設(shè)定值濾波型六參數(shù)二自由度PID控制結(jié)構(gòu)如圖1所示。
圖1 設(shè)定值濾波型六參數(shù)二自由度PID控制結(jié)構(gòu)圖
二自由度PID的算法思想就是對(duì)引起e變化的雙因素采用不同的策略分別進(jìn)行抑制。圖1所示的設(shè)定值濾波型六參數(shù)二自由度PID控制結(jié)構(gòu)需要六個(gè)參數(shù),即設(shè)定值濾波器三個(gè)參數(shù)α、β、γ和三個(gè)PID參數(shù)[4]。
六參數(shù)二自由度PID算法結(jié)構(gòu)比較復(fù)雜。圖2所示的是簡化的設(shè)定值濾波型四參數(shù)二自由度PID控制結(jié)構(gòu)[5-6]。這種結(jié)構(gòu)只對(duì)設(shè)定值作慣性濾波,只有一個(gè)二自由度系數(shù)α。
圖2 設(shè)定值濾波型四參數(shù)二自由度PID控制結(jié)構(gòu)圖
設(shè)定值濾波器用于緩沖設(shè)定值階躍對(duì)系統(tǒng)的沖擊、減輕控制器的工作壓力,即主要考慮式(1)中r因素對(duì)偏差e的影響。
設(shè)計(jì)目標(biāo)值濾波器H(s),如式(2)所示:
(2)
對(duì)式(2)作推導(dǎo),得:
(3)
由式(3)可知,設(shè)定值濾波器實(shí)際是一個(gè)比例環(huán)節(jié)和慣性環(huán)節(jié)的迭加。當(dāng)0<α<1時(shí),比例環(huán)節(jié)對(duì)設(shè)定值階躍的初始值進(jìn)行了衰減,慣性環(huán)節(jié)則緩沖了設(shè)定值階躍對(duì)系統(tǒng)的沖擊。濾波器可以使設(shè)定值階躍時(shí)被控變量有一個(gè)平穩(wěn)的變化空間,從而更好地跟隨設(shè)定值變化,不影響系統(tǒng)的穩(wěn)定性。
在控制系統(tǒng)的實(shí)際運(yùn)行過程中,設(shè)定值是階躍變化的。這將使微分項(xiàng)輸出產(chǎn)生極大的突變(比例項(xiàng)輸出也會(huì)跳變,但沒有微分項(xiàng)跳變幅度大)。微分突變一方面會(huì)使控制變量產(chǎn)生很大的變化,對(duì)于有些生產(chǎn)過程(如化學(xué)反應(yīng)、燃燒等過程)是不允許的;另一方面,還會(huì)使被控變量產(chǎn)生很大的超調(diào)。為了避免設(shè)定值變化引起的微分突變,本文提出了微分先行的概念。微分先行是指將控制器的微分部分前移至測量通道中[7]。
微分先行算法只對(duì)測量值作微分處理,而不影響比例積分(proportional integral,PI)的調(diào)節(jié)。微分先行PID的控制結(jié)構(gòu)如圖1中去除目標(biāo)值濾波器的部分。
微分先行可以減輕設(shè)定值階躍引起的微分突變。但是對(duì)于二自由度PID而言,加上設(shè)定值濾波器后減弱了設(shè)定值階躍時(shí)的微分跳變。這時(shí)的微分先行主要起抑制干擾的作用,即主要用來抑制y因素對(duì)偏差e的影響。這是由于微分先行是對(duì)被控變量y作微分,可以直接捕捉擾動(dòng)d導(dǎo)致的被控變量y的變化,從而使控制系統(tǒng)能夠抑制干擾。
微分環(huán)節(jié)對(duì)廣義對(duì)象形成局部反饋,相當(dāng)于對(duì)廣義對(duì)象引入反饋校正。反饋校正可以消除廣義對(duì)象非線性、變參數(shù)的影響和抑制干擾[8]。微分運(yùn)算加了微分延遲,所以對(duì)干擾信號(hào)有濾波和緩沖作用。
對(duì)于一般的PID運(yùn)算來說,微分部分的運(yùn)算是:
(4)
式中:Kp為比例系數(shù);Td為微分系數(shù)。
式(4)的離散化形式為:
(5)
式中:Ts為采樣周期;e(k)為當(dāng)前采樣時(shí)刻偏差;e(k-1)為上一采樣時(shí)刻偏差。
微分運(yùn)算捕捉的是偏差的變化,PID算法的輸出為:
u(k)=up(k)+ui(k)+ud(k)
(6)
式中:up(k)為比例運(yùn)算項(xiàng);ui(k)為積分運(yùn)算項(xiàng);ud(k)為微分運(yùn)算項(xiàng)。
(7)
式中:y(t)為被控變量。
式(7)的離散化形式為:
(8)
式中:y(k)為當(dāng)前時(shí)刻被控變量采樣值;y(k-1)為上一采樣時(shí)刻被控變量。
由式(8)可以看出,微分項(xiàng)運(yùn)算已經(jīng)不受設(shè)定值r的影響了。微分運(yùn)算項(xiàng)只捕捉被控變量y的變化。
(9)
結(jié)合式(6)和式(9),微分先行運(yùn)算和正常的微分運(yùn)算極性相反,所以圖1和圖2中標(biāo)“*”處為“-”而不是“+”。
把系統(tǒng)分成兩個(gè)部分:①設(shè)定值濾波器部分;②標(biāo)準(zhǔn)PID加微分先行部分。
①把目標(biāo)值濾波器H(s)看成一個(gè)簡單的控制系統(tǒng),對(duì)式(2)作拉氏反變換,得:
(10)
離散化之后,得:
(11)
整理之后,得:
(12)
m(k)、y(k)分別是PID運(yùn)算的輸入和被控變量,則:
e(k)=m(k)-y(k)
(13)
②將微分先行PID部分離散化,則整個(gè)控制算法為:
(14)
其中,微分項(xiàng)為:
[y(k)-y(k-1)]
(15)
式中:η為微分延遲系數(shù)或不完全微分系數(shù),是為了抑制微分突變而加的慣性延遲環(huán)節(jié)的時(shí)間常數(shù)Td的系數(shù),η取值一般為0.1~0.2。
在MATLAB/Simulink中搭建設(shè)定值濾波器進(jìn)行仿真:輸入信號(hào)r為階躍信號(hào);α和Ti的取值用四組不同的參數(shù)。濾波器輸出信號(hào)曲線如圖3所示。
圖3 濾波器輸出信號(hào)曲線圖
由圖3可知,濾波器輸出信號(hào)曲線是疊加了α值的慣性環(huán)節(jié)單調(diào)上升曲線。
當(dāng)0<α<1時(shí),相當(dāng)于把設(shè)定值階躍的初始值進(jìn)行了縮小。但由于慣性環(huán)節(jié)的作用,濾波器信號(hào)輸出m最終都將上升到設(shè)定值r。α決定了濾波器信號(hào)輸出曲線的初始值,即設(shè)定值將被縮小的程度。而另一個(gè)參數(shù)Ti則決定了曲線上升速度的快慢。Ti越小則上升速度越快。由于慣性環(huán)節(jié)的相位滯后影響,濾波器輸出信號(hào)曲線相對(duì)于原始設(shè)定值曲線相位滯后0~90°。
圖4 一自由度PID和二自由度PID控制仿真比較(α=0.35)
由圖4可知,一自由度PID控制有比較大的超調(diào),二自由度PID控制既無超調(diào)也無振蕩,響應(yīng)曲線能夠很好地跟蹤濾波器輸出信號(hào)曲線,體現(xiàn)了二自由度PID控制的優(yōu)點(diǎn)。但一自由度PID控制響應(yīng)速度快,而二自由度PID控制響應(yīng)速度慢。
圖5 正極性微分運(yùn)算控制仿真曲線(α=0.35)
本文對(duì)水泵壓力、管道流量、水箱液位、鍋爐溫度這四個(gè)慣性大小不同的對(duì)象進(jìn)行二自由度PID算法控制效果研究。經(jīng)過實(shí)際測試,這四個(gè)對(duì)象的數(shù)學(xué)模型如下。
水泵壓力對(duì)象的慣性小,不容易穩(wěn)定。通過響應(yīng)曲線法和經(jīng)驗(yàn)試湊法,整定出調(diào)節(jié)效果較好的PID參數(shù)(即Kp=0.67、Ti=20 s、Td=1 s),再整定α參數(shù)。水泵壓力一自由度PID算法和二自由度PID算法控制曲線如圖6所示,可見二自由度PID控制效果優(yōu)于一自由度PID控制效果。
圖6 水泵壓力一自由度PID算法和二自由度PID算法控制曲線
通過改變出水口調(diào)節(jié)閥改變出水流量施加擾動(dòng),二自由度PID控制能抑制壓力的波動(dòng)。
由于水泵壓力是小慣性對(duì)象,比例參數(shù)Kp和微分參數(shù)Td不要設(shè)置得過大,約1 s即可,否則系統(tǒng)會(huì)出現(xiàn)振蕩現(xiàn)象。設(shè)置α=0.01時(shí),調(diào)節(jié)時(shí)間、最大偏差和穩(wěn)態(tài)誤差都比較小。
管道流量是典型的過程對(duì)象,具有慣性小、非線性的特點(diǎn)[9],所以不容易穩(wěn)定。通過響應(yīng)曲線法和經(jīng)驗(yàn)試湊法,整定出調(diào)節(jié)效果較好的PID參數(shù)(即Kp=0.11、Ti=30 s、Td=0 s),再整定α參數(shù)。α=0.1時(shí),管道流量二自由度PID控制曲線如圖7所示。
圖7 管道流量二自由度PID控制曲線(α=0.1)
由于管道流量是小慣性對(duì)象,比例參數(shù)Kp和微分參數(shù)Td不宜設(shè)置得過大,否則系統(tǒng)會(huì)出現(xiàn)振蕩現(xiàn)象。設(shè)置α=0.1時(shí),調(diào)節(jié)時(shí)間、最大偏差和穩(wěn)態(tài)誤差都比較小。
通過響應(yīng)曲線法和經(jīng)驗(yàn)試湊法,整定出調(diào)節(jié)效果較好的PID參數(shù)(即Kp=3.45、Ti=200 s、Td=15 s),再整定α參數(shù)。α=0.35時(shí),水箱液位二自由度PID控制曲線如圖8所示。
圖8 水箱液位二自由度PID控制曲線(α=0.35)
水箱液位是大慣性對(duì)象,比水泵壓力和管道流量對(duì)象的慣性大。如果沒有超調(diào)問題,而需要快速穩(wěn)定,則需要增大比例參數(shù)Kp。但Kp過大時(shí)也會(huì)產(chǎn)生振蕩。α越大,設(shè)定值濾波后曲線的上升時(shí)間越短,但超調(diào)量也越大。
鍋爐溫度是典型的過程對(duì)象,具有大慣性、大滯后和非線性等特點(diǎn)[10]。
此處鍋爐溫度為非自衡積分對(duì)象,加熱過程散熱較慢,具有較大的滯后。鍋爐溫度控制既要求快速升溫,又要避免超調(diào),所以控制難度大。
本文先整定出PID參數(shù)(即Kp=20、Ti=50 s、Td=10 s),再整定α參數(shù)。α=0.5時(shí),鍋爐溫度二自由度PID控制曲線如圖9所示。
圖9 鍋爐溫度二自由度PID控制曲線(α=0.5)
由于鍋爐溫度控制有積分環(huán)節(jié),即大慣性環(huán)節(jié),為了提高執(zhí)行器的能力,α取值應(yīng)偏大。
二自由度PID的參數(shù)整定應(yīng)先整定PID參數(shù),通過響應(yīng)曲線法、繼電反饋振蕩法和經(jīng)驗(yàn)試湊法等,整定出調(diào)節(jié)效果較好的PID參數(shù)。然后施加擾動(dòng),修正所得的PID參數(shù),使調(diào)節(jié)器的抗干擾性最佳。四種對(duì)象的參數(shù)設(shè)置規(guī)律為:水泵壓力對(duì)象Kp=0.67,管道流量對(duì)象Kp=0.11,水箱液位對(duì)象Kp=3.45,鍋爐溫度對(duì)象Kp=20。由此可知,大慣性對(duì)象的Kp參數(shù)要大,而小慣性對(duì)象的Kp參數(shù)要小。
然后,根據(jù)對(duì)象慣性大小進(jìn)行α參數(shù)整定,使設(shè)定值跟蹤特性最佳。四種對(duì)象的α參數(shù)設(shè)置規(guī)律為:管道壓力對(duì)象α=0.01,管道流量對(duì)象α=0.1,水箱液位對(duì)象α=0.35,鍋爐溫度對(duì)象α=0.5。由此可知,大慣性對(duì)象的α參數(shù)要大,而小慣性對(duì)象的α參數(shù)要小。
α參數(shù)一般不要超過0.5。若大于0.5,雖然有緩沖設(shè)定值的功能,但緩沖效果隨α的增大的變化并不明顯。當(dāng)α=1時(shí),無設(shè)定值緩沖效果。
二自由度PID相當(dāng)于兩個(gè)調(diào)節(jié)器的串聯(lián)。第一個(gè)調(diào)節(jié)器是設(shè)定值濾波器,實(shí)際是一個(gè)比例環(huán)節(jié)和慣性環(huán)節(jié)的迭加,相當(dāng)于對(duì)設(shè)定值作了一次PI調(diào)節(jié)。第二個(gè)調(diào)節(jié)器是對(duì)系統(tǒng)偏差作了一次微分先行PID調(diào)節(jié)。兩個(gè)調(diào)節(jié)器共用一個(gè)積分參數(shù)Ti。
設(shè)定值濾波器對(duì)設(shè)定值階躍幅值的衰減降低了設(shè)定值階躍擾動(dòng)對(duì)系統(tǒng)造成的沖擊,慣性環(huán)節(jié)的緩沖也減小了系統(tǒng)超調(diào)的可能性,比例和慣性環(huán)節(jié)的迭加使系統(tǒng)具有良好的跟隨性。微分先行是對(duì)測量值作微分,可以直接捕捉擾動(dòng)導(dǎo)致的被控變量的變化,從而更好地實(shí)現(xiàn)控制系統(tǒng)的干擾抑制性。二自由度PID能實(shí)現(xiàn)設(shè)定值跟隨和擾動(dòng)抑制的雙優(yōu)控制。但由于設(shè)定值濾波器中慣性環(huán)節(jié)的相位滯后作用,設(shè)定值跟隨性是以犧牲響應(yīng)速度為代價(jià)的。
在整定控制參數(shù)時(shí),被控對(duì)象慣性大,則Kp和α參數(shù)設(shè)置要大,使得設(shè)定值濾波器和PID運(yùn)算輸出增大。被控對(duì)象慣性小,則Kp和α參數(shù)設(shè)置要小,使得設(shè)定值濾波器和PID運(yùn)算輸出減小。