2022年自动控制控制系统时域响应的仿真及分析 .pdf
2014-2015 学年第1 学期院别: 控制工程学院课程名称 : 自动控制原理实验名称 : 控制系统时域响应的仿真及分析实验教室 : 指导教师 : 郭德全小组成员(姓名,学号): 实验日期:2014 年10 月11 日评分:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 一、实验目的:1、学习并掌握利用MATLAB 编程平台进行控制系统传递函数仿真的方法。2、通过仿真实验研究并总结MATLAB 的一些基本操作。3、练习课本书上第二章与第三章中的计算机仿真部分。二、实验任务及要求:实验任务:熟悉一些 MATLAB 在控制系统中的基本运用。测试以下内容:1.例 2.15 传递函数,利用MATLAB ,计算 G(s)的零点和极点、 H(s)的特征方程以及商G(s)/H(s),在复平面上得到G(s)/H(s)的零-极点图。2.例 2.16 串联联接的框图,熟悉series ,parallel,feedback等函数3.例 2.19 多回路化简,例 2.20 电力牵引电机控制。4.例 4.2 速度控制系统,5.例 4.3 隧道钻机根据实验结果,总结各自的响应规律。实验要求:以上仿真及图形绘制全部采用MATLAB 平台编程完成。三、涉及实验的相关情况介绍(包含实验软件、实验设备、实验方案设计等情况):本次试验采用 matlab 软件仿真,所有试验均为书面例子,即验证性试验。熟悉matlab 的各个命令,学会利用 matlab 计算机辅助设备仿真。四、实验结果(含实验仿真程序、仿真曲线、数据记录表格及实验规律分析与总结等,可附页):(实验一)例2.15G(s)的零点和极点:H(s)的特征方程:z = num/den = 0 + 0.4082i s2 + 3 s + 2 0 - 0.4082i -s3 + 3 s2 + 4 s + 12G(s)/H(s)的商:num/den = 6 s5 + 18 s4 + 25 s3 + 75 s2 + 4 s + 12 - s5 + 6 s4 + 14 s3 + 16 s2 + 9 s + 2名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 复平面上 G(s)/H(s)的零-极点图:代码如下:numg=6 0 1;deng=1 3 3 1;z=roots(numg)n1=1 1;n2=1 2;d1=1 2*i;d2=1 -2*i;d3=1 3;numh=conv(n1,n2);denh=conv(d1,conv(d2,d3);printsys(numh,denh) num=conv(numg,denh);den=conv(deng,numh);printsys(num,den) pzmap(num,den)title(Pole-Zero Map)(实验二)例2.16 简化框图串联: (series )简化框图并联:(parallel)num/den = num/den = s + 1 500 s3 + 500 s2 + s + 2 - - 500 s3 + 1000 s2 500 s3 + 1000 s2名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 简化框图计算闭环传递函数一(cloop) :简化框图计算闭环传递函数二:(feedback)num/den = num/den = s + 1 s + 2 - - 500 s3 + 1000 s2 + s + 1 500 s3 + 1000 s2 + s + 1代码如下:numg=1;deng=500 0 0;numh=1 1;denh=1 2;num,den=series(numg,deng,numh,denh);printsys(num,den)nump,denp=parallel(numg,deng,numh,denh);printsys(nump,denp)numc,denc=cloop(num,den,-1);printsys(numc,denc)numf,denf=feedback(numg,deng,numh,denh,-1);printsys(numf,denf)(实验三)例2.19 多回路闭环传递函数化简:num/den = s5 + 4 s4 + 6 s3 + 6 s2 + 5 s + 2 - 12 s6 + 205 s5 + 1066 s4 + 2517 s3 + 3128 s2 + 2196 s + 712代码如下:n1=1;d1=1 10;n2=1;d2=1 1;n3=1 0 1;d3=1 4 4;n4=1 1;d4=1 6;nh1=1 1;dh1=1 2;nh2=2;dh2=1;nh3=1;dh3=1;ng1=conv(nh2,d4);dg1=conv(dh2,n4);ng2,dg2=series(n3,d3,n4,d4);ng3,dg3=feedback(ng2,dg2,nh1,dh1,+1);ng4,dg4=series(n2,d2,ng3,dg3);ng5,dg5=feedback(ng4,dg4,ng1,dg1);ng6,dg6=series(n1,d1,ng5,dg5);num,den=cloop(ng6,dg6,-1);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - printsys(num,den)零极点对消: (minreal)num/den = 0.083333 s4 + 0.25 s3 + 0.25 s2 + 0.25 s + 0.16667 - s5 + 16.0833 s4 + 72.75 s3 + 137 s2 + 123.6667 s + 59.3333代码如下:deng=12 205 1066 2517 3128 2196 712;num,den=minreal(numg,deng);1 pole-zero(s) cancelledprintsys(num,den)(实验三)例2.20 电力牵引电机控制传递函数化简:num/den = 5400 - 20.5 s + 5421.5 系统阶跃 step 响应:00.511.522.5300.20.40.60.811.21.41.61.82TimesecWheelvelocity代码如下:n1=10;d1=1 1;n2=1;d2=20.5;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - n3=540;d3=1;n4=0.1;d4=1;num1,den1=series(n1,d1,n2,d2);num2,den2=feedback(num1,den1,n4,d4,-1);printsys(num2,den2)num3,den3=series(n3,d3,num2,den2);num,den=cloop(num3,den3,-1);printsys(num,den)num=5400;den=2 2.5 5402;t=0:0.005:3;y,x,t=step(num,den,t);plot(t,y),gridxlabel(Timesec)ylabel(Wheel velocity)(实验四)例4.2 速度控制系统速度控制系统传递函数: (开环)系统稳态误差Yo: (开环)num/den = ans = -1 -0.6666 - 2 s + 1.5开环系统在输入Va(s)=0,对阶跃干扰的响应曲线:024681012-0.7-0.6-0.5-0.4-0.3-0.2-0.10timesecspeedOpen-loop Disturbance Step Response名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 在输入为零的(即预期输出响应为零)的情况下,干扰响应的终值就是系统的稳态误差。代码如下:Ra=1;Km=10;J=2;b=0.5;Kb=0.1;num1=1;den1=J,b;num2=Km*Kb/Ra;den2=1;num,den=feedback(num1,den1,num2,den2);%num=-num;printsys(num,den)%yo,x,t=step(num,den);plot(t,yo),gridxlabel(timesec),ylabel(speed)title(Open-loop Disturbance Step Response)%yo(length(t)速度控制系统传递函数: (闭环)速度控制系统稳态误差Yc 之比: (闭环)num/den = ans = -1 -0.0018 - 2 s + 541.5闭环系统对阶跃干扰的响应曲线:00.0050.010.0150.020.0250.030.035-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.20 x 10-3timesecspeedrad/secClose-loop Disturbance Step Response由上图分析可知,引入负反馈已明显减小了干扰对输出的影响。这说明闭环反馈系统具有噪声抑制特性。代码如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - Ra=1;Km=10;J=2;b=0.5;Kb=0.1;Ka=54;Kt=1;num1=1;den1=J,b;num2=Ka*Kt;den2=1;num3=Kb;den3=1;num4=Km/Ra;den4=1;num5,den5=parallel(num2,den2,num3,den3);num6,den6=series(num5,den5,num4,den4);num,den=feedback(num1,den1,num6,den6);%num=-num;printsys(num,den)%yc,x,t=step(num,den);plot(t,yc),gridxlabel(timesec),ylabel(speedrad/sec)title(Close-loop Disturbance Step Response)%yc(length(t) (实验五)例4.3 英吉利海峡海底隧道钻机系统的传递函数: (增益 K=100)系统的传递函数: (增益 K=20 )num/den = num/den = 11 s + 100 11 s + 20 - - s2 + 12 s + 100 s2 + 12 s + 20增益 K 对瞬态响应的影响: (阶跃输入)00.20.40.60.811.21.41.61.8200.511.5Step Response for K=100timesecy(t)00.20.40.60.811.21.41.61.8200.511.5Step Response for K=20timesecy(t)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 由图可看出,在相同条件下,随着K 值的减小,超调量也将减小,而调节时间将增大。代码如下:numg=1;deng=1 1 0;K1=100;K2=20;num1=11 K1;num2=11 K2;den=0 1;%n1,d1=series(num1,den,numg,deng);n2,d2=series(num2,den,numg,deng);n3,d3=cloop(n1,d1);n4,d4=cloop(n2,d2);%t=0:0.01:2.0;y1,x,t=step(n3,d3,t);y2,x,t=step(n4,d4,t);subplot(211),plot(t,y1),title(Step Response for K=100)xlabel(timesec),ylabel(y(t),gridsubplot(212),plot(t,y2),title(Step Response for K=20)xlabel(timesec),ylabel(y(t),grid增益 K 对瞬态响应的影响: (阶跃干扰)00.511.522.500.0050.010.015Disturbance Response for K=100timesecy(t)00.511.522.500.020.040.06Disturbance Response for K=20timesecy(t)增加 K 值将减小单位阶跃干扰的稳态响应Y(t) 的幅值。代码如下:numg=1;deng=1 1 0;K1=100;K2=20;num1=11 K1;num2=11 K2;den=0 1;%n1,d1=feedback(numg,deng,num1,den);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - n2,d2=feedback(numg,deng,num2,den);%t=0:0.01:2.5;y1,x,t=step(n1,d1,t);y2,x,t=step(n2,d2,t);subplot(211),plot(t,y1),title(Disturbance Response for K=100)xlabel(timesec),ylabel(y(t),gridsubplot(212),plot(t,y2),title(Disturbance Response for K=20)xlabel(timesec),ylabel(y(t),grid系统灵敏度与增益K:num/den = s ( s + 1 )- s ( s + 12 ) + K对象变化时系统的灵敏度:-0.200.20.40.60.811.200.20.40.60.8System Sensitivity to Plant VariationsS(s) =s(s + 1)s2+ 12s + KReal(S)imag(S)10-110010110210310-410-2100102S(s):sKwrad/secAbs(S)由上面实验可知,减小K 值可以减小超调量,增加K 值可以更好地抑制噪声。系统灵敏度和近似灵敏度相差不大。但超出一定量后,近似灵敏度将不再适用。代码如下:K=20;num=1 1 0;den=1 12 K;w=logspace(-1,3,200);s=w*i;n=s.2+s;d=s.2+12*s+K;S=n./d;n2=s;d2=K;S2=n2./d2;%subplot(211);plot(real(S),imag(S)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - title(System Sensitivity to Plant Variations)text(Interpreter, latex, String, .$S(s)=fracs(s+1)s2+12s+K$, Position,.2 .4,FontSize,12) xlabel(Real(S),ylabel(imag(S),gridsubplot(212),loglog(w,abs(S),w,abs(S2)text(Interpreter, latex, String, .$S(s)approx fracsK$, Position,102 50,FontSize,12) xlabel(wrad/sec),ylabel(Abs(S),grid 五、实验总结:(含建议、收获等)本次试验让我进一步学习到matlab的相关知识,掌握了一些matlab的基本用法,比如series ,parallel,cloop ,feedback ,minreal ,frac.approx等命令的用法,学会了利用计算机仿真来进行自动控制实验的对比。只有试验过,才会体会到matlab 数学、设计、仿真、编程等功能的强大。通过它我开始了解到自动控制这门课程的趣味所在。虽然在学习过程中我遇到了很多的不懂,比如在仿真过程中,很多命令不会用,也不知道正确的书写格式,导致仿真瘫痪。但是不断的钻研和请教让我发现,原来自动控制也可以不用想象中的那么无聊乏味,也让我认识到matlab 也不是想象中那么神秘。我相信在以后的学习中它会帮助我建立起对自动控制的喜爱。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -