苗麗娟
(太原學(xué)院 山西省太原市 030000)
溫度是一個比較常見的物理量,在生產(chǎn)和生活中隨處可見。在工業(yè)生產(chǎn)的過程中,溫度與產(chǎn)品的質(zhì)量有著密切的關(guān)聯(lián),比如在塑料制品的生產(chǎn)過程中,對料筒的溫度有著比較高的要求,不同的塑料顆粒需要料筒提供不同溫度制成。在大部分應(yīng)用中,溫度的變化過程是非線性的,但是使用PID來控制溫度卻可以取得比較好的效果,本文分析了在這類系統(tǒng)中,PID是如何能夠適應(yīng)這種工況的。
在使用電加熱圈時,通常使用PWM波控制在每一個控制周期里加熱圈的通電時間,通過不同的占空比(占空比為μ),就可以輸出不用的加熱功率。加熱圈的阻值會隨著溫度的增加而增加,這樣在相同占空比下,加熱圈的輸出功率就會發(fā)生變化。假設(shè)加熱圈電阻隨著溫度的變化滿足下式:
式中,y為加熱圈的溫度,R(y)為溫度為y時加熱圈的電阻,R0為溫度為0時加熱圈的電阻,k為電阻阻值隨溫度線性變化時的比例系數(shù)。
當(dāng)某個物體的溫度高于所處的環(huán)境溫度時,溫度會逐漸下降,假設(shè)溫度下降的速度滿足牛頓冷卻定律:
式中,vy為物體溫度的下降速度,k1為溫度下降時比例系數(shù),T0為環(huán)境溫度。
加熱圈的加熱功率和占空比滿足下面的公式:
式中,U為電加熱圈通電時的電壓。
被加熱物體的溫度變化率就等于加熱功率減去散熱功率。
在溫度控制系統(tǒng)中,系統(tǒng)都會有滯后,這里假設(shè)系統(tǒng)的滯后很小,可以忽略(在實(shí)際的控制系統(tǒng)中,可以將較小的滯后等效為一個慣性時間常數(shù)比較小的慣性環(huán)節(jié))。
在生產(chǎn)過程中,有的工藝要求溫度隨著一個設(shè)定曲線隨時間變化,有的要求溫度保持在一個設(shè)定值。在溫度控制系統(tǒng)中,當(dāng)控制加熱圈的占空比為一個固定值u0時,被加熱物體的溫度最終會穩(wěn)定在一個值y0。這個穩(wěn)態(tài)的點(diǎn)(u0,y0)便是一個工作點(diǎn),在非線性系統(tǒng)中,只有u在u0附近做小范圍變化,同時y在y0附近做小范圍變化時,ud=u-u0和yd=y-y0才近似滿足線性關(guān)系。
假設(shè)溫度變化過程的非線性動態(tài)模型為:
通過泰勒級數(shù)展開并截?cái)嘁浑A以上的項(xiàng),可獲得該方程的線性近似。
令yd=y-y0, ud=u-u0,可以得到:
針對公式(4),使用公式(5),(6),(7)得到:
對公式(8)取Laplace變換,得到:
式中s為Laplace算子,ys是y的Laplace變換后的值,us是u的Laplace變換后的值。
從公式(9)中可以看出,在工作點(diǎn)附近,yd和ud的關(guān)系近似一階慣性環(huán)節(jié)。但是在不同的工作點(diǎn),這個一階慣性環(huán)節(jié)的系數(shù)是不同的。
根據(jù)公式(4),使用Simulink搭建仿真模型。在模型中,R0取值為1,T0為20,k1取值為1,k取值為10,U取值為220,積分環(huán)節(jié)輸出為20。并將下面的模塊分裝為子系統(tǒng)。被控對象模型如圖1所示。
圖1:被控對象模型
在0s的時候,系統(tǒng)的輸入為0,系統(tǒng)的輸出為20。在第1s的時候,系統(tǒng)輸入由0變?yōu)?.5。在5s左右的時候,系統(tǒng)輸出趨于穩(wěn)定,輸出值為46.2。在第7s的時候系統(tǒng)的輸入由0.5變?yōu)?.0。系統(tǒng)輸出跟著輸入發(fā)生變化,在第10s的時候趨于穩(wěn)定,系統(tǒng)的輸出為80.2。不滿足疊加原理,可見系統(tǒng)是非線性的。在階躍信號下系統(tǒng)響應(yīng)曲線如圖2所示。
圖2:在階躍信號下系統(tǒng)響應(yīng)曲線
PID控制是一種比較常見的控制方式。PID控制在比例的基礎(chǔ)上引入積分,可以消除誤差,再加入微分環(huán)節(jié),又能提高系統(tǒng)的穩(wěn)定性[1]。PID控制器本身是一個線性的控制器[2]。
式中,e(k)代表在時刻k,設(shè)定值ys與時刻k反饋值y(k)的差,u(k)代表時刻k,PID控制器的輸出,kp為比例系數(shù),ki為積分系數(shù),kd為微分系數(shù)。
PID控制結(jié)構(gòu)圖見圖3。
圖3:PID控制結(jié)構(gòu)圖
因?yàn)橄到y(tǒng)是非線性的,PID是線性的,按照前述分析,PID控制器的使用應(yīng)該使用工作點(diǎn)附近的相對值(ud, yd),而不應(yīng)該使用絕對值。但是在實(shí)際使用的過程中,并未做這種處理,而是直接使用絕對值,PID仍然可以正常的工作。下面為PID控制器控制非線性系統(tǒng)的分析過程。
如果嚴(yán)格按照在工作點(diǎn)附近線性化的約束。首先應(yīng)該將系統(tǒng)的設(shè)定值,反饋值都轉(zhuǎn)換為相對于工作點(diǎn)y0的相對值,即設(shè)定值轉(zhuǎn)換為ysd=ys-y0,反饋值轉(zhuǎn)為yd=y-y0。使用ed(k)=ysd(k)-yd(k)作為PID控制器的輸入?yún)⑴c運(yùn)算。在PID完成計(jì)算后,輸出控制量應(yīng)該為PID控制器計(jì)算出的ud(k)加上u0以后的值。
通過計(jì)算可以看出,PID控制器的輸入由于是使用設(shè)定值和反饋值的差值。使用絕對值的差值和轉(zhuǎn)為相對工作點(diǎn)的相對值的差值是沒有區(qū)別的,但輸出值應(yīng)加上u0,應(yīng)為下式。
在實(shí)際使用PID時,并未做這樣的處理,而是把PID計(jì)算的值直接加到被控對象上面,這是因?yàn)镻ID控制器中有積分環(huán)節(jié),這個常量被隱藏在了積分環(huán)節(jié)之中,PID控制器的積分環(huán)節(jié),將系統(tǒng)過去的每個控制周期的誤差都保留在里面,這樣一個偏置值的存在使得在使用PID的時候,不需要關(guān)注工作點(diǎn),這也是PID的一個優(yōu)勢。在設(shè)定值等于y0時,當(dāng)e(k)逐漸趨近0的時候,積分環(huán)節(jié)的值會逐漸趨近于u0。當(dāng)設(shè)定值發(fā)生變化時,積分環(huán)節(jié)的存在,使得PID控制器能夠找到新的工作點(diǎn)的u0,然后會使得控制器再次工作在局部線性化的線性范圍里。正是由于PID使用的設(shè)定值和反饋值的差值和引入了積分環(huán)節(jié),使得PID具有適應(yīng)非線性系統(tǒng)的能力。
在實(shí)際的控制系統(tǒng)中,被控對象的模型幾乎很難使用解析的方法計(jì)算出來,在實(shí)際應(yīng)用中,比較多的是通過測量響應(yīng)曲線上幾個點(diǎn)的值來擬合一個已知的模型或者使用模型辨識的方法,如通過給被控對象施加激勵(M序列,高斯白噪聲等,見圖4),記錄被控對象的輸出,采集最小二乘法估計(jì)被控對象的參數(shù)模型。
圖4:幾種用于模型辨識的激勵信號
在本文中由于是使用數(shù)學(xué)建模的方法獲得的模型,可以直接計(jì)算出系統(tǒng)的模型。
在matlab中使用Simulink搭建公式(10)描述的位置式PID控制器[3]。在u0=0.5, y0=46.2處可以使用公式(9)計(jì)算出這個工作點(diǎn)模型為使用臨界比例度法計(jì)算出kp和ki,kp設(shè)置為0.1,ki設(shè)置為0.01,kd設(shè)置為0,不使用微分環(huán)節(jié),控制器的采樣時間設(shè)置為0.05s,由于控制量u為占空比,變化范圍為[0,1],所以PID控制器的輸出采用限幅環(huán)節(jié),將PID控制器的輸出限制在[0,1]的范圍內(nèi)。
使用圖5中的控制器控制圖1中的被控對象。在0s的時候,系統(tǒng)的設(shè)定值為20,系統(tǒng)的輸出也是20。在第1s的時候,系統(tǒng)的設(shè)定值變?yōu)?0。在第5s的時候,系統(tǒng)的設(shè)定值變?yōu)?0。在兩次設(shè)定值變化以后,在PID控制器的作用下,系統(tǒng)的輸出達(dá)到了設(shè)定值。
圖5:PID控制器
在系統(tǒng)的輸出值由20變化到40的過程中,比例環(huán)節(jié)的輸出,隨著設(shè)定值和系統(tǒng)輸出的誤差減小而減小,在系統(tǒng)輸出達(dá)到設(shè)定值的時候,比例環(huán)節(jié)的輸出變?yōu)?,積分環(huán)節(jié)則緩慢增加,在最后系統(tǒng)輸出達(dá)到設(shè)定值的時候,PID控制器的輸出就等于積分環(huán)節(jié)的輸出,沒有出現(xiàn)超調(diào),積分環(huán)節(jié)的輸出一直在[0,1]的范圍內(nèi)。
在系統(tǒng)的輸出值由40變化到70的過程中,比例環(huán)節(jié)的輸出,隨著設(shè)定值和系統(tǒng)輸出的誤差減小而減小,由于系統(tǒng)有超調(diào),在系統(tǒng)輸出大于設(shè)定值的時候,比例環(huán)節(jié)的計(jì)算結(jié)果變成了負(fù)數(shù),在系統(tǒng)輸出達(dá)到設(shè)定值的時候,比例環(huán)節(jié)的輸出變?yōu)榱?。積分環(huán)節(jié)在剛開始的時候增加,由于設(shè)定值變化范圍比較大,誤差積分的時間比較長,在系統(tǒng)輸出第一次到達(dá)設(shè)定值70的時候,積分環(huán)節(jié)的輸出值已經(jīng)超過被控對象輸出在70所需要的值,積分環(huán)節(jié)的運(yùn)算特性使得只有系統(tǒng)的輸出值大于設(shè)定值,才能減小積分環(huán)節(jié)的輸出值,最終的結(jié)果是導(dǎo)致超調(diào)的出現(xiàn)。超調(diào)出現(xiàn)以后,積分環(huán)節(jié)的輸出慢慢減小,在最后系統(tǒng)輸出達(dá)到設(shè)定值的時候,PID控制器的輸出就等于積分環(huán)節(jié)的輸出,積分環(huán)節(jié)的輸出超出[0,1]的范圍。具體圖形見圖6。
圖6:PID控制下的系統(tǒng)響應(yīng)
在實(shí)際的控制系統(tǒng)中,由于控制器的輸出往往是有限的,在設(shè)定值出現(xiàn)較大范圍的變化時,積分環(huán)節(jié)會因?yàn)檎{(diào)節(jié)時間過長而產(chǎn)生積分飽和現(xiàn)象,這是使用帶有積分環(huán)節(jié)的控制器的一個很大的弊端。為了解決這個問題,在工程中可以使用積分分離的控制器,在設(shè)定值變化范圍較大的時候,在系統(tǒng)輸出值與系統(tǒng)的設(shè)定值差值比較大的時候,削減積分環(huán)節(jié)的系數(shù)或者直接將積分環(huán)節(jié)的輸入設(shè)置為0。
針對這個被控對象使用圖7的PID控制器,在設(shè)定值與系統(tǒng)輸出的誤差大于10的時候,積分環(huán)節(jié)的輸入為0。
圖7:積分分離PID控制器
圖8是使用積分分離的PID控制下的系統(tǒng)的響應(yīng),在系統(tǒng)的輸出值由40變化到70的過程中,積分環(huán)節(jié)的輸出一直保持在[0,1]的范圍,沒有出現(xiàn)超調(diào),但是因?yàn)榉e分環(huán)節(jié)的削弱,導(dǎo)致系統(tǒng)的輸出需要較長的時間才能達(dá)到設(shè)定值。
圖8:積分分離PID控制下的系統(tǒng)響應(yīng)
本文使用一個仿真模型說明了PID控制器是如何通過線性的運(yùn)算來控制非線性系統(tǒng)的,由于PID的特性,人們經(jīng)常會忽略PID控制器是一個線性的控制器,在工作點(diǎn)做模型估計(jì)和控制的時候會使用測量的絕對值而不是基于工作點(diǎn)的相對值做運(yùn)算,這樣得到的模型離實(shí)際的模型會有較大誤差。在進(jìn)行PID參數(shù)整定的時候,需要使用工作點(diǎn)附近的相對值做運(yùn)算,在得到PID的參數(shù)以后,如果控制系統(tǒng)的設(shè)定值有較大的變化,導(dǎo)致PID控制器殘生積分飽和的時候,需要采取一定的措施來避免積分飽和的產(chǎn)生,在文獻(xiàn)[4]中比較詳細(xì)的介紹了PID控制的各種改進(jìn),也詳細(xì)介紹了PID使用過程中各種問題是如何產(chǎn)生和如何去解決的。有的系統(tǒng)無法通過數(shù)學(xué)建模的方法來獲取控制系統(tǒng)的參數(shù)模型,這就需要使用模型辨識的方法,在文獻(xiàn)[5]中有關(guān)于模型辨識的詳細(xì)描述。使用在線實(shí)時整定PID參數(shù)的方法可以使PID取得的更好的控制效果,文獻(xiàn)[6]實(shí)時整定PID控制參數(shù)用于無人機(jī)的控制。