自控实验报告.docx
《自控实验报告.docx》由会员分享,可在线阅读,更多相关《自控实验报告.docx(20页珍藏版)》请在冰豆网上搜索。
![自控实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/4/e83358d1-cbf3-44ed-9988-5a7dcc51e24b/e83358d1-cbf3-44ed-9988-5a7dcc51e24b1.gif)
自控实验报告
自
动
控
制
实
验
报
告
学院:
专业:
10电气
(2)班
指导老师:
姓名:
学号:
实验一MATLAB及仿真实验(控制系统的时域分析)
学习利用MATLAB进行以下实验,要求熟练掌握实验内容中所用到的指令,并按内容要求完成实验。
一、实验目的
学习利用MATLAB进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;
二、预习要点
1、系统的典型响应有哪些?
惯性响应,积分响应,微分响应,一阶微分响应,二阶微分响应,振荡响应,比例响应
2.如何判断系统稳定性?
从闭环系统的零、极点来看,只要闭环系统的特征方程的根都分布在s平面的左半平面,系统就是稳定的。
a、劳斯判据——判定多项式方程在S平面的右半平面是否存在根的充要判据。
——特征方程具有正实部根的数目与劳斯表第一列中符号变化的次数相同。
b、奈奎斯特判据——利用开环频率的几何特性来判断闭环系统的稳定性和稳定性程度,更便于分析开环参数和结构变化对闭环系统瞬态性能影响。
——利用幅角原理——Z、P分别为右半平面闭环、开环极点,要想闭环系统稳定,则Z=P+N=0,其中N为开环频率特性曲线GH(jw)顺时针绕(-1,j0)的圈数。
c、波特图——幅值裕度——系统开环频率特性相位为-180时(穿越频率),其幅值倒数K,意义为闭环稳定系统,如果系统的开环传递系数再增大K倍,系统临界稳定。
——相位裕度——系统开环频率特性的幅值为1时(截止频率),其相位与180之和。
意义为:
闭环稳定系统,如果系统开环频率特性再滞后r,系统进入临界稳定。
低频段——稳态误差有关。
L(w)在低频段常见频率为[-20]、[-40],也就是一阶或二阶无差(v=1/v=2)
中频段——截止频率附近的频段,与系统的瞬态性能有关。
为了具有合适的相位裕度(30~60),L(w)在中频段穿过0分贝线的斜率应为[-20],并且具有足够的宽度。
高频段——抗高频干扰能力。
高频段闭环频率特性近似于开环频率特性,高频段幅值分贝越小,则抑制高频信号衰落的作用越大,抗高频干扰越强。
L(w)在高频段应具有较大的负斜率。
d、根轨迹——系统开环传递函数的某一参数变化造成闭环特征根在根平面上变化的轨迹。
——增加开环零点,根轨迹左移,提高相对稳定性,改善动态性能。
零点越靠近虚轴影响越大。
——增加开环极点,根轨迹右移,不利于系统稳定和动态性能。
3系统的动态性能指标有哪些?
峰值时间
上升时间
调整时间
超调量
三、实验方法
(一)四种典型响应
1、阶跃响应:
阶跃响应常用格式:
1、
;其中
可以为连续系统,也可为离散系统。
2、
;表示时间范围0---Tn。
3、
;表示时间范围向量T指定。
4、
;可详细了解某段时间的输入、输出情况。
2、脉冲响应:
脉冲函数在数学上的精确定义:
其拉氏变换为:
所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式:
①
;
②
③
(二)分析系统稳定性
有以下三种方法:
1、利用pzmap绘制连续系统的零极点图;
2、利用tf2zp求出系统零极点;
3、利用roots求分母多项式的根来确定系统的极点
(三)系统的动态特性分析
Matlab提供了求取连续系统的单位阶跃响应函数step、单位脉冲响应函数impulse、零输入响应函数initial以及任意输入下的仿真函数lsim.
四、实验内容
(一)稳定性
1.系统传函为
,试判断其稳定性
num=[32546];
den=[134272];
sys=tf(num,den);
p=roots(den)
t=0:
0.01:
3;
figure
(1)
p=
-1.7680+1.2673i
-1.7680-1.2673i
0.4176+1.1130i
0.4176-1.1130i
-0.2991
因为有根在一象限即有极点在S的右半平面所以不稳定
2用Matlab求出
的极点。
num=[122];
den=[17352];
sys=tf(num,den);
figure
(1)
pzmap(sys);
p=roots(den)
p=
-6.6553
0.0327+0.8555i
0.0327-0.8555i
-0.4100
(二)阶跃响应
1.二阶系统
1)键入程序,观察并记录单位阶跃响应曲线
zeta=1;
num=[10];
den=[12*zeta10];
sys=tf(num,den);
p=roots(den)
t=0:
0.01:
10;
figure
(1)
step(sys,t);grid
p=
-1.0000+3.0000i
-1.0000-3.0000i
2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录
代码
num=[10];
den=[1210];
sys=tf(num,den);
damp(den)
结果
EigenvalueDampingFreq.(rad/s)
-1.00e+000+3.00e+000i3.16e-0013.16e+000
-1.00e+000-3.00e+000i3.16e-0013.16e+000
3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:
实际值
理论值
峰值Cmax
1.35
1.37
峰值时间tp
1.05
1.047
过渡时间
ts
2.52
3.00
3.54
4.000
4)修改参数,分别实现
和
的响应曲线,并记录
n0=10;
d0=[1210];
step(n0,d0);
holdon
n1=n0;
d1=[16.3210];
step(n1,d1);
n2=n0;
d2=[112.6410];
5)修改参数,分别写出程序实现
和
的响应曲线,并记录
n0=10;
d0=[1210];
step(n0,d0);
holdon
n1=2.5;
d1=[16.322.5];
step(n1,d1);
n2=40;
d2=[112.6440];
step(n2,d2)
2.作出以下系统的阶跃响应,并与原系统响应曲线进行比较,作出相应的实验分析结果
(1)
,有系统零点的情况
Num0=[10]
Num1=[210];
den=[1210];
step[num0,den];
step[num1,den];
(2)
,分子、分母多项式阶数相等
Num=10;
Num1=[10.510];
den=[1210];
g0=tf(num,den);
g1=tf(num1,den);
step(g0,g1);
(3)
,分子多项式零次项为零
Num0=[10];
Num1=[100.5];
den=[1210];
g0=tf(num0,den);
g1=tf(num1,den);
step(g0,g1);
(4)
,原响应的微分,微分系数为1/10
Num0=[10];
den=[1210];
num1=[10]
g0=tf(num0,den);
g1=tf(num1,den);
step(g0,g1);
3.单位阶跃响应:
求该系统单位阶跃响应曲线,并在所得图形上加网格线和标题
num=[25];
den=[1425];
sys=tf(num,den);
t=0:
0.01:
10;
figure
(1)
step(sys,t);
(三)系统动态特性分析
用Matlab求二阶系统
和
的峰值时间
上升时间
调整时间
超调量
num=[120];
den=[112120];
sys=tf(num,den);
figure
(1)
step(sys,t);
峰值时间
=0.34上升时间
=0.197调整时间
=0.483超调量
=12.8
num=[0.01];
den=[10.0020.01];
sys=tf(num,den);
t=0:
0.01:
10;
figure
(1)
step(sys,t);
五.实验报告要求:
a)完成上述各题
b)分析阻尼比、无阻尼振荡频率对系统阶跃响应和脉冲响应的影响
答:
阻尼振荡频率越大,系统响应时间越短。
阻尼比越小,系统超调量越大。
通过阻尼比和阻尼振荡频率,可以确定无阻尼振荡频率。
c)分析零初值、非零初值与系统模型的关系
答:
当系统为典型的二阶系统时,初值为0;如果二阶系统加上一个零点0,初值仍为0;如果系统加上2个或者2个以上的零点,相当于系统有初始储能,此时初值变为1.
d)分析响应曲线的稳态值与系统模型的关系
答:
当系统为典型的二阶系统时,稳态值为1;如果二阶系统加上一个零点,则稳态值变为0;如果二阶系统加上一个非0的零点,则稳态值仍为1,但系统加速;如果系统加上2个或者2个以上的零点,相当于系统有初始储能。
e)分析零极点对系统性能的影响
答:
系统零极点有加速阶跃响应的影响。
实验二MATLAB及仿真实验(控制系统的根轨迹分析)
一实验目的
1.利用计算机完成控制系统的根轨迹作图
2.了解控制系统根轨迹图的一般规律
3.利用根轨迹图进行系统分析
二预习要点
1.预习什么是系统根轨迹?
2.闭环系统根轨迹绘制规则。
三实验方法
(一)方法:
当系统中的开环增益k从0到变化时,闭环特征方程的根在复平面上的一组曲线为根轨迹。
设系统的开环传函为:
,则系统的闭环特征方程为:
根轨迹即是描述上面方程的根,随k变化在复平面的分布。
(二)MATLAB画根轨迹的函数常用格式:
利用Matlab绘制控制系统的根轨迹主要用pzmap,rlocus,rlocfind,sgrid函数。
1、零极点图绘制
❑[p,z]=pzmap(a,b,c,d):
返回状态空间描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。
❑[p,z]=pzmap(num,den):
返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。
❑pzmap(a,b,c,d)或pzmap(num,den):
不带输出参数项,则直接在s复平面上绘制出系统对应的零极点位置,极点用×表示,零点用o表示。
❑pzmap(p,z):
根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用×表示,零点用o表示。
2、根轨迹图绘制
❑rlocus(a,b,c,d)或者rlocus(num,den):
根据SISO开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。
开环增益的值从零到无穷大变化。
❑rlocus(a,b,c,d,k)或rlocus(num,den,k):
通过指定开环增益k的变化范围来绘制系统的根轨迹图。
❑r=rlocus(num,den,k)或者[r,k]=rlocus(num,den):
不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k,返回闭环系统特征方程1+k*num(s)/den(s)=0的根r,它有length(k)行,length(den)-1列,每行对应某个k值时的所有闭环极点。
或者同时返回k与r。
❑若给出传递函数描述系统的分子项num为负,则利用rlocus函数绘制的是系统的零度根轨迹。
(正反馈系统或非最小相位系统)
3、rlocfind()函数
❑[k,p]=rlocfind(a,b,c,d)或者[k,p]=rlocfind(num,den)
它要求在屏幕上先已经绘制好有关的根轨迹图。
然后,此命令将产生一个光标以用来选择希望的闭环极点。
命令执行结果:
k为对应选择点处根轨迹开环增益;p为此点处的系统闭环特征根。
❑不带输出参数项[k,p]时,同样可以执行,只是此时只将k的值返回到缺省变量ans中。
4、sgrid()函数
❑sgrid:
在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn、阻尼比矢量z对应的格线。
❑sgrid(‘new’):
是先清屏,再画格线。
❑sgrid(z,wn):
则绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线。
四实验内容
1.
要求:
(a)记录根轨迹的起点、终点与根轨迹的条数;
num=[1];
den=[1320];
rlocus(num,den)
图中三条不同颜色的线表示三条不同的根轨迹,起点分别为0,-1,-2.
(b)确定根轨迹的分离点与相应的根轨迹增益;
num=[1];
den=[1320];
rlocfind(num,den)
如上图所示,可以看出分离点是-0.423,此时的增益为0.385.
(b)确定临界稳定时的根轨迹增益
num=[1];
den=[1320];
rlocfind(num,den)
由上图可知,当系统临界稳定时的增益值为6.1.
2.
要求:
确定系统具有最大超调量时的根轨迹增益;
k=1;
z=[-3];
p=[0,-2];
sys=zpk(z,p,k);
rlocus(sys)
由图可知,超调量最大为1.16,此时的增益为2.18
3.绘制下列各系统根轨迹图。
num=[124];
den=conv([10],conv([14],conv([16],[146])));
g=tf(num,den);
rlocus(g);
4.绘制下列各系统根轨迹图。
开环传递函数:
(1)
;
num=[10.2];
den=conv([100],[13.6]));
g=tf(num,den);
rlocus(g);
(2)
num=[1];
den=[10.610.850];
g=tf(num,den);
rlocus(g);
5.试绘制下面系统根轨迹图
num=[11];
den=conv([10],conv([1-1],conv([1416])));
g=tf(num,den);
rlocus(g);
实验三MATLAB及仿真实验(控制系统的频域分析)
学习利用MATLAB进行以下实验,要求熟练掌握实验内容中所用到的指令,并按内容要求完成实验。
一实验目的
1.利用计算机作出开环系统的波特图
2.观察记录控制系统的开环频率特性
3.控制系统的开环频率特性分析
二预习要点
1.预习Bode图和Nyquist图的画法;
2.映射定理的内容;
3.Nyquist稳定性判据内容。
三实验方法
1、奈奎斯特图(幅相频率特性图)
❑对于频率特性函数G(jw),给出w从负无穷到正无穷的一系列数值,分别求出Im(G(jw))和Re(G(jw))。
以Re(G(jw))为横坐标,Im(G(jw))为纵坐标绘制成为极坐标频率特性图。
MATLAB提供了函数nyquist()来绘制系统的极坐标图,其用法如下:
❑nyquist(a,b,c,d):
绘制出系统的一组Nyquist曲线,每条曲线相应于连续状态空间系统[a,b,c,d]的输入/输出组合对。
其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。
❑nyquist(a,b,c,d,iu):
可得到从系统第iu个输入到所有输出的极坐标图。
❑nyquist(num,den):
可绘制出以连续时间多项式传递函数表示的系统的极坐标图。
❑nyquist(a,b,c,d,iu,w)或nyquist(num,den,w):
可利用指定的角频率矢量绘制出系统的极坐标图。
❑当不带返回参数时,直接在屏幕上绘制出系统的极坐标图(图上用箭头表示w的变化方向,负无穷到正无穷)。
当带输出变量[re,im,w]引用函数时,可得到系统频率特性函数的实部re和虚部im及角频率点w矢量(为正的部分)。
可以用plot(re,im)绘制出对应w从负无穷到零变化的部分。
2、对数频率特性图(波特图)
对数频率特性图包括了对数幅频特性图和对数相频特性图。
横坐标为频率w,采用对数分度,单位为弧度/秒;纵坐标均匀分度,分别为幅值函数20lgA(w),以dB表示;相角,以度表示。
MATLAB提供了函数bode()来绘制系统的波特图,其用法如下:
❑bode(a,b,c,d,iu):
可得到从系统第iu个输入到所有输出的波特图。
bode(a,求取系统对数频率特性图(波特图):
bode()
求取系统奈奎斯特图(幅相曲线图或极坐标图):
nyquist()b,c,d):
自动绘制出系统的一组Bode图,它们是针对连续状态空间系统[a,b,c,d]的每个输入的Bode图。
其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。
❑bode(num,den):
可绘制出以连续时间多项式传递函数表示的系统的波特图。
❑bode(a,b,c,d,iu,w)或bode(num,den,w):
可利用指定的角频率矢量绘制出系统的波特图。
❑当带输出变量[mag,pha,w]或[mag,pha]引用函数时,可得到系统波特图相应的幅值mag、相角pha及角频率点w矢量或只是返回幅值与相角。
相角以度为单位,幅值可转换为分贝单位:
magdb=20×log10(mag)
四实验内容
1.用Matlab作Bode图.要求:
画出对应Bode图,并加标题.
(1)
num=[25];
den=[142];
g=tf(num,den);
Bode(g)
(2)
num=conv([9],[10.21]);
den=conv([10],[11.29]);
g=tf(num,den);
Bode(g)
2.用Matlab作Nyquist图.要求画对应Nyquist图,并加网格标题.
num=[1];
den=[10.81];
g=tf(num,den);
axis([-2700-4040]);
nyquist(g);
3.典型二阶系统
,试绘制
取不同值时的Bode图。
取
。
wn=6;
znb=[0.10.20.30.40.50.60.70.80.91];
n=[wn^2];
fork=znb
d=[12*k*wnwn^2];
sys=tf(n,d);
bode(sys);
holdon
end
4.某开环传函为:
,试绘制系统的Nyquist曲线,并判断闭环系统稳定性,最后求出闭环系统的单位脉冲响应。
num=[50];den=[13-10];
figure
(1);
nyquist(num,den)
gridon
figure
(2);
step(num,den)
[Z,P,K]=tf2zp(num,den)
gridon
figure(3);
impulse(num,den)
gridon
Nyquist图
闭环系统单位脉冲响应
5.
zeta=[210.50.1];forj=1:
4sys=tf([1],[0.01,0.2*tzeta(j),1]);
bode(sys);holdonend
5.
要求:
(a)作波特图
num=[31.6];
den=[0.0010.1110];
margin(num,den)
(b)由稳定裕度命令计算系统的稳定裕度
和
,并确定系统的稳定性
答:
为上图中Gm,Pm。
(c)在图上作近似折线特性,与原准确特性相
7.已知系统结构图如图所示:
其中:
(1)
(2)
要求:
(a)作波特图,并将曲线保持进行比较
num1=[1];den1=[110];
bode(num1,den1)
margin(num1,den1)
holdon
num2=[1];den2=[12100];
bode(num2,den2)
margin(num2,den2)
(c)分别计算两个系统的稳定裕度值,然后作性能比较
num1=[1];den1=[110];bode(num1,den1)
margin(num1,den1)holdon
num2=[1];den2=[12100];bode(num2,den2)margin(num2,den2)