控制系统的根轨迹.docx
《控制系统的根轨迹.docx》由会员分享,可在线阅读,更多相关《控制系统的根轨迹.docx(17页珍藏版)》请在冰豆网上搜索。
控制系统的根轨迹
【实验名称】
控制系统的根轨迹
【实验目的】
1)掌握MATLAB软件绘制根轨迹的方法。
2)分析参数变化对根轨迹的影响。
3)利用根轨迹法对控制系统性能进行分析。
【实验仪器】
1)PC机一台
2)MATLAB软件
【实验原理】
(1)根轨迹的概念
经典控制理论中,为了避开直接求解高阶特征方程式根时遇到的困难,提出了一种图解求根的方法,即根轨迹法。
根轨迹是指当系统的某个参数从零变化到无穷时,闭环特征方程的根在复平面上的变化曲线。
常规根轨迹一般取开环增益K作为可变参数,根轨迹上的点应满足根轨迹方程:
其中
---开环零点,
---开环极点,
---根轨迹增益,是一个变化的参数(
),
为一常数。
系统结构图如下:
图6-1闭环系统结构图
闭环特征根(即根轨迹上的点)应满足
(1)幅值条件:
;
(2)相角条件:
。
(2)用MATLAB软件绘制根轨迹
MATLAB7.0提供的工具箱给出了一系列关于根轨迹的函数,如表2-1所示。
使用这些函数能够很方便地绘制出系统的常规根轨迹和参数根轨迹,还能基于根轨迹对系统性能进行分析。
表6-1根轨迹函数
函数名
函功能描述
pzmap
绘制零极点
rlocfind
计算给定根轨迹增益
rlocus
计算并绘制根轨迹
rltool
根轨迹设计GUI工具
sgrid
绘制连续时间系统根轨迹和零极点图中的阻尼系数和自然频率网格
zgrid
绘制离散时间系统根轨迹和零极点图中的阻尼系数和自然频率网格
①pzmap
调用格式:
pzmap(sys);[p,z]=pzmap(sys)
②rlocfind
调用格式:
[k,poles]=rlocfind(sys);[k,poles]=rlocfind(sys,p)
③rlocus
调用格式:
rlocus(sys);rlocus(sys,k);[r,k]=rlocus(sys);r=rlocus(sys,k)
④rltool
调用格式:
rltool(plant);rltool(plant,comp)
⑤sgrid
调用格式:
sgrid;sgrid(z,wn)
⑥zgrid
调用格式:
zgrid;zgrid(z,wn)
【实验内容与步骤】
系统的开环传递函数:
绘制系统的根轨迹图。
程序:
num=[1];
den=[1320];
rlocus(num,den)
执行后得到如下图形:
(1)采用上述方法绘制开环传递函数
当a=1,0.5,8,10时系统的根轨迹,记录根轨迹图并分析。
z=[-1];
p=[00-1];
G=zpk(z,p,1);
rlocus(G)
z=[-1];
p=[00-0.5];
G=zpk(z,p,1);
rlocus(G)
z=[-1];
p=[00-8];
G=zpk(z,p,1);
rlocus(G)
z=[-1];
p=[00-10];
G=zpk(z,p,1);
rlocus(G)
(2)绘制开环传递函数
的闭环根轨迹,并确定根轨迹上任意点处的
值及对应的闭环特征根。
num=[15];
den=[1160];
rlocus(num,den)
[k,p]=rlocfind(num,den)
gtext(‘k=0.5’)
执行时先画出了根轨迹,并提示用户在图形窗口中选择根轨迹上的一点,以计算出增益
及相应的极点。
这时将十字光标放在根轨迹与虚轴的交点处,可得
k=0.5072
p=-3.2271
-0.8921
-0.8808
输入如下语句:
K=10;s1=tf([1010*5],[1560]);
sys=feedback(s1,1);
step(sys);
holdon;
impulse(sys);
可以求出
时的单位阶跃响应和冲激响应。
按照上述方法记录
时的单位阶跃响应和冲激响应曲线。
K=5;s1=tf([1010*5],[1560]);
sys=feedback(s1,1);
step(sys);
holdon;
impulse(sys);
★按照上述方法绘制开环传递函数的闭环根轨迹,确定与虚轴交点处的
值。
a.
num=[1];
den=[1231];
rlocus(num,den)
[k,p]=rlocfind(num,den)
k=
5.1444
p=
-2.0204
0.0102+1.7439i
0.0102-1.7439i
b.
。
利用语句:
s1=conv([10],[14]);
s2=conv(s1,[140]);den=s2;
num=[1];
s1=conv([10],[14]);
den=conv(s1,[140]);
rlocus(num,den)
[k,p]=rlocfind(num,den)
k=
0.0105
p=
-4.0002+0.0256i
-4.0002-0.0256i
0.0002+0.0256i
0.0002-0.0256i
num=[1];
s1=conv([10],[14]);
den=conv(s1,[145]);
rlocus(num,den)
[k,p]=rlocfind(num,den)
k=
45.6850
p=
-3.9945+1.5742i
-3.9945-1.5742i
-0.0055+1.5742i
-0.0055-1.5742i
num=[1];
s1=conv([10],[14]);
den=conv(s1,[1420]);
rlocus(num,den)
[k,p]=rlocfind(num,den)
k=
257.7863
p=
-3.9901+3.1560i
-3.9901-3.1560i
-0.0099+3.1560i
-0.0099-3.1560i
(3)一种具有高性能微型机器人的传递函数为:
(a)画出系统的根轨迹图;
(b)求使闭环系统稳定的增益范围。
MATLAB程序:
z=[-1,-2,-3];p=[0,0,0,1];k=10;G=zpk(z,p,k);rlocus(G);
sys=feedback(G,1);step(sys);
由根轨迹图和运行数据知,当
时,闭环系统稳定,与之对应的振荡频率为4.08rad/sec?