您的当前位置:首页正文

控制系统仿真实验报告

2023-06-06 来源:易榕旅网


控制系统仿真实验报告

姓 名: 王天雷 班 级: 231142 学 号: 20131004363 学 院: 自动化 专 业: 自动化 指导老师: 刘峰

2017 年 1 月

目录

7.2.2.....................................................1 7.2.3.....................................................7 7.2.4....................................................12 7.2.5....................................................17 7.2.6....................................................21 7.3.1....................................................24 总结.....................................................25

7.2.2 控制系统的阶跃响应

实验目的:观察学习控制系统的单位阶跃响应 记录单位阶跃响应曲线

掌握时间响应分析的一般方法

实验内容: 1. 二阶系统Gs10s2s102

1)键入程序,观察并记录单位阶跃响应曲线 First.m close all; clear all; clc;

num=[10];den=[1 2 10]; step(num,den); title(‘阶跃响应曲线’);

2)键入damp(den) 计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录

结果:

Eigenvalue(闭环根) Damping(阻尼比) Freq. (rad/s)(无阻尼振荡频率)

1

-1.00e+000 + 3.00e+000i 3.16e-001 3.16e+000 -1.00e+000 - 3.00e+000i 3.16e-001 3.16e+000

3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:

峰值Cmax 峰值时间tp 过渡时间 Ts 实际值 1.35 1.05 2.52 3.54 理论值 1.3511 1.0467 2.501 3.535 5% 2%

由理论知识知 4.5

2% nts(00.9)  3.5   5% n

编写代码x.m

%返回峰值时间,超调量,调节时间5%,2% function [tr b ts1 ts2]=x(a,wn) wd=wn*(1-a^2)^0.5;%求解wd tp=3.14/wd;%峰值时间

b=exp((-3.14*a/(1-a^2)^0.5));%超调量 ts1=3.5/(wn*a),ts2=4.5/(wn*a);%调节时间 计算得到理论值,填入表中

2

tp/d/3

2 1)修改参数,分别实现1和2的响应曲线,并记录 程序:second.m clear all; close all; clc;

n0=10;d0=[1 2 10];step(n0,d0);%原系统,kesai=0.36 hold on;%保持原曲线

n1=n0;d1=[1 6.32 10];step(n1,d1);%kesai=1; n2=n0;d2=[1 12.64 10];step(n2,d2);%kesai=2;

如图,kesai分别为0.36,1,2,曲线幅度递减

2)修改参数,分别写出程序实现wn11w0和wn22w0的响应曲线,并记录

2程序:third.m clear all; close all; clc;

n0=10;d0=[1 2 10];step(n0,d0);%原系统,wn0=10^0.5 hold on;%保持原曲线

n1=0.25*n0;d1=[1 1 n1];step(n1,d1);%wn1=0.5*wn0; n2=4*n0;d2=[1 4 n2];step(n2,d2);%wn2=4*wn0=2;

3

如图,wn=2*wn0,wn0,0.5*wn0,上升时间逐渐增长,超调量不变

3. 作出以下系统的阶跃响应,并与原系统响应曲线进行比较,作出相应的实验分析结果

(1)G1s(2)G2s2s10s2s1022,有系统零点的情况

s20.5s10s2s10,分子、分母多项式阶数相等

(3)G2s(4)G2s

s20.5ss2s10ss2s1022,分子多项式零次项为零

,原响应的微分,微分系数为1/10

程序:

%各系统阶跃响应曲线比较

G0=tf([10],[1 2 10]);G1=tf([2 10],[1 2 10]);G2=tf([1 0.5 10],[1 2 10]); G3=tf([1 0.5 0],[1 2 10]);G4=tf([1 0 ],[1 2 10]); step(G0,G1,G2,G3,G4); grid on;

title(' Step Response 曲线比较');

4

4.试做一个三阶系统和四阶系统的阶跃响应,并分析实验结果 假设一个三阶和一个四阶系统,如下

sys111sys2 432s3s2s1ssss1

sys1=tf([1],[1 1 1 1]);sys2=tf([1],[1 1 1 1 1]);step(sys1,sys2);

