基于Matlab的模糊自整定PID控制器仿真研究田海1,李军2(1.内蒙古科技大学信息工程学院,内蒙古包头014010;2.山东工业职业学院电气工程系,山东淄博高新区256414)摘要:将模糊控制与PID控制结合,利用模糊推理方法实现对PID参数的在线自整定。使用MATLAB对系统进行仿真,结果表明系统的动态性能得到了提高。关键词:模糊PID控制器;参数自整定;Matlab;仿真SimulationStudyofFuzzySelf-tuningPIDControllerBasedonMatlabTIANHAI1,LIJUN2(1.InnerMongoliaUniversityofScience&Technology(CHN),neimenggu014010,China;2.ShandongVocationalCollegeofIndustry,zibo256414,China)Abstract:CombiningfuzzycontrolandPIDcontrol,theself-tuningofPIDparametersisrealizedthroughfuzzyinference.TheresultsofMatlabsimulationindicatethatthedynamicperformanceofsystemisimproved.Keywords:fuzzyPIDcontroller;parameterself-tuning;Matlab;simulation在工程实际应用中,应用最广泛的调节器控制规律为比例、积分、微分控制,简称PID控制。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、鲁棒性好,工作可靠、调整方便而成为工业控制的主要技术之一。但是对一些大惯性、非线性和时变的系统常规PID控制就无能为力了。由于负载扰动或环境变化,受控过程参数和模型结构均发生变化,由于受到参数整定方法烦杂的困扰,常规PID控制器参数往往整定不良、性能欠佳,对运行工况的适应性差[1-2]。针对这些问题,人们一直在寻求PID控制器参数的自动整定技术,以适应复杂的工况和高指标的控制要求。随着计算机技术和模糊控制技术的发展,这种设想已变成了现实。所谓模糊控制是不依赖被控对象精确的数学模型,是在总结操作经验基础上的实现自动控制的一种手段。本文将模糊控制和PID控制结合起来,应用模糊推理的方法实现对PID参数进行在线自整定,实现PID参数的最佳调整,设计出参数模糊自整定PID控制器,并进行了Matlab/Simulink仿真。仿真结果表明,与常规PID控制系统相比,该设计获得了更优的鲁棒性和动、静态性及具有良好的自适应性。1控制系统结构模糊自整定PID控制器以被控对象的反馈值与目标值的误差e和误差变化率ec作为输入,用模糊推理的方法对PID的参数Kp,Ki,Kd进行参数自整定,可以满足不同时刻的e和ec对PID参数自整定的要求。利用模糊规则在线对PID参数进行修改,便构成了自整定模糊PID控制器,控制系统结构见图1。图1模糊自整定PID控制器结构PID参数模糊自整定是找出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隶属函数曲线2.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的模糊规则将系统误差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下运行fuzzyfuzzpid.fis可进入Matlab动态仿真工具箱仿真环境,利用模糊逻辑工具箱建立一个fis型文件,保存为模糊PID.fis。在Matlab命令窗口键入Fuzzy,就会出现一个FISEditor窗口。本文采用双入三输出模糊控制器,输入变量为系统误差e和误差变化率ec,输出变量为pk、ik和dk。在Edit菜单下确定输入、输出,双击每个图标即可进行编辑。在File菜单下选择控制器类型为Mamdani型,用Edit菜单下rules实现编辑模糊规则。取输入量e和误差变化率ec的隶属函数为三角形,输出变量pk、ik和dk的隶属函数也为三角形。根据控制规则表以If-then的形式在RuleEditor窗口输入模糊控制规则。取与(and)的方法为min,或(or)的方法为max,模糊决策采用Mamdani型推理演法。解模糊化采用重心法(centroid)。3.2仿真实例设被控对象为ssssG1047035.87523500)(23采样时间为1ms,采用模糊PID控制进行仿真,参数的初值分别为:pk=0.4、ik=0和dk=0,在第300个采样时刻控制器输出加100%的干扰,相应响应曲线见图3到图6。图3模糊PID控制阶跃响应图4模糊PID控制误差响应图5控制器输出u图6kp.ki.kd的自整定过程对于3阶对象,常规PID控制很难获得理想的控制效果,特别是3个参数不易整定,当采用模糊自整定PID控制器后,取得了良好控制效果。从系统的性能指标可看出系统具有良好的快速性和稳态精度,且抗干扰能力强,是一种良好的控制方案4结语模糊自整定PID是在常规PID算法的基础上,通过计算当前系统误差e和误差变化率ec,利用模糊推理系统FIS,查询模糊矩阵表进行参数调整,该方法实现简单、方便易用,对实际控制有重要指导意义。它能够发挥两种控制方式的优点,克服两者的缺点,提高控制质量。一方面模糊控制具有控制灵活,响应快和适应性强的特点,又具有PID控制的精度高、鲁棒性强的特点。同时,将模糊PID控制算法与Matlab结合在一起,利用模糊逻辑工具箱设计模糊控制器,能方便地修改输入输出的论域、模糊子集、隶属度函数及模糊控制规则等,突破了传统方法需要编制大量程序的做法,灵活,可视性强,用模糊推理的方法在动态过程中改变PID的参数,并可在Simulink环境中非常直观地构建各种复杂的模糊PID控制系统,观察其控制效果,为实际控制系统的设计与调试提供了理论参考依据。参考文献:[1]王树青.西安、先进控制技术及其应用北京:化学工业出版社,20005.[2]刘金锟.先进PID控制及其Matlab仿真[M].北京:电子工业出版社,2003.[3]陶永华,尹怡欣.新型PID控制及其应用.北京:机械工业出版社,1999.作者简介:田海(1968-),男,副教授,内蒙古科技大学信息工程学院,研究方向:控制;李军(1970-),男,工程师,山东工业职业学院电气工程系。