(机电控制系统时域频域分析)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《机电系统控制基础》大作业一

基于MATLAB的机电控制系统响应分析

哈尔滨工业大学

2013年11月9日

1

作业题目

1. 用MATLAB 绘制系统2

()25()()

425

C s s R s s s Φ==

++的单位阶跃响应曲线、单位斜坡响应曲线。

2. 用MATLAB 求系统2

()25

()()425

C s s R s s s Φ==++的单位阶跃响应性能指标:上升时间、峰值时间、调节时间和超调量。

3. 数控直线运动工作平台位置控制示意图如下:

X i

伺服电机原理图如下:

L

R

(1)假定电动机转子轴上的转动惯量为J 1,减速器输出轴上的转动惯量为J 2,减速器减速比为i ,滚珠丝杠的螺距为P ,试计算折算到电机主轴上的总的转动惯量J ;

(2)假定工作台质量m ,给定环节的传递函数为K a ,放大环节的传递函数为K b ,包括检测装置在内的反馈环节传递函数为K c ,电动机的反电势常数为K d ,电动机的电磁力矩常数为K m ,试建立该数控直线工作平台的数学模型,画出其控制系统框图;

(3)忽略电感L 时,令参数K a =K c =K d =R=J=1,K m =10,P/i =4π,利用MATLAB 分析kb 的取值对于系统的性能的影响。

题目1

直接用matlab编程运行程序,得出结果

仿真结果

源代码

>> dum=[25];

>> den1=[1 4 25];

>> den2=[1 4 25 0];

>> G1=tf(dum,den1);

>> G2=tf(dum,den2);

>> t=[0:0.01:4];

>> [y1,T]=step(G1,t);

>> [y2,T]=step(G2,t);

>> xlabel('t(sec)')

>> ylabel('x(t)')

>> plot(T,y1,'-',T,y2,'--')

>> legend('单位阶跃响应曲线','单位斜坡响应曲线')

>> grid on;

题目2

用matlab编程运行仿真结果如下图

ans =

0.4330 0.6860 0.2538 1.0000

说明由仿真结果可知系统对单位阶跃信号响应上升时间tr=0.4330s ,峰值时间tp=0.6860s ,最大超调量Mp=25.38% ,调整时间ts=1s.

源代码

>> t=[0:0.001:3];

>> yss=1;dta=0.02;

>> dum=[25];

>> den=[1 4 25];

>> G=tf(dum,den);

>> y=step(G,t);

>> r=1;while y(r)

>> tr=(r-1)*0.001;

>> [ymax,tp]=max(y);tp=(tp-1)*0.001;

>> Mp=(ymax-yss)/yss;

>> s=1001;while y(s)>1-dta & y(s)<1+dta ; s=s-1;end

>> ts=(s-1)*0.001;

>> [tr tp Mp ts]

题目3

(1)由题可推出

2

22212)2(21)1(212121i

p m i J J J πωωωω++= 即 2221)2(i P m i j J J π++= (2)系统框图如下 系统方框图:

(3)忽略电感L 时,令参数K a =K c =K d =R=J=1,K m =10,P/i =4π 系统传递函数可简化成b

b

x K s s K s G i 201020)(2++=

仿真结果图:

ans =

0.2420 0.3630 0.1630 0.8070

0.1470 0.2370 0.3050 0.7740

0.0630 0.1130 0.5688 0.7120

由此可知,当Kb增大时,系统的上升时间、峰值时间和调整时间逐渐减少,对单位阶跃干扰的影响最大值(绝对值)减少,而系统的超调量逐渐增大。这说明二阶系统性能指标之间存在一定矛盾性。

程序源代码:

>> t=[0:0.001:3];

>> yss=1;dta=0.02;

>> dum=[20];

>> Kb=5;den1=[1 10 20*Kb];G1=tf(dum*Kb,den1);

>> Kb=10;den2=[1 10 20*Kb];G2=tf(dum*Kb,den2);

>> Kb=40;den3=[1 10 20*Kb];G3=tf(dum*Kb,den3);

>> [y1,T]=step(G1,t);

>> [y2,T]=step(G2,t);

>> [y3,T]=step(G3,t);

>> plot(T,y1,'-',T,y2,'--',T,y3,'-.')

>> legend('Kb=5','Kb=10','Kb=40')

>> r=1;while y1(r)

>> tr1=(r-1)*0.001;

>> [ymax,tp]=max(y1);tp1=(tp-1)*0.001;

>> Mp1=(ymax-yss)/yss;

>> s=1001;while y1(s)>1-dta & y1(s)<1+dta ; s=s-1;end

>> ts1=(s-1)*0.001;

相关文档
最新文档