如图,分别为sys1,sys2系统阶跃响应曲线

分析1:系统阻尼比和无阻尼振荡频率对系统阶跃相应的影响

5

解:在欠阻尼响应曲线中,阻尼比越小,超调量越大,上升时间越短,通常取kesai在0.4到0.8之间,此时超调量适度,调节时间较短; 若二阶系统的阻尼比不变,振荡频率不同,其阶跃响应的振荡特性相同但响应速度不同,wn越大,响应速度越快。

分析2:分析系统响应曲线的零初值,非零初值与系统模型的关系。 解:当分子分母多项式阶数相等时响应曲线初值为非零初值,当分子多项式的阶数小于分母多项式的阶数时,响应曲线的初值为零初值。

分析3:分析响应曲线的稳态值和系统模型的关系

解:当分子分母多项式阶数相等时响应曲线稳态值为0,分子多项式的阶数小于分母多项式的阶数时,响应曲线稳态值为1。

分析4:分析系统零点对响应曲线的影响。 解:当系统存在不稳定零点(右半平面零点),系统的阶跃响应可能有向下的峰值。

6

7.2.3 控制系统的脉冲响应

实验目的:观察学习控制系统的单位脉冲响应 记录时间响应曲线

掌握时间响应分析的一般方法

实验内容: 1. 二阶系统Gs10s2s102

1)键入程序,观察并记录单位阶跃响应曲线 First.m close all; clear all; clc;

num=[10];den=[1 2 10]; impulse(num,den); title(‘时间响应曲线’);

3)键入damp(den) 计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录

结果:

7

Eigenvalue(闭环根) Damping(阻尼比) Freq. (rad/s)(无阻尼振荡频率)

-1.00e+000 + 3.00e+000i 3.16e-001 3.16e+000 -1.00e+000 - 3.00e+000i 3.16e-001 3.16e+000

3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:

峰值Cmax 峰值时间tp 过渡时间 Ts 实际值 2.08 0.442 2.93 3.95 理论值 1.3511 1.0467 3.01 4.0 5% 2%

2 1)修改参数,分别实现1和2的响应曲线,并记录 程序:second.m clear all; close all; clc;

n0=10;d0=[1 2 10];impulse(n0,d0);%原系统,kesai=0.36 hold on;%保持原曲线

n1=n0;d1=[1 6.32 10];impulse(n1,d1);%kesai=1; n2=n0;d2=[1 12.64 10];impulse(n2,d2);%kesai=2;

8

如图,kesai分别为0.36,1,2,曲线幅度递减

2)修改参数,分别写出程序实现wn11w0和wn22w0的响应曲线,并记录

2程序:third.m clear all; close all; clc;

n0=10;d0=[1 2 10];impulse(n0,d0);%原系统,wn0=10^0.5 hold on;%保持原曲线

n1=0.25*n0;d1=[1 1 n1];impulse(n1,d1);%wn1=0.5*wn0; n2=4*n0;d2=[1 4 n2];impulse(n2,d2);%wn2=4*wn0=2;

9

如图,wn=2*wn0,wn0,0.5*wn0

3. 作出以下系统的脉冲响应,并与原系统响应曲线进行比较,作出相应的实验分析结果

(1)G1s(2)G2s

2s10s2s1022,有系统零点的情况

s20.5s10s2s10,分子、分母多项式阶数相等

程序:

%各系统脉冲响应曲线比较

G0=tf([10],[1 2 10]);G1=tf([2 10],[1 2 10]);G2=tf([1 0.5 10],[1 2 10]); Impulse(G0,G1,G2); grid on;

title('impulse Response 曲线比较');

分析1:系统阻尼比和无阻尼振荡频率对系统脉冲响应的影响

解:在欠阻尼响应曲线中,阻尼比越小,超调量越大,上升时间越短,通常取kesai在0.4到0.8之间,此时超调量适度,调节时间较短; 若二阶系统的阻尼比不变,振荡频率不同,其阶跃响应的振荡特性相同但响应速度不同,wn越大,响应速度越快。

