自动控制控制系统时域呼应的仿真及分析.docx

上传人:b****8 文档编号:11118063 上传时间:2023-02-25 格式:DOCX 页数:15 大小:126.16KB
下载 相关 举报
自动控制控制系统时域呼应的仿真及分析.docx_第1页
第1页 / 共15页
自动控制控制系统时域呼应的仿真及分析.docx_第2页
第2页 / 共15页
自动控制控制系统时域呼应的仿真及分析.docx_第3页
第3页 / 共15页
自动控制控制系统时域呼应的仿真及分析.docx_第4页
第4页 / 共15页
自动控制控制系统时域呼应的仿真及分析.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

自动控制控制系统时域呼应的仿真及分析.docx

《自动控制控制系统时域呼应的仿真及分析.docx》由会员分享,可在线阅读,更多相关《自动控制控制系统时域呼应的仿真及分析.docx(15页珍藏版)》请在冰豆网上搜索。

自动控制控制系统时域呼应的仿真及分析.docx

自动控制控制系统时域呼应的仿真及分析

 

2014-2015学年第1学期

院别:

控制工程学院

课程名称:

自动控制原理

实验名称:

控制系统时域响应的仿真及分析

实验教室:

指导教师:

郭德全

小组成员(姓名,学号):

实验日期:

2014年10月11日

评分:

 

一、实验目的:

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.15

G(s)的零点和极点:

H(s)的特征方程:

z=num/den=

0+0.4082is^2+3s+2

0-0.4082i----------------------

s^3+3s^2+4s+12

G(s)/H(s)的商:

num/den=

6s^5+18s^4+25s^3+75s^2+4s+12

-------------------------------------------

s^5+6s^4+14s^3+16s^2+9s+2

复平面上G(s)/H(s)的零-极点图:

代码如下:

numg=[601];deng=[1331];

z=roots(numg)

n1=[11];n2=[12];d1=[12*i];d2=[1-2*i];d3=[13];

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-ZeroMap')

 

(实验二)例2.16

简化框图串联:

(series)简化框图并联:

(parallel)

num/den=num/den=

s+1500s^3+500s^2+s+2

--------------------------------------------

500s^3+1000s^2500s^3+1000s^2

 

简化框图计算闭环传递函数一(cloop):

简化框图计算闭环传递函数二:

(feedback)

num/den=num/den=

s+1s+2

------------------------------------------------------

500s^3+1000s^2+s+1500s^3+1000s^2+s+1

代码如下:

numg=[1];deng=[50000];

numh=[11];denh=[12];

[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=

s^5+4s^4+6s^3+6s^2+5s+2

----------------------------------------------------------------

12s^6+205s^5+1066s^4+2517s^3+3128s^2+2196s+712

代码如下:

n1=[1];d1=[110];

n2=[1];d2=[11];

n3=[101];d3=[144];

n4=[11];d4=[16];

nh1=[11];dh1=[12];

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);

printsys(num,den)

零—极点对消:

(minreal)

num/den=

0.083333s^4+0.25s^3+0.25s^2+0.25s+0.16667

--------------------------------------------------------------

s^5+16.0833s^4+72.75s^3+137s^2+123.6667s+59.3333

代码如下:

deng=[122051066251731282196712];

[num,den]=minreal(numg,deng);

1pole-zero(s)cancelled

printsys(num,den)

(实验三)例2.20

电力牵引电机控制传递函数化简:

num/den=

5400

---------------

20.5s+5421.5

系统阶跃step响应:

代码如下:

n1=[10];d1=[11];

n2=[1];d2=[20.5];

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=[22.55402];

t=[0:

0.005:

3];

[y,x,t]=step(num,den,t);

plot(t,y),grid

xlabel('Time[sec]')

ylabel('Wheelvelocity')

 

(实验四)例4.2速度控制系统

速度控制系统传递函数:

(开环)系统稳态误差Yo:

(开环)

num/den=ans=

-1-0.6666

---------

2s+1.5

开环系统在输入Va(s)=0,对阶跃干扰的响应曲线:

