模糊PID控制器设计说明Word文档下载推荐.docx
- 文档编号:20802936
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:11
- 大小:160.46KB
模糊PID控制器设计说明Word文档下载推荐.docx
《模糊PID控制器设计说明Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《模糊PID控制器设计说明Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
2、模糊PID参数自整定控制器设计
2.1控制器结构:
2.2模糊化
由PID各个参数对系统的影响得到:
(a)当误差|e|较大时,说明误差的绝对值较大,不论误差的变化趋势如何,都应该考虑控制器的Kp取较大值,以提高响应的快速性;
而为防止因为|ec|瞬时过大,kd应该取较小的值;
为控制超调,ki也应该取值很小。
(b)当误差|e|在中等大小时,为保证系统的相应速度并控制超调,应减小Kp,Ki值应增大,Kd应适中。
(c)当误差|e|较小时,为保证系统具有良好的稳态特性,应加大Kp、Ki的取值,同时为避免产生振荡,Kd的取值应该和|ec|联系起来。
模糊PID控制根据系统运行的不同状态,考虑Kp、Ki、Kd三者的关联,根据工程经验设计模糊整定这三个参数,选择输入语言变量为误差e和偏差变化率ec,语言变量值取{NB,NM,NS,0,PS,PM,PB}七个模糊值;
选择输出语言变量为△Kp,△Ki,△Kd语言变量值也取{NB,NM,NS,0,PS,PM,PB}七个模糊值,建立△Kp,△Ki,△Kd的模糊规则。
2.3设计模糊控制器
在MATLAB命令空间输入fuzzy,弹出对话框,然后进行设置,如图:
设置为两输入三输出结构。
根据经验设置输入输出的隶属度函数都为:
设置完隶属度函数后,按照上述三个模糊规则表格设置模糊规则,如图
设置完毕后,保存文件“zhinengkongz.fis”至磁盘,留给仿真调用,生成的文件为:
[System]
Name='
zhinengkongz'
Type='
mamdani'
Version=2.0
NumInputs=2
NumOutputs=3
NumRules=49
AndMethod='
min'
OrMethod='
max'
ImpMethod='
AggMethod='
DefuzzMethod='
centroid'
[Input1]
e'
Range=[-33]
NumMFs=7
MF1='
nb'
:
'
zmf'
[-3-1]
MF2='
nm'
trimf'
[-3-20]
MF3='
ns'
[-3-11]
MF4='
zo'
[-202]
MF5='
ps'
[-113]
MF6='
pm'
[023]
MF7='
pb'
smf'
[13]
[Input2]
ec'
[Output1]
kp'
[Output2]
ki'
[Output3]
kd'
[Rules]
11,715
(1):
1
12,713
(1):
13,621
(1):
14,651
(1):
15,531
(1):
16,442
(1):
17,445
(1):
21,715
(1):
22,713
(1):
23,621
(1):
24,532
(1):
25,532
(1):
26,443
(1):
27,344
(1):
31,614
(1):
32,623
(1):
33,632
(1):
34,532
(1):
35,443
(1):
36,353
(1):
37,354
(1):
41,624
(1):
42,623
(1):
43,533
(1):
44,443
(1):
45,353
(1):
46,263
(1):
47,264
(1):
51,524
(1):
52,534
(1):
53,444
(1):
54,354
(1):
55,354
(1):
56,264
(1):
57,274
(1):
61,547
(1):
62,443
(1):
63,355
(1):
64,255
(1):
65,265
(1):
66,275
(1):
67,177
(1):
71,447
(1):
72,446
(1):
73,256
(1):
74,266
(1):
75,265
(1):
76,175
(1):
77,177
(1):
3、系统仿真
设控制对象为:
G(s)=25/s^2+6s+25
通过程序(含注释)仿真如下:
clearall;
clc;
a=readfis('
);
%读取设定的FIS模糊控制器
ts=0.001;
%抽样时间为1MS
sys=tf(25,[1,6,25]);
%构造系统G(s)=25/s^2+6s+25
dsys=c2d(sys,ts,'
z'
%离散化
[num,den]=tfdata(dsys,'
v'
%得到系数
%设置系统初值
u1=0;
u2=0;
y1=0;
y2=0;
x=[0,0,0];
e1=0;
ec1=0;
Kp0=0.3;
Ki0=2;
Kd0=1;
fork=1:
5000;
%仿真5S
time(k)=k*ts;
r(k)=1;
%输入阶跃信号
fpid=evalfis([e1,ec1],a);
%模糊推理
Kp(k)=Kp0+fpid
(1);
%得到新的参数
Ki(k)=Ki0+fpid
(2);
Kd(k)=Kd0+fpid(3);
u(k)=Kp(k)*x
(1)+Ki(k)*x
(2)+Kd(k)*x(3);
%PID输出
y(k)=-den
(2)*y1-den(3)*y2+num
(1)*u(k)+num
(2)*u1+num(3)*u2;
%系统输出
e(k)=r(k)-y(k);
%计算误差
u2=u1;
u1=u(k);
%更新数据
y2=y1;
y1=y(k);
x
(1)=e(k);
%对应KP
x
(2)=x
(2)+e(k)*ts;
%对应KI
x(3)=e(k)-e1;
%对应KD
ec1=e(k)-e1;
%重新计算ec
e1=e(k);
%重新计算e
end
%打印输出
figure
(1);
plot(time,y,'
g'
time,r,'
r'
gridon;
xlabel('
time(s)'
ylabel('
y'
figure
(2)
plot(time,Kp,'
Kp'
figure(3)
plot(time,Ki,'
b'
Ki'
figure(4)
plot(time,Kd,'
Kd'
结果显示:
输入输出对比图Kp自动调整曲线
Ki自动调整曲线Kd自动调整曲线
可以看出,系统输出具有较好的超调量和调节时间,没有稳态误差,达到了理想的效果。
4、结束语
模糊自调整PID是在常规PID算法的基础上,通过计算当前系统误差e和误差变化ec,利用模糊推理系统(FIS),查询模糊矩阵表进行参数调整,该方法实现简单、方便易用,对实际控制有重要指导意义。
同时,利用模糊逻辑工具箱设计的模糊控制器,能方便地修改输入输出的论域、模糊子集、隶属度函数及模糊控制规则等,突破了传统方法需要编制大量程序的做法。
用模糊推理的方法在动态过程中改变PID的参数,能够发挥两种控制方式的优点,克服两者的缺点,提高控制质量。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模糊 PID 控制器 设计 说明
![提示](https://static.bdocx.com/images/bang_tan.gif)