分析2:分析系统响应曲线的零初值,非零初值与系统模型的关系。 解:当分子分母多项式阶数相等时响应曲线初值为非零初值,当分子多项式的阶数小于分母多项式的阶数时,响应曲线的初值为零初值。

分析3:分析响应曲线的稳态值和系统模型的关系

解:无论分子分母多项式阶数是否相等,系统响应曲线稳态值为0。

10

分析4:分析系统零点对响应曲线的影响。 解:当系统存在不稳定零点(右半平面零点),系统的阶跃响应可能有向下的峰值。

11

7.2.4 控制系统的根轨迹分析

实验目的

1.利用计算机完成控制系统的根轨迹作图 2.了解控制系统根轨迹图的一般规律 3.利用根轨迹图进行系统分析

实验内容 1. Gskgss1s2

要求:

A. 记录根轨迹的起点、终点与根轨迹的条数; B. 确定根轨迹的分离点与相应的根轨迹增益; C. 确定临界稳定时的根轨迹增益kgL

程序: k=1; z=[];

p=[0 -1 -2];

[num,den]=zp2tf(z,p,k); rlocus(num,den);

a: 根轨迹起点为(0,0),(-1,0),(-2,0),终点为无穷远,根轨迹条数为3条

12

b:由图中可得到分离点的坐标大致为(-0.432,0),根轨迹增益为0.385 c:由图中可得到临界稳定时的根轨迹增益大致为5.92 2:G(s)k(s1)

s(s1)(s24s16)确定根轨迹与虚轴的交点并确定系统稳定的根轨迹增益范围。

程序: K=1; z=[-1];

p=[1,0,-2+2*3^0.5*i,-2-2*3^0.5*i]; [num,den]=zp2tf(z,p,k); rlocus(num,den);

13

做出根轨迹图,由图中可以发现分离点坐标分别为(-2.25,0),(0.448,0)

调用rlocfind(num,den)指令,绘出如上两张图,有matlab面板得到根轨迹增益,前者为22.9,后者为36.5,分析根轨迹图可知,须保证根轨迹位于s平面左半边系统才能处于稳定状态,因此,根轨迹增益范围为22.9—36.5。 3. G(s)Kgs3ss2

要求:确定系统具有最大超调量时的根轨迹增益,做时域仿真验证;

确定系统阶跃响应无超调量时的根轨迹增益取值范围,做时域仿真验证; 程序 k=1; z=-3; p=[0,-2];

[num,den]=zp2tf(z,p,k); rlocus(num,den);

分析:对于最大超调量,则对应着最小阻尼比,即最大阻尼角,因此从原点向根轨迹做切线,切点就是对应最大超调量的闭环极点,将其带入闭环特征方程

s(s2)Kgs30,即可得到此时的K值

对于阶跃响应无超调量,则意味着阻尼比大于等于1,因此对应根轨迹上实轴根轨迹部分,因此将分离点,汇合点的值代入闭环特征方程,即可求出两个临界的K

最大超调量:

14

作图得到切点坐标为 -2.03 + 1.43i,此时K值为2.06,此时得到最大超调量

% Matlab阶跃响应曲线程序

num=2.06*[1 3];den=[1 2 0];sys1=tf(num,den);sys2=feedback(sys1,1,-1); step(sys2)

title(' 系统阶跃响应曲线');

此时超调量为2.7%

15

无超调量:由根轨迹图读出分离点和汇合点的增益

可知分离点增益为0.536,汇合点增益为7.46

所以无超调量时的根轨迹增益取值范围为(0,0.536),(7.46,∞)。

4:分析闭环极点在s平面的位置与系统动态性能的关系

16

7.2.5 控制系统的波特图

实验目的

1. 利用计算机作出开环系统的波特图 2. 观察记录控制系统的开环频率特性 3. 控制系统的开环频率特性分析 实验内容

1.G(s) 2.G(s)1 其中T=0.1,a=2,1,0.5,0.1,0.01分别作图并保持

T*T*s22*a*s131.6

s(0.01s1)(0.1s1)要求:a 作波特图

