江苏科技大学Matlab自动控制课程设计.docx
文本预览下载声明
自 动 控 制 原 理
课 程 设 计
学院: 电子信息学院
学号: 1340301229
姓名: 张 鑫
第一题:
1.1.1 二阶系统的时域、频域分析
2、已知一个二阶系统其闭环传递函数如下
Φ
求K=0.2、0.5、1、2、5时,系统的阶跃响应和频率响应。
绘出阶跃响应曲线和频率响应曲线
%%%%%%%%%%%%%%
clc;clear;
%%%%%%%%%%%%%
k=[0.2,0.5,1,2,5];
%%%%%%%%%%%%%
for k1=k
figure(1),hold on
sys=tf(k1,[0.5,1,k1])
step(k1,[0.5,1,k1]);
figure(2);hold on
margin(sys);
end
%%%%%%%%%%%%%%
figure(1);
gtext(k=0.2),gtext(k=0.5),gtext(k=1),gtext(k=2),gtext(k=5)
figure(2);
gtext(k=0.2),gtext(k=0.5)gtext(k=1),gtext(k=2),gtext(k=5)
gtext(k=0.2),gtext(k=0.5),gtext(k=1),gtext(k=2),gtext(k=5)
程序结果显示:
图像窗口:
命令窗口:
Transfer function:
0.2
-----------------
0.5 s^2 + s + 0.2
Transfer function:
0.5
-----------------
0.5 s^2 + s + 0.5
Transfer function:
1
---------------
0.5 s^2 + s + 1
Transfer function:
2
---------------
0.5 s^2 + s + 2
Transfer function:
5
---------------
0.5 s^2 + s + 5
%结论:随着k值的增大,波峰增大,瞬态响应加快,调节时间变短,稳定更快!
第二题:
1.1.2 调试设计超前、滞后校正程序
被控对象传递函数为
G(s)=
设计超前校正环节,使系统性能指标满足如下要求:
(1)速度误差常数=10 (2)γ=45°
源程序:
clc;clear;
num=2000;
den=[1,30,200,0];
Go=tf(num,den);
w=0.1:0.1:2000;
[gm,pm,wcg,wcp]=margin(Go);%在当前窗口绘制带GMPM的BODE图
[mag,phase]=bode(Go,w);%计算出w=0-1000时对应mag,phase的值
magdb=20*log10(mag);%换算为db值
phiml=45;
phim=phiml-pm+16;
a=(1+sin(phim*pi/180))/(1-sin(phim*pi/180));%计算出α的值
n=find(magdb+10*log10(a)=0.001);
wc=w(n(1));%取符合要求的最小n值
w1=wc/sqrt(a);
w2=wc*sqrt(a);
numc=[1/w1,1];
denc=[1/w2,1];
Gc=tf(numc,denc);
g=Go*Gc;
[gmc,pmc,wcgc,wcpc]=margin(g);
gmcdb=20*log10(gmc);
bode(Go,g);%比较Go和g的bode图
hold on
margin(g)
程序结果显示:
图像窗口:
第三题:
2、被控对象传递函数为
G
设计滞后校正环节,使系统性能指标如下
(1)单位斜坡稳态误差小于5%
(2)闭环阻尼比ζ=0.707,wn=1.5rad/s
clc;clear;
num=100;
den1=conv([1,0],[1,5]);
go=tf(num,den1);
margin(go);%画出含Gm和Pm的Bode图
a=65.5246;b=5;
c=a+b;
w=0.01:0.01:1000;
[mag,phase]=bode(go,w);%找出曲线上的点(mag,w)(phase,w),不画图
n=find(180+phase-c=0.1);
wc=w(n(1));%通过find(),找出符合条件的phase,再通过w(n(1))找到目标wc
[mag,phase]=bode(go,wc);%找出(mag,wc),(phase,wc)
magdb=20*log10(mag);%换算
beta=10^(magdb/20);
w2=wc/10;
w1=w
显示全部