基于模糊PID控制算法的恒温石英晶体振荡器
扫描二维码
随时随地手机看文章
摘要:为了提高石英晶体振荡器的频率稳定度,除了选取高性能的谐振器外,对其采取恒温控制方式是保证其稳定震荡的关键。本文给出了一种采用双层恒温槽及采用模糊PID控制算法,外层加温部分控制基础加温,内层加温部分实现精确加温,从而提高恒温石英晶体振荡器的稳定性和启动性的设计方法。同时,在MATLAB环境下建立了数学模型,进行了仿真研究,结果表明采取模糊控制算法和PID控制算法结合的算法比单纯采用PID控制算法温度上升快,超调量小,也更加稳定。
关键词:恒温晶体振荡器;谐振器;模糊PID控制;算法
0 引言
恒温晶体振荡器是目前频率稳定度最高的晶体振荡器,作为精密时频信号源被广泛应用在全球定位系统、通信、计量、频谱及网络分析仪等电子仪器中。现代通信的迅速发展对恒温晶体振荡器的稳定度提出了更高的要求。为了获得较高的频率稳定度,必须采用高品质的石英谐振器以及良好的控温系统实现恒温控制。传统的PID控制算法简单、鲁棒性好、可靠性高,并且可以消除稳态误差。而在实际中被控对象往往具有非线性、不确定性难以建立精确地数学模型,因此应用传统的PID控制器难以达到理想的控制效果。鉴于模糊控制具有快速性的特点,同时还可以保持较小的超调量。文中将模糊控制与PID控制算法相结合,从而得到一种控制规则简单,控制性能良好的控制方法。
1 恒温晶体振荡器硬件原理
由于晶体振荡器的频率温度特性主要由石英谐振器的频温特性决定。因此在制作恒温晶体振荡器前,首先要选择性能良好的高品质谐振器,不同切型的谐振器频率温度系数也不同,AT切谐振器的振荡频率与温度的关系呈近似三次函数关系,具有零温度系数点。因而把控制温度设定在谐振器频率温度曲线拐点温度处即可实现振荡器输出稳定频率的目的。由高品质的谐振器和稳定的振荡电路所组成的恒温晶体振荡器基本框图如图1所示。
它的工作原理是:在外层加热电路中,控制芯片根据片内传感器所测得的温度对外槽内控制加温至接近石英谐振器拐点温度处实现基础加温控制;内层加热电路中,控制芯片根据温度传感器所测得的温度对内槽控制加温,使内槽温度稳定在石英谐振器拐点温度处从而实现精确加温控制。内槽在制作上选用导热系数高的紫铜,提高内槽的传热性能;外槽在制作上选用导热系数较低的聚氨酯泡沫塑料灌注,使其和元器件粘在一起,不仅保温性好而且有防震的功能。
控温部分采用单片机c8051f330来控温,它主要通过软件实现,结合硬件电路,构成数字化精确控温。这里主要介绍控温算法的实现以及MATLAB仿真测试结果。
2 PID控制器的控制原理
PID控制器是一种线性控制器,其原理如图2。
式(1)中Kp为比例系数;Ti为积分时间常数;Td为微分时间常数。
在PID控制过程中,首先根据被控对象的数学模型确定PID,然后再用偏差e作为输入,计算出控制量,并驱动相应的执行机构来减小误差,直到被控对象稳定在允许的范围内。
3 模糊PID控制器的控制设计
模糊PID控制器以偏差E和偏差变化率Ec作为输入,可以满足不同时刻的E和Ec对PID参数自整定的要求,利用模糊规则在线对PID参数进行修改,便构成了模糊自整定PID控制器,其结构如图3所示。
3.1 模糊控制规则的设计
将偏差E和偏差变化率Ec作为模糊控制器的输入,PID控制器的三个参数Kp、Ki、Kd作为输出。根据项目实际情况,E和Ec模糊子集为{负大、负中、负小、零、正小、正中、正大},记为{NB、NM、NS、ZO、PS、PM、PB},将E和Ec量化到(-3,3)的区域内。同时Kp、Ki、Kd的模糊子集{负大、负中、负小、零、正小、正中、正大},记为{NB、NM、NS、ZO、PS、PM、PB},分别量化到(-0.4 0.4)(-0.06 0.06)(-3 3)区域内,输入采用高斯型隶属度函数,输出采用三角形隶属度函数,其隶属函数如图4、图5所示。
3.2 模糊PID控制器所遵循的调整规则
PID参数模糊自整定是找出PID三个参数与偏差E和偏差变化率Ec之间的模糊关系,在运行中不断检测E和Ec,根据模糊推理对三个参数进行在线修改,以满足不同E和Ec对控制参数的不同要求,从而使被控对象具有良好的动、静态性能。模糊PID控制器的调整规则是:
(1)当E较大时,为加快系统响应速度,应取较大的Kp和较小的Kd,由于积分太强会使系统超调加大,因而要对积分作用加以限制,通常取Ki=0或者较小值;
(2)当E和Ec中等大小时,为减少系统超调和保证一定的响应速度,Kp应适当取小些,同时对Kd的取值对系统影响很大,也应取小些,Ki的取值要适当;
(3)当E较小时,为减小稳态误差,Ko与Ki应取得大些,在这种情况下,Kd的取值要适当,取值不当会引起系统震荡。其原则是:当Ec较小时,Kd取大些,当Ec较大时,Kd取较小的值,通常Kd为中等大小。
根据PID参数整定规则,可设计一个2输入3输出地Mamdani型模糊控制器。真值的计算采用Mamdani算法,合成法采用Z-N算法。解模糊化采用面积中心(Centroid)法。根据工程技术人员技术知识和实际操作经验基础上,列出输出变量Kp、Ki、Kd的控制规则如表1、2、3所示。
根据表1、2、3整理出49条模糊控制规则进行Kp、Ki、Kd 3个参数的自整定。采用中心法解模糊化后,在MATLAB模糊控制规律观察器中可调整相应输入组合分别得出相应的解模糊输出Kp、Ki、Kd的值。
3.3 模糊推理
Mamdani推理法是一种在模糊控制中普遍使用的方法,可用Mamdani提出的推理法来解决这个问题.用一个由X到Y得模糊关系Ra→ε来表示模糊条件语句:ifA then B,当输入为A*时,输出B*可由下式求得:
其中表示模糊关系的合成的运算。模糊Ra→ε关系根据Mamdani定义:
μRA→B(x,y)=[μA(A)∧μB(y)]所以根据上式控制器的输出B*的隶属度函数为:
3.4 去模糊化
把模糊量转换为精确量的过程称为清晰化,又称为去模糊化,或成为模糊判决。为了获得准确的控制量,就要求模糊方法能够很好地输出隶属度函数的计算结果。本文采用工业控制中广泛使用的去模糊化方法一加权平均法,是取隶属度的加权平均值输出地清晰值。假设输出模糊集可表示为U=∑uU(xi)/xi,按公式计算,最后输出清晰量:
4 模糊PID控制系统仿真及结果分析
由于恒温晶体振荡器控制系统加热部分本身具有滞后性、非线性、时变性的特点,将其近似为一个二阶滞后环节的描述为:
4.1 模糊PID控制系统仿真
在Matlab的Command Window窗口运行Fuzzy函数进入模糊逻辑,确定模糊控制器类型,编辑输入输出变量的隶属度函数,建立模糊控制规则,生成*.fis文件并导入到仿真系统中的模糊控制器命名为md.fis。接下来返回到Command Window窗口,输入Simulik进入Simulik环境下。建立如图6所示的完整模型。然后再双击Fuzzy Logic Controller图标,在弹出对话框中输入md即可。仿真实验结果如图7所示。
4.2 PID控制系统仿真
在Matlab的Simulink环境中建立如图8所示的PID控制仿真框图,得到仿真结果如图9所示。
由仿真结果可明显看出模糊自整定PID调节较之常规PID调节,系统的快速性和稳定性得到了提高,总结起来模糊自整定PID主要有以下几个优点:
(1)模糊自整定PID算法初值为零,不需要人工给定初始整定值,也能通过自整定获得参数的最优值,且实现简单,而常规PID算法需要操作者根据以往的累积经验以及实际的系统输出经多次试调之后获得较优值。
(2)模糊自整定PID算法的超调量和调整时间均小于常规PID算法。
(3)模糊自整定PID控制器使系统的快速性和各项性能指标得到显著提高,说明了该方法的有效性。
5 结束语
文中设计了一种基于模糊PID控制算法的恒温晶体振荡器。该系统利用c8051f300单片机为控制核心实现了晶体振荡器温度的实时控制,并用Matlab进行了仿真。仿真结果表明,该系统既能保证温度调节的快速性,又能满足系统达到晶体谐振器拐点温度时系统的稳定性,可以保证频率稳定度的恒温控制。