MATLAB/Simulink环境下设计模糊PID控制器
一、实验要求:
重点学习模糊PID控制器工作原理,在MATLAB****/****Simulink环境下,用MATLAB模糊逻辑工具箱完成一个3阶传递函数系统的模糊PID控制器的设计,并输出单位阶跃信号下系统输入输出曲线视图。
二、实验内容
2.1 确定各参数值
2.1.1 被控对象:
Ts = 0.1;
Plant = c2d(zpk([],[-1 -3 -5],1),Ts); %零极点模型,并离散化
2.1.2 根据对象Plant,确定PID参数:
C0 = pid(1,1,1,‘Ts’,Ts,‘IF’,‘B’,‘DF’,‘B’); % 定义PID结构
C = pidtune(Plant,C0) %对PID参数进行优化
[Kp, Ki, Kd] = piddata©; % 输出参数
2.1.3 得出PID结构及其参数值:
Kp = GCU * GCE + GU * GE
Ki = GCU * GE
Kd = GU * GCE
形式转换如下:
GE = 10; %根据模糊控制的论语直接确定
GCE = GE*(Kp-sqrt(Kp^2-4KiKd))/2/Ki=3.4285;
GCU = Ki/GE=2.8631;
GU = Kd/GCE=2.0138;
2.2 使用fuzzy 建立Sugeno型模糊推理系统
2.2.1 模糊控制器输入输出结构
2.2.2 模糊控制器规则表
2.3 模糊PID控制系统结构(离散模糊控制器)
三、运行结果及分析
3.1 运行结果:
GE = 10; GCE=3.4285; GCU =2.8631; GU=2.0138;
GE = 10; GCE= 4.9829; GCU = 2.5178; GU= 1.8102;
GE = 3.3; GCE= 4.9829; GCU = 2.5178; GU= 1.8102;
3.2 结果分析:
通过调整GE的值,发现在GE=3.3时输出曲线收敛的较好