郭天天,沈 青,周明安
(國防科技大學(xué)指揮軍官基礎(chǔ)教育學(xué)院,長沙 410072)
在溫度控制領(lǐng)域PID控制是應(yīng)用最廣泛的控制方法,它結(jié)構(gòu)簡單、易于實(shí)現(xiàn)。PID參數(shù)對控制效果起著至關(guān)重要的作用,為了取得好的效果,當(dāng)受控對象特征發(fā)生變化時,需要對參數(shù)作相應(yīng)的調(diào)整,但傳統(tǒng)PID方法對此無能為力。為此,在有些溫度控制中采用了模糊控制技術(shù)(Fuzzy control),使控制過程可以隨受控對象的變化而變化,并取得了較好的控制效果,但當(dāng)精度要求較高時,模糊算法難以滿足。所以,有人提出采用模糊控制和PID控制相結(jié)合的方法來進(jìn)行溫度控制[1-4],這些方法在各自的應(yīng)用中都取得了較好的效果,但有的算法較為復(fù)雜,不適合在單片機(jī)上實(shí)現(xiàn);有的控制精度不高;有的需要采用精密器件,成本較高。
本文針對采用電阻絲加熱的溫控系統(tǒng),融合PID控制和模糊控制的優(yōu)點(diǎn),設(shè)計實(shí)現(xiàn)了一個高精度自適應(yīng)溫控算法。
某恒溫化學(xué)檢測儀器的研制需要設(shè)計并實(shí)現(xiàn)一個溫控系統(tǒng),要求恒溫37℃,誤差允許范圍范圍為±0.1℃,其硬件結(jié)構(gòu)如圖1所示。
圖1 儀器溫控硬件結(jié)構(gòu)框圖
受控對象為鋁制試管架,共有3種尺寸,加熱部件為電阻絲繞制而成的加熱片,也有3種規(guī)格,用螺絲固定在試管架的底部。控制部件為AT89S52單片機(jī),它采集溫度傳感器DS18B20的輸出,輸出PWM信號,通過可控硅控制加熱片的通斷,以達(dá)到溫控的目的。
該溫控系統(tǒng)的要求和特點(diǎn)如下:
1)溫控精度高,達(dá)到±0.1℃;
2)溫控穩(wěn)定性高,不能出現(xiàn)過沖,即任何時候溫度都不能高于 37.1℃;
3)受環(huán)境因素影響大,受控對象尺寸、加熱片功率和效率各不相同,且鋁吸熱、散熱快。
為解決上述問題,根據(jù)被控系統(tǒng)的實(shí)際響應(yīng),運(yùn)用模糊推理,考慮加熱片的功率和效率、目標(biāo)溫度與環(huán)境溫度差等因素,提出了一種高精度自適應(yīng)溫控算法,實(shí)現(xiàn)溫控過程中PID參數(shù)的自適應(yīng)調(diào)整,以滿足系統(tǒng)要求。
PID是一種閉環(huán)控制,其原理如圖2所示。
圖2 PID控制原理
圖2中r(t)為設(shè)定值,y(t)為實(shí)際值,e(t)=r(t)-y(t)為兩者的偏差。PID控制的主要原理為將e(t)的比例項、積分項和微分項,通過線性組合構(gòu)成控制量進(jìn)行控制,故稱PID控制器,其控制規(guī)律為
式中:KP、KI和KD分別為比例系數(shù)、積分系數(shù)和微分系數(shù);比例系數(shù)KP決定系統(tǒng)的響應(yīng)速度;積分系數(shù)KI主要用的消除系統(tǒng)的穩(wěn)態(tài)誤差;微分系數(shù)KD改善系統(tǒng)的動態(tài)特性。PID控制實(shí)現(xiàn)簡單、應(yīng)用方便,并可以連續(xù)控制。但如果受控對象具有時變、非線性、大滯后等特點(diǎn),則PID控制算法難以滿足要求。
模糊控制系統(tǒng)是一種以模糊數(shù)學(xué)為理論基礎(chǔ),采用模糊表示語言和模糊邏輯規(guī)則推理,利用計算機(jī)技術(shù)構(gòu)成的閉環(huán)自控系統(tǒng),適用于控制無法取得精確數(shù)學(xué)模型、數(shù)學(xué)模型不確定或經(jīng)常變化的對象,它主要依賴于操作人員的經(jīng)驗(yàn)和直觀判斷,非常容易應(yīng)用[5-6]。其結(jié)構(gòu)如圖3所示。
圖3 模糊控制系統(tǒng)的組成
溫度控制系統(tǒng)的模型通常是不完善的,即使模型已知,也存在參數(shù)變化的問題。PID控制雖然簡單、方便,但難以解決非線性和參數(shù)變化等問題。模糊控制不需要對象的精確模型,適合復(fù)雜溫控系統(tǒng)的控制。但在實(shí)際應(yīng)用中,如果溫控精度較高,則模糊控制難以達(dá)到。
模糊-PID復(fù)合控制是一種PID與模糊控制相結(jié)合的控制方法[7]。其主要原理為,當(dāng)溫度偏差較大時采用模糊控制,響應(yīng)速度快,動態(tài)性能好;當(dāng)溫度偏差較小時采用PID控制,使其具有良好的靜態(tài)性能,以滿足系統(tǒng)控制精度。模糊-PID復(fù)合控制可以實(shí)現(xiàn)兩者的優(yōu)勢互補(bǔ),比單一的模糊控制或單一的PID調(diào)節(jié)有更好的控制性能,其原理如圖4所示。
圖4 模糊推理-PID復(fù)合控制原理框圖
算法針對的是一個具有大慣性、純滯后、非線性的時變系統(tǒng),其變化機(jī)理非常復(fù)雜,難以建立精確數(shù)學(xué)模型。采用模糊-PID復(fù)合控制既具有模糊控制靈活而適應(yīng)性強(qiáng)的優(yōu)點(diǎn),又具有PID控制精度高的特點(diǎn),可以較好地解決動態(tài)響應(yīng)和穩(wěn)定精度之間的矛盾。
如果采用模糊和PID分段控制,在切換時容易產(chǎn)生干擾,且模糊推理規(guī)則和PID控制參數(shù)都難以確定。所以將模糊控制與PID控制并聯(lián)使用,主要思想為,先找出PID控制器的3個參數(shù)與偏差e(t)和偏差變化率c(t)之間的模糊關(guān)系,在控制過程中采樣和計算e(t)和c(t),根據(jù)事先確定好的模糊推理規(guī)則實(shí)時計算參數(shù)的修正量,再使用修正后的參數(shù)進(jìn)行PID控制。在模糊推理中,e(t)和c(t)作為輸入,PID控制器3個參數(shù)的修正量作為輸出,如圖5所示。
圖5 自適應(yīng)算法框圖
因?yàn)樗惴ㄒ趩纹瑱C(jī)上實(shí)現(xiàn),所以使用離散PID算法,式(1)所示的PID公式可變換如下所示的離散形式。
因?yàn)橄到y(tǒng)加熱速度較快,溫控精度要求高,且不能出現(xiàn)過沖,這就要求較高的采樣頻率和較多的歷史數(shù)據(jù),所以算法中 TS的取值為2 s,n的取值為 20,KP=KP_INIT+ ΔKP,KI=KI_INIT+ΔKI,KD=KD_INIT+ ΔKD,KP_INIT=10、KI_INIT=0.22 和KD_INIT=100分別為3個系數(shù)的初始值。
3.3.1 模糊化處理
模糊控制器中系統(tǒng)輸入、輸出變量的實(shí)際變化范圍,稱為變量的基本論域。在進(jìn)行模糊推理時,必須先將輸入變量從基本論域轉(zhuǎn)化到相應(yīng)模糊集的論域[8],在算法中,采用模糊化處理
式中:x為閉區(qū)間[a,b]上的精確量;y為[-n,m](n為不小于2的正整數(shù))中的模糊離散量為量化因子。
本算法中,模糊控制系統(tǒng)的輸入變量為溫度偏差e和偏差變化率c,輸出變量為PID的3個參數(shù)。e和c的論域?yàn)閧-3,-2,-1,0,1,2,3},模糊集為:{NB,NM,NS,ZO,PS,PM,PB}。ΔKP的論域?yàn)閧-0.3,-0.2,-0.1,0,0.1,0.2,0.3},ΔKI的論域?yàn)閧-3,-2,-1,0,1,2,3},ΔKD的論域?yàn)閧-0.03,-0.02,-0.01,0,0.01,0.02,0.03},三者的模糊集均為{NB,NM,NS,ZO,PS,PM,PB}。為了計算和編程的方便,所有變量都采用三角形隸屬函數(shù)。
3.3.2 模糊控制規(guī)則
制定模糊控制規(guī)則要從溫控系統(tǒng)的實(shí)際情況出發(fā),根據(jù)PID 3個參數(shù)的作用以及它們之間的相互關(guān)系,綜合考慮穩(wěn)定性、響應(yīng)速度、超調(diào)量、控制精度等因素[9],在不同階段采用不同的規(guī)則。根據(jù)經(jīng)驗(yàn)和反復(fù)測試,我們采用的控制規(guī)則如下:
1)初始階段,取較大的KP以提高響應(yīng)速度,取較小的KI以防止積分飽和,KD取小值。
2)中間階段,KP、KI和KD都取中間值,以保證一定的響應(yīng)速度及避免超調(diào)。
3)最后階段,KP取大值以減小靜差,增大KI以減小靜差并提高穩(wěn)定性,減小KD以防止產(chǎn)生振蕩[10]。
采用“若A且B則C”(if A and B then C),即R=(A×C)∩(B ×C)的推理策略。ΔKP、ΔKI、ΔKD的模糊控制規(guī)則如表1~表3所示。
表1 ΔKP模糊控制規(guī)則
表2 ΔKI模糊控制規(guī)則
表3 ΔKD模糊控制規(guī)則
模糊推理得到的結(jié)果是控制量的一個模糊子集,采用加權(quán)平均法將其去模糊化,變?yōu)榫_量輸出。
算法采用C51語言編寫,在AT89S52單片機(jī)上實(shí)現(xiàn),流程如圖6所示。
圖6 軟件流程
首先設(shè)置參數(shù)的初始值,然后定時器每2 s鐘產(chǎn)生中斷,進(jìn)入中斷服務(wù)程序進(jìn)行模糊推理和PID運(yùn)算,輸出PWM信號控制加熱片的通斷,中斷服務(wù)程序的流程如圖7所示。
圖7 中斷服務(wù)程序流程
將算法應(yīng)用于所研制的儀器進(jìn)行了一系列試驗(yàn)。由于儀器為一次開機(jī),長期使用,對加熱時間不是很敏感,所以重點(diǎn)測試了溫控精度,對模糊-PID復(fù)合控制和單PID控制進(jìn)行了對比。由于儀器的研制歷經(jīng)2年的時間,得以在不同環(huán)境溫度下進(jìn)行試驗(yàn),圖8~圖10為試驗(yàn)結(jié)果。
試驗(yàn)采用的溫度傳感器的分辨率為0.0625℃,記錄試驗(yàn)結(jié)果時將其進(jìn)行了四舍五入,圖中的數(shù)據(jù)均為不同儀器多次試驗(yàn)結(jié)果的平均值,橫坐標(biāo)為時間(分鐘),縱坐標(biāo)為溫度(℃)。通過分析可以發(fā)現(xiàn):
1)模糊-PID自適應(yīng)算法溫度控制穩(wěn)定,出現(xiàn)的波動較少,當(dāng)環(huán)境溫度為4℃和30℃時,在2h的試驗(yàn)時間里,出現(xiàn)了3次波動,而環(huán)境溫度為18℃時只有2次波動,超調(diào)和振蕩特性都較好。而單PID控制算法出現(xiàn)的波動較多,當(dāng)環(huán)境溫度為4℃時,出現(xiàn)了6次波動,超調(diào)和振蕩特性都不夠好。
2)模糊-PID自適應(yīng)算法溫度精度高,不論環(huán)境如何,溫度的波動幅度都在誤差允許范圍內(nèi);而單PID控制算法的波動幅度均大于誤差允許范圍,不能滿足設(shè)計要求。
3)模糊-PID自適應(yīng)算法的適應(yīng)性較好,不論環(huán)境溫度是多少,絕大部分時間溫度均保持在目標(biāo)溫度。而對單PID算法來說,當(dāng)環(huán)境溫度較低時,大部分時間的溫度低于目標(biāo)溫度;當(dāng)環(huán)境溫度較高時,大部分時間的溫度高于目標(biāo)溫度。
從上述試驗(yàn)結(jié)果可以看出,本文提出的自適應(yīng)算法滿足系統(tǒng)需求,在穩(wěn)定性、控制精度和適應(yīng)性等方面均要優(yōu)于單PID控制。
圖8 環(huán)境溫度4℃的試驗(yàn)結(jié)果
圖9 環(huán)境溫度18℃的試驗(yàn)結(jié)果
圖10 環(huán)境溫度30℃的試驗(yàn)結(jié)果
在對溫控技術(shù)進(jìn)行深入研究的基礎(chǔ)上,針對某儀器溫控系統(tǒng),結(jié)合模糊控制和PID控制技術(shù),利用它們各自的優(yōu)勢,設(shè)計了一個高精度自適應(yīng)溫控算法,并在單片機(jī)上實(shí)現(xiàn)。試驗(yàn)結(jié)果表明,本算法在穩(wěn)定性、控制精度和適應(yīng)性方面均優(yōu)于單PID控制算法,儀器的實(shí)際運(yùn)行情況也證明了這一點(diǎn)。本算法在類似的化學(xué)儀器中具有很強(qiáng)的實(shí)用價值[11]。
[1]孫麗飛,田小建,艾寶麗.大功率半導(dǎo)體激光器的精密模糊PID溫控系統(tǒng)[J].量子電子學(xué)報,2005,22(3):382-386.
[2]王曉沖.模糊參數(shù)自整定PID溫控系統(tǒng)的設(shè)計與研究[D].長沙:中南大學(xué),2007.
[3]楊紅,陳穎,何莉,等.基于模糊-PID控制算法的溫控系統(tǒng)設(shè)計[J].廣西師范大學(xué)學(xué)報:自然科學(xué)版,2005,23(1):106-110.
[4]周黎英,趙國樹.模糊PID控制算法在恒速升溫系統(tǒng)中的應(yīng)用[J].儀器儀表學(xué)報,2008,29(2):405-409.
[5]湯兵勇,路林吉,王文杰.模糊控制理論與應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,2002:107-109.
[6]曾光奇,胡均安,王東,等.模糊控制理論與工程應(yīng)用[M].武漢:華中科技大學(xué)出版社,2006.
[7]樊軍慶,張寶珍.溫度控制理論的發(fā)展概況[J].工業(yè)爐,2008,30(6):12-14.
[8]Juang Chia-Feng,Chen Jung—Shing.A recurrent neural fuzzy network controller for a temperature control system[C]//IEEE International Conference on Fuzzy Systems.[S.l.]:[s.n.],2003(1):408-413.
[9]Kaehler,Steven D.Applying fuzzy logic in a complex temperature control system[C]//Proceedings of SPIE—The International Society for 0ptical Engineering.[S.l.]:[s.n.],2002(4787):218-231.
[10]韓大平,林國海,杜鋼,等.模糊PID控制算法在回轉(zhuǎn)窯溫度控制中的應(yīng)用[J].材料與冶金學(xué)報,2005,4(4):321-325.
[11]劉建斌.高精度溫控電路設(shè)計[J].導(dǎo)航與控制,2012,11(1):38-40.
[12]盧海洋,林平.基于模糊PID控制的UUV定深控制系統(tǒng)設(shè)計[J].重慶理工大學(xué)學(xué)報:自然科學(xué)版,2011(6):58-62.