1、(1)将调节器积分作用和微分作用致于零,比例度至于一个比较大的值,将系统投入闭环运行。(2)待系统运行稳定后,对给定值作一适当幅值得阶跃扰动,并逐步减小比例度,直到首次超调和第二次的比值为4:1.记录下此时的比例度和两次超调的时间差t,这是Kp 的值则为0.8,Ti 的值为0.3t,Td 的值为0.1t。对建立的温度箱加热模型,在matlab上仿真经整定后,得Kp等于4.25时,响应曲线符合以上衰减规律,最终取Kp=0.8*4.25=3.4,再由以上规则及根据需求调整后,Ki 取0.0028,Kd 取100。simulink 的模块化设计图如下,由于控制量输出有范围限制,因此要在控制回路加上控
2、制量约束。图1-1 simulink模块化系统PID仿真模型仿真的时间选择1000 秒,设定误差值为40。仿真结果后如下图:图1-2 PID控制器作用下的仿真曲线图matlab 自带了一个模糊控制的设计工具模糊控制工具箱是一个不针对具体硬件平台的模糊控制设计工具,是MATLAB 中用于设计模糊控制器的工具箱。模糊工具箱提供了两种方式来建立模糊逻辑控制系统,一种是用户图形界面(GUI界面)方式,另一种是命令行方式。它们分别适用于不同的控制对象和系统,设计和实现方法简单直观,方便易行。本设计采用图形界面方式。模糊控制器采用的是模糊PID 的控制算法,根据PLC 编程的特点和结合模糊控制器设计的理论
3、,本温度控制系统决定采用二维的控制器结构,即用误差及误差的变化率作为输入信号,而输出信号为Kp,Ki,Kd 三个参数,控制器的结构图如下:图2-1 单模糊PID 控制原理图由于温度控制系统的设计目的是要使温度从30 度上升到70度,各种指标和前面的PID 一致,但要实现控制速度提升且实现零超调。所以温度的偏差e的论域设定为-40 到40.偏差变化率ed的论域整定为-0.2 到0.2。设计的目的是实现PID 参数在线的自整定,在前面调试出的曲线中可以知道,当Kp取3.4,Ki 取0.0028,Kd 取100 的时候,系统有比较令人满意的曲线,所以在这个基础上,可以设定Kp 的论域范围为2.7到3
4、.6,Ki的范围为0.0022 到0.0028,Kd 的范围取60到150。对于输入量e和ed不在此论域范围内的,可以相应地在实际范围上乘上量化因子k之后,再进行查询,以达到较好的精确度。假设实际设定温度为40度,而室温为25度,误差e的量化因子为k=(70-30)/(40-25)=2.67.隶属函数可以有很多种形状,本设计采用了在工程上比较常用的三角形状的隶属函数。模糊的分割采用了7段的分割,这样,一共可以产生49 条规则。设定输入变量e和ec及输出量Kp、Ki、Kd的语言值的模糊子集均设为NB,NM,NS,Z,PS,PM,PB,并将其分别对应以上论域范围设置到matlab的fuzzy函数设
5、计中。根据温度控制具有纯滞后,大惯性的特点,整定的原则如下:当温差e较大时,为使温度控制系统具有较好的快速跟踪性能,即温差较大时,温度要以较快速率上升。应取较大的Kp 和较小的Kd。同时为避免温度出现较大的超调,对积分作用加以限制,这样有利于消除稳态偏差,又可避免产生较大的温度超调。当温差e为中等大小时,为了使系统响应具有较小的超调,Kp 应取得小些,Ki 和Kd 的大小要适中,以保证系统的响应速度。其中,Kd 对系统响应的影响较大。当温差e较小时,为使系统具有较好的稳态性能,3 个参数均应取得大些,同时为避免系统在设定值附近出现振荡,并考虑系统的抗干扰性能,当温差变化ed比较小时,Kd 可取
6、得大一些(通常取为中等大小);当温差变化ed比较大时,则Kd 要小些。这样可避免温度反复振荡的现象。模糊规则(1)输入/输出语言变量的建立在MATLAB 环境下键入fuzzy 命令,进入模糊逻辑工具箱(如图)所示,建立一个Mamdani 型的模糊控制器,通过具有交互式图形界面的模糊推理系统编辑器和隶属函数编辑器,用来设计输入、输出变量论域范围,各个语言变量的隶属函数形状等参数,原始的.FIS 图形编辑函数窗口中只有一个输入模块,对于该双输入输出系统,可点击Edit/Addlnput 或edit/addOulput 选项,增加一个输入模块或输出模块。根据PLC 编程的特点和结合模糊控制器设计的理
7、论,本温度控制系统决定采用二维的控制器结构,即用误差e及误差ed的变化率来作为输入信号,而输出信号为Kp,Ki,Kd 三个参数。所以界面的设计如右:(2)隶属函数的确定单击输入输出可以设定输入输出的名称,而双击则可以进入隶属函数的设定,双击误差E 的方框,可以看到以下的隶属函数设计图:确定包括输入输出的论域范围,和模糊子集的命名.本设计对隶属度模糊变量e的隶属度形状曲线做了修改,使其在误差e附近的参数变化灵敏度较高,改善其稳定性能。(3)模糊规则和决策的设定根据这个整定的规则,单击edit 下的rule,打开规则设定器如下在上面模糊规则建立后,matlab就能根据论域及相应的7段规则分割,通过
8、模糊推理及反模糊化计算出相应的Kp、Ki、Kd的精确值,然后再由离散化公式u(k)=Kp(k)e(k)+Ki(k)X(k)+Kd(k)e(k)-e(k-1)得出加热器精确的功率输出U。模糊推理及反模糊化采用加权平均法,计算方法如下:上面规则可以写成以下形式,并在matlab中实现:if e=Ai and ed=Bj then f=Cij(i=1,2,3,n,j=1,2,3,m)式中,A温差e模糊子集;B温差变化率ed模糊子集;C输出量Kp或Ki或Kd 假设当输入模糊变量分别取模糊集A、B,而输出量设为C,则输出量的隶属度函数为:由以上公式得到输出量的隶属度函数后,采用加权平均法,则可得到最终精
9、确的输出量为:模糊pid仿真控制器单纯对温度进行PID控制和模糊PID控制后的响应曲线分别如图4-6和图4-13所示,仿真效果可以通过下表来比较:表4-4控制算法的比较可以看出:模糊PID控制器的阶跃曲线具有上升速度快。控制精度高,稳态性能好,超调量小的特点,在同样的控制要求下要比纯粹的PID控制效果好。而且采用这种设计方法计算量很小,工程上很容易实现,调试也方便。在控制过程中具有模糊控制的优点,又结合了PID的长处。对被控参数的适应性比较强,控制效果良好。所以在本实验装置上,主要采用了模糊PID的算法,具体方法则是把离线算好的参数表制成查询表放入CompactLogix里面,这种算法运行效率高,容易实现,不过仿真跟具体还是有差距的,需要根据实际情况微调。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1