自动化仿真.docx
《自动化仿真.docx》由会员分享,可在线阅读,更多相关《自动化仿真.docx(29页珍藏版)》请在冰点文库上搜索。
自动化仿真
兰州理工大学
《自动控制原理》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.仿真实验报告请参照有关样本制作并打印装订。
1)第三章线性系统的时域分析法
3-5.设单位反馈系统的开环传递函数为G(s)=(0.4s+1)/[s(s+0.6)]
试求系统在单位阶跃输入下的动态性能。
两种动态性能系统比较;
>>numg=[0.41];deng=[10.60];
numh=[1];denh=[1];
[num,den]=feedback(numg,deng,numh,denh)
sys=tf(num,den);
p=roots(den)
figure
t=0:
0.1:
15;step(sys,t);grid
原系统的动态性能:
从图中可以看出,峰值时间tp=3.15s,
超调量18.1%,调节时间ts=7.95s
>>numg=[1];deng=[10.60];
numh=[1];denh=[1];
[num,den]=feedback(numg,deng,numh,denh)
sys=tf(num,den);
p=roots(den)
figure
t=0:
0.1:
15;step(sys,t);grid
忽略闭环零点的系统动态性能:
从图中可以看出,峰值时间tp=3.65s,
超调量17.5%,调节时间ts=8.17s
分析:
通过比较可以看出闭环零点对系统动态性能的影响为:
减小峰值时间,使系统响应速度加快,超调量增加。
这表明闭环零点会减小系统阻尼。
3-9.设控制系统如图所示,要求:
(1)取τ1=0,τ2=0.1,计算测速反馈校正系统的超调量,调节时间和速度误差。
(2)τ1=0.1,τ2=0,计算比例-微分校正系统的超调量,调节时间和速度误差。
>>num1=[10];den1=[1210];sys1=tf(num1,den1);
num2=[110];den2=[1210];sys2=tf(num2,den2);
t=0:
0.01:
10;
figure
(1)
step(sys1,t);grid
figure
(2)
step(sys2,t);grid
(1)从图中可以看出:
峰值时间:
tp=0.98s,超调量34.8%,
调节时间ts=3.74s(△=2%)。
(2)从图中可以看出:
峰值时间:
tp=0.98s,超调量35.2%,
调节时间ts=3.64s(△=2%)。
在MATLAB环境下完成英文讲义P153.E3.3。
Aclose-loopcontrolsystemisshowinFig,
1)DeterminethetransferC(s)/R(s).
2)Determinethepolesandzerosofthetransferfunction.
3)Useaunitstepinput,R(s)=1/s,andobtainthepartialfractionexpansionforC(s)andthesteady-statevalue.
4)Plotc(t)anddiscusstheeffectoftherealandcomplexpolesofthetransferfunction.
SIMULINK仿真图:
.对英文讲义中的循序渐进实例“DiskDriveReadSystem”,在
时,试采用微分反馈使系统的性能满足给定的设计指标。
程序:
ka=100;
G1=tf([5000],[11000]);
G2=tf([1],[1200]);
G3=tf([1],[10]);
k1=0.2;
G4=feedback(ka*G1*G2,k1);sys1=feedback(G4*G3,1);
k2=0.5;
G4=feedback(ka*G1*G2,k2);sys2=feedback(G4*G3,1);
k3=0.8;
G4=feedback(ka*G1*G2,k3);sys3=feedback(G4*G3,1);
k4=1;
G4=feedback(ka*G1*G2,k4);sys4=feedback(G4*G3,1);t=0:
0.01:
6;
figure
(1)
step(sys1,t);grid
holdon;step(sys2,t);grid
holdon;step(sys3,t);grid
holdon;step(sys4,t);grid
2)第四章线性系统的根轨迹法
4-5-(3).设单位反馈控制系统的开环传递函数如下,要求:
3)概略绘出
G(s)=K*/[s(s+1)(s+3.5)(s+3+i2)(s+3-i2)]
的闭环根轨迹图(要求确定根轨迹的分离点,起始角和与虚轴的交点)。
>>G=zpk([],[0-1-3.5-3-2i-3+2i],1);%建立等效开环传递函数
>>rlocus(G);
4-10.在MATLAB环境下选择完成教材第四章习题4-10
>>G1=zpk([],[00-2-5],1);
G2=zpk([-0.5],[00-2-5],1);
figure
(1)
rlocus(G1);
figure
(2)
rlocus(G2);
(1)
(2)
当反馈通路传递函数变为1+2S时,相对于原来的单位反馈系统的根轨迹,根轨迹右侧部分向S平面左拧,使得系统的稳定性变好。
在MATLAB环境下完成英文讲义P157.E4.5
AcontrolsystemasshowinFighasaplantG(s)=1/[s(s-1)]
1)whenGc(s)=K,showthatthesystemisalwaysunstablebysketchingtherootlocus,
2)WhenGc(s)=K(s+2)/(s+20),sketchtherootlocusanddeterminetherangeofKforwhichthesystemisstable.DeterminethevalueofKandthecomplexrootswhentworootslieonthejω-axis.
MATLAB程序:
G1=tf([1],[1,-1,0]);
G2=tf([1,2],[0,-19,20]);
figure;
rlocus(G1);
figure;
rlocus(G2);
仿真结果:
5-5在MATLAB环境下选择完成教材第五章习题5-5
>>k=1;t=1;T=3;
G1=tf([k*tk],conv([100],[T1]));
figure
(1)
nyquist(G1);
>>k=1;t=3;T=1;
>>G2=tf([k*tk],conv([100],[T1]));
>>figure
(2)
>>nyquist(G2);
(1)
(
(2)
5-11.在MATLAB环境下选择完成教材第五章习题5-11
(1)
>>G=tf([2],conv([21],[8,1]));
figure
margin(G);
第六章线性系统的校正
6-1.设有单位反馈的火炮指挥伺服系统,其开环传递函数为
Go(s)=K/[s(0.2s+1)(0.5s+1)]
若要求系统最大输出速度为12/s,输出位置的容许误差小于2,试求:
(1)确定满足上述指标的最小K值,计算该K值下的系统的相角裕度;
(2)在前向通路中串联超前校正网络
Gc(s)=(0.4s+1)/(0.08s+1)
计算校正后的相角裕度和幅值裕度,说明超前校正对系统动态性能的影响。
>>k=6;
>>G0=zpk([],[0-5-2],6);
>>Gc=tf([0.41],[0.081]);
>>G=series(G0,Gc);
>>G1=feedback(G0,1);
>>G11=feedback(G,1);
>>figure
(1)
>>margin(G0);grid
>>figure
(2)
>>margin(G);grid
>>figure(3)
>>step(G1);grid
>>figure(4)
>>step(G11);grid
(1)
(2)
(3)
(4)
以上结果可以看出超前校正使相角裕度增加,从而超调量减少,稳定性提高,也使得截止频率增大从而调节时间缩短,系统快速性提高。
6-5.设单位反馈系统的开环传递函数为
Go(s)=8/[s(2s+1)]
若采用滞后-超前校正装置
Gc(s)=(10s+1)(2s+1)/[(100s+1)(0.2s+1)]
对系统进行串联校正,试绘制系统校正前后的对数幅频渐进特性,并计算系统校正前后的相角裕度。
>>G0=zpk([],[0-0.5],8);
>>Gc=zpk([-0.1-0.5],[-0.01,-5],1);
>>G=series(G0,Gc);
>>G1=feedback(G0,1);
>>G11=feedback(G,1);
>>figure
(1)
>>margin(G0);grid
>>figure
(2)
>>margin(G);grid
>>figure(3)
>>step(G1);grid
>>figure(4)
>>step(G11);grid
>>
(1)
(2)
(3)
(4)
分析:
System1:
RiseTime(sec):
0.567Overshoot(%):
67.2SettlingTime(sec):
14.7
System2:
RiseTime(sec):
1.609Overshoot(%):
11.9SettlingTime(sec):
18.4
系统加了超前校正(Gc=(10s+1)(2s+1)/(100s+1)(0.2s+1))后,系统的超调量大大减少,但增加了系统的上升时间和调节时间。
6第六章的“DiskDriveReadSystem”:
对英文讲义中的循序渐进实例“DiskDriveReadSystem”,试采用PD控制使系统的性能满足给定的设计指标
。
解:
设计如下:
根据指标要求
,进行一系列的设计之后可以知道Gp(s)=72.58/(s+72.58),Gc(s)=39.68(s+72.58)(Kp=2800,Kd=39.68)
原有系统的开环传递函数是:
G2(s)=1/s(s+20),开环增益是:
G1(s)=5.所以在单位阶跃输入下原有系统的开环传递函数为;
(1)G0(s)=5/s(s+20)
在单位阶跃输入下原有系统中加入PD控制器后的开环传递函数为
G(s)=(198.4s+14399.872)/s(s+20)
加入PD控制器前后系统的Bode图:
Matlab程序:
G0=tf([5],[1200]);
G=tf([198.414399.872],[1200]);
figure()
margin(G0);holdon
margin(G);holdoff
Bode图:
加入PD控制器前后系统的单位阶跃响应曲线:
Matlab程序:
G1=tf([5],[1200]);
G0=feedback(G1,1);
G2=tf([198.414399.872],[1200]);
G=feedback(G2,1)
figure()
t=0:
0.06:
20
step(G0);holdon
step(G);holdoff
单位阶跃响应曲线图:
*根据阶跃响应图可以知道加入PD控制器以后系统的性能为:
超调量:
0.181%<5%
调节时间:
58ms<150ms
而系统要求说要达到的指标是:
,所以满足要求。
由此可以有如下的总结:
PID控制器中,P的作用是提高系统的灵敏度和减小系统的稳态误差;I的作用是提高系统的类型数;D的作用是提高系统的响应速度;PD控制器是改善系统的动态性能;PI控制器是改善系统的稳态性能。
7-20.在MATLAB环境下选择完成教材第七章习题7-20
T=1;t=0:
1:
10;
sys=tf([0,1],[1,0],T);
step(sys,t);
axis([0,10,0,1.2]);grid;
xlabel('t');
ylabel('c*(t)');
>>
7-25.设连续的、未经采样的控制系统,其中被控对象
Go(s)=1/[s(s+10)]
要求:
(1)设计滞后校正网络
Go(s)=K(s+a)/(s+b)(a>b)
使系统在单位阶跃输入时的超调σ%=30%,且在单位斜坡输入时的稳态误差ess=<0.01;
(2)若为该系统增配一套采样器和临界保持器,并选采样周期T=0.1s,试采用Gc(s)-D(z)变换方法,设计合适的数字控制器D(z);
(3)分别画出
(1)及
(2)中的连续系统和离散系统的单位阶跃响应曲线,并比较两者的结果;
(4)另选采样周期T=0.01s,重新完成
(2)和(3)的工作;
(5)对于
(2)中得到的D(z),画出离散系统的单位斜坡响应,并与连续系统的单位斜坡响应进行比较.
(1)K=150,a=0.7,b=0.4,
T1=0.1;T2=0.01;
sys1=tf([150,105],[1,10.1,151,105]);
sys2=tf([0.568,-0.1221,-0.3795],[1,-1.79,1.6,-0.743],T1);
sys3=tf([0.568,-0.1221,-0.3795],[1,-1.79,1.6,-0.743],T2);
figure;step(sys1,sys2,4);grid;
figure;step(sys1,sys3,4);grid;
仿真结果:
T1=0.1s
T2=0.01s
比较连续与离散系统的阶跃响应,可知连续系统离散化后,动态性能会恶化且输出有纹波。
MATLAB程序:
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)
lsim(sys,u,t,0);
grid;
Transferfunction:
0.568z^2-0.1221z-0.3795
------------------------------
z^3-1.79z^2+1.6z-0.743
Samplingtime:
0.1
单位斜坡响应曲线:
比较连续与离散系统的斜坡响应,离散系统的输出有纹波
实例“DiskDriveReadSystem”进行验证,计算D(z)=4000时系统的动态性能指标,说明其原因。
程序设计:
仿真图像
T=0.001;
t=0:
0.001:
10;
sys=tf([0,1],[1,0],T);
step(sys,t);
axis([0,10,0,1.2]);
grid;
xlabel('t');
ylabel('c*(t)');