温度误差温度误差变化率模糊控制器风门开度风机转速
图6-4 系统模糊控制原理框图
本温度控制系统具有较大的滞后性、非线性等特点,我们采用PID控制与模糊
控制相结合的方法,可以构成互补的、兼有这两种控制优点的模糊-PID控制器。其具体的设计步骤如下:
(1)选择语言变量
本温度控制系统中,由于一维的模糊控制精度不高,采用二维的模糊控制方法。控制器输入量直接影响了温控系统的控制效果,对本课题而言,影响最为严重的是机械手在温箱正中间时附近的温度。所以,本文选取了温度误差,以及误差的变化率两个量作为模糊控制器的输入,模糊控制器输出量的选择为PID控制三个参数的增量。
需要设定五个语言变量,分别为:温差E、温差的变化率EC和PID三个参数的增量?Kp、?Ki和?Kd。由3.2.2中可知:论域的划分与控制精度的关系。基于本课题中温度对膜电极品质的优劣有着至关重要的影响,因此把E、EC的论域划分的较细,模糊算法采用离线计算的,所以就算算法计算复杂也不会影响系统中数据的处理。温度论域X=[70,80](?C) 各个语言变量的模糊论域具体如下: E,EC={-6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6} 量化因子ke?2?680?70=1.2
?Kp,?Ki,?Kd={-3, -2, -1, 0, 1, 2, 3,}
同上ke可求出kec,可比例因子kup,kui,kud
将输入语言变量值设置7档,即极大、大、稍大、中、稍小、小、极小,用符号表示为:PB、PM、PS、ZO、NS、NM、NB,这样能够相对准确的反应偏差值及偏差变化率的程度,输出量的语言变量值和输入的相同。 E,EC,?Kp,?Ki,?Kd={ NB、NM、NS、ZO、PS、PM、PB } (2) 选择各语言值的隶属度函数
模糊化是模糊控制器的重要部分,为使每个输入变量的值都能模糊化,已经确定了覆盖在各个模糊论域上的模糊子集的个数。下面要确定各个模糊子集的隶
属函数即模糊分布。模糊子集的分布具有完备性、一致性、交互性的特点。模糊子集的分布有的是均匀的有的是不均匀的,本课题中输入选择不均匀分布,即ZO附近的模糊子集划分的较细,每个模糊子集占用的论域段较小,因为ZO对应于系统正常工作的温度,这种分布可以提高平衡点附近的控制精度,又能够让系统在远离平衡点处快速达到平衡点附近。输入隶属函数分布如下图3-5
μNB1NMNSZOPSPMPB0-6-3-10136图3-5 输入隶属函数分布
模糊控制器的输出?Kp、?Ki、?Kd隶属函数选为高斯型。语言变量E和EC的赋值如表3-1所示,语言变量?Kp、?Ki及?Kd的赋值如表3-2所示。
表3-1 语言变量E和EC赋值表
PB PM PS ZO NS NM NB -6 0 0 0 0 0 0 1 -5 0 0 0 0 0 0.33 0.67 -4 0 0 0 0 0 0.67 0.33 -3 0 0 0 0 0 1 0 -2 0 0 0 0 0.5 0.5 0 -1 0 0 0 0 1 0 0
PB PM PS ZO NS NM 表3-2 语言变量?Kp、?Ki和?Kd赋值表 -3 -2 -1 0 1 0 0 0 0 0 0 0 0 0 0.4 0 0 0 0.4 1 0 0 0.4 1 0.4 0 0.4 1 0.4 0 0.4 1 0.4 0 0 2 0.3 1 0.4 0 0 0 3 1 0.4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 2 0 0.5 0.5 0 0 0 0 3 0 1 0 0 0 0 0 4 0.33 0.67 0 0 0 0 0 5 0.67 0.33 0 0 0 0 0 6 1 0 0 0 0 0 0 NB 1 0.3 0 0 0 0 0 (3)设计模糊控制规则
模糊控制规则是设计模糊控制器的核心,其生成方法有两种:一是根据操作人员或专家对系统的操作经验进行的总结:二是对系统进行测试,分析数据归纳总结。本文主要是采用第一种方法并结合PID自整定的方法来确定控制规则。
?Kp、?Ki和?Kd的模糊规则如下表3-3、3-4、3-5所示。
表3-3 ?Kp的模糊规则表 E NB PB PB PM PM PS PS ZO NM PB PB PM PM PS ZO ZO NS PM PM PM PS ZO NS NM ZO PM PS PS ZO NS NM NM E NB NB NB NB NM NM ZO ZO NM NB NB NM NM NS ZO ZO NS NM NM NS NS ZO PS PS ZO NM NS NS ZO PS PS PM PS NS NS ZO PS PS PM PM PM ZO ZO PS PM PM PB PB PB ZO ZO PS PM PB PB PB PS PS PS ZO NS NS NM NM PM ZO ZO NS NM NM NM NB PB ZO NS NS NM PM NB NB EC NB NM NS ZO PS PM PB 表3-4 ?Ki的模糊规则表 EC NB NM NS ZO PS PM PB
表3-5 ?Kd的模糊规则表 EC NB NM NS ZO PS PM PB E NB PS PS ZO ZO ZO PB PS NM NS NS NS NS ZO NS NS NS NB NB NM NS ZO PS NB ZO NB NM NM NS ZO PS NB PS NB NM NS NS ZO PS NB PM NM NS NS NS ZO PS NM PB PS ZO ZO ZO ZO PB PS (4)近似推理
在建立了个语言变量的赋值表和模糊规则后,控制器的模糊关系R就可以得出,一般一个模糊控制器有n条控制规则即有n个模糊蕴涵关系R1,R2???Rn组成,但是某一时刻激活的规则一般小于总规则数,本系统中两者相处不多,所以
nR??Rj?1j
根据模糊推理求得?Kp、下面就详细的求解?Kp、?Ki和?Kd的模糊查询表。?Ki和?Kd中一个模糊规则查询表:
①
确定模糊关系Ri?REi?R(i?1,2,???,29)
j?6p1R1?(E7??KP1)?(?ECj??K)?RE1?REC1
R2?(E7??KP2)?(?ECj??Kj?5p2)?RE2?REC2
。
R29?(E1??KP7)?(?ECj??Kj?1p7)?RE29?REC29
由以上可得:
29i?129i?129j?129j?1R??Ri??(REj?RECj)?(?REj)?(?RECj)?RE?REC②
按模糊蕴涵关系的Mamdani算法计算:
在确定了模糊蕴涵关系RE和REC之后,由推理方法求得输出?Kp、?Ki、?Kd的模糊子集,具体如下:
对应于第i条模糊规则且此时的温差和温差变化为e和ec,则
?Kpi?e?Rei?ec?Reci
因此?Kp为:?Kp???Kpi 即?Kp?e?Re?ec?Rec,同理可以求得?Ki和?Kd。 (5)清晰化
上述所计算的?Kp、?Ki和?Kd实际上是输出的隶属函数,不能直接对温度控制系统进行控制,需要进行清晰化,换成每个时刻的确定的值,我们采用最大隶属度法取一个最能代表所对应的模糊集合,从而得到模糊控制查询表并存于PLC的程序存储器中。具体如附录一所示。 (6)控制算法的实现
由以上求出了模糊控制查询表,计算参数Kp、Ki、Kd的公式为
Kp?Kp0??Ei,ECi??Kp
Ki?Ki0??Ei,Kd?Kd0??Ei,ECi??Ki ECi??KdECi?为偏差和偏差变化率某时刻的
式中Kp0、Ki0、Kd0为PID的初始值,?EiPID的参数完成参数的调整。
值。PLC运行时,不断的检测到e和ec进行模糊化后,通过查询表及上式可得
3.4 3仿真
1、建立被控对象模型
本系统着重研究的是汽车乘用仓的温度控制,为了进行不同算法控制的不同效果,需要确定烘箱的数学模型进行仿真,通常采用飞升曲线法来获得对象曲线,用Cohn-Coon求得参数,烘箱的温度变化可用一阶惯性纯滞后环节来模拟,其传递函数为:
G(s)?Ke??sTs?1
其中,K为对象的增益,T为时间常数,?为纯滞后。 飞升曲线法:
c(t)c(?) 0.63c(?) r00.39c(?) t?t1t2