兰州理工大学自动操纵原理MATLAB分析与设计仿真实验报告.docx
《兰州理工大学自动操纵原理MATLAB分析与设计仿真实验报告.docx》由会员分享,可在线阅读,更多相关《兰州理工大学自动操纵原理MATLAB分析与设计仿真实验报告.docx(30页珍藏版)》请在冰豆网上搜索。
兰州理工大学自动操纵原理MATLAB分析与设计仿真实验报告
兰州理工大学
《自动操纵原理》MATLAB分析与设计
仿真实验报告
院系:
电气工程与信息工程学院
班级:
自动化一班
姓名:
学号:
时刻:
年月日
电气工程与信息工程学院
《自动操纵原理》MATLAB分析与设计仿真实验任务书(2017)
一、仿真实验内容及要求
1.MATLAB软件
要求学生通过课余时刻自学把握MATLAB软件的大体数值运算、大体符号运算、大体程序设计方式及经常使用的图形命令操作;熟悉MATLAB仿真集成环境Simulink的利用。
2.各章节实验内容及要求
1)第三章线性系统的时域分析法
对教材第三章习题3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;
对教材第三章习题3-9系统的动态性能及稳态性能通过仿真进行分析,说明不同操纵器的作用;
在MATLAB环境下选择完成教材第三章习题3-30,并对结果进行分析;
;
对英文讲义中的循序渐进实例“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日
第三章线性系统的时域分析法
1.对教材第三章习题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)
;
t=0:
0.01:
20;
figure
(1)
step(sys,'r',sys1,'b--',t);grid;
xlabel('t');ylabel('c(t)');title('阶跃响应');
程序运行结果如下:
分析:
(1)原系统的动态性能:
从图中能够看出:
峰值时刻:
tp=3.2s,超调量18.0%,调剂时刻ts=7.74s。
(2)忽略闭环零点的系统动态性能:
从图中能够看出:
峰值时刻:
tp=3.6s,超调量16.7%,调剂时刻ts=7.86s。
(3)两种情形动态性能比较:
通过比较能够看出闭环零点对系统动态性能的阻碍为:
减小峰值时刻,使系统响应速度加速,超调量增大。
这说明闭环零点会减小系统阻尼。
2.对教材第三章习题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('阶跃响应');
不同操纵器下的单位阶跃响应曲线如以下图所示:
分析:
(1)从图中能够看出:
峰值时刻tp=1.05s,超调量35.1%,调剂时刻ts=3.54s(△=2%)。
(2)从图中能够看出:
峰值时刻tp=0.94s,超调量37.1%,调剂时刻ts=3.44s(△=2%)。
(3)结果:
比较说明系统的稳固性与前馈操纵无关;微分反馈使系统的性能取得了改善。
3.在MATLAB环境下完成英文讲义P153.E3.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:
5;
figure
(2);
step(sys,t);grid;
xlabel('t');ylabel('c(t)');title('阶跃响应');
(1)求得系统的零极点为
z=empty
p=6205
(2)该系统的单位阶跃响应曲线和零极点散布图如下:
分析:
(1)特点方程的特点根都具有负实部,响应曲线单调上升,故闭环系统稳固,实数根输出表现为过阻尼单调上升,复数根输出表现为震荡上升。
(2)ss,超调量=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');
程序运行结果如下:
分析:
添加微分反馈后系统扰动减小,自然频率不变,阻尼比变大,由欠阻尼变成过阻尼,使上升时刻变大,超调量和调剂时刻变小,动态性能变好。
但闭环增益减小,加大了系统的稳态误差。
第四章线性系统的根轨迹法
1.。
已知操纵系统的开环传递函数为
求:
(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,系统稳固。
2.利用MATLAB绘制教材第四章习题4-5
概略绘出
的根轨迹图。
解:
MATLAB程序如下:
G=tf([1],[110.543.579.545.50]);
rlocus(G);title(‘根轨迹图');
3.在MATLAB环境下选择完成教材第四章习题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时,系统加入一个一阶微分环节,现在不管增益如何转变,系统总处于稳固状态,也确实是说给系统加入一个一阶微分环节能大幅度提高系统的稳固性。
第五章线性系统的频域分析法
1.利用MATLAB绘制本章作业中任意2个习题的频域特性曲线。
已知系统的开环传递函数为
,画出系统的概略频率特性曲线。
解:
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);
程序运行结果如下:
已知开环传递函数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);
第六章线性系统的校正
1.利用MATLAB选择设计本章作业中至少2个习题的操纵器,并利用系统的单位阶跃响应说明所设计操纵器的功能。
设有单位反馈的火炮指挥伺服系统,其开环传递函数为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
程序运行结果如下:
分析:
由上图及表格能够看出,串联超前校正能够增加相角裕度,从而减少超调量,提高系统的稳固性,增大截止频率,从而缩短调剂时刻,提高快速性。
设单位反馈系统的开环传递函数为
,假设采纳滞后-超前校正装置
,对系统进行串联校正,试绘制校正前后的对数幅频渐进特性曲线,并计算校正前后的相角裕度。
解:
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
程序运行结果如下:
分析:
由上图及表格能够看出当待校正系统不稳固时,采纳串联滞后-超前校正后可使系统的响应速度、相角裕度和稳态精度提高。
2.利用MATLAB完成教材第六章习题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
系统单位阶跃响应曲线和单位阶跃扰动曲线别离如下图:
3.对英文讲义中的循序渐进实例“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;
程序运行结果如下:
分析:
给系统串联一个PD操纵器,只要参数选择合理,能大幅度提高系统的稳固性与快速性,在对系统响应要求较高时,可采纳此种校正方式,使系统最大程度上知足设计需要。
第七章线性离散系统的分析与校正
1.利用MATLAB完成教材第七章习题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;
程序运行结果如下:
2.利用MATLAB完成教材第七章习题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;
程序运行结果如下:
分析:
相较于采样周期为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。
为快速读取磁盘信息,要求系统在单位阶跃输入下为一拍系统,因此
按一拍系统设计,加入数字操纵器后,单位阶跃信号输入,系统响应变得稳固、快速。