兰州理工大学自动控制原理MATLAB仿真实验报告完整版.docx
《兰州理工大学自动控制原理MATLAB仿真实验报告完整版.docx》由会员分享,可在线阅读,更多相关《兰州理工大学自动控制原理MATLAB仿真实验报告完整版.docx(33页珍藏版)》请在冰点文库上搜索。
兰州理工大学自动控制原理MATLAB仿真实验报告完整版
兰州理工大学
〈自动控制原理》ATLAB分析与设计
仿真实验报告
院系:
电气工程与信息工程学院班级:
自动化一班
姓名:
路亦菲
学号:
1505220185
时间:
2017年11月日
电气工程与信息工程学院
自动控制原理》MATLAB分析与设计仿真实验任务书(2017)
」、仿真实验内容及要求
1.MATLAB软件
要求学生通过课余时间自学掌握MATLAB软件的基本数值运算、基本符号运算、基
本程序设计方法及常用的图形命令操作;熟悉MATLAB仿真集成环境Simulink的使用。
2.各章节实验内容及要求
1)第三章线性系统的时域分析法
*对教材第三章习题3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;
•对教材第三章习题3-9系统的动态性能及稳态性能通过仿真进行分析,说明不同
控制器的作用;
*在MATLAB环境下选择完成教材第三章习题3-30,并对结果进行分析;
*在MATLAB环境下完成英文讲义P153.E3.3;
•对英文讲义中的循序渐进实例“DiskDriveReadSystem",在Ka=100时,试采
用微分反馈控制方法,并通过控制器参数的优化,使系统性能满足-%5%,
t^250ms,dss.510"等指标。
2)第四章线性系统的根轨迹法
*在MATLAB环境下完成英文讲义P157.E4.5;
*利用MATLAB绘制教材第四章习题4-5;
*在MATLAB环境下选择完成教材第四章习题4-10及4-17,并对结果进行分析;
*在MATLAB环境下选择完成教材第四章习题4-23,并对结果进行分析。
3)第五章线性系统的频域分析法
•利用MATLAB绘制本章作业中任意2个习题的频域特性曲线;
4)第六章线性系统的校正
*利用MATLAB选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶
跃响应说明所设计控制器的功能;
•利用MATLAB完成教材第六章习题6-22控制器的设计及验证;
•对英文讲义中的循序渐进实例“DiskDriveReadSystem”,试采用PD控制并优化
控制器参数,使系统性能满足给定的设计指标二%:
:
:
5%,ts:
:
:
150ms。
5)第七章线性离散系统的分析与校正
•利用MATLAB完成教材第七章习题7-19的最小拍系统设计及验证;
*利用MATLAB完成教材第七章习题7-24的控制器的设计及验证;
*对英文讲义中的循序渐进实例“DiskDriveReadSystem"进行验证,计算D(z)=4000时系统的动态性能指标,并说明其原因。
1、仿真实验时间安排及相关事宜
1.依据课程教学大纲要求,仿真实验共6学时,教师应在第3学周下发仿真任务书,并
按课程进度安排上机时间;学生须在实验之前做好相应的准备,以确保在有限的机时内完成仿真实验要求的内容;
2.实验完成后按规定完成相关的仿真实验报告;
3.仿真实验报告请参照有关样本制作并打印装订。
自动化系〈自动控制原理》课程组
2017年8月24日
第三章线性系统的时域分析法
0.4s+1
3-5单位反馈系统的开环传递函数为G(S)该系统的阶跃响应曲线如下图所示
s(s+0.6)
1
其中虚线表示忽略闭环零点时(即G(s)二)的阶跃响应曲线。
s+2s=1
解:
MATLAB程序如下:
num=[0.41];den=[10.60];
G仁tf(num,den);
G2=1;
G3=tf(1,den);
sys=feedback(G1,G2,-1);
sys仁feedback(G3,G2,-1);
p=roots(den)
c(t)=0:
0.1:
1.5;
t=0:
0.01:
20;
figure
(1)
step(sys,'r',sys1,'b--',t);grid;
xlabel('t');ylabel('c(t)');title('阶跃响应');
程序运行结果如下:
结果对比与分析
系统7^
参数
上升时间
调节时间
峰值时间
峰值
超调量
有闭环零点
线)
(实
1.46
7.74
3.16
1.18
37.2
无闭环零点
线)
(虚
1.32
11.2
3.29
1.37
18
由图可以看出,闭环零点的存在可以在一定程度上减小系统的响应时间,但是同时也增大
了超调量,所以,在选择系统的时候应该同时考虑减小响应时间和减小超调量。
并在一定程度上使二者达到平衡,以满足设计需求
3-9对系统的动态性能及稳态性能通过仿真进行分析,并说明不同控制器的作用。
解:
由题意可得系统的闭环传递函数,其中当系统为测速反馈校正系统时的闭环传递函数
为G(s)=,系统为比例-微分校正系统时的闭环传递函数为G(s)=。
MATLAB程序如下:
G仁tf([10],[110]);sys2=feedback(G1,1,-1)
G2=tf([0.10],[1]);
G3=feedback(G1,G2,-1)
G4=series(1,G3);
sys=feedback(G4,1,-1);
G5=tf([0.10],[1]);
G6=1;
G7=tf([10],[110]);
G8=parallel(G5,G6);
G9=series(G8,G7);
sys仁feedback(G9,1,-1);
den=[1210];
p=roots(den)
t=0:
0.01:
7;
figure
step(sys,'r',sys1,'b--',sys2,'g:
',t);grid;
xlabel('t');ylabel('c(t)');title('阶跃响应');不同控制器下的单位阶跃响应曲线如下图所示
结果分析:
系统参数
上升时间
调节时间
峰值时间
峰值
超调里
原函数
0.367
7.32
1.01
1.6
60.5
测速反馈(实线)
0.425
3.54
1.05
1.35
35.1
比例微分(虚线)
0.392
3.44
0.94
1.37
37.1
从两个系统动态性能的比较可知:
测速校正控制器可以降低系统的峰值和超调量的上升时
间;而比例-微分控制器可以加快系统的上升时间和调节时间,但是会增加超调量,所以针
对不同的系统要求应采用不同的控制器,使系统满足设计需求。
P153.E3.3由题可知系统的开环传递函数为s
求:
(1)确定系统的零极点;
(2)在单位阶跃响应下分析系统的稳态性能;
(3)试分析传递函数的实虚极点对响应曲线的影响。
解:
利用MATLAB仿真进行分析
MATLAB程序如下:
num=6205;den=conv([10],[1131281]);
G=tf(num,den);
sys=feedback(G,1,-1);
figure
(1);
pzmap(sys);
[z,k,p]=tf2zp(num,den);
xlabel('j');ylabel('1');title('零极点分布图');grid;
t=0:
0.01:
5;
figure
(2);
step(sys,t);grid;
xlabel('t');ylabel('c(t)');title('阶跃响应');
(1)求得系统的零极点为
z=empty
k=0和-6.5+35.1959i和-6.5-35.1959i
p=6205
(2)该系统的单位阶跃响应曲线和零极点分布图如下
阶跃响应
由图可知
(1)特征方程的特征根都具有负实部,响应曲线单调上升,故闭环系统稳定,实数根输出
表现为过阻尼单调上升,复数根输出表现为震荡上升。
(2)该系统的上升时间=0.405,峰值时间=2.11,超调量=0.000448,峰值为1。
由于闭环极点就是微分方程的特征根,因此它们决定了所描述系统自由运动的模态,而且在零初
始响应下也会包含这些自由运动的模态。
也就是说,传递函数的极点可以受输入函数的激
发,在输出响应中形成自由运动的模态。
4.对英文讲义中的循序渐进实例DiskDriveReadSystem",在Ka=10°时,试采用微分
反馈控制方法,并通过控制器参数的优化,使系统性能满足:
;「%:
:
5%,ts_250ms,dss:
510~等指标。
解:
MATLAB程序如下:
G仁tf([5000],[1,1000]);
G2=tf([1],[120]);
Ga=series(100,G1);
Gb=series(Ga,G2);
G3=tf([1],[10]);
Gc=series(Gb,G3);
sys仁feedback(Gc,1);
t=0:
0.01:
1;
sys2=feedback(Gb,0.05);
sys3=series(sys2,G3);
sys=feedback(sys3,1);
step(sys1,'r',sys,'b--',t);grid;
xlabel('t');ylabel('c(t)');title('DiskDriveReadSystem')
程序运行结果如下:
系统动态性能如下
系统、I、-参数
上升时间
调节时间
峰值时间
峰值
超调量
原系统(实线)
sys1
0.0684
0.376
0.16
1.22
21.8
加微分反馈的系
统(虚线)sys
0.15
0.263
1
1
0
由图可知:
添加微分反馈后系统扰动减小,自然频率不变,阻尼比变大,由欠阻尼变为过
阻尼,使上升时间变大,超调量和调节时间变小,动态性能变好。
但闭环增益减小,加大
了系统的稳态误差。
第四章线性系统的根轨迹法
P157.E4.5已知一个控制系统的开环传递函数为s——求:
(1)当时,画出系统的根轨迹图;
(2)当——画出系统根轨迹图,并确定系统稳定时K的值。
解:
MATLAB程序如下:
G=tf([1],[1-10]);
figure
(1)
rlocus(G);title(第一题的根轨迹图';
num=[12];
den=[120];
Gc=tf(num,den);
sys=series(Gc,G);
figure
(2)
rlocus(sys);title(第二题的根轨迹图';
程序运行结果如下:
结果分析:
在第一小题的根轨迹图中可以看出,系统的闭环极点都位于S平面的右半平面
所以系统不稳定;在第二小题的根轨迹图中可以看出,系统的根轨迹图与虚轴有两个交点
对应的开环增益为20.6,系统稳定。
4-5概略绘出的根轨迹图。
解:
MATLAB程序如下:
G=tf([1],[110.543.579.545.50]);
rlocus(G);title(根轨迹图');
4-10设反馈控制系统中,H(s)=1要求:
(1)概略绘出系统根轨迹图,并判断闭环系统稳定性
(2)如果改变反馈通路传递函数,使H(s)=1+2s,试判断改变后的系统稳定性,研究由于
H(s)的改变所产生的效应。
解:
MATLAB程序如下:
当H(s)=1
num=1;
den=conv([120],[15]);
G=tf(num,den);
figure
(1);
rlocus(G);title('第一题根轨迹图');
%当H(s)=1+2s
num仁[21];
G仁tf(num1,den);
figure
(2);
rlocus(G1);title('第二题根轨迹图');
程序运行结果如下:
当H(s)=1时,根轨迹图如下
第一题根轨迹图
10
8
6
4
2
0
-2
-4
-6
-8
-10
-14-12-10-8-6-4-2
RealAxis
当H(s)=1+2s时,根轨迹图如下:
第二题根轨迹图
-6
-5-4.5-4-3.5-3-2.5-2-1.5-1-0.5
RealAxis
分析:
当H(s)=1时系统无零点,系统临界稳定的增益为71,此时系统的根轨迹与虚轴的交
点为二3.18i;H(s)=1+2s时,系统加入一个一阶微分环节,此时无论增益如何变化,系统总处于稳定状态,也就是说给系统加入一个一阶微分环节能大幅度提高系统的稳定性
第五章线性系统的频域分析法
10
5-8已知系统的开环传递函数为G(S)H(S)2,画出系统的概略频
s(2s+1)(s+0.5s+1)
率特性曲线。
解:
MATLAB程序文本如下:
num=10;
den=conv([210],[10.51]);
G=tf(num,den);
figure
(1);
margin(G);
figure
(2);
nichols(G);grid;
figure(3);
nyquist(G);
程序运行结果如下
BodeDiagram
Gm=-22.5dB(at0.707rad/sec),Pm=-136deg(at1.62rad/sec)100
lyeacesanp
■牛—v~"'w1>—LT
**1;
w'll■'v—-l|i1—v11'■~~111w1'H1■
rrrrrirrr1ir•rritr
\
\
trrt
r
rirrrrrrVTFFFrrtr~■■
-1
0
1
80
T—
o
-2
10
-2
10
10
10
2
10
Frequency(rad/sec)
40
NicholsChart
LDOrn^GPOOL-nepo
o
6
00-3
T—
oo
2
oo
60
-
80
-
0dB
0.25dB
0.5dB
1dB
3dB
6dB
-1dB
-3dB
-6dB
-12dB
-20dB
——-40dB
60dB
80dB
-100dB
40
30
00
2
-315-270
-225-180-135
Open-LoopPhase(deg)
-90
-45
RrxAp
00
T—
NyquistDiagram
00
T—
00
-2
00
-3
5
-4
-20
-15
-10-5
RealAxis
一S—一S
解:
MATLAB程序如下:
num=[11];
den=conv([0.510],[1/91/31]);
G=tf(num,den);
figure
(1);
margin(G);
figure
(2);
nichols(G);grid;
figure(3);
nyquist(G);
50
BodeDiagram
Gm=6.89dB(at3.4rad/sec),Pm=69.4deg(at1.7rad/sec)
IDDOCeau-knaaM
Lyefl^esanp
o
50
-
00-45
33580
T—T—
5
2
2
-
40
20
kDa/k^aGDOOL-De^^
20
-
40
-
60
-
80
-
」60
00-3
T—
5
di
3
-
012
101010
Frequency(rad/sec)
NicholsChart
iiiii:
0dB
0.25dB
0.5dB
-1dB-
-3dB
-6dB
-12dB
-20dB_
-40dB
-60dB
-80dB
100dB
-270-225-180-135-90-450
Open-LoopPhase(deg)
1dB
3dB
6dB
4-
NyquistDiagram
s
Ayagm
-1
-2
-3
-41L
-1-0.8
-0.6-0.4-0.2
0.4
RealAxis
第六章线性系统的校正
右要求系统
6-1设有单位反馈的火炮指挥伺服系统,其开环传递函数为G(s)=
(1)确定满足上述条件的最小K值,计算该K值下系统的相角裕度和幅值裕度;
度,说明超前校正对系统动态性能的影响。
解:
matlab程序文本如下:
K=6;
G0=tf(K,[conv([0.2,1,0],[0.5,1])]);
%待校正系统的开环传递函数
Gc=tf([0.4,1],[0.08,1]);
%超前校正网络的传递函数
G=series(Gc,G0);
%校正后系统的开环传递函数
G仁feedback(G0,1);
%待校正系统的闭环传递函数
G11=feedback(G,1);
%校正后系统的闭环传递函数
figure
(1);
subplot(211);margin(G0);grid
subplot(212);margin(G);gridfigure
(2)step(G1,'r',G11,'b--');grid程序运行结果如下:
-360
BodeDiagram
Gm=1.34dB(at3.16rad/sec),Pm=4.05deg(at2.92rad/sec)200
0
-2000
-180
-2
-1
0
1
2
10
10
10
10
10
3
10
200
-200
0
Frequency(rad/sec)
BodeDiagram
Gm=9.9dB(at7.38rad/sec),Pm=29.8deg(at3.85rad/sec)
0
-360
-180
-1
0
1
2
10
10
10
10
3
10
Frequency(rad/sec)
StepResponse
0.4
0.2
0
1020
3040
Time(sec)
50
6070
286
4
2
86
0
\\参数
系统\
相角裕
度
截止频率
幅值裕度
穿越频率
超调量
调节时间
校正前
4.05
2.92
1.34
3.16
83.3
42.7
校正后
29.8
3.85
9.9
7.38
43.5
3.24
分析:
由上图及表格可以看出,串联超前校正可以增加相角裕度,从而减少超调量,提高
系统的稳定性,增大截止频率,从而缩短调节时间,提高快速性。
6-5设单位反馈系统的开环传递函数为——,若采用滞后-超前校正装置
,对系统进行串联校正,试绘制校正前后的对数幅频渐进特性曲线,并计算校
正前后的相角裕度。
解:
MATLAB程序如下:
w=0.001:
1:
100;
G0=tf(8,[conv([1,0],[2,1])]);
Gc=tf([conv([10,1],[2,1])],[conv([100,1],[0.2,1])]);
G=series(GO,Gc);
subplot(211);margin(GO);
subplot(212);margin(G);
G仁feedback(G0,1);G1仁feedback(G,1);
figure
(2);step(G1,'r',G11,'b--');grid
程序运行结果如下:
BodeDiagram
Gm=InfdB(atInfrad/sec),Pm=14.2deg(at1.97rad/sec)
100r-
0
-100
-90
-180
-4
10
-3
10
-2-1
1010
0
10
1
10
2
10
Frequency(rad/sec)
StepResponse
结果分析:
相角裕度
(deg)
截止频率
(rad/sec)
幅值裕度
(dB)
穿越频率
(rad/sec)
超调里
调节时间
(sec)
校正前
14.2
1.97
Inf
Inf
67.2
14.7
校正后
74.5
0.796
Inf
Inf
7.98
18.9
由上图及表格可以看出当待校正系统不稳定时,采用串联滞后-超前校正后可使系统的响应
速度、相角裕度和稳态精度提高。
6-22已知,而Gc(s)为具有两个相同实零点的PID控制器。
要求:
(1)选择PID控制器的零点和增益,使闭环系统有两对相等的特征根;
(2)考察
(1)中得到的闭环系统。
给出不考虑前置滤波器Gp(s)与配置适当Gp(s)时,系
统的单位阶跃响应;
(3)当R(s)=0,N(s)=1/s时,计算系统对单位阶跃扰动的响应。
解:
MATLAB程序:
K=4;z=1.25;
G0=tf(1,conv([1,0],[1,4,5]));
Gc=tf(K*conv([1,z],[1,z]),[1,0]);
Gp=tf(1.5625,conv([1,z],[1,z]));
G仁feedback(Gc*G0,1);
G2=series(Gp,G1);
G3=-feedback(G0,Gc);
eigval=roots([149106.25]);
t=0:
0.01:
10;
[x,y]=step(G1,t);[x1,y1]=step(G2,t);
figure
(1);
plot(t,x,t,x1);grid
figure
(2);step(G3,t);grid
2所示:
系统单位阶跃响应曲线如图1所示,单位阶跃扰动曲线如图
图1
StepResponse
0.02
o
-0.02
-0.04
-0.06
-0.08
-0.1
012345678910
Time(seconds)
图2
P117对英文讲义中的循序渐进实例DiskDriveReadSystem”,试采用PD控制并优化控制
器参数,使系统性能满足给定的设计指标;「%:
:
:
5%,ts:
:
:
150