兰州理工大学《自动控制原理》MATLAB仿真实验报告.docx
《兰州理工大学《自动控制原理》MATLAB仿真实验报告.docx》由会员分享,可在线阅读,更多相关《兰州理工大学《自动控制原理》MATLAB仿真实验报告.docx(35页珍藏版)》请在冰豆网上搜索。
兰州理工大学《自动控制原理》MATLAB仿真实验报告
兰州理工大学
《自动控制原理》MATLAB分析与设计
仿真实验报告
院系:
电信学院
班级:
电气基地一班
姓名:
学号:
时间:
2012年10月1日
电气工程与信息工程学院
《自动控制原理》MATLAB分析与设计仿真实验任务书(2011)
一.仿真实验内容及要求:
1.MATLAB软件
要求学生通过课余时间自学掌握MATLAB软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB仿真集成环境Simulink的使用。
2.各章节实验内容及要求
1)第三章线性系统的时域分析法
对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;
对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器的作用;
在MATLAB环境下完成英文讲义P153.E3.3。
对英文讲义中的循序渐进实例“DiskDriveReadSystem”,在
时,试采用微分反馈使系统的性能满足给定的设计指标。
2)第四章线性系统的根轨迹法
在MATLAB环境下完成英文讲义P157.E4.5;
利用MATLAB绘制教材P181.4-5-(3);
在MATLAB环境下选择完成教材第四章习题4-10或4-18,并对结果进行分析。
3)第五章线性系统的频域分析法
利用MATLAB绘制本章作业中任意2个习题的频域特性曲线;
4)第六章线性系统的校正
利用MATLAB选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能。
对英文讲义中的循序渐进实例“DiskDriveReadSystem”,试采用PD控制使系统的性能满足给定的设计指标
。
5)第七章线性离散系统的分析与校正
利用MATLAB完成教材P383.7-20的最小拍系统设计及验证。
利用MATLAB完成教材P385.7-25的控制器的设计及验证。
对英文讲义中的循序渐进实例“DiskDriveReadSystem”进行验证,在D(z)=4000时系统的性能是多少?
是否满足给定的设计指标?
二.仿真实验时间安排及相关事宜
1.依据课程教学大纲要求,仿真实验共6学时,教师可随课程进度安排上机时间,学生须在实验之前做好相应的准备,以确保在有限的机时内完成仿真实验要求的内容;
2.实验完成后按规定完成相关的仿真实验报告;
3.仿真实验报告请参照有关样本制作并打印装订;
自动化系《自动控制原理》课程组
第三章线性系统的时域分析法
P136.3-5单位反馈系统的开环传递函数为
该系统的阶跃响应曲线如下图所示,其中虚线表示忽略闭环零点时(即
)的阶跃响应曲线.
解:
matlab程序如下
num=[0.41];den=[10.60];
G1=tf(num,den);
G2=1;
G3=tf(1,den);
sys=feedback(G1,G2,-1);
sys1=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('阶跃响应');
程序运行结果如下:
结果对比与分析:
系统参数
上升时间
调节时间
峰值时间
峰值
超调量
有闭环零点(实线)
1.46
7.74
3.16
1.18
37.2
无闭环零点(虚线)
1.32
11.2
3.29
1.37
18
由上图及表格可以看出,闭环零点的存在可以在一定程度上减小系统的响应时间,但是同时也增大了超调量,所以,在选择系统的时候应该同时考虑减小响应时间和减小超调量。
并在一定程度上使二者达到平衡,以满足设计需求。
P139.3-9设测速反馈校正系统控制系统的闭环传递函数为
,比例-微分校正系统的闭环传递函数为
,试分析在不同控制器下的系统的稳态性能。
解:
matlab程序如下,
%第一小题
G1=tf([10],[110]);
G2=tf([0.20],[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);
sys1=feedback(G9,1,-1);
p=roots(den)
t=0:
0.01:
15;
figure
step(sys,'r',sys1,'b--',t);grid;
xlabel('t');ylabel('c(t)');title('阶跃响应');
不同控制器下的单位阶跃响应曲线如下图所示,其中红色实线为测速反馈校正系统的阶跃响应,蓝色虚线为比例-微分校正系统的单位阶跃响应曲线。
结果分析:
系统参数
上升时间
调节时间
峰值时间
峰值
超调量
测速反馈校正系统(实线)
0.503
2.61
1.13
1.18
37.1
比例-微分反馈校正系统(虚线)
0.392
3.44
0.94
1.37
18.4
据上图及表格可知,测速反馈校正系统的阶跃响应中(实线),其峰值为1.18,峰值时间tp=1.13,比例-微分校正系统中(虚线),其峰值为1.37,峰值时间tp=0.94,对比以上两个曲线可明显看出,测速校正控制器可以明显降低系统的峰值及超调量,但是会增加系统的调节时间;而比例-微分控制器能缩短系统的调节时间,但是会增加系统的超调量,所以针对不同的系统要求应采用不同的控制器,使系统满足设计需求。
P155.E3.3系统的开环传递函数为
(1)确定系统的零极点
(2)在单位阶跃响应下分析系统的稳态性能
(3)试分析传递函数的实虚极点对响应曲线的影响
解:
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:
3;
figure
(2);
step(sys,t);grid;
xlabel('t');ylabel('c(t)');title('阶跃响应');
(1)z=
Emptymatrix:
0-by-1
k=
0
-6.5000+35.1959i
-6.5000-35.1959i
p=6205
(2)该系统的单位阶跃响应曲线和零极点分布图如下图所示
结果分析:
由图可知,该系统的上升时间
=0.405,峰值时间
=2.11,超调量
=0.000448,峰值为1。
由于闭环极点就是微分方程的特征根,因此它们决定了所描述系统自由运动的模态,而且在零初始响应下也会包含这些自由运动的模态。
也就是说,传递函数的极点可以受输入函数的激发,在输出响应中形成自由运动的模态。
P162.DiskDriveReadSystem在
时,试采用微分反馈使系统的性能满足给定的设计指标(超调量<5%,调节时间<250ms)。
解:
matlab程序文本如下
G=tf([500000],[11000]);
G1=tf([1],[1200]);
G2=series(G,G1);
G3=tf([0.029,1],[1]);
sys=feedback(G2,1);
sys1=feedback(G2,G3,-1);
figure
step(sys,sys1);grid;
程序运行结果如下
结果分析:
参数
上升时间
调节时间
峰值时间
峰值
超调量
单位反馈系统(蓝)
0.0681
0.376
0.159
1.22
21.8
微分反馈系统(绿)
0.104
0.248
0.216
1.02
2.37
通过以上图表可以看出给系统外加一个微分反馈(G(s)=0.029S+1)可使系统的超调量和调节时间降低,所以在系统中增加微分反馈可以增加系统的稳态性能。
第四章线性系统的根轨迹法
P159.E4.5一控制系统的开环传递函数为
(1)若
,画出系统的根轨迹图
(2)若
画出系统根轨迹图,并确定系统稳定时K的值。
确定根轨迹与虚轴交点处的根。
解:
matlab程序文本如下
G=tf([1],[1-10]);
figure
(1)
rlocus(G);
num=[12];
den=[120];
Gc=tf(num,den);
sys=parallel(Gc,G);
figure
(2)
rlocus(sys);
第
(1)题的根轨迹如下
第
(2)题的根轨迹图如下
结果分析:
在第一小题的根轨迹图中可以看出,系统的闭环极点都位于s平面的有半平面,所以系统不稳定;在第二小题的根轨迹图中可以看出,系统的根轨迹图与虚轴有两个交点(分别为
1.51i),对应的开环增益为21.6。
P181.4-5-(3)概略绘出
的根轨迹图。
解:
matlab程序文本如下
G=tf([1],[110.543.579.545.50]);
subplot(211);
pzmap(G);
subplot(212);
rlocus(G);
运行结果如下图所示
P181.4-10设反馈控制系统中
,
要求:
(1)概略绘出系统根轨迹图,并判断闭环系统稳定性;
(2)如果改变反馈通路传递函数,使
,试判断改变后的系统稳定性,研究由于H(s)的改变所产生的效应。
解:
matlab程序文本如下
%当H(s)=1
num=1;
den=conv([120],[15]);
G=tf(num,den);
figure
(1);
subplot(211);
pzmap(G);
subplot(212);
rlocus(G);
%当H(s)=1+2s
num1=[21];
G1=tf(num1,den);
figure
(2);
subplot(211);
pzmap(G1);
subplot(212);
rlocus(G1);
当H(s)=1时程序运行结果如下
当H(s)=1+2s时,程序运行结果如下
结果分析:
当H(s)=1时系统无零点,系统临界稳定的增益为69.8,此时系统的根轨迹与虚轴的交点为
3.16i;H(s)=1+2s时,系统加入一个一阶微分环节,此时无论增益如何变化,系统总处于稳定状态,也就是说给系统加入一个一阶微分环节能大幅度提高系统的稳定性。
第五章线性系统的频域分析法
P238.5-8已知系统的开环传递函数为
,画出系统的概略频率特性曲线。
解:
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);
程序运行结果如下
P238.5-10已知开环传递函数为
,试该绘制系统的概略频率特性曲线。
解:
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);
程序运行结果如下
第六章线性系统的校正
P296.6-1设有单位反馈的火炮指挥伺服系统,其开环传递函数为
若要求系统最大输出速度为
/s,输出位置的容许误差小于
,试求:
(1)确定满足上述条件的最小K值,计算该K值下系统的相角裕度和幅值裕度;
(2)在前向通道中串联超前校正网络
,计算校正后系统的相角裕度和幅值裕度,说明超前校正对系统动态性能的影响。
解:
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);%校正后系统的开环传递函数
G1=feedback(G0,1);%待校正系统的闭环传递函数
G11=feedback(G,1);%校正后系统的闭环传递函数
figure
(1);
subplot(211);margin(G0);grid
subplot(212);margin(G);grid
figure
(2)
step(G1,'r',G11,'b--');grid
程序运行结果如下图
结果分析:
相角裕度(deg)
截止频率(rad/sec)
幅值裕度(dB)
穿越频率(rad/sec)
超调量
调节时间(sec)
校正前
4.05
2.92
1.34
3.16
83.3
42.7
校正后
29.8
3.85
9.9
7.38
43.5
3.24
由上图及表格可以看出,串联超前校正可以增加相角裕度,从而减少超调量,提高系统的稳定性,增大截止频率,从而缩短调节时间,提高快速性。
P296.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(G0,Gc);
subplot(211);margin(G0);
subplot(212);margin(G);
G1=feedback(G0,1);G11=feedback(G,1);
figure
(2);step(G1,'r',G11,'b--');grid
程序运行结果如下
结果分析:
相角裕度(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
由以上两图及表格可以看出当待校正系统不稳定时,采用串联滞后-超前校正后可使系统的响应速度、相角裕度和稳态精度提高。
P297.6-7P298图6-55为三种推荐的稳定系统的串联校正网络特性,他们均由最小相位环节构成。
若控制系统为单位反馈系统,其开环传递函数为
,则这些校正网络特性中,哪一种可使已校正系统的程度最好?
解:
matlab程序文本如下
G=tf(400,[conv([1,0,0],[0.01,1])]);
%图(a)校正网络和校正后系统的开环和闭环传递函数
Gc1=tf([11],[101]);G1=series(G,Gc1);G11=feedback(G1,1)
%图(b)校正网络和校正后系统的开环和闭环传递函数
Gc2=tf([0.1,1],[0.01,1]);G2=series(G,Gc2);G21=feedback(G2,1);
%图(c)校正网络和校正后系统的开环和闭环传递函数
Gc3=tf([conv([0.5,1],[0.5,1])],[conv([10,1],[0.025,1])]);
G3=series(G,Gc3);G31=feedback(G3,1);
figure
(1);
subplot(221);margin(G11);
subplot(222);margin(G21);
subplot(223);margin(G31);
figure
(2);step(G11);grid;
figure(3);step(G21,'r',G31,'b--');
grid
程序运行结果如下
结果分析:
系统参数
相角裕度(deg)
截止频率(rad/sec)
幅值裕度(dB)
穿越频率(rad/sec)
超调量
调节时间(sec)
系统a
-21.7
8.88
系统b
41
57.3
9.54
89.4
47.1
0.268
系统c
95.1
13
20.9
58.8
32.4
0.295
由以上图表可以看出,对于该待校正系统,若采用滞后校正,会使系统变得不稳定;用滞后-超前校正时稳定程度最好,但响应速度比超前校正慢,所以在选择校正系统时应合理选择,综合系统稳定性能及响应速度,以使系统在最大程度上满足设计需要。
P117“DiskDriveReadSystem”试采用PD控制使系统的性能满足给定的设计指标
。
解:
matlab程序文本如下
Gps=tf([72.58],[172.58]);
Gcs=tf(conv([39.68],[172.58]),[1]);%PD控制器
G1s=tf([5],[1]);
G2s=tf([1],[1200]);
G1=series(Gcs,G1s);
G2=series(G1,G2s);
G3=feedback(G2,1,-1);
sys=series(G3,Gps);
t=0:
0.01:
0.1;
figure
step(sys,t);grid;
程序运行结果如下
结果分析:
参数
期望值
实际值
超调量
小于5%
0.1%
调节时间
小于150ms
40ms
给系统串联一个PD控制器,只要参数选择合理,能大幅度提高系统的稳定性与快速性,在对系统响应要求较高时,可采用此种校正方式,使系统最大程度上满足设计需要。
第七章线性离散系统的分析与校正
P383.7-20已知离散系统的采样周期T=1,连续部分传递函数为
,试求当r(t)=1(t)时,系统无稳态误差、过渡过程在最少拍内结束的数字控制器D(z)。
解:
matlab程序文本如下
G=zpk([],[0-1],1);
Gd=c2d(G,1,'zoh');%开环连续系统的离散化模型
z=tf([10],[1],1);
phi1=1-1/z;%误差阶跃传递函数
phi=1/z;%闭环传递函数
D=phi/(Gd*phi1);%数字控制器脉冲传递函数
sys0=feedback(Gd,1);%校正前系统的闭环传递函数
sys1=feedback(Gd*D,1);%校正后系统的闭环传递函数
t=0:
0.5:
5;
figure
(1);
step(sys0);grid;
figure
(2);
step(sys0,'b',sys1,'r--');grid;
程序运行结果如下
结果分析:
在matlab中运行以上M文件之后,得到数字控制器的螨虫传递函数为
此时系统无稳态误差,无过渡过程。
P385.7-25设连续的未经采样的控制系统的被控对象是
,要求:
(1)设计滞后校正网络
(a>b)是系统在单位阶跃输入下的超调量
30%,且在单位斜坡输入时的稳态误差
:
(2)若为该系统增配一套采样器和零阶保持器,并选采样周期T=0.1s,试采用D(z)变换方法,设计合适的数字控制器D(z);
(3)分别画出
(1)及
(2)中连续和离散系统的单位阶跃响应曲线,并比较两者的结果;
(4)另选采样周期T=0.01s,重新完成
(2)和(3)的工作;
(5)对于
(2)中得到的D(z),画出离散系统的单位斜坡响应,并与连续系统的单位斜坡响应进行比较。
解:
matlab程序文本如下
%第一问
T=0.1;
sys1=tf([150,105],[1,10.1,151,105]);
sys2=tf([0.568,-0.1221,-0.3795],[1,-1.79,1.6,-0.743],T);
figure
(1);
step(sys1,sys2,4);
grid;
%第二问设计数字控制器
G0=zpk([],[0-10],1)
Gd=c2d(G0,0.01,'zoh')
D=zpk([0.993],[0.999],150,0.01)
G=Gd*D
sysd=feedback(G,1);
sys=tf([150,105],[1,10.1,151,105]);
t=0:
0.01:
2;
figure
(2);
step(sys,'-',sysd,'g:
',t);%第三问
grid;
%斜坡响应比较
T=0.1;
t=0:
0.1:
2;
u=t;
sys=tf([0.568,-0.1221,-0.3795],[1,-1.79,1.6,-0.743],T)
figure(3);
lsim(sys,sys1,u,t,0);
grid;
程序运行结果如下
结果分析:
在第
(1)问中,设计的滞后校正网络为
,在设计校正系统时,取超调量为30,系统的阶跃响应曲线如上图所示。
在第
(2)问中,设计的数字控制器为
;
两次设计后,系统的传递函数为
相比于采样周期为T=0.1和T=0.01时,系统的采样时间越小,系统的单位阶跃响应和连续系统的响应越相似。
该离散系统的斜坡响应在第三拍时跟上单位斜坡响应。