b 计算稳定峪度,并确定系统稳定性

c 在图上作近似折线特性,与原准确特性相比较 1.程序:

kosi1=2; kosi2=1; kosi3=0.5; kosi4=0.1; kosi5=0.01; num=0.01;

den1=[0.01 0.2*kosi1 1]; den2=[0.01 0.2*kosi2 1]; den3=[0.01 0.2*kosi3 1]; den4=[0.01 0.2*kosi4 1]; den5=[0.01 0.2*kosi5 1]; G1=tf(num,den1); G2=tf(num,den2); G3=tf(num,den3); G4=tf(num,den4); G5=tf(num,den5);

bode(G1,G2,G3,G4,G5); grid on;

title('G(s) 波特曲线簇');

得到的结果图:

17

2.程序 clc clear close all num=[31.6];

den=conv([1 0],conv([0.01 1],[0.1 1])); bode(num,den); grid on;

[Mg,Pc,wg,wc]=margin(num,den)

18

分析:

幅值裕度:3.4810 相角裕度:22.2599 对于系统有: 系统稳定时:幅值裕度>1 相角裕度>0 ;幅值裕度和相角裕度越大,系统越稳定。 系统临界稳定时:幅值裕度=1 相角裕度=0; 系统不稳定时:幅值裕度<1 相角裕度<0; 所以该系统是稳定的。 3.G(s)k(s1),令K=1作波特图,应用频域稳定判据确定系统的稳定性,

s2(0.1s1)并确定使系统获得最大相角峪度cmax的增益K值。 程序: num=[1 1];

den=conv([1 0 0],[0.1 1]); bode(num,den);

[Mg,Pc,wg,wc]=margin(num,den) grid on;

[k,r]=rlocfind(num,den)

由图中得到最大相角峪度cmax为44.4594 由matlab面板得到此时的K值为 1.9004e+003

19

0.5s1做波特图并保持曲

0.1s1线,分别计算两个系统的稳定峪度,并比较稳定性。 clc clear close all num=[1];

den=conv([1 0],[1 1]); bode(num,den);

[Mg,Pc,wg,wc]=margin(num,den)

hold on

num=[0.5 1];

den=conv([0.1 1],[1 1 0]); bode(num,den);

[Mg,Pc,wg,wc]=margin(num,den) grid on;

4.已知系统结构图(省略),分别令Gc(s)1,G(s)

稳定峪度由图中可读出来,G(s)0.5s1的相角裕度为68.1degGc(s)1的相

0.1s1角裕度为51.8deg。

0.5s1比较:G(s)的相角裕度大于Gc(s)1的相角裕度。所以0.1s10.5s1G(s)系统稳定性比G(s)=1的系统稳定性要高。

0.1s1

20

7.2.6 控制系统的极坐标图

实验目的:

1.利用计算机作出开环系统的极坐标图 2.极坐标图系统分析

实验内容: 1.系统为G(s)1

s(Ts1)实验要求:

作极坐标图(如展示不清,可改变坐标范围或设定角频率变量(w=w1:△w:w2))。

程序 num=1; den=[3 1 0];

nyquist(num,den); axis([-4,1,-30,30])

响应曲线如下

2.系统为G(S)=

k(T1s1),T1>T2或T2>T1

