基于Matlab的模糊自整定PID控制器仿真研究姜丰辉1,陈晓高2(1.青岛科技大学学报(自然版)编辑部,山东青岛266061;2.中山大学数学与计算科学学院,广东广州510275)摘要:将模糊控制与PID控制结合,利用模糊推理方法实现对PID参数的在线自整定。使用MATLAB对系统进行仿真,结果表明系统的动态性能得到了提高。关键词:模糊PID控制器;参数自整定;Matlab;仿真SimulationStudyofFuzzySelf-tuningPIDControllerBasedonMatlabJIANGFeng-hui1,CHENXiao-gao2(1.EditorialOfficeofJournalofQingdaoUniversityofScienceandTechnology(NaturalScienceEdition),Qingdao266061,China;2.SchoolofMathematicsandComputationalScienceSunYat-senUniversity,Guangzhou510275,China)Abstract:CombiningfuzzycontrolandPIDcontrol,theself-tuningofPIDparametersisrealizedthroughfuzzyinference.TheresultsofMatlabsimulationindicatethatthedynamicperformanceofsystemisimproved.Keywords:fuzzyPIDcontroller;parameterself-tuning;Matlab;simulationPID控制由于其算法简单、鲁棒性好和可靠性高,广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。由于受到参数整定方法烦杂的困扰,常规PID控制器参数往往整定不良、性能欠佳,对运行工况的适应性差[1-2]。针对这些问题,人们一直在寻求PID控制器参数的自动整定技术,以适应复杂的工况和高指标的控制要求。随着计算机技术的发展和数字智能控制器的实际应用,这种设想已变成了现实。本研究将模糊控制和PID控制结合起来,应用模糊推理的方法实现对PID参数进行在线自整定,实现PID参数的最佳调整,设计出参数模糊自整定PID控制器,并进行了Matlab/Simulink仿真。1控制系统结构模糊自整定PID控制器以误差e和误差变化ec作为输入,可以满足不同时刻的e和ec对PID参数自整定的要求。利用模糊规则在线对PID参数进行修改,便构成了自整定模糊PID控制器,控制系统结构见图1。PID调节器模糊推理对象de/dt`误差微分errorrinyoutkpkikd图1模糊自整定PID控制器结构Fig.1Structureoffuzzyself-tuningPIDcontrollerPID参数模糊自整定是找出PID三个参数与e和ec之间的模糊关系,在运行中通过不断检测e和ec,根据模糊控制原理对3个参数进行在线修改,以满足不同e和ec是对控制参数的不同要求,而使对象有良好的动、静态性能。系统所使用的PID控制器的算法为连续情况)()()(tyouttrinte(1)tdipdttdeTdtteTtektu0)()(1)()((2)式中,pk为比例系数;iT为积分时间常数;dT为微分时间常数。数字情况有位置公式(3)及增量公式(4)TkekekTjekkekkudkjip)1()()()()(0(3))2()1(2)()()1()()(kekekekkekkekekkudip(4)式中,ipiTkk/,dpdTkk/,T为采样周期,k为采样序号.2糊控制器的设计2.1语言变量隶属度函数的确定模糊控制器采用两输入三输出的形式,以e和ec为输入语言变量,pk、ik和dk为输出语言变量。输入语言变量的语言值均取为“负大”(NB)、“负中”(NM)、“负小”(NS)、“零”(ZO)、“正小”(PS)、“正中”(PM)、“正大”(PB)7种.输出语言变量的语言值均取为“零”(ZO)、“正小”(PS)、“正中”(PM)、“正大”(PB)4种.将偏差e和偏差变化率ec量化到(-3,3)的区域内,输出量化到(0,3)的区域内,隶属函数曲线见图2。图2e和ec隶属函数曲线Fig。1Membershipfunctioncurve2.2建立模糊控制器的控制规则表根据参数pk、ik和dk对系统输出特性的影响,可得出在不同的e和ec时,参数的自整定原则。(1)当e很大时,不论误差变化趋势如何,都应考虑控制器的输出应按最大(或最小)输出,以达到迅速调整误差,使误差绝对值以最大速度减小。同时为了防止积分饱和,此时应取较大pk,较小的ik和dk取零。.(2)当0ece时,说明误差在朝误差绝对值增大方向变化。此时若误差较大,可考虑由控制器实施较强的控制作用,以达到扭转误差绝对值朝减小方向变化,并迅速减小误差绝对值,此时取较大的pk,dk不能太大,取较小的ik值。若误差绝对值较小,控制器实施一般的控制作用,只要扭转误差的变化趋势,使其朝误差绝对值减小方向变化。(3)当0ece或0e时,说明误差的绝对值朝减小的方向变化,或者已达到平衡状态。此时,可采取保持控制器输出不变。(4)当0,0eece时,表明系统的曲线与理论曲线平行或一致,为使系统具有良好的稳态性能,应采取较大pk和ik值,同时避免设定值附近振荡,并考虑系统的抗干扰性能,适当选取dk值。设dddiiipppkkkkkkkkk(5)式(5)中pk,ik和dk为系统的经典PID参数,一般用Z-N法来确定。根据PID参数的整定原则及专家经验,采用IF-THEN形式,可得pk、ik和dk的整定规则如表1所示.表1△kp.△ki.△kd的模糊规则Table1Thefuzzyrulesof△kp.△ki.△kd将系统误差e和误差变化率ec变化范围定义为模糊集上的论域。}5,4,3,2,1,0,1,2,3,4,5{,ece其模糊子集为ece,={NB,NM,NS,O,PS,PM,PB},子集中元素分别代表负大,负中,负小,零,正小,正中,正大。根据pk、ik和dk三个参数模糊规则表构造一个两输入(ece,)三输出(dipkkk,,)的模糊控制器,取名为fuzzpid.fis。见图3。3Matlab仿真3.1模糊控制器的编辑在Matlab命令窗口运行Fuzzy函数进入模糊逻辑编辑器[2-3],并建立一个新的FIS文件,选择控制器类型为Mamdani型,根据上面的分析分别输入ece,、pk、ik和dk的隶属函数和量化区间,以If-then的形式输入模糊控制规则。取与(and)的方法为min,或(or)的方法为max,推理(implication)方法为min,合成(aggregation)方法为max,去模糊化(defuzzification)方法为重心平均(centroid),这样就建立了一个FIS系统文件,取名为pid.fis。当然也可以用MATLAB命令来完成,在Matlab下运行fuzzyfuzzpid.fis可进入Matlab动态仿真工具箱仿真环境。3.2仿真实例设被控对象为ssssG1047035.87523500)(23采样时间为1ms,采用模糊PID控制进行仿真,参数的初值分别为:pk=0.4、ik=0和dk=0,在第300个采样刻控制器输出加100%的干扰,相应响应曲线见图3到图6。图3模糊PID控制阶跃响应图4模糊PID控制误差响应Fig.3StepresponseoffuzzyPIDcontrolFig.4ErrorresponseoffuzzyPIDcontrol图5控制器输出u图6kp.ki.kd的自整定过程Fig.5ControlleroutputuFig.6Self-tuningprocessofkp.ki.kd对于3阶对象,普通PID控制很难获得好的控制效果,同时3个参数也不易确定,但采用模糊自整定PID控制器,却取得了良好控制效果。从系统的性能指标可看出系统具有良好的快速性和稳态精度,且抗干扰能力强,是一种较好的控制方案4结语模糊自整定PID是在常规PID算法的基础上,通过计算当前系统误差e和误差变化率ec,利用模糊推理系统FIS,查询模糊矩阵表进行参数调整,该方法实现简单、方便易用,对实际控制有重要指导意义。同时,利用模糊逻辑工具箱设计的模糊控制器,能方便地修改输入输出的论域、模糊子集、隶属度函数及模糊控制规则等,突破了传统方法需要编制大量程序的做法。用模糊推理的方法在动态过程中改变PID的参数,能够发挥两种控制方式的优点,克服两者的缺点,提高控制质量。参考文献:[1]张守元,黎利红.动态过程中PID控制参数模糊整定的探索[J].矿冶工程,2000,20(2):22-24.[2]刘金锟.先进PID控制及其Matlab仿真[M].北京:电子工业出版社,2003.[3]赵文峰.基于MATLAB6.x的控制系统设计与仿真[M].西安:西安电子科技大学出版社,2002.作者简介:姜丰辉(1980-),男,硕士,助教.