在输入为零的(即预期输出响应为零)的情况下,干扰响应的终值就是系统的稳态误差。

代码如下:

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),grid

xlabel('time[sec]'),ylabel('speed')

title('Open-loopDisturbanceStepResponse')

%

yo(length(t))

速度控制系统传递函数:

(闭环)速度控制系统稳态误差Yc之比:

(闭环)

num/den=ans=

-1-0.0018

-----------

2s+541.5

闭环系统对阶跃干扰的响应曲线:

由上图分析可知,引入负反馈已明显减小了干扰对输出的影响。

这说明闭环反馈系统具有噪声抑制特性。

代码如下:

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),grid

xlabel('time[sec]'),ylabel('speed[rad/sec]')

title('Close-loopDisturbanceStepResponse')

%

yc(length(t))

 

(实验五)例4.3英吉利海峡海底隧道钻机

系统的传递函数:

(增益K=100)系统的传递函数:

(增益K=20)

num/den=num/den=

11s+10011s+20

-------------------------------

s^2+12s+100s^2+12s+20

增益K对瞬态响应的影响:

(阶跃输入)

由图可看出,在相同条件下,随着K值的减小,超调量也将减小,而调节时间将增大。

代码如下:

numg=[1];deng=[110];

K1=100;K2=20;

num1=[11K1];num2=[11K2];den=[01];

%

[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('StepResponseforK=100')

xlabel('time[sec]'),ylabel('y(t)'),grid

subplot(212),plot(t,y2),title('StepResponseforK=20')

xlabel('time[sec]'),ylabel('y(t)'),grid

增益K对瞬态响应的影响:

(阶跃干扰)

增加K值将减小单位阶跃干扰的稳态响应Y(t)的幅值。

代码如下:

numg=[1];deng=[110];

K1=100;K2=20;

num1=[11K1];num2=[11K2];den=[01];

%

[n1,d1]=feedback(numg,deng,num1,den);

[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('DisturbanceResponseforK=100')

xlabel('time[sec]'),ylabel('y(t)'),grid

subplot(212),plot(t,y2),title('DisturbanceResponseforK=20')

xlabel('time[sec]'),ylabel('y(t)'),grid

系统灵敏度与增益K:

num/den=

s(s+1)

----------------

s(s+12)+K

对象变化时系统的灵敏度:

由上面实验可知,减小K值可以减小超调量,增加K值可以更好地抑制噪声。

系统灵敏度和近似灵敏度相差不大。

但超出一定量后,近似灵敏度将不再适用。

代码如下:

K=20;

num=[110];den=[112K];

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))

title('SystemSensitivitytoPlantVariations')

text('Interpreter','latex','String',...

'$$S(s)=\frac{s(s+1)}{s^2+12s+K}$$','Position',[.2.4],'FontSize',12)

xlabel('Real(S)'),ylabel('imag(S)'),grid

subplot(212),loglog(w,abs(S),w,abs(S2))

text('Interpreter','latex','String',...

'$$S(s)\approx\frac{s}{K}$$','Position',[10^250],'FontSize',12)

xlabel('w[rad/sec]'),ylabel('Abs(S)'),grid

五、实验总结:

(含建议、收获等)

本次试验让我进一步学习到matlab的相关知识,掌握了一些matlab的基本用法,比如series,parallel,cloop,feedback,minreal,\frac.\approx等命令的用法,学会了利用计算机仿真来进行自动控制实验的对比。

只有试验过,才会体会到matlab数学、设计、仿真、编程等功能的强大。

通过它我开始了解到自动控制这门课程的趣味所在。

虽然在学习过程中我遇到了很多的不懂,比如在仿真过程中,很多命令不会用,也不知道正确的书写格式,导致仿真瘫痪。

但是不断的钻研和请教让我发现,原来自动控制也可以不用想象中的那么无聊乏味,也让我认识到matlab也不是想象中那么神秘。

我相信在以后的学习中它会帮助我建立起对自动控制的喜爱。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1