自动控制原理实验报告(根轨迹实验)
物电学院 电气12(1)班 徐楠 12223110
一、实验目的
熟悉MATLAB用于控制系统中的一些基本编程语句和格式。
利用MATLAB语句绘制系统的根轨迹。
掌握用根轨迹分析系统性能的图解方法。
掌握系统参数变化对特征根位置的影响。
二、基础知识及MATLAB函数
根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在s平面上的变化轨迹。这个参数一般选为开环系统的增益K。课本中介绍的手工绘制根轨迹的方法,只能绘制根轨迹草图。而用MATLAB可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。
假设系统的对象模型可以表示为
系统的闭环特征方程可以写成
对每一个K的取值,我们可以得到一组系统的闭环极点。如果我们改变K的数值,则可以得到一系列这样的极点集合。若将这些K的取值下得出的极点位置按照各个分支连接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。
绘制系统的根轨迹rlocus()
MATLAB中绘制根轨迹的函数调用格式为:
rlocus(num,den) 开环增益k的范围自动设定。
rlocus(num,den,k) 开环增益k的范围人工设定。
rlocus(p,z) 依据开环零极点绘制根轨迹。
r=rlocus(num,den) 不作图,返回闭环根矩阵。
[r,k]=rlocus(num,den) 不作图,返回闭环根矩阵r和对应的开环增益向量k。
其中,num,den分别为系统开环传递函数的分子、分母多项式系数,按s的降幂排列。K为根轨迹增益,可设定增益范围。
三、实验内容
Ⅰ、请绘制下面系统的根轨迹曲线同时得出在单位阶跃负反馈下使得闭环系统稳定的K值的范围。
一、
1、程序代码:
G=tf(1,[conv([1,2,2],[1,6,13]),0]);
rlocus(G);
[k,r]=rlocfind(G)
G_c=feedback(G,1);
step(G_c)
2、实验结果:
selected_point =
0.0201 + 1.0000i
k =
31.0211
r =
-2.8106 + 2.1824i
-2.8106 - 2.1824i
-2.4014
0.0113 + 1.0100i
0.0113 - 1.0100i
3、结果分析:
根轨迹与虚轴有交点,所以在K从零到无穷变化时,系统的稳定性会发生变化。由根轨迹图和运行结果知,当0<K<31.0211时,系统总是稳定的。
二、
1、程序代码:
G=tf([1,12],[conv([1,1],conv([1,12,100],[1,10]))]);
rlocus(G);
[k,r]=rlocfind(G)
G_c=feedback(G,1);
step(G_c)
2、实验结果:
selected_point =
0.0143 + 9.9020i
k =
1.0726e+03
r =
-11.4329 + 2.9624i
-11.4329 - 2.9624i
-0.0671 + 9.9720i
-0.0671 - 9.9720i
3、结果分析:
根轨迹与虚轴有交点,所以在K从零到无穷变化时,系统的稳定性会发生变化。 由根轨迹图和运行结果知,当0<K<1072.6时,系统总是稳定的。
三、
1、程序代码:
G=tf([0.05,1],[conv([0.0714,1],[0.012,0.1,1]),0]);
rlocus(G);
[k,r]=rlocfind(G)
G_c=feedback(G,1);
step(G_c)
2、实验结果:
selected_point =
0.0860 + 8.3529i
k =
7.8114
r =
-0.0397 + 8.5124i
-0.0397 - 8.5124i
-11.1298 + 1.3944i
-11.1298 - 1.3944i
3、结果分析:
根轨迹与虚轴有交点,所以在K从零到无穷变化时,系统的稳定性会发生变化。 由根轨迹图和运行结果知,当0<K<7.8114时,系统总是稳定的.
Ⅱ、系统的开环传递函数为,由rlocfind函数找出能产生主导极点阻尼=0.707的合适增益。
1、程序代码:
G=tf(1,[conv([1,1],[1,2]),0]);
zet=[0.1:0.2:1];wn=[1:10];
sgrid(zet,wn);hold on;rlocus(G)
[k,r]=rlocfind(G)
2、实验结果:
selected_point =
-0.3619 + 0.4216i
k =
0.7187
r =
-2.2542
-0.3729 + 0.4240i
-0.3729 - 0.4240i
同时我们还可以绘制出该增益下闭环系统的阶跃响:
3、结果分析:
事实上,等或等线在设计系补偿器中是相当实用的,这样设计出的增益K=0.7187将使得整个系统的阻尼比接近0.707。
4、拓展:下面的MATLAB语句可以求出主导极点,即r(2.3)点的阻尼比和自然频率为
G=tf(1,[conv([1,1],[1,2]),0]);
G_c=feedback(G,1);
step(G_c)
dd0=poly(r(2:3,:));
wn=sqrt(dd0(3));zet=dd0(2)/(2*wn);[zet,wn]
ans =
0.6604 0.5647
四、实验小结
由以上根轨迹图知,根轨迹起于开环极点,终于开环零点。在复平面上标出系统的开环零极点后,可以根据其零极点数之和是否为奇数确定其在实轴上的分布。根轨迹的分支数等于开环传递函数分子分母中的最高阶次,根轨迹在复平面上是连续且关于实轴对称的。当开环传递函数的分子阶次高于分母阶次时,根轨迹有n-m条沿着其渐近线趋于无穷远处。根轨迹位于实轴上两个相邻的开环极点或者相邻零点之间存在分离点,两条根轨迹分支在复平面上相遇在分离点以某一分离角分开,不在实轴上的部分,根轨迹以起始角离开开环复极点,以终止角进入开环复零点。有的根轨迹随着K的变化会与虚轴有交点。在画图时,确定了以上的各个参数或者特殊点后,就可得系统的根轨迹概略图。
五、心得体会
本次实验我们首先熟悉了MATLAB用于控制系统中的一些基本编程语句和格式,随后又利用MATLAB语句绘制系统的根轨迹。课本中介绍的手工绘制根轨迹的方法,只能绘制根轨迹草图,而用MATLAB可以方便地绘制精确的根轨迹图,并可通过自己添加零极点或者改变根轨迹增益的范围来观测参数变化对特征根位置的影响。
在绘制系统根轨迹的过程中,我们逐渐掌握了用根轨迹分析系统性能的图解方法。根轨迹分析法较时域分析法更加方便和直观,它让我们看到了参数变化对系统性能的影响具体方面,让我们理解得更加透彻。
第二篇:自控第二次实验报告
四、实验方法与步骤:
1、实验要求:绘出所给传递函数的闭环根轨迹,找出根轨迹与虚轴交点处的K值
实验程序:num=1;
den=[1 16 36 80 0];
G=tf(num,den)
K=0:0.05:500;
rlocus(G,K)
[K,POLES]=rlocfind(G)
根轨迹:
selected_point = 0.0166 + 2.2733i
K =162.1752
POLES =
-13.7413
-2.3160
0.0287 + 2.2572i
0.0287 - 2.2572i
故根轨迹与虚轴交点处的K值为162.1752
2、实验要求:绘出所给传递函数的闭环系统根轨迹,分析系统的稳定性
实验程序:num=[1 3];
den=conv([1 3 2],[1 5 4]);
G=tf(num,den);
k=0:0.05:500;
rlocus(G,k)
[K,POLES]=rlocfind(G)
根轨迹:
selected_point = -0.0000 + 2.5093i
K =28.2680
POLES =
-5.1284
0.0028 + 2.5079i
0.0028 - 2.5079i
-2.8772
系统与虚轴交点处K值为28.6820,此为系统的临界稳定增益,所以当0<K<28.6820时系统是稳定的。
3、实验要求:编程绘制惯性环节的伯德图和奈奎斯特图
实验程序:s=tf('s');
G=1/(0.005*s+1);
w=logspace(-2,3,100);
bode(G,w)
grid
num=1;
den=[0.005 1];
nyquist(num,den)
grid
对数幅频和相频曲线、奈奎斯特曲线:
4、实验要求:在同一平面内绘制不同阻尼系数下的伯德图、奈奎斯特图以及增益相位的伯德图,并求出其相应的谐振峰值、谐振频率
实验程序:l=[0.2 0.4 0.8];
for i=1:3
G=tf(1,[0.002^2 2*0.002*l(i) 1]);
figure(1);
bode(G)
grid
if (l(i)>0)&&(l(i)<=0.707)
L=l(i)
w=(1/0.002)*sqrt(1-2*(l(i)^2))
M=1/(2*l(i)*sqrt(1-(l(i)^2)))
end
hold on;
figure(2);
nyquist(G)
grid
hold on;
figure(3);
margin(G)
grid
hold on;
end
阻尼系数:L=0.2000
谐振频率:w =479.5832
谐振峰值:M =2.5516
阻尼系数:L=0.4000
谐振频率:w =412.3106
谐振峰值:M =1.3639
存在谐振的曲线只有两条,即l=0.2和l=0.4时,因为存在谐振的条件是阻尼系数l要在0到0.707的范围内。