s(T2s1)要求:作极坐标图(可改变坐标范围或设定角频率变量w;比较T1>T2或T2>T1时

21

两图的区别与特点。

程序 num=[2 1]; den=[1 1 0];

nyquist(num,den,'r'); gtext('T1>T2') hold on num2=[1 1]; den2=[2 1 0];

nyquist(num2,den2,'b');

gtext('T1T2时令T1=2,T2=1

实验结果及分析 响应曲线如下

T1>T2时,图像位于一四象限,且其极坐标图的起点与终点均位于右半平面;T1k(T1s1),T1>T2或T2>T1 2s(T2s1)实验要求:作极坐标图(可改变坐标范围或设定角频率变量w;比较T1>T2或T2>

T1时两图的区别与特点。

22

程序; num=[2 1]; den=[1 1 0 0];

nyquist(num,den,'r'); gtext('T1>T2') hold on num2=[1 1]; den2=[1.5 1 0 0];

nyquist(num2,den2,'b');

gtext('T1T2时令T1=2,

实验结果 响应曲线如下

23

T2=1 7.3.1线性系统的数学模型

实验目的 1.学习系统数学模型的各种表示方法 2.学习系统数学模型之间的转换与线性变换

实验内容 (1)给定系统为

num=[1 1.3 2 2.5]; den=[1 0.3 1.2 1];

使用m函数[a,b,c,d]=td2ss(num,den)求系统的状态空间方程;使用m函数[z,p,k]=tf2zp(num,den)求系统的零极点表达式。 程序:

num=[1 1.3 2 2.5]; den=[1 0.3 1.2 1];

[a,b,c,d]=tf2ss(num,den); [z,p,k]=tf2zp(num,den) a,b,c,d,z,p,k

程序运行结果:

a = -0.3000 -1.2000 -1.0000 1.0000 0 0 0 1.0000 0

b =

1 0 0

c = d= 1.0000 0.8000 1.5000 1

z =

-0.0138 + 1.4017i -0.0138 - 1.4017i -1.2724 + 0.0000i

p = k= 0.1919 + 1.1940i 1 0.1919 - 1.1940i

-0.6838 + 0.0000i

24

系统的空间状态方程式:

系统的传递函数:

(2)给定传递函数

1.使用m函数[a,b,c,d]=tf2ss(num,den)求得各系统的状态空间方程;

仿真输入程序:

num1=[0.5]; den1=[0.1 1 0]; num2=[0.5]; den2=[0.05 1 0];

[a1,b1,c1,d1]=tf2ss(num1,den1); [a2,b2,c2,d2]=tf2ss(num2,den2); a1,b1,c1,d1,a2,b2,c2,d2

程序运行结果: a1 =

-10 0 1 0

b1 =

1 0

c1 =

0 5

d1 =

0

a2 =

-20 0 1 0

b2 =

1

25

0

c2 =

0 10

d2 =

0

系统的空间状态方程式:

2.使用m函数[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2)作串联连接,求得状态空间方程和传递函数;

仿真输入程序:

num1=[0.5]; den1=[0.1 1 0]; num2=[0.5]; den2=[0.05 1 0];

[a1,b1,c1,d1]=tf2ss(num1,den1); [a2,b2,c2,d2]=tf2ss(num2,den2); a1,b1,c1,d1,a2,b2,c2,d2

[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2) [num,den]=ss2tf(a,b,c,d)

程序运行结果: a =

-20 0 0 5 1 0 0 0

0 0 -10 0 0 0 1 0

b =

0 0 1 0

c =

0 10 0 0

26

d =

0 num =

0 0 0 0 50

den =

1 30 200 0 0

系统的空间状态方程式:

系统的传递函数:

3.使用m函数[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2)作并联连接,求得状态空间方程和传递函数;

仿真输入程序: num1=[0.5];

den1=[0.1 1 0]; num2=[0.5];

den2=[0.05 1 0];

[a1,b1,c1,d1]=tf2ss(num1,den1); [a2,b2,c2,d2]=tf2ss(num2,den2); a1,b1,c1,d1,a2,b2,c2,d2

[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2) [num,den]=ss2tf(a,b,c,d)

程序运行结果: a =

-10 0 0 0 1 0 0 0 0 0 -20 0 0 0 1 0 b = 1

27

0 1 0 c =

0 5 0 10 d = 0

num =

0 0 15.0000 200.0000 0.0000 den =

1 30 200 0 0 系统的空间状态方程式:

系统的传递函数:

心得体会:本学期通过对控制系统数字仿真的学习,对MATLAB有了进一步的认识。数

据的各种运算、矩阵的分析和处理、程序设计、绘图、数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用MATLAB,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。

MATLAB是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。感谢老师的指导和帮助通过这学期的学习自己收获很大!

28

因篇幅问题不能全部显示,请点此查看更多更全内容