自动控制原理MATLAB分析与设计仿真实验报告.docx
《自动控制原理MATLAB分析与设计仿真实验报告.docx》由会员分享,可在线阅读,更多相关《自动控制原理MATLAB分析与设计仿真实验报告.docx(42页珍藏版)》请在冰点文库上搜索。
自动控制原理MATLAB分析与设计仿真实验报告
兰州理工大学
《自动控制原理》MATLAB分析与设计
仿真实验报告
院系:
电气工程与信息工程学院
班级:
电气工程及其自动化四班
姓名:
学号:
时间:
年月日
电气工程与信息工程学院
《自动控制原理》MATLAB分析与设计仿真实验任务书(2014)
一、仿真实验内容及要求
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.仿真实验报告请参照有关样本制作并打印装订。
自动化系《自动控制原理》课程组
3-5.设单位反馈系统的开环传递函数为:
试求系统在单位阶跃输入下的动态性能。
对系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果。
MATLAB程序:
clear,clf
s1=tf([0.41],[111]);
s2=tf(1,[111]);
figure
(1);
step(s1);holdon;
step(s2,'b--');
分析:
加入闭环零点和不加加入闭环零点相比,加入闭环零点后起上升时间明显
加快,到达峰值的时间和不加闭环零点相比明显加快,加入闭环零点峰值时间:
Tp=3.12,超调量:
a%=18%没加入闭环零点Tp=3.7,超调量:
a%=7%。
3-9.设控制系统如图所示。
要求:
对系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器的作用。
(1)取
=0,
=0.1,计算测速反馈校正系统的超调量、调节时间和速度误差;
(2)取
=0.1,
=0,计算比例-微分校正系统的超调量、调节时间和速度误差。
MATLAB程序:
sys1=tf([10],[1210]);
t=0:
0.01:
10;
figure
(1)
step(sys1,t);
测速反馈校正系统t1=0,t2=0.1
MATLAB程序:
sys1=tf([110],[1210]);
t=0:
0.01:
10;
figure
(1)
step(sys2,t);
比例—微分校正系统t1=0.1,t2=0
MATLAB程序:
sys1=tf([10],[1210]);
sys2=tf([110],[1210]);
t=0:
0.01:
10;
figure
(1)
step(sys1,t);
figure
(2)
step(sys2,t);
figure(3)
step(sys1,sys2,t);
3-30火星自主漫游车的导向控制系统结构图如图所示。
该系统在漫游车的前后部都装有一个导向轮,其反馈通道传递函数为H(s)=1+Ks
要求:
(1)确定使系统稳定的K的取值范围
(2)当s3=-5为该系统的一个闭环特征根时,并计算另外两个闭环特征根;
(3)应用上一步求出K值,确定系统的单位阶跃应
>>K=[0,0.1,0.2,1,2,5,10,40,80,100];
>>fori=1:
9
k=K(i);
num=[k10];den=[110k10];
sys=tf(num,den);
t=0:
0.01:
20;
figure(i)
step(sys,t);gridon;
end
由图可知,系统临界稳定的K值为K=0.1,当K〉0.1后系统稳定,则能使系统稳定的K值范围为K〉=0.2
经计算,K=2.7,则系统闭环传递函数为Φ(s)=10/s^3+10s^2+2.7s+10
>>num=[10];
>>den=[1102710];
>>sys=tf(num,den);
>>t=0:
0.01:
20;
>>step(sys,t);
>>step(sys,t);grid
图(13)
分析:
由图(5)可知,系统调节时间ts=9.38s,系统无超调量σ。
系统无比例-微分环节时的根轨迹为:
>>G=zpk([],[00-10],1);
>>rlocus(G);
>>rlocus(G);grid
>>
系统并入比例-微分时的根轨迹为
>>G=zpk([-0.37],[00-10],1);
>>rlocus(G)
我们发现,对于此三阶系统,在反馈回路在反馈通道并入了一个比例微分时,可以使原先不稳定的系统趋于稳定且使系统无超调量。
因为串入比例-微分环节时,相当于增加了一个开环零点,迫使系统根轨迹向s左半平面弯曲,使系统趋向稳定。
3-3Aclosed-loopcontrolsystemisshowninFig3.2,
1)DeteminethetransferfunctionC(s)/R(s).
2)Deteminethepolesandzerosofthetransferfunction.
3)Useaunitstepinput,
andobtainthepartialfractionexpansionforC(s)andthesteady-statevalue.
4)Poltc(t)anddiscusstheeffectoftherealandcomplexpolesofthetransferfunction.
MATLAB程序:
num=[10];den=[1102710];t=0:
0.05:
25;
figure
step(num,den,t);
num=[6205];den=[11312816205];t=0:
0.05:
25;
figure
step(num,den,t);
DiskDriveReadSystem在
时,试采用微分反馈控制方法,并通过控制器参数的优化,使系统性能满足
等指标。
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)可使系统的超调量和调节时间降低,所以在系统中增加微分反馈可以增加系统的稳态性能。
4-5设单位反馈控制系统的开环传递函数如下,要求:
概略绘出
的闭环根根轨迹图。
MATLAB程序:
clearclc
G=zpk([0],[0-1-3.5-3-2i-3+2i],1);
figure
rlocus(G);
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时,系统加入一个一阶微分环节,此时无论增益如何变化,系统总处于稳定状态,也就是说给系统加入一个一阶微分环节能大幅度提高系统的稳定性。
4-17设控制系统开环传递函数G(s)=K*(s+1)/s^2(s+2)(s+4),试分别画出正反馈和负反馈系统的根轨迹图,并指出他们的稳定情况有何不同。
MATLAB程序代码:
G1=zpk([-1],[00-2-4],1);%建立等效开环传递函数模型
G2=zpk([-1],[00-2-4],-1);%建立等效开环传递函数模型
figure;rlocus(G1);%绘制根轨迹
figure;rlocus(G2);%绘制根轨迹
正反馈系统根轨迹图
分析:
从图可知,当K*值从0到无穷连续变化是,正反馈系统始终有特征根在s右半平面,所以正反馈系统恒不稳定。
而此负反馈系统由于增加了一个开环零点,所以在K*值在一定范围内系统是稳定的。
4-23>>MATLAB程序代码:
%建立等效开环传递函数模型
G=zpk([],[-0-0.5-1-1],1);
z=0.707;
%绘制相应系统的根轨迹
figure
(1)
rlocus(G);grid(z,'new')%取阻尼比为0.707
axis([-0.50.1-0.30.3])
figure
(2)
K=0.0612;%最佳阻尼比对应的根轨迹增益
holdon;rlocus(G,K)%阻尼比为0.707时,系统的闭环特征根
axis([-1.50.5-11])
rlocus(G);
%Ka=0.05时的阶跃响应
Ka=0.05;
numc=[0.5*Ka];denc=[12.520.50];
[num,den]=cloop(numc,denc);%系统闭环传递函数
roots(den);%系统闭环极点
sys=tf(num,den);t=0:
0.01:
120;
figure(3)
step(sys,t);gridon;
%Ka=0.11时的阶跃响应
Ka=0.11;
numc=[0.5*Ka];denc=[12.520.50];
[num,den]=cloop(numc,denc);%系统闭环传递函数
roots(den);%系统闭环极点
sys=tf(num,den);t=0:
0.01:
120;
figure(4)
step(sys,t);gridon;
%Ka=0.4时的阶跃响应
Ka=0.4;
numc=[0.5*Ka];denc=[12.520.50];
[num,den]=cloop(numc,denc);%系统闭环传递函数
roots(den);%系统闭环极点
sys=tf(num,den);t=0:
0.01:
120;
figure(5)
step(sys,t);gridon;
%Ka=0.8时的阶跃响应
Ka=0.8;
numc=[0.5*Ka];denc=[12.520.50];
[num,den]=cloop(numc,denc);%系统闭环传递函数
roots(den);%系统闭环极点
sys=tf(num,den);t=0:
0.01:
120;
figure(6)
step(sys,t);gridon;
分析:
由系统根轨迹可知,系统当K*值(0,0.36)一定范围时,系统稳定。
4.5英文讲义:
MATLAB程序:
(1)num=[1];
den=[1-10];
rlocus(num,den)
(2)当Gc(s)=K*(s+2)/(s+20)时,G(s)=K*(s+2)/[s*(s-1)*(s+20)],
MATLAB程序:
num=[12];
a=[1-10];b=[120];
den=conv(a,b);
rlocus(num,den)
第
(1)题的根轨迹如下
第
(2)题的根轨迹图如下
结果分析:
在第一小题的根轨迹图中可以看出,系统的闭环极点都位于s平面的有半平面,所以系统不稳定;在第二小题的根轨迹图中可以看出,系统的根轨迹图与虚轴有两个交点(分别为
1.51i),对应的开环增益为21.6。
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已知开环传递函数为
,试该绘制系统的概略频率特性曲线。
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);
程序运行结果如下
5-21
>>a=0.84;
G=tf([a,1],[1,0,0]);
margin(G);
grid;
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
由上图及表格可以看出,串联超前校正可以增加相角裕度,从而减少超调量,提高系统的稳定性,增大截止频率,从而缩短调节时间,提高快速性。
6-12
G1=tf([3,10,100],[1,10,100]);
G2=tf([3,30,100],[0.2,3,30,100]);
G3=tf([3,2010,100],[20,201,2010,100]);
figure
(1);step(G1);grid
figure
(2);step(G2);grid
figure(3);step(G3);grid
6-7图6-48为三种推荐的稳定系统的串联校正网络特性,他们均由最小相位环节构成。
若控制系统为单位反馈系统,其开环传递函数为
,则这些校正网络特性中,哪一种可使已校正系统的程度最好?
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
由以上图表可以看出,对于该待校正系统,若采用滞后校正,会使系统变得不稳定;用滞后-超前校正时稳定程度最好,但响应速度比超前校正慢,所以在选择校正系统时应合理选择,综合系统稳定性能及响应速度,以使系统在最大程度上满足设计需要。
6英文讲义:
MATLAB程序:
K1=50;K2=5.42;
Gc=tf([K2,K1],1);
G1=5;G2=series(Gc,G1);
G3=tf(10,[1,20,0]);G=series(G3,G2);
G4=feedback(G,1);
Gp=tf(50,[1,5.42]);
G5=series(Gp,G4);
G6=feedback(G3,G2);
figure
(1);step(G4);grid
figure
(2);step(G5);grid
figure(3);step(G6);grid
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;
程序运行结果如下
结果分析:
在matlab中运行以上M文件之后,得到数字控制器的螨虫传递函数为
此时系统无稳态误差,无过渡过程。
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);
fig