宿 剛,劉 浩,喬君豐,鄭 偉,李德輝,石景龍
(吉林大學(xué) 電子科學(xué)與工程學(xué)院,長春130012)
在工業(yè)生產(chǎn)和日常生活中,絕大多數(shù)溫度系統(tǒng)都具有一定的時滯,并具有非線性和時變特性。使用PID(Proportion Integration Differentiation)算法對溫度進(jìn)行控制是一種十分經(jīng)濟且實用的方法,雖然它是一種線性控制方法,但其具有出色的適應(yīng)性和魯棒性,且僅有3個可調(diào)參數(shù),實現(xiàn)簡單,是應(yīng)用最多也是應(yīng)用最廣泛的控制方法。雖然PID算法具有上述便于實現(xiàn),魯棒性強等優(yōu)點,但隨著人們對控制品質(zhì)的要求不斷提升,單純使用PID方法對溫度進(jìn)行控制已經(jīng)無法滿足某些控制場景。所以,近年來,學(xué)者們將PID作為基礎(chǔ)控制器,結(jié)合先進(jìn)的控制方法控制溫度系統(tǒng),取得了較好的效果。如模糊PID、神經(jīng)網(wǎng)絡(luò)PID、模型預(yù)測控制結(jié)合的PID等方法[1-4]。
模糊控制能有效地控制具有模型不確定性、非線性的系統(tǒng),近年來模糊PID在溫度控制領(lǐng)域應(yīng)用已經(jīng)越來越普遍,但模糊規(guī)則的獲取和參數(shù)優(yōu)化的問題普遍存于實際應(yīng)用中。其參數(shù)的調(diào)節(jié)和模糊表的制定要求使用者具有一定的控制經(jīng)驗,才能保證其控制品質(zhì)[5-7]。類似的,神經(jīng)網(wǎng)絡(luò)PID方法在對溫度系統(tǒng)的控制有著優(yōu)良的控制品質(zhì)[8-10],但其實現(xiàn)過程較為繁瑣,并且參數(shù)的選擇和模型的訓(xùn)練都需要很大的工作量[11-12]。還有一種結(jié)合模型預(yù)測控制的自適應(yīng)PID控制方法,例如文獻(xiàn)[13]通過先進(jìn)方法對特殊被控溫度系統(tǒng)進(jìn)行建模,再與PID方法結(jié)合,雖然表現(xiàn)出良好的控制品質(zhì),但在建立復(fù)雜模型的過程中通過MPC(Model Predictive Control)方法對系統(tǒng)進(jìn)行直接控制已經(jīng)可以獲得良好的控制效果,其與PID的結(jié)合就顯得沒有太大的必要。另外,還有一類方法將誤差反饋通過預(yù)測模型進(jìn)行校正,再輸入普通PID或單神經(jīng)元PID控制器中,仿真實驗證明這種方法是有效的。但這些文獻(xiàn)報道并沒有在實際應(yīng)用中驗證其可行性[14-15]。
筆者提出的模型預(yù)測自適應(yīng)PID方法也是通過一種簡單普遍的建模方法,預(yù)測系統(tǒng)未來輸出趨勢。不同于上述報道的使用模型將誤差進(jìn)行校正的方式,而是將模型預(yù)測所得的未來一段時間內(nèi)系統(tǒng)輸出與期望值的均方誤差作為性能指標(biāo),以一種間接的方式動態(tài)調(diào)節(jié)PID參數(shù);與上述已有方法相比,本方法充分發(fā)揮了其模型預(yù)測和PID算法各自的優(yōu)點,是一種操作簡單,控制精度高,魯棒性強,適應(yīng)性強的溫度控制方法。
雖然深入了解控制對象的特性是設(shè)計控制系統(tǒng)的前提條件,但在本文中,預(yù)測模型在與PID相結(jié)合時最主要的作用是實時預(yù)測未來系統(tǒng)輸出,反映其大致趨勢。所以建立模型時,以能滿足預(yù)測未來若干采樣點的系統(tǒng)輸出為目標(biāo),不要求精確建模。
在一些文獻(xiàn)報道中,研究者根據(jù)實際溫度系統(tǒng)建立溫度模型,最后模型呈現(xiàn)一階系統(tǒng)的形式,也有很多人使用一階模型模擬溫度系統(tǒng)進(jìn)行辨識或仿真[16-18]。所以,考慮到算法的適用性,筆者使用一階模型的形式,并在其基礎(chǔ)上進(jìn)行一定的改進(jìn)。
首先,一階系統(tǒng)的離散時域形式如下
其中y(n)為系統(tǒng)第n個采樣點的輸出,即溫度,A、B為比例系數(shù),x(n)為第n個采樣點的輸入。
對一般的溫度系統(tǒng),除了對其加熱和冷卻的模塊外,其熱傳導(dǎo)和熱對流所散失的熱量比重很小,熱輻射對失溫的影響也可以忽略不計。如果被加熱系統(tǒng)比熱容固定,且沒有時滯,則式(1)基本吻合實際情況。另外,考慮到系統(tǒng)的時滯性和持續(xù)干擾所帶來的模型不確定性,采用如下預(yù)測模型
其中y′(n)為模型預(yù)測得到的第n個采樣點系統(tǒng)輸出,τ為需要選定的值,其大小和系統(tǒng)時滯時間在同一數(shù)量級即可,系數(shù)A和Bi為系統(tǒng)運行時實時反饋校正的系數(shù)。該模型的形式類似于時間序列模型,這種模型在系統(tǒng)預(yù)測方面有一定的實用價值。近年來較多文獻(xiàn)報道將其應(yīng)用于其他的系統(tǒng)預(yù)測并達(dá)到了預(yù)期的效果[19-21]。
在系統(tǒng)使用過程中要應(yīng)用Delta學(xué)習(xí)規(guī)則對其進(jìn)行反饋校正,方式如下
其中ey(n)為預(yù)測系統(tǒng)輸出與實際系統(tǒng)輸出的偏差;ZA,ZBi,i=1,2,…,τ,為模型反饋校正的學(xué)習(xí)速率,是需要設(shè)定的參數(shù),根據(jù)所應(yīng)用的系統(tǒng)選擇合適的數(shù)量級即可。
上述模型,雖然在反應(yīng)系統(tǒng)本質(zhì)和預(yù)測精確度上無法與深入建模相比,但工作量較小,而且在實際應(yīng)用中,該模型所預(yù)測的臨近時刻若干個采樣點的系統(tǒng)輸出是很準(zhǔn)確的,滿足本方法需求。
整個控制器的結(jié)構(gòu)示意圖如圖1所示。
圖1 控制器結(jié)構(gòu)示意圖Fig.1 Schematic diagram of thecontrol system structure
筆者選擇基礎(chǔ)控制器為位置式PID,其公式如下
其中e(n)為第n個采樣點系統(tǒng)輸出誤差;eI(n)為第n個采樣點系統(tǒng)輸出誤差對時間的積分值;eD(n)為第n個采樣點系統(tǒng)輸出誤差的微分值;KP、KI、KD分別為上述3者對應(yīng)的系數(shù)。將式(6)帶入預(yù)測模型(2),即可基于歷史數(shù)據(jù)迭代預(yù)測未來一段時間內(nèi)各個采樣時刻的系統(tǒng)輸出。將設(shè)定值記為R,預(yù)測系統(tǒng)輸出與其偏差記為ef,則
其中K為比例系數(shù)。需要注意的是,在式(12)中,是對KP(n)取絕對值求和,而不是K1P(n),這相當(dāng)于對比例系數(shù)自適應(yīng)調(diào)節(jié),控制器的輸出就不會受限于K,從而獲得更快的響應(yīng)速度和抗干擾能力。而K的設(shè)定是對整體比例設(shè)定一個初值;學(xué)習(xí)速率ZP、ZI、ZD的選擇需要根據(jù)實際運行情況決定,使其控制器參數(shù)不劇烈變化即可。
綜上所述,預(yù)測模型需要調(diào)節(jié)本控制器參數(shù)共有4個,從而保留了PID的簡潔性,使其充分利用模型預(yù)測和PID各自的優(yōu)點,使控制品質(zhì)得到提升。
PLC(Programmable Logic Controller)是工業(yè)上最常用的控制器,筆者將提出的方法通過PLC實現(xiàn),對溫度系統(tǒng)進(jìn)行溫控。首先,PLC配備溫度采集模塊和開關(guān)量輸出模塊,模擬PWM(Pulse Width Modulation)輸出兩路控制信號,分別控制加熱器和制冷風(fēng)扇;由熱電偶采集溫度信息返回PLC;最后通過上位機監(jiān)控和采集數(shù)據(jù)。其結(jié)構(gòu)示意圖如圖2所示,圖3為實物圖。
圖2 實驗結(jié)構(gòu)示意圖Fig.2 Schematic diagram of the test system structure
圖3 實驗實物照片F(xiàn)ig.3 Photo of the test system
實驗所搭建被控對象為一個半封閉的箱體,其內(nèi)部固定了一個液體容器,可以很方便地通過改變?nèi)萜鲀?nèi)液體的體積改變系統(tǒng)的部分性質(zhì);加熱器滿功率將滿體積的水從室溫加熱至100℃的時間大約20 min左右,箱體嵌入帶有制冷片的風(fēng)扇,其熱電偶的響應(yīng)時間在20 s以內(nèi)。
將控制器的采樣頻率設(shè)為1 Hz,系統(tǒng)輸出x的范圍為±1 000。時間段長度l選為10,模型參數(shù)τ選為10。
預(yù)測模型初值A(chǔ)=1,Bi=0,i=1,2,…,10。參數(shù)ZA=10-4,ZBi=10-7,i=1,2,…,τ。
筆者使用普通PID與本方法(記為預(yù)測PID,下同)在相同條件下對溫度系統(tǒng)進(jìn)行控制,對比其控制效果。
首先使用試湊法整定PID參數(shù),KP=30,KI=1,KD=10,將此參數(shù)同樣作為本控制器的初值,另外3個初值也同樣設(shè)定為K1P(0)=30,K1I(0)=1,K1D(0)=10,控制器的4個參數(shù)分別選為K=30,ZP=1、ZI=10-3、ZD=0.1,兩種方法分別將被控系統(tǒng)由室溫控制至50℃、60℃、70℃,其控制曲線對比如圖4~圖6所示。
圖4 50℃曲線對比圖Fig.4 50℃curve comparison
圖5 60℃曲線對比圖Fig.5 60℃curve comparison
圖6 70℃曲線對比圖Fig.6 70℃curve comparison
兩控制器控制效果對比如表1所示。由于每次實驗時室內(nèi)溫度有一定波動,故表1中對初始溫度較低的數(shù)據(jù)組進(jìn)行了一定的修正:將表1中數(shù)值減去其升溫至對比組初始溫度的時間,再加上初始的系統(tǒng)時滯時間,上下浮動誤差約±5 s。
表1 控制效果對比Tab.1 Control effect comparison
由表1可知,在設(shè)定溫度分別為50℃、60℃和70℃時,相比于普通PID,采用本方法上升時間分別減少25.8%、37.7%和44.8%;在穩(wěn)態(tài)誤差取±2%時,調(diào)節(jié)時間分別減少31.4%、34.8%和25.4%,如果取更小的穩(wěn)態(tài)誤差,即對控制速度要求更高,其調(diào)節(jié)時間減少百分比將更大。另外,在設(shè)定溫度為50℃和60℃時,其最大動態(tài)偏差與普通PID相同,只有在設(shè)定溫度為70℃時,高于普通PID僅0.9℃。表1中穩(wěn)態(tài)誤差表示在時間延長至2 h以上后其實際值與設(shè)定值最大誤差,兩者在50℃、60℃時相同,在70℃時,預(yù)測PID表現(xiàn)更佳??梢钥闯?相比于普通PID方法,本方法有更加優(yōu)良的響應(yīng)速度和控制精度。
通過實驗結(jié)果可知,由于模型預(yù)測指導(dǎo)的PID參數(shù)自適應(yīng),PID控制器能快速根據(jù)系統(tǒng)狀態(tài)做出改變,使調(diào)節(jié)時間明顯縮減;另外由其控制曲線可以看出,對比于普通PID,在最大動態(tài)偏差沒有顯著增大的情況下,其收斂速度顯著加快,同時控制精度也得到較大提升,與筆者預(yù)期相符。
筆者提出的模型預(yù)測PID方法,根據(jù)普遍的溫度系統(tǒng)特性,使用了一種簡單建模方法,結(jié)合自適應(yīng)PID方法,具有良好的控制品質(zhì),其方法易于實現(xiàn),調(diào)節(jié)的參數(shù)少,操作簡單,在大多數(shù)的恒溫控制場景下都有一定應(yīng)用價值。同時,也為其他控制系統(tǒng)的方法探究提供了一種模型預(yù)測的普遍性的思路。