基于模糊PID控制算法的恒溫石英晶體振蕩器
摘要:為了提高石英晶體振蕩器的頻率穩(wěn)定度,除了選取高性能的諧振器外,對(duì)其采取恒溫控制方式是保證其穩(wěn)定震蕩的關(guān)鍵。本文給出了一種采用雙層恒溫槽及采用模糊PID控制算法,外層加溫部分控制基礎(chǔ)加溫,內(nèi)層加溫部分實(shí)現(xiàn)精確加溫,從而提高恒溫石英晶體振蕩器的穩(wěn)定性和啟動(dòng)性的設(shè)計(jì)方法。同時(shí),在MATLAB環(huán)境下建立了數(shù)學(xué)模型,進(jìn)行了仿真研究,結(jié)果表明采取模糊控制算法和PID控制算法結(jié)合的算法比單純采用PID控制算法溫度上升快,超調(diào)量小,也更加穩(wěn)定。
關(guān)鍵詞:恒溫晶體振蕩器;諧振器;模糊PID控制;算法
0 引言
恒溫晶體振蕩器是目前頻率穩(wěn)定度最高的晶體振蕩器,作為精密時(shí)頻信號(hào)源被廣泛應(yīng)用在全球定位系統(tǒng)、通信、計(jì)量、頻譜及網(wǎng)絡(luò)分析儀等電子儀器中?,F(xiàn)代通信的迅速發(fā)展對(duì)恒溫晶體振蕩器的穩(wěn)定度提出了更高的要求。為了獲得較高的頻率穩(wěn)定度,必須采用高品質(zhì)的石英諧振器以及良好的控溫系統(tǒng)實(shí)現(xiàn)恒溫控制。傳統(tǒng)的PID控制算法簡(jiǎn)單、魯棒性好、可靠性高,并且可以消除穩(wěn)態(tài)誤差。而在實(shí)際中被控對(duì)象往往具有非線性、不確定性難以建立精確地?cái)?shù)學(xué)模型,因此應(yīng)用傳統(tǒng)的PID控制器難以達(dá)到理想的控制效果。鑒于模糊控制具有快速性的特點(diǎn),同時(shí)還可以保持較小的超調(diào)量。文中將模糊控制與PID控制算法相結(jié)合,從而得到一種控制規(guī)則簡(jiǎn)單,控制性能良好的控制方法。
1 恒溫晶體振蕩器硬件原理
由于晶體振蕩器的頻率溫度特性主要由石英諧振器的頻溫特性決定。因此在制作恒溫晶體振蕩器前,首先要選擇性能良好的高品質(zhì)諧振器,不同切型的諧振器頻率溫度系數(shù)也不同,AT切諧振器的振蕩頻率與溫度的關(guān)系呈近似三次函數(shù)關(guān)系,具有零溫度系數(shù)點(diǎn)。因而把控制溫度設(shè)定在諧振器頻率溫度曲線拐點(diǎn)溫度處即可實(shí)現(xiàn)振蕩器輸出穩(wěn)定頻率的目的。由高品質(zhì)的諧振器和穩(wěn)定的振蕩電路所組成的恒溫晶體振蕩器基本框圖如圖1所示。
它的工作原理是:在外層加熱電路中,控制芯片根據(jù)片內(nèi)傳感器所測(cè)得的溫度對(duì)外槽內(nèi)控制加溫至接近石英諧振器拐點(diǎn)溫度處實(shí)現(xiàn)基礎(chǔ)加溫控制;內(nèi)層加熱電路中,控制芯片根據(jù)溫度傳感器所測(cè)得的溫度對(duì)內(nèi)槽控制加溫,使內(nèi)槽溫度穩(wěn)定在石英諧振器拐點(diǎn)溫度處從而實(shí)現(xiàn)精確加溫控制。內(nèi)槽在制作上選用導(dǎo)熱系數(shù)高的紫銅,提高內(nèi)槽的傳熱性能;外槽在制作上選用導(dǎo)熱系數(shù)較低的聚氨酯泡沫塑料灌注,使其和元器件粘在一起,不僅保溫性好而且有防震的功能。
控溫部分采用單片機(jī)c8051f330來控溫,它主要通過軟件實(shí)現(xiàn),結(jié)合硬件電路,構(gòu)成數(shù)字化精確控溫。這里主要介紹控溫算法的實(shí)現(xiàn)以及MATLAB仿真測(cè)試結(jié)果。
2 PID控制器的控制原理
PID控制器是一種線性控制器,其原理如圖2。
式(1)中Kp為比例系數(shù);Ti為積分時(shí)間常數(shù);Td為微分時(shí)間常數(shù)。
在PID控制過程中,首先根據(jù)被控對(duì)象的數(shù)學(xué)模型確定PID,然后再用偏差e作為輸入,計(jì)算出控制量,并驅(qū)動(dòng)相應(yīng)的執(zhí)行機(jī)構(gòu)來減小誤差,直到被控對(duì)象穩(wěn)定在允許的范圍內(nèi)。
3 模糊PID控制器的控制設(shè)計(jì)
模糊PID控制器以偏差E和偏差變化率Ec作為輸入,可以滿足不同時(shí)刻的E和Ec對(duì)PID參數(shù)自整定的要求,利用模糊規(guī)則在線對(duì)PID參數(shù)進(jìn)行修改,便構(gòu)成了模糊自整定PID控制器,其結(jié)構(gòu)如圖3所示。
3.1 模糊控制規(guī)則的設(shè)計(jì)
將偏差E和偏差變化率Ec作為模糊控制器的輸入,PID控制器的三個(gè)參數(shù)Kp、Ki、Kd作為輸出。根據(jù)項(xiàng)目實(shí)際情況,E和Ec模糊子集為{負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大},記為{NB、NM、NS、ZO、PS、PM、PB},將E和Ec量化到(-3,3)的區(qū)域內(nèi)。同時(shí)Kp、Ki、Kd的模糊子集{負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大},記為{NB、NM、NS、ZO、PS、PM、PB},分別量化到(-0.4 0.4)(-0.06 0.06)(-3 3)區(qū)域內(nèi),輸入采用高斯型隸屬度函數(shù),輸出采用三角形隸屬度函數(shù),其隸屬函數(shù)如圖4、圖5所示。
3.2 模糊PID控制器所遵循的調(diào)整規(guī)則
PID參數(shù)模糊自整定是找出PID三個(gè)參數(shù)與偏差E和偏差變化率Ec之間的模糊關(guān)系,在運(yùn)行中不斷檢測(cè)E和Ec,根據(jù)模糊推理對(duì)三個(gè)參數(shù)進(jìn)行在線修改,以滿足不同E和Ec對(duì)控制參數(shù)的不同要求,從而使被控對(duì)象具有良好的動(dòng)、靜態(tài)性能。模糊PID控制器的調(diào)整規(guī)則是:
(1)當(dāng)E較大時(shí),為加快系統(tǒng)響應(yīng)速度,應(yīng)取較大的Kp和較小的Kd,由于積分太強(qiáng)會(huì)使系統(tǒng)超調(diào)加大,因而要對(duì)積分作用加以限制,通常取Ki=0或者較小值;
(2)當(dāng)E和Ec中等大小時(shí),為減少系統(tǒng)超調(diào)和保證一定的響應(yīng)速度,Kp應(yīng)適當(dāng)取小些,同時(shí)對(duì)Kd的取值對(duì)系統(tǒng)影響很大,也應(yīng)取小些,Ki的取值要適當(dāng);
(3)當(dāng)E較小時(shí),為減小穩(wěn)態(tài)誤差,Ko與Ki應(yīng)取得大些,在這種情況下,Kd的取值要適當(dāng),取值不當(dāng)會(huì)引起系統(tǒng)震蕩。其原則是:當(dāng)Ec較小時(shí),Kd取大些,當(dāng)Ec較大時(shí),Kd取較小的值,通常Kd為中等大小。
根據(jù)PID參數(shù)整定規(guī)則,可設(shè)計(jì)一個(gè)2輸入3輸出地Mamdani型模糊控制器。真值的計(jì)算采用Mamdani算法,合成法采用Z-N算法。解模糊化采用面積中心(Centroid)法。根據(jù)工程技術(shù)人員技術(shù)知識(shí)和實(shí)際操作經(jīng)驗(yàn)基礎(chǔ)上,列出輸出變量Kp、Ki、Kd的控制規(guī)則如表1、2、3所示。
根據(jù)表1、2、3整理出49條模糊控制規(guī)則進(jìn)行Kp、Ki、Kd 3個(gè)參數(shù)的自整定。采用中心法解模糊化后,在MATLAB模糊控制規(guī)律觀察器中可調(diào)整相應(yīng)輸入組合分別得出相應(yīng)的解模糊輸出Kp、Ki、Kd的值。
3.3 模糊推理
Mamdani推理法是一種在模糊控制中普遍使用的方法,可用Mamdani提出的推理法來解決這個(gè)問題.用一個(gè)由X到Y(jié)得模糊關(guān)系Ra→ε來表示模糊條件語(yǔ)句:ifA then B,當(dāng)輸入為A*時(shí),輸出B*可由下式求得:
其中表示模糊關(guān)系的合成的運(yùn)算。模糊Ra→ε關(guān)系根據(jù)Mamdani定義:
μRA→B(x,y)=[μA(A)∧μB(y)]所以根據(jù)上式控制器的輸出B*的隸屬度函數(shù)為:
3.4 去模糊化
把模糊量轉(zhuǎn)換為精確量的過程稱為清晰化,又稱為去模糊化,或成為模糊判決。為了獲得準(zhǔn)確的控制量,就要求模糊方法能夠很好地輸出隸屬度函數(shù)的計(jì)算結(jié)果。本文采用工業(yè)控制中廣泛使用的去模糊化方法一加權(quán)平均法,是取隸屬度的加權(quán)平均值輸出地清晰值。假設(shè)輸出模糊集可表示為U=∑uU(xi)/xi,按公式計(jì)算,最后輸出清晰量:
4 模糊PID控制系統(tǒng)仿真及結(jié)果分析
由于恒溫晶體振蕩器控制系統(tǒng)加熱部分本身具有滯后性、非線性、時(shí)變性的特點(diǎn),將其近似為一個(gè)二階滯后環(huán)節(jié)的描述為:
4.1 模糊PID控制系統(tǒng)仿真
在Matlab的Command Window窗口運(yùn)行Fuzzy函數(shù)進(jìn)入模糊邏輯,確定模糊控制器類型,編輯輸入輸出變量的隸屬度函數(shù),建立模糊控制規(guī)則,生成*.fis文件并導(dǎo)入到仿真系統(tǒng)中的模糊控制器命名為md.fis。接下來返回到Command Window窗口,輸入Simulik進(jìn)入Simulik環(huán)境下。建立如圖6所示的完整模型。然后再雙擊Fuzzy Logic Controller圖標(biāo),在彈出對(duì)話框中輸入md即可。仿真實(shí)驗(yàn)結(jié)果如圖7所示。
4.2 PID控制系統(tǒng)仿真
在Matlab的Simulink環(huán)境中建立如圖8所示的PID控制仿真框圖,得到仿真結(jié)果如圖9所示。
由仿真結(jié)果可明顯看出模糊自整定PID調(diào)節(jié)較之常規(guī)PID調(diào)節(jié),系統(tǒng)的快速性和穩(wěn)定性得到了提高,總結(jié)起來模糊自整定PID主要有以下幾個(gè)優(yōu)點(diǎn):
(1)模糊自整定PID算法初值為零,不需要人工給定初始整定值,也能通過自整定獲得參數(shù)的最優(yōu)值,且實(shí)現(xiàn)簡(jiǎn)單,而常規(guī)PID算法需要操作者根據(jù)以往的累積經(jīng)驗(yàn)以及實(shí)際的系統(tǒng)輸出經(jīng)多次試調(diào)之后獲得較優(yōu)值。
(2)模糊自整定PID算法的超調(diào)量和調(diào)整時(shí)間均小于常規(guī)PID算法。
(3)模糊自整定PID控制器使系統(tǒng)的快速性和各項(xiàng)性能指標(biāo)得到顯著提高,說明了該方法的有效性。
5 結(jié)束語(yǔ)
文中設(shè)計(jì)了一種基于模糊PID控制算法的恒溫晶體振蕩器。該系統(tǒng)利用c8051f300單片機(jī)為控制核心實(shí)現(xiàn)了晶體振蕩器溫度的實(shí)時(shí)控制,并用Matlab進(jìn)行了仿真。仿真結(jié)果表明,該系統(tǒng)既能保證溫度調(diào)節(jié)的快速性,又能滿足系統(tǒng)達(dá)到晶體諧振器拐點(diǎn)溫度時(shí)系統(tǒng)的穩(wěn)定性,可以保證頻率穩(wěn)定度的恒溫控制。