当前位置:文档之家› 大作业1(机电控制系统时域频域分析)

大作业1(机电控制系统时域频域分析)

《机电系统控制基础》大作业一基于MATLAB的机电控制系统响应分析哈尔滨工业大学2013年11月4日1作业题目1. 用MATLAB 绘制系统2()25()()425C s s R s s s Φ==++的单位阶跃响应曲线、单位斜坡响应曲线。

2. 用MATLAB 求系统2()25()()425C s s R s s s Φ==++的单位阶跃响应性能指标:上升时间、峰值时间、调节时间和超调量。

3. 数控直线运动工作平台位置控制示意图如下:X i伺服电机原理图如下:LR(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 的取值对于系统的性能的影响。

2 题目1单位脉冲响应曲线单位阶跃响应曲线源代码t=[0:0.01:1.6]; %仿真时间区段和输入nC=[25];dR=[1,4,25];fi=tf(nC,dR); %求系统模型[y1,T]=impulse(fi,t);[y2,T]=step(fi,t); %系统响应plot(T,y1);xlabel('t(sec)'),ylabel('x(t)'); grid on;plot(T,y2);xlabel('t(sec)'),ylabel('x(t)'); grid on; %生成图形3 题目2借助Matlab,可得:ans =0.4330 0.6860 25.3826 1.0000即源代码t=[0:0.001:1];yss=1;dta=0.02; %设定仿真时间区段和误差限nC=[25];dR=[1,4,25];fi=tf(nC,dR);y=step(fi,t); %计算系统的单位阶跃响应r=1;while y(r)<yss;r=r+1;endtr=(r-1)*0.001; %上升时间[ymax,tp]=max(y);tp=(tp-1)*0.001;%峰值时间mp=(ymax-yss)/yss*100;%最大超调量s=1001;whiley(s)>1-dta && y(s)<1+dta;s=s-1;end ts=(s-1)*0.001;%调整时间[tr,tp,mp,ts]4题目3设小齿轮所在的轴为I 轴,大齿轮所在的轴为II 轴。

1T ,2T ,3T 分别为总负载,小齿轮和大齿轮的负载,'2T 为II 轴输入转矩。

根据力平衡原理,I ,II 轴的力平衡方程分别为1112d T J T dt ω=+ ,'2223d T J T dtω=+ 1ω2ω分别为小齿轮和大齿轮的角速度.根据轴II 输入转矩2T 是由轴I 上的负载转矩获得的 ,与且它们的转速成反比,所以有:22'T iT =将工作台质量折算到I 轴。

在工作台和丝杠间,3T 驱动丝杠使工作台运动。

根据动力平衡关系,即丝杠转动一周所做的功等于工作台前进一个导程时其惯性力所做的功,有32dv T m P dt π⎛⎫= ⎪⎝⎭v 为工作台位移时的线速度,P 为导程。

又根据传动关系有: 2122P P v iωωππ== 联立以上各式有: 211111222112d d P d T J m J dt i dt i dtωωωπ⎛⎫=++ ⎪⎝⎭由于 11d T J dtω=故221222J m P J J i i π⎛⎫=++ ⎪⎝⎭(1)X i参考课本2-25得电动机至工作台的微分方程式:22(t)(t)(t)d m m d d d RJ K K K u dt dt θθ+=取拉普拉斯变换得:(s)(Ts 1)K G s =+式中m d RJ T K K =1d K K = 系统闭环传递函数11(s)(Ts 1)e a bb b KK K K K G s K K K=++式中12P K i π=(3)将已知条件带入得系统传递函数为:220(s)1020bb bK G s s K =++由二阶系统的典型传递函数222(s)(s)2o n i n n X X s ωωξω=++可知nω=ξ=K<1.25时,系统为过阻尼系统;可知:0<bK=1.25时,系统为临界阻尼系统;bK>1.25时,系统为欠阻尼系统。

b源代码syms s;t=[0:0.001:2];kb=0.1;num1=20*kb;den1=[1 10 num1];G1=tf(num1,den1);kb=1;num2=20*kb;den2=[1 10 num2];G2=tf(num2,den2);kb=10;num3=20*kb;den3=[1 10 num3];G3=tf(num3,den3);kb=100;num4=20*kb;den4=[1 10 num4];G4=tf(num4,den4); %写出Kb取不同值时的传递函数[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); %建立相应的单位脉冲响应与阶跃响应figureplot(T,y1,'--',T,y2,'-.',T,y3,'-',T,y4,':','LineWidth',2); legend('Kb=0.1','Kb=1','Kb=10','Kb=100');title('不同Kb取值下单位脉冲响应');xlabel('t(sec)');ylabel('x(t)');grid on;figureplot(T,y1a,'--',T,y2a,'-.',T,y3a,'-',T,y4a,':','LineWidth',2); legend('Kb=0.1','Kb=1','Kb=10','Kb=100');title('不同Kb取值下单位阶跃响应');xlabel('t(sec)');ylabel('x(t)');grid on; %生成图形t=[0:0.001:5];y1=step(G1,t);y2=step(G2,t);y3=step(G3,t);y4=step(G4,t);yss=1;dta=0.02;r=1;while y1(r)<yss&r<5001;r=r+1;endtr1=(r-1)*0.001; %K b=0.1时的上升时间[ymax,tp]=max(y1);tp1=(tp-1)*0.001; %K b=0.1时的峰值时间mp1=(ymax-yss)/yss; %K b=0.1时的最大超调量s=5001;while y1(s)>1-dta&y1(s)<1+dta;s=s-1;end ts1=(s-1)*0.001; %Kb=0.1时的调整时间r=1;while y2(r)<yss&r<5001;r=r+1;endtr2=(r-1)*0.001; %Kb=1时的上升时间[ymax,tp]=max(y2);tp2=(tp-1)*0.001; %Kb=1时的峰值时间mp2=(ymax-yss)/yss; %Kb=1时的最大超调量s=5001;while y2(s)>1-dta&y2(s)<1+dta; s=s-1;end ts2=(s-1)*0.001; %Kb=1时的调整时间r=1;while y3(r)<yss;r=r+1;endtr3=(r-1)*0.001; %Kb=10时的上升时间[ymax,tp]=max(y3);tp3=(tp-1)*0.001; %Kb=10时的峰值时间mp3=(ymax-yss)/yss; %Kb=10时的最大超调量s=5001;while y3(s)>1-dta&y3(s)<1+dta;s=s-1;end ts3=(s-1)*0.001;%Kb=10时的调整时间r=1;while y4(r)<yss;r=r+1;endtr4=(r-1)*0.001;%Kb=100时的上升时间[ymax,tp]=max(y4);tp4=(tp-1)*0.001;%Kb=100时的峰值时间mp4=(ymax-yss)/yss; %Kb=100时的最大超调量s=5001;while y4(s)>1-dta&y4(s)<1+dta;s=s-1;end ts4=(s-1)*0.001;%Kb=100时的调整时间[tr1,tp1,mp1,ts1][tr2,tp2,mp2,ts2][tr3,tp3,mp3,ts3][tr4,tp4,mp4,ts4] %显示结果。

相关主题