现代机电控制技术.docx
《现代机电控制技术.docx》由会员分享,可在线阅读,更多相关《现代机电控制技术.docx(20页珍藏版)》请在冰点文库上搜索。
现代机电控制技术
已知某汽温控制系统结构如图1所示,采用喷水减温进行控制。
设计双输入模糊控制器,观察定值扰动和内部扰动的控制效果。
加以分析并尝试改进。
图1单回路模糊控制系统
具体要求:
1.利用fuzzy工具箱或编程设计双输入模糊控制器;
2.分析定值扰动和内部扰动(阶跃信号)下模糊控制器的控制性能;
3.尝试改进模糊控制器(量化因子、比例因子、隶属函数、控制规则等);
4.结论(性能综合评述+个人体会)。
解题设计:
E、EC和U均采用三角函数型属度函数,设温度偏差e、偏差变化率ec,控制量u的实际论域:
e=ec=u∈[-1.5,1.5],选择e、ec、u的等级量论域为
E={-6,-5,-4,-3,-2,-1,-0,+0,+1,+2,+3,+4,+5,+6}
EC={-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6}
U={-7,-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6,+7}
量化因子
选择E的模糊词集为:
{NB,NM,NS,NO,PO,PS,PM,PB},
假设选择E的模糊词集为:
{NB,NM,NS,NO,PO,PS,PM,PB}
选取模糊变量E的赋值表如表1所示
表1e的等级量与模糊量的关系
E
E
-6
-5
-4
-3
-2
-1
-0
+0
+1
+2
+3
+4
+5
+6
PB
0
0
0
0
0
0
0
0
0
0
0.1
0.4
0.8
1.0
PM
0
0
0
0
0
0
0
0
0
0.2
0.7
1.0
0.7
0.2
PS
0
0
0
0
0
0
0
0.3
0.8
1.0
0.5
0.1
0
0
PO
0
0
0
0
0
0
0
1.0
0.6
0.1
0
0
0
0
NO
0
0
0
0
0.1
0.6
1.0
0
0
0
0
0
0
0
NS
0
0
0.1
0.5
1.0
0.8
0.3
0
0
0
0
0
0
0
NM
0.2
0.7
1.0
0.7
0.2
0
0
0
0
0
0
0
0
0
NB
1.0
0.8
0.4
0.1
0
0
0
0
0
0
0
0
0
0
选取EC、U的模糊变量词集为:
选取模糊变量EC的赋值表如表2所示,模糊变量U的赋值表如表3所示。
表2等级量EC与模糊量EC的关系
U
U
-6
-5
-4
-3
-2
-1
0
+1
+2
+3
+4
+5
+6
PB
0
0
0
0
0
0
0
0
0
0
0.4
0.8
1.0
PM
0
0
0
0
0
0
0
0
0.2
0.7
1.0
0.7
0.2
PS
0
0
0
0
0
0
0.4
1.0
0.8
0.4
0.1
0
0
ZO
0
0
0
0
0
0.5
1.0
0.5
0
0
0
0
0
NS
0
0
0.1
0.4
0.8
1.0
0.4
0
0
0
0
0
0
NM
0.2
0.7
1.0
0.7
0.2
0
0
0
0
0
0
0
0
NB
1.0
0.8
0.4
0
0
0
0
0
0
0
0
0
0
表3等级量U与模糊量U的关系
U
U
-7
-6
-5
-4
-3
-2
-1
0
+1
+2
+3
+4
+5
+6
+7
PB
0
0
0
0
0
0
0
0
0
0
0
0.1
0.4
0.8
1.0
PM
0
0
0
0
0
0
0
0
0
0.2
0.7
1.0
0.7
0.2
0
PS
0
0
0
0
0
0
0
0.4
1.0
0.8
0.4
0.1
0
0
0
ZO
0
0
0
0
0
0
0.5
1.0
0.5
0
0
0
0
0
0
NS
0
0
0
0.1
0.4
0.8
1.0
0.4
0
0
0
0
0
0
0
NM
0
0.2
0.7
1.0
0.7
0.2
0
0
0
0
0
0
0
0
0
NB
1.0
0.8
0.4
0.1
0
0
0
0
0
0
0
0
0
0
0
现将操作者在操作过程中遇到的各种出现的情况和相应的控制规则汇总为表3。
表3双输入时的模糊控制规则表
E
U
EC
NB
NM
NS
NO
PO
PS
PM
PB
NB
PB
PB
PM
PM
PM
PS
ZO
ZO
NM
PB
PB
PM
PM
PM
PS
ZO
ZO
NS
PB
PB
PM
PS
PS
ZO
NS
NM
ZO
PB
PM
PS
ZO
ZO
NS
NM
NB
PS
PM
PM
PS
ZO
NS
NS
NM
NB
PM
PM
PS
ZO
NS
NM
NM
NB
NB
PB
PS
ZO
NS
NM
NM
NB
NB
NB
1.利用fuzzy工具箱或编程设计双输入模糊控制器
Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。
下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。
首先我们在Matlab的命令窗口(commandwindow)中输入fuzzy,回车就会出来图2这样一个窗口。
图2模糊控制器主窗口
下面我们都是在这样一个窗口中进行模糊控制器的设计。
(1)确定模糊控制器结构:
即根据具体的系统确定输入、输出量。
这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。
注意这里的变量还都是精确量。
相应的模糊量为E,EC和U,我们可以选择增加输入(AddVariable)来实现双入单出控制结构如图3所示。
图3双入单出控制结构
(2)输入输出变量的模糊化:
即把输入输出的精确量转化为对应语言变量的模糊集合。
首先我们要确定描述输入输出变量语言值的模糊子集,如{NB,NM,NS,ZO,PS,PM,PB},并设置输入输出变量的论域,例如我们可以设置误差EC(此时为模糊量)、误差E、误差变化EC论域均为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};然后我们为模糊语言变量选取相应的隶属度函数。
在模糊控制工具箱中,我们在MemberFunctionEdit中即可完成这些步骤。
首先我们打开MemberFunctionEdit窗口如图4所示.
图4MemberFunctionEdit窗口
然后分别对输入输出变量定义论域范围,添加隶属函数,以EC为例,设置论域范围为[-66],添加隶属函数的个数为7如图5所示。
图5添加隶属函数
然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型。
确定控制参数以及赋值表选取分布函数trimf,按照分布函数按分布函数可确定NB~PB子集的隶属函数μ(x),并构成语言变量E和CE赋值表。
E,EC和U的赋值表如图6,图7,图8所示。
图6E赋值表
图7EC赋值表
图8U赋值表
(3)模糊推理决策算法设计:
即根据模糊控制规则进行模糊推理,并决策出模糊输出量。
首先要确定模糊规则,即专家经验。
对于我们这个二维控制结构以及相应的输入模糊集,我们可以制定7*8=56条模糊控制规则,如图9所示。
图9模糊控制规则
制定完之后,会形成一个模糊控制规则矩阵,然后根据模糊输入量按照相应的模糊推理算法完成计算,并决策出模糊输出量如图10所示。
图10输入量与输出量关系
在matlab中输入各规则后得到的控制规则三维图如图11所示
图11控制规则三维图
(4)然后Exporttodisk,即可得到一个.fis文件,模糊控制器设计结束。
(模糊控制器.fis文件见附件1)
2.
分析定值扰动和内部扰动(阶跃信号)下模糊控制器的控制性能;
利用matlab中的模糊逻辑工具箱,在simulink中可建立模糊控制方案的仿真框图,如图12所示。
图12糊控制方案的仿真框图
当ke=kec=4,ku=4.67时系统的阶跃响应曲线如图5所示
图13原始阶跃响应曲线
可以看出此时系统的扰动还是很大,系统还不稳定。
我们通过调试控制参数:
Ke=2.3,Kec=1.8,ku=1.2。
使系统稳定。
如图14所示。
图14调试后阶跃响应曲线
此时上升时间t=400,调剂时间ts=2300,超调量Mp=0.35,峰值时间tp=200
给系统加上扰动,观察此时的阶跃响应曲线,看系统是否仍然稳定,并与无扰动情况下的阶跃响应曲线进行比较。
加扰动时的模型图如图15所示。
图15扰动模型
此时系统的阶跃响应曲线如图16所示为:
图16扰动阶跃响应曲线
由图上数据可知,系统加上扰动之后,系统仍然是稳定的,系统性能指标变化不大,只是此时系统的超调量变大。
从内扰动试验可以看出,在收到内扰时,系统的波动很小,且能快速消除内扰的影响,被调量能很快回到原来的给定值,因此可以看出该控制系统控制性能良好。
3尝试改进模糊控制器
(1)尝试改进模糊控制器的量化因子Ku。
我们取Ku1=1.2,Ku2=1,Ku3=0.8得到系统的阶跃响应曲线如图17所示:
、
图17ku取不同值时响应曲线17
从图17可以看出减小Ku值,系统的上升时间减小,此时超调量也稍有增减小系统的上升时间基本不变,峰值时间也有所减小。
可以看出,该系统的稳定性随着Ku值的减小而增强。
(2)改进模糊控制器双输入时的模糊控制规则如表4所示:
表4改进模糊控制规则表
E
U
EC
NB
NM
NS
NO
PO
PS
PM
PB
PB
ZO
ZO
NS
NM
NM
NM
NB
NB
PM
PS
PS
PS
NM
NM
NM
NB
NB
PS
PM
PM
20
NS
NS
NM
NB
NB
ZO
PM
PM
PS
ZO
ZO
NS
NM
NB
NS
PB
PB
PM
PS
PS
ZO
NM
NB
NM
PB
PB
PM
PM
PM
PS
NS
NS
NB
PB
PB
PM
PM
PM
PS
ZO
ZO
将该进模糊控制规则导入模糊控制器,得到系统的阶跃响应曲线如图18所示:
图18改进模糊控制规则后阶跃响应曲线
从上图可以看出,该进控制器控制规则后的控制效果有了很大的提升,无论是上升时间,调节时间,超调量还是峰值时间都有了明显的下降,系统能够快速的达到理想的稳定状态。
4结论
可以看出该模糊控制器的初始控制效果不理想,系统难以达到一个稳定的状态,但是在经历了量化因子的修改与控制规则的更改之后,该控制器能够在较快的之间内达到理想的稳定状态。
由图形结果分析可知模糊控制器系统性能都有了改善,模糊控制器动态性能提升,上升速度快,基本没有超调现象。
这是我第一次建立关于模糊控制器并用matlab检验模糊控制器的控制功能,为此我查阅了许多资料和前人的经验。
文中难免还有许多不足之处。
在后面的学习中,我还要加强这方面知识的学习。
本次作业是我关于模糊控制设计的起点。
通过本设计可以知道,模糊控制具有能够得到良好的动态响应性能,并且不需要知道被控对象的数学模型,适应性强,上升时间快。
与PID控制相比有着很大的优势。
采用PID控制虽然稳态性能较好,但是难以得到满意的动态响应性能。
当然,模糊控制也有着自身的缺点,容易受到模糊规则等级的限制而引起误差,认识到了模糊控制器的优缺点。
并进一步熟练了用Matlab中Simulink工具箱的应用,提高了自己的动手能力。
通过这次课程设计也使我认识到对Matlab中Simulink工具箱的应用还不够熟练,将来应该加强操作、学习。
附件1为模糊控制器.fis文件
附件1:
模糊控制器.fis文件
[System]
Name='sky'
Type='mamdani'
Version=2.0
NumInputs=2
NumOutputs=1
NumRules=56
AndMethod='min'
OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
[Input1]
Name='E'
Range=[-66]
NumMFs=9
MF1='NB':
'trimf',[-126-78-30]
MF2='NS':
'trimf',[-5-20]
MF3='PS':
'trimf',[025]
MF4='NB':
'trimf',[-10-6-2]
MF5='NM':
'trimf',[-7-4-1]
MF6='NO':
'trimf',[-300]
MF7='PO':
'trimf',[003]
MF8='PM':
'trimf',[147]
MF9='PB':
'trimf',[2610]
[Input2]
Name='EC'
Range=[-66]
NumMFs=7
MF1='NM':
'trimf',[-7-4-1]
MF2='ZO':
'trimf',[-202]
MF3='PM':
'trimf',[147]
MF4='NB':
'trimf',[-10-6-2]
MF5='NS':
'trimf',[-5-11]
MF6='PS':
'trimf',[-115]
MF7='PB':
'trimf',[2610]
[Output1]
Name='U'
Range=[-77]
NumMFs=7
MF1='NM':
'trimf',[-7-4-1]
MF2='ZO':
'trimf',[-202]
MF3='PB':
'trimf',[3711]
MF4='NB':
'trimf',[-11-7-3]
MF5='NS':
'trimf',[-5-11]
MF6='PS':
'trimf',[-115]
MF7='PM':
'trimf',[147]
[Rules]
14,3
(1):
1
11,3
(1):
1
15,3
(1):
1
12,3
(1):
1
16,7
(1):
1
13,7
(1):
1
17,6
(1):
1
54,3
(1):
1
51,3
(1):
1
55,3
(1):
1
52,7
(1):
1
56,7
(1):
1
53,6
(1):
1
57,2
(1):
1
24,7
(1):
1
21,7
(1):
1
25,7
(1):
1
22,6
(1):
1
26,6
(1):
1
23,2
(1):
1
27,5
(1):
1
64,7
(1):
1
61,7
(1):
1
65,6
(1):
1
62,2
(1):
1
66,2
(1):
1
63,5
(1):
1
67,1
(1):
1
74,7
(1):
1
71,7
(1):
1
75,6
(1):
1
72,2
(1):
1
76,5
(1):
1
73,1
(1):
1
77,1
(1):
1
34,6
(1):
1
31,6
(1):
1
35,2
(1):
1
32,5
(1):
1
36,5
(1):
1
33,1
(1):
1
37,4
(1):
1
84,2
(1):
1
81,2
(1):
1
85,5
(1):
1
82,1
(1):
1
86,1
(1):
1
83,4
(1):
1
87,4
(1):
1
94,2
(1):
1
91,2
(1):
1
95,1
(1):
1
92,4
(1):
1
96,4
(1):
1
93,4
(1):
1
97,4
(1):
1