胡傳志,沈建華, 彭曉晶
(1.南通大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南通 226019;2.華東師范大學(xué) 計算機科學(xué)與軟件工程學(xué)院,上海 200062; 3.恩智浦半導(dǎo)體上海有限公司,上海 201203)
·實驗技術(shù)·
簡單有效的PID溫控算法
胡傳志1,沈建華2, 彭曉晶3
(1.南通大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南通 226019;2.華東師范大學(xué) 計算機科學(xué)與軟件工程學(xué)院,上海 200062; 3.恩智浦半導(dǎo)體上海有限公司,上海 201203)
因為溫度控制具有大時滯、大慣性的特點,以至于常規(guī)PID不能對其有效控制,所以一般需要采用具有參數(shù)自整定功能的自適應(yīng)PID。不過,自適應(yīng)PID的算法相對復(fù)雜,提高了使用與維護的難度,也增加了控制器成本。為此,設(shè)計并實現(xiàn)了一個簡單有效的PID溫控算法,該算法在常規(guī)PID算法的基礎(chǔ)上做了兩點改變,一是采用隨溫度變化趨勢而變化的制動因子削弱大時滯的影響;二是采用隨溫度停滯時間而變化的積分速度因子調(diào)節(jié)積分速度,避免超調(diào)。該算法在一種旋轉(zhuǎn)滴界面張力儀的溫控系統(tǒng)中取得了不錯的效果,為溫控問題提供了簡單有效的解決思路。
溫度控制; 自適應(yīng)PID; 制動因子; 積分速度因子; 旋轉(zhuǎn)滴界面張力儀
溫度控制是自動控制領(lǐng)域中一個重要話題,PID控制器因為結(jié)構(gòu)簡單、技術(shù)成熟、魯棒性強等優(yōu)點,而被廣泛應(yīng)用于控制系統(tǒng)中,據(jù)統(tǒng)計,PID控制器在實際控制系統(tǒng)中所占的比例超過90%[1]。但是常規(guī)PID難以應(yīng)付溫度控制過程中大時滯、大慣性的特點,業(yè)界一般采用模糊理論或神經(jīng)網(wǎng)絡(luò)對PID參數(shù)進行在線修正,形成自適應(yīng)PID控制器來控制溫度[2-10]。另外,西門子PLC中的PID溫控程序采用了Astrom和Hagglund提出的繼電型PID自整定方法[11]。當(dāng)然,除了在線修正PID參數(shù)外,還可以使用模糊理論直接修正加熱控制量[12]。
自適應(yīng)PID或者涉及深奧的智能理論,或者涉及復(fù)雜的自整定方法,不僅提高了使用與維護上的難度,也增加了控制器的成本,這在硬件資源相對緊張的嵌入式系統(tǒng)領(lǐng)域,顯得尤為不便。本文設(shè)計了一個簡單有效的PID溫控算法,該算法在一種旋轉(zhuǎn)滴界面張力儀的溫度控制系統(tǒng)中取得了不錯的效果。
當(dāng)以一定加熱速度進行加熱的同時也伴隨著熱流失,如果加熱速度大于熱流失速度,那么溫度將升高,不過隨著溫度升高,熱流失速度將加大[13],當(dāng)熱流失速度等于加熱速度時,溫度將保持不變。
圖1所示的加熱過程的開環(huán)階躍響應(yīng)貌似是一個穩(wěn)態(tài)的過程,但是要經(jīng)過很長時間之后才呈現(xiàn)穩(wěn)態(tài),超過了控制時效,在可接受的控制時效范圍內(nèi)看,該過程是發(fā)散的,是一個積分過程[14]。既然是一個積分過程,為了減小調(diào)節(jié)時間,應(yīng)該在距離設(shè)定溫度較遠(yuǎn)時采用快速加熱,靠近設(shè)定溫度時減小加熱速度,直至到達設(shè)定溫度時采用和該溫度下的熱流失速度相等的加熱速度來維持設(shè)定溫度。

圖1 加熱過程的開環(huán)階躍響應(yīng)
如果采用PID進行加熱控制,加熱速度由下式輸出決定:

Kd(e(k)-e(k-1))
(1)
PID的輸出是比例、積分和微分3個分量的線性組合,在加熱過程中不管各分量如何變化并起作用,最終到達穩(wěn)態(tài)時,因為偏差保持為0,所以只有積分分量在起作用,其他兩個分量都是零輸出。如此看來,完美的控制效果就是,開始時比例為主,積分為次,微分適時制動,隨著距離設(shè)定溫度越來越近,比例分量逐漸減弱,積分分量逐漸累加,當(dāng)?shù)竭_設(shè)定溫度時,比例分量為0,積分分量正好等于所需控制量,這個控制量所產(chǎn)生的加熱速度正好等于設(shè)定溫度下的熱流失速度,從而溫度保持不變,有平衡關(guān)系式:

(2)
式中:I(k)為積分值;q(T)為熱流失,是溫度的函數(shù)。
但是,因為溫度控制具大時滯、大慣性的特點,常規(guī)PID控制器沒有根據(jù)現(xiàn)場情況隨時調(diào)整增益參數(shù)的能力,導(dǎo)致無法對其實現(xiàn)有效控制,經(jīng)常會出現(xiàn)以下情況:
(1) 積分不足。在到達設(shè)定溫度時,積分分量遠(yuǎn)沒有累加到平衡關(guān)系公式所要求的量。較大的比例分量的滯后作用使溫度到達設(shè)定值,并非通過積分的微調(diào)作用。
(2) 積分過量。過快的積分速度使得到達設(shè)定溫度時,積分分量大大超過平衡關(guān)系公式所要求的量。
自適應(yīng)PID控制器通過對PID的參數(shù)進行在線修正,以避免上述情況。本文避開復(fù)雜的參數(shù)自整定方法,旨在設(shè)計一種簡單的PID算法,針對上述兩種情況對常規(guī)PID做以下兩點調(diào)整:① 用制動因子替代微分分量,根據(jù)現(xiàn)場情況提供適時適當(dāng)?shù)闹苿樱种票壤至康妮敵觯M量使得在積分分量接管加熱任務(wù)時比例分量的作用已經(jīng)不再是主要力量,避免因為比例分量的時滯作用引起的積分不足現(xiàn)象;② 用兩個積分速度因子根據(jù)現(xiàn)場情況隨時調(diào)節(jié)積分速度,避免積分過量現(xiàn)象。
2.1標(biāo)識現(xiàn)場情況的元素
將現(xiàn)場情況歸結(jié)為偏差、升溫態(tài)、降溫態(tài)和停滯態(tài)這4種元素:① 偏差:e(k);② 升溫態(tài):e(k)lt;e(k-1);③ 降溫態(tài):e(k)gt;e(k-1);④ 停滯態(tài):e(k)=e(k-1)。
設(shè)計一個計數(shù)器n,如果當(dāng)前PID控制周期處于停滯態(tài),就將計數(shù)器n加1,以記錄該溫度的停滯時間。如果當(dāng)前PID控制周期處于升溫態(tài)或降溫態(tài),將計數(shù)器n初始化為1。
2.2制動因子
微分分量僅是根據(jù)泰勒級數(shù)的前兩項來評估變化趨勢,由此做出的制動,過于粗糙。于是采用制動因子代替微分分量,將PI控制器的計算結(jié)果乘以制動因子,用以對不同現(xiàn)場情況做出適當(dāng)制動。將制動因子設(shè)為b,根據(jù)不同階段、不同狀態(tài)進行取值:
(1) 當(dāng)e(k)lt;0時,此時已經(jīng)超調(diào),如果升溫或降溫時,取b=0,使控制量為0,采用最大制動;如果處于停滯態(tài),取b=1,不制動。
(2) 當(dāng)0≤e(k)≤L時,其中L是一個很小的常數(shù),說明此時已經(jīng)很靠近設(shè)定值,積分分量已經(jīng)取代了比例分量的主導(dǎo)地位。為了控制的穩(wěn)定性,需要取消制動,取b=1。
(3) 當(dāng)Llt;e(k)時,此時尚未靠近設(shè)定值,如果處于停滯態(tài),取b=1,不制動;如果處于降溫態(tài),取b為一個大于1的值,放大控制量,抑制降溫;如果處于升溫態(tài),取b為上一輪溫度停滯時間n的函數(shù),停滯時間越小,制動越大,即b取較小的值,反之停滯時間越長,制動越小,即b取較大的值。可設(shè)為:

(3)
改變α可以調(diào)節(jié)制動強度,α越大,制動因子越小,說明制動越強,反而反之。
綜合以上3種情況,不同階段、不同狀態(tài)下制動因子的取值情況參見表1。

表1 制動因子取值表
2.3積分速度因子
該算法結(jié)合使用傳統(tǒng)的根據(jù)偏差值的變速積分方法和根據(jù)溫度停滯時間的變速積分方法,將偏差乘以兩個速度因子后再積分。
2.3.1根據(jù)偏差值的變速積分方法
偏差越大,積分速度越慢,反之則越快。積分速度因子與偏差的關(guān)系可設(shè)為[15]:
v1(e(k))=
(4)
Agt;0,Bgt;0
2.3.2根據(jù)溫度停滯時間的變速積分方法
因為溫度的變化很慢,通常在某個溫度點,都要維持幾個甚至幾十個控制周期,這時若只考慮偏差大小而不考慮停滯時間,就不夠精確了。為此,又設(shè)計了另一個積分速度因子,根據(jù)溫度停滯時間決定速度快慢,開始時速度很慢,如果長時間仍然停留在該溫度,就需要適當(dāng)加快積分速度。和制動因子類似,可以設(shè)為:

(5)
v2值在區(qū)間(0,1)內(nèi)變化。v2隨著n增大而逐漸增大。該方法看似合理,但是當(dāng)n遠(yuǎn)大于β后,一直以接近1的速度進行積分,速度太快。如果把β取得太大,又遲遲不能消除靜差。于是考慮將速度因子設(shè)為n的周期函數(shù),周期為2β,可以設(shè)為:
(6)
v2值在區(qū)間[0,C]內(nèi)周期變化,周期為2β。v2的平均值為:
(7)
由上式可見,v2的平均值由C值決定,C值越大,積分速度越快,反之越慢。β值決定了速度變化的平滑度,β越大,越平滑。
2.4根據(jù)設(shè)定值修改PID參數(shù)
根據(jù)平衡關(guān)系式,當(dāng)設(shè)定溫度較大時,需要較大的穩(wěn)態(tài)下的控制量輸出抵消較大的熱流失,此時使用較大的積分系數(shù)可以降低對積分值的需求量,等于降低了調(diào)節(jié)時間。另外當(dāng)設(shè)定溫度較大時,使用較大的比例系數(shù)可以加大比例分量的作用,從而加快響應(yīng)速度,減少調(diào)節(jié)時間。可將這個兩個系數(shù)取為設(shè)定溫度SP的一次函數(shù):
Kp(SP)=k1·SP+b1
(8)
Ki(SP)=k2·SP+b2
(9)
2.5PID算法描述
根據(jù)以上所述,調(diào)整后的PID計算公式為:
u(k)=b(n)(Kp(SP)e(k)+Ki(SP)
(10)
算法流程如圖2所示。當(dāng)偏差較大時,不采用PID,如果小于設(shè)定值就全速加熱,如果高于設(shè)定值就不加熱;以此加快響應(yīng)速度。

圖2 算法流程圖
2.6基于平衡關(guān)系式的參數(shù)整定方法
該算法抓住平衡關(guān)系式所表達的穩(wěn)態(tài)時PID控制器的積分分量所產(chǎn)生的加熱速度正好等于熱流失這個要點,調(diào)試時通過比較第一次到達設(shè)定值時的積分值和穩(wěn)態(tài)時的積分值的大小關(guān)系,容易知道制動因子和積分速度因子的參數(shù)設(shè)置是否合理,從而調(diào)節(jié)相應(yīng)參數(shù),使第一次到達設(shè)定值時的積分值盡量靠近穩(wěn)態(tài)時的積分值。如果是積分不足,說明制動比較弱,是比例分量的滯后作用將溫度加熱到了設(shè)定值,而非積分分量的微調(diào)作用,通過加大制動因子中的參數(shù)α來增強制動作用;如果是積分過量,說明積分速度過快了,通過減小速度因子中的參數(shù)C來調(diào)低積分速度。
3.1實驗平臺
這種旋轉(zhuǎn)滴界面張力儀的溫控系統(tǒng)結(jié)構(gòu)框圖如圖3所示,PID控制器輸出的PWM信號的脈寬決定了一個周期內(nèi)固態(tài)繼電器SSR的導(dǎo)通時間,從而控制電熱絲的加熱功率。實驗中將PWM信號的周期取為1 s,脈寬取值范圍是0到1 000,如果忽略固態(tài)繼電器的導(dǎo)通與截至?xí)r間,這樣的設(shè)計便可以產(chǎn)生0、1、2、……、1 000等1 001種不同的加熱功率。反饋部分采用熱敏電阻感知溫度,電阻兩端的電壓值隨溫度而變化,經(jīng)過低通濾波、模數(shù)轉(zhuǎn)換以及溫度轉(zhuǎn)換函數(shù)得到當(dāng)前溫度值,形成閉環(huán)控制。該系統(tǒng)的性能指標(biāo)為:溫控范圍在[室溫,90.0℃],調(diào)節(jié)時間≤40 min,穩(wěn)態(tài)誤差≤0.2 ℃,超調(diào)量≤1.0 ℃。

圖3 溫控系統(tǒng)結(jié)構(gòu)圖
3.2實驗及分析
工程應(yīng)用中,為了便于存儲和計算,將浮點型溫度值乘10后取整。實驗中的各參數(shù)設(shè)置如下:
(1) PID參數(shù),k1=10-2,b1=6,k2=10-4,b2=0.02。
(2) 制動因子參數(shù),α=6.0。
(3) 積分速度因子參數(shù),A=65,B=5,C=0.8,β=20。
將溫度從16.0 ℃依次加熱到37.5 ℃、50.6 ℃和68.8 ℃,以及從16 ℃加熱到81.8 ℃,4個加熱過程的指標(biāo)數(shù)據(jù)見表2,完全滿足系統(tǒng)的性能指標(biāo)要求。
因為到達設(shè)定值時候的積分值和穩(wěn)態(tài)時候的積分值很相近,所以有較好的性能指標(biāo),這說明制動因子和積分速度因子的參數(shù)設(shè)置是合理的。如果將制動因子的參數(shù)α改為1.0,減小制動效果的話,將會出現(xiàn)積分不足的情況;如果將積分速度因子的參數(shù)C改為1.0,加快積分速度的話,將出現(xiàn)積分過量的情況。使用這兩種改動后的參數(shù),將溫度從16.0 ℃加熱到37.5 ℃,前者可以到達穩(wěn)態(tài),只是調(diào)節(jié)時間太長;后者不僅超調(diào),而且會震蕩,兩個加熱過程的指標(biāo)數(shù)據(jù)見表3。

表2 正常加熱過程的指標(biāo)數(shù)據(jù)表

表3 積分不足和積分過量的加熱過程指標(biāo)數(shù)據(jù)表
以上實驗說明,基于平衡關(guān)系公式所闡述的原理,通過比較到達時的積分值和穩(wěn)態(tài)時的積分值的大小,很容易判斷制動因子和積分速度因子的參數(shù)設(shè)置是否恰當(dāng),這為參數(shù)整定提供了簡單的方法。當(dāng)然,過大的比例系數(shù)和積分系數(shù)也會導(dǎo)致積分不足的情況,這里不再贅述。
為了進一步說明本方法的有效性,圖4給出了使用該簡單PID算法和使用西門子自適應(yīng)PID溫控程序?qū)囟葟?6.0 ℃加熱到37.5 ℃的階躍響應(yīng)曲線的比較。相比之下,雖然該方法的調(diào)節(jié)時間稍慢了些,但是相比于擁有1 400行的西門子溫控程序,該算法僅有73行代碼,僅用到了正弦函數(shù),從而極大減少了控制器的存儲和計算成本。

圖4 兩種算法的階躍響應(yīng)比較
本文成功設(shè)計并實現(xiàn)了一個簡單有效的PID溫控算法,并給出了簡單的基于平衡關(guān)系公式的參數(shù)整定方法。該算法應(yīng)用于一種旋轉(zhuǎn)滴界面張力儀的溫控系統(tǒng)中,取得了和西門子自適應(yīng)PID溫控程序相近的效果,相對于這些基于模型、規(guī)則或智能理論等進行參數(shù)自整定的PID算法,該算法不僅降低了使用和維護的難度,還節(jié)約了控制器資源,這一點對于資源相對緊張的嵌入式控制系統(tǒng)來說具有一定的實用意義,也符合智能控制設(shè)計中的基本策略——“簡單性”[16]。
[1] KNOSPE C.PID control[J].IEEE Control System Magazine,2006,26(1):30-31.
[2] 李敏遠(yuǎn),都延麗,姜海鵬.智能自整定PID在藥劑溫度控制系統(tǒng)中的應(yīng)用[J].控制理論與應(yīng)用,2003,20(5):805-810.
[3] 譚寶成,成法坤.自適應(yīng)模糊PID在中頻彎管機溫度控制中的應(yīng)用[J].西安工業(yè)大學(xué)學(xué)報,2010,30(2):191-195.
[4] 任朝暉,王永富,聞邦椿.閃蒸干燥機溫度的自適應(yīng)模糊PID控制[J].控制工程,2006,13(1):22-24.
[5] 程 越,程文明,鄭 嚴(yán).基于自適應(yīng)模糊PID的中藥提取溫度控制[J].控制工程,2009,16(5):527-530.
[6] 黃邵川.基于模糊PID大型電力機組溫度過熱控制[J].控制工程,2014,21(6):1006-1010.
[7] 余 堯,王先全,朱桂林,等.基于BP 神經(jīng)網(wǎng)絡(luò)自整定的PID 溫度控制系統(tǒng)的設(shè)計[J].電子器件,2015,38(6):1360-1363.
[8] 姜文佳,姜永健,姜廣田,等.模糊PID控制算法改進及在溫控系統(tǒng)中的應(yīng)用[J].控制工程,2006,13(4):338-340.
[9] 趙紅艷.基于參數(shù)自整定模糊PID的飛機液壓能源油溫控制[J].計算機測量與控制,2014,22(5):1404-406.
[10] 徐曉冬,徐曉輝,任安業(yè).基于參數(shù)自整定模糊PID控制的大型液壓源溫控系統(tǒng)設(shè)計[J].上海航天,2010(5):60-64.
[11] 曾喜娟,莊其仁,吳志華.基于S7-200 PLC的PID參數(shù)自整定方法[J].組合機床與自動化加工技術(shù),2010(1):47-50.
[12] 王 偉,吳 敏,曹衛(wèi)華,等.基于組合灰色預(yù)測模型的焦?fàn)t火道溫度模糊專家控制[J].控制與決策,2010,25(2):185-190.
[13] Franklin G F, Powell J D, Abbas Emami-Naeini.自動控制原理與設(shè)計[M].6版,北京:電子工業(yè)出版社,2014.
[14] Astrom K J, Hagglund T.PID controllers:Theory,desing and turnig[M].2 ed.North Carolina: Instrument Society of America,1995.
[15] 劉金琨,先進PID控制Matlab仿真[M].3版.北京:電子工業(yè)出版社,2011.
[16] 胡包鋼,應(yīng) 浩.模糊PID控制技術(shù)研究發(fā)展回顧及其面臨的若干重要問題[J].自動化學(xué)報,2001,27(4):567-584.
ASimpleandEffectivePIDControllerforTemperatureAdjustment
HUChuanzhi1,SHENJianhua2,PENGXiaojing3
(1.School of Computer Science and Technology, Nantong University, Nantong 226019, Jiangsu, China;2.School of Computer Science and Software Engineering, East China Normal University, Shanghai 200062, China;3.NXP Semiconductors Shanghai Co., Ltd., Shanghai 201203, China)
Usually, adaptive PID is used to supersede conventional PID in temperature control system because of large time-delay and large inertia.However, adaptive PID with complex self-turning function brings the difficulty for user and increases the cost of microcontroller.For this reason, this paper presents a simple and effective PID controller.The controller utilizes the braking factor that complies with the temperature trend to weaken the impact of the time-delay, utilizes the integrated velocity factor that complies with the delay time to avoid overshooting.It was proved that the PID controller achieved good effect in the temperature control system of a spinning drop tensiometer.The PID controller provides a simple and effective solution to control temperature.
temperature control; adaptive PID; braking factor; integrated velocity factor; spinning drop tensiometer

TP 273.5
A
1006-7167(2017)10-0004-04
2016-12-29
國家自然科學(xué)基金項目(41301514)
胡傳志(1977-),男,江蘇徐州人,碩士,高級實驗師,研究方向為嵌入式系統(tǒng)和自動控制。Tel.:13515209092; E-mail:hubanxian@ntu.edu.cn