tr=(r-1)*0.001;
[ymax,tp]=max(y);tp=(tp-1)*0.001;
mp=(ymax-yss)/yss;
s=5001;whiley(s)>1-dta&y(s)<1+dta;s=s-1;end
ts=s*0.001;
[trtpmpts]
题目3
由课本中“机械系统中基本物理量的折算”内容,可知:
(1)将负载折算到减速器输出轴上得
再折算到电动机主轴上得
(2)由题意,可写出控制系统的系统框图
忽略Ml(s)得传递函数
(3)不考虑电感L,且由已知的数据,Ka=Kc=Kd=R=J=1,Km=10,p/i=4
,将其代入传递函数得
,
单位阶跃及单位脉冲响应如下图
(系统没有超调的,理论上升时间为无穷,将其近似定义为达到90%所需时间)
b
上升时间tr/s
峰值时间tp/s
最大超调量mp/%
调整时间ts/s
0.1
11.3820
-1.7
19.2640
1.25
0.7780
7.0310
0
1.1670
10
0.1470
0.2370
30.50
0.7750
100
0.0380
0.0710
70.22
0.7830
分析:
对于单位阶跃响应:
在过阻尼与临界阻尼状态下,系统一直上升直到稳态,无超调的问题。
在欠阻尼的状态下,b越大,上升时间越短,峰值时间越短,最大超调量越大,调整时间变化不大。
对于单位脉冲响应:
过阻尼与临界阻尼状态下,系统先上升到达最大值后,再下降直到稳态。
在欠阻尼的状态下,b越大,系统振荡越大,振荡频率越高。
不论是何种阻尼,在1s后基本都衰减为零。
源代码:
(1)单位脉冲与单位阶跃响应程序:
t=[0:
0.001:
2];
kb=0.1;num1=20*kb;den1=[110num1];G1=tf(num1,den1);
kb=1.25;num2=20*kb;den2=[110num2];G2=tf(num2,den2);
kb=10;num3=20*kb;den3=[110num3];G3=tf(num3,den3);
kb=100;num4=20*kb;den4=[110num4];G4=tf(num4,den4);
[y1,T]=impulse(G1,t);[y1a,T]=step(G1,t);
[y2,T]=impulse(G2,t);[y2a,T]=step(G2,t);
[y3,T]=impulse(G3,t);[y3a,T]=step(G3,t);
[y4,T]=impulse(G4,t);[y4a,T]=step(G4,t);
subplot(121),plot(T,y1,'--',T,y2,'-.',T,y3,'-',T,y4,':
');
legend('kb=0.1','kb=1.25','kb=10','kb=100');
title('不同kb取值下的单位脉冲响应');
xlabel('t(sec)');ylabel('x(t)');gridon;
subplot(122),plot(T,y1a,'--',T,y2a,'-.',T,y3a,'-',T,y4a,':
');
legend('kb=0.1','kb=1.25','kb=10','kb=100');
title('不同kb取值下的单位阶跃响应');
xlabel('t(sec)');ylabel('x(t)');gridon;
(2)求性能指标程序
t=[0:
0.001:
20];yss=1;dta=0.02;
kb=0.1;num1=20*kb;den1=[110num1];G1=tf(num1,den1);
kb=1.25;num2=20*kb;den2=[110num2];G2=tf(num2,den2);
kb=10;num3=20*kb;den3=[110num3];G3=tf(num3,den3);
kb=100;num4=20*kb;den4=[110num4];G4=tf(num4,den4);
y1=step(G1,t);
y2=step(G2,t);
y3=step(G3,t);
y4=step(G4,t);
r=1;
whiley1(r)<0.9*yss&r<20001;r=r+1;end
tr1=(r-1)*0.001;
[ymax,tp]=max(y1);
tp1=(tp-1)*0.001;
mp1=(ymax-yss)/yss;
s=20001;
whiley1(s)>1-dta&y1(s)<1+dta;s=s-1;end
ts1=s*0.001;
r=1;
whiley2(r)<0.9*yss&r<20001;r=r+1;end
tr2=(r-1)*0.001;
[ymax,tp]=max(y2);
tp2=(tp-1)*0.001;
mp2=(ymax-yss)/yss;
s=20001;
whiley2(s)>1-dta&y2(s)<1+dta;s=s-1;end
ts2=s*0.001;
r=1;
whiley3(r)tr3=(r-1)*0.001;
[ymax,tp]=max(y3);
tp3=(tp-1)*0.001;
mp3=(ymax-yss)/yss;
s=20001;
whiley3(s)>1-dta&y3(s)<1+dta;s=s-1;end
ts3=s*0.001;
r=1;
whiley4(r)tr4=(r-1)*0.001;
[ymax,tp]=max(y4);
tp4=(tp-1)*0.001;
mp4=(ymax-yss)/yss;
s=20001;
whiley4(s)>1-dta&y4(s)<1+dta;s=s-1;end
ts4=s*0.001;
[tr1tp1mp1ts1;tr2tp2mp2ts2;tr3tp3mp3ts3;tr4tp4mp4ts4]