智能控制课后仿真

阅读: 评论:0

《智能控制
课后仿真报告
            院 (系): 电气与控制工程学院
            专业班级:   自动化1301班  
            *    **     *  *  *  
            学    号:     ********** 电镀光亮剂配方   
题目2-3:
    求二阶传递函数的阶跃相应取采样时间为1ms进行离散化。参照专家控制仿真程序,设计专家PID控制器,并进行MATLAB仿真。
专家PID 控制MATLAB仿真程序清单:
%Exoert PID Controller
clear all;%清理数据库中所有数据
close all;%关闭所有界面图形
ts=0.001;%对象采样时间,1ms
sys=tf(133,[1,25,0]);%受控对象的传递函数
dsys=c2d(sys,ts,'z');%连续系统转化为离散系统
[num,den]=tfdata(dsys,'v'环氧树脂涂层);%离散化后参数,得num和den值
u_1=0;u_2=0;%设定初值,u_1是第(k-1)步控制器输出量
y_1=0;y_2=0;%设定初值,y_1是第(k-1)步系统对象输出量
x=[0,0,0]';%设定误差x1误差导数x2误差积分x3变量初值
x2_1=0;%设定误差导数x2_1的初值
kp=0.6;%设定比例环节系数
ki=0.03;%设定积分环节系数
kd=0.01;数据线接头%设定微分环节系数
error_1=0;搓齿机%设定误差error_1的初值
for k=1:1:5000%for循环开始,k从1变化到500,每步的增量为1
time(k)=k*ts;%仿真时长[0.001 0.5]s
r(k)=1.0;%Tracing Step Signal 系统输入信号
u(k)=kp*x(1)+kd*x(2)+ki*x(3);%PID ControllerPID控制器
%Expert control rule
%Rule1:Unclosed control rule规则1:开环控制
if abs(x(1))>0.8%if循环开始,产生式规则,if...;误差的绝对值大于
u(k)=0.45;%控制器输出量等于电缆剪
elseif abs(x(1))>0.40
u(k)=0.40;
elseif abs(x(1))>0.20
u(k)=0.12;
elseif abs(x(1))>0.01
u(k)=0.10;
end%if循环结束
%Rule2规则2
if x(1)*x(2)>0|(x(2)==0)%if循环开始,如果误差增大或不变
if abs(x(1))>=0.05%内嵌if循环开始,如果误差绝对值大于
u(k)=u_1+2*kp*x(1);%控制器输出量施加较强控制
else%否则
u(k)=u_1+0.4*kp*x(1);%控制器输出量施加一般控制
end%内嵌if循环结束
end%if循环结束
%Rule3规则3
if (x(1)*x(2)<0&x(2)*x2_1>0)|(x(1)==0)%if循环开始,如果误差减小或消除
u(k)=u(k);挤爆胶囊%控制器输出量不变
end%if循环结束
%Rule4规则4
if x(1)*x(2)<0&x(2)*x2_1<0%if循环开始,如果误差处于极值状态
if abs(x(1))>=0.05%内嵌if循环开始,如果误差绝对值大于
u(k)=u_1+2*kp*error_1;%控制器输出量施加较强控制
else%否则
u(k)=u_1+0.6*kp*error_1;%控制器输出量施加一般控制
end%内嵌if循环结束
end%if循环结束
%Rule5:Integration separation PI control规则5;运用PI控制来消除误差
if abs(x(1))<=0.001 %if循环开始如果误差绝对值小于(很小)
u(k)=0.5*x(1)+0.010*x(3);%控制器输出量用比例和积分输出

本文发布于:2023-06-01 00:57:36,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/121033.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:误差   控制   输出量   控制器   循环   开始
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图