兰州理工大学 自动控制原理 MATLAB仿真实验报告完整版.docx
《兰州理工大学 自动控制原理 MATLAB仿真实验报告完整版.docx》由会员分享,可在线阅读,更多相关《兰州理工大学 自动控制原理 MATLAB仿真实验报告完整版.docx(32页珍藏版)》请在冰豆网上搜索。
兰州理工大学自动控制原理MATLAB仿真实验报告完整版
兰州理工大学
《自动控制原理》MATLAB分析与设计
仿真实验报告
院系:
电气工程与信息工程学院
班级:
自动化一班
姓名:
路亦菲
学号:
1505220185
时间:
2017年11月16日
电气工程与信息工程学院
《自动控制原理》MATLAB分析与设计仿真实验任务书(2017)
一、仿真实验内容及要求
1.MATLAB软件
要求学生通过课余时间自学掌握MATLAB软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB仿真集成环境Simulink的使用。
2.各章节实验内容及要求
1)第三章线性系统的时域分析法
对教材第三章习题3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;
对教材第三章习题3-9系统的动态性能及稳态性能通过仿真进行分析,说明不同控制器的作用;
在MATLAB环境下选择完成教材第三章习题3-30,并对结果进行分析;
在MATLAB环境下完成英文讲义P153.E3.3;
对英文讲义中的循序渐进实例“DiskDriveReadSystem”,在
时,试采用微分反馈控制方法,并通过控制器参数的优化,使系统性能满足
等指标。
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)第七章线性离散系统的分析与校正
利用MATLAB完成教材第七章习题7-19的最小拍系统设计及验证;
利用MATLAB完成教材第七章习题7-24的控制器的设计及验证;
对英文讲义中的循序渐进实例“DiskDriveReadSystem”进行验证,计算D(z)=4000时系统的动态性能指标,并说明其原因。
二、仿真实验时间安排及相关事宜
1.依据课程教学大纲要求,仿真实验共6学时,教师应在第3学周下发仿真任务书,并按课程进度安排上机时间;学生须在实验之前做好相应的准备,以确保在有限的机时内完成仿真实验要求的内容;
2.实验完成后按规定完成相关的仿真实验报告;
3.仿真实验报告请参照有关样本制作并打印装订。
自动化系《自动控制原理》课程组
2017年8月24日
第三章线性系统的时域分析法
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
由图可以看出,闭环零点的存在可以在一定程度上减小系统的响应时间,但是同时也增大了超调量,所以,在选择系统的时候应该同时考虑减小响应时间和减小超调量。
并在一定程度上使二者达到平衡,以满足设计需求。
3-9对系统的动态性能及稳态性能通过仿真进行分析,并说明不同控制器的作用。
解:
由题意可得系统的闭环传递函数,其中当系统为测速反馈校正系统时的闭环传递函数为G(s)=
,系统为比例-微分校正系统时的闭环传递函数为G(s)=
。
MATLAB程序如下:
G1=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);
sys1=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由题可知系统的开环传递函数为
求:
(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”,在
时,试采用微分反馈控制方法,并通过控制器参数的优化,使系统性能满足:
等指标。
解:
MATLAB程序如下:
G1=tf([5000],[1,1000]);
G2=tf([1],[120]);
Ga=series(100,G1);
Gb=series(Ga,G2);
G3=tf([1],[10]);
Gc=series(Gb,G3);
sys1=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');
程序运行结果如下:
系统动态性能如下:
系统参数
上升时间
调节时间
峰值时间
峰值
超调量
原系统(实线)sys1
0.0684
0.376
0.16
1.22
21.8
加微分反馈的系统(虚线)sys
0.15
0.263
1
1
0
由图可知:
添加微分反馈后系统扰动减小,自然频率不变,阻尼比变大,由欠阻尼变为过阻尼,使上升时间变大,超调量和调节时间变小,动态性能变好。
但闭环增益减小,加大了系统的稳态误差。
第四章线性系统的根轨迹法
P157.E4.5已知一个控制系统的开环传递函数为
求:
(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
num1=[21];
G1=tf(num1,den);
figure
(2);
rlocus(G1);title('第二题根轨迹图');
程序运行结果如下:
当H(s)=1时,根轨迹图如下:
当H(s)=1+2s时,根轨迹图如下:
分析:
当H(s)=1时系统无零点,系统临界稳定的增益为71,此时系统的根轨迹与虚轴的交点为
3.18i;H(s)=1+2s时,系统加入一个一阶微分环节,此时无论增益如何变化,系统总处于稳定状态,也就是说给系统加入一个一阶微分环节能大幅度提高系统的稳定性。
第五章线性系统的频域分析法
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);
程序运行结果如下:
5-10已知开环传递函数G(s)H(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);
第六章线性系统的校正
6-1设有单位反馈的火炮指挥伺服系统,其开环传递函数为G(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
程序运行结果如下:
参数
系统
相角裕度
截止频率
幅值裕度
穿越频率
超调量
调节时间
校正前
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(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
由上图及表格可以看出当待校正系统不稳定时,采用串联滞后-超前校正后可使系统的响应速度、相角裕度和稳态精度提高。
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]));
G1=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
系统单位阶跃响应曲线如图1所示,单位阶跃扰动曲线如图2所示:
图1
图2
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控制器,只要参数选择合理,能大幅度提高系统的稳定性与快速性,在对系统响应要求较高时,可采用此种校正方式,使系统最大程度上满足设计需要。
第七章线性离散系统的分析与校正
7-19已知离散系统如图所示,其中采样周期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;
程序运行结果如下:
7-24设连续的未经采样的控制系统的被控对象是
,要求:
(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时,系统的采样时间越小,系统的单位阶跃响应和连续系统的响应越相似。
该离散系统的斜坡响应在第三拍时跟上单位斜坡响应。
3.对英文讲义中的循序渐进实例“DiskDriveReadSystem”进行验证,计算D(z)=4000时系统的动态性能指标,说明其原因。
解:
MATLAB程序如下:
num=1;
den=[10];
G=tf(num,den,-1);
step(G,25);
axis([0,10,0,1.2]);
单位阶跃响应:
结果分析:
由图可知,系统超调量为0,调节时间
,稳态误差为0。
为快速读取磁盘信息,要求系统在单位阶跃输入下为一拍系统,因此
按一拍系统设计,加入数字控制器后,输入单位阶跃信号,系统会有稳定且快速的响应。