对多输入,就需要运用模糊合成运算对这些多输入进行综合考虑和分析。任何完善合理的模糊合成方法都可用“与(and)”和“或(or)”来实现。MATLAB工具箱内置两种and操作方法,即最小法(min)和乘积法(prod)。同样,or操作的方法也有两种,即最大法(max)和概率法(probor)。模糊蕴涵(implication)是各条模糊规则的表示问题,在MATLAB中蕴涵有两种方法:最大值法max、概率法probor、求和法sum。反模糊方法有多种,常用的是重心法centroid。
电锅炉模糊控制器的建立方法:
(1)确定模糊控制器的输入、输出变量,模糊控制器采用3个模糊变量:
①E为温度误差;②EC为温度误差的变化率;③U为控制加热的供电电压
其中E、EC为输入模糊变量,而U为输出模糊变量
(2)确定各输入:
取3个语言变量的量化等级都为7级,即x,y,z={-3,-2,-1,0,1,2,3}。误差e的论域为{-30,30}。误差变化ec的论域为{-90,90}。控制输出u的论域为{-16,16}。则各比例因子为:
Kp=4/50=2/25, Ki=4/150=2/75, Kd=64/4=16。
(3)在各输入和输出语言变量的量化域内定义模糊子集 。
e, ec和u的模糊子集均为{NB,NS,0,PS,PB},模糊量的隶属函数的形状在理论上是钟型的,但是考虑到实现的复杂度,在实际控制过程中往往简化为简单又能反映模糊推理结果的隶属函数,从而大大简化模糊推理的计算过程。实验证明,三角形隶属函数对钟型隶属函数的简化是合理可行的。
各语言变量模糊子集通过隶属度函数来定义,为了提高稳态点控制的精度,量化方式采用非线性量化:
表3.2 模糊集的隶属度函数
误差e -30 -15 -5 0 5 15 30
误差
率ec -90 -30 -10 0 10 30 90
控制v -16 -4 -2 0 2 4 16
量化
等级 -3 -2 -1 0 1 2 3
状态
变量 相关的隶属度函数
PB 0 0 0 0 0 0.5 1
PS 0 0 0 0.5 1 0.5 0
ZE 0 0 0 0.5 0.5 0 0
NS 0 0.5 1 0.5 0 0 0
NB 1 0.5 0 0 0 0 0
(4)模糊控制规则的确定
模糊控制规则实质上是将操作员的控制经验加以总结而得出一条条模糊条件语句的集合。确定模糊控制规则的原则是必须保证控制器的输出能够使系统输出响应的动静态特征达到最佳。
考虑误差e=Td-T为负的情况。当e为负大时,无论的值如何,为了消除偏差应使控制量增大。是控制量u应取正大。即有如下控制规则:
规则1:如果误差e是NB,且误差变化ec是PB,则控制U为PB;
规则2:如果误差e是NB,且误差变化ec是PS,则控制U为PB;
规则3:如果误差e是NB,且误差变化ec是ZE,则控制U为PB; MATLAB模糊-PID的电锅炉温度控制及仿真+文献综述(10):http://www.youerw.com/zidonghua/lunwen_2018.html