2.1.2 MATLAB绘制根轨迹
MATLAB为绘制根轨迹编程如下: num=[48]; den=[1 6 8 0]; rlocus(num,den);
绘制出的根轨迹如图1所示:
Root Locus1086420-2-4-6-8-10-14Imaginary Axis (seconds-1)-12-10-8-6-4-2024Real Axis (seconds-1)
图1 闭环根轨迹
根据理论计算和MATLAB绘制的根轨迹示意图,可以知道理论计算和MATLAB绘制的根轨迹完全相符。从而可以知道所绘制的根轨迹是正确的。
2.2 极点-6时的K值的求取
闭环系统的特征方程为:
s?6s?8s?K?0
32将闭环极点s=-6代入方程式中,从而可以得到k?48。所以当-6为闭环系统的一个极点时,k等于48。
2.3主导极点阻尼比为0.7时的K值求取
当主导极点阻尼比为0.7时,先做出??0.7的等阻尼比线,使这条直线与负实轴方向的夹角为??cos?1??cos?10.7=45.6?,此直线的斜率为k=-tan45.6?=-1.02,在MATLAB中画出此直线,并能找到与根轨迹的交点s1即是满足??0.7的闭环主导极点之一。编写的此程序为:
k=-1.02; x=-25:5; y=k*x; plot(x,y); hold on num=[48];
den=[1 6 8 0]; rlocus(num,den);
Root Locus3020Imaginary Axis (seconds-1)100-10-20-30-25-20-15-10Real Axis (seconds-1)-505
图2
由图2我们可以得出s1=-0.753+j0.768,由根轨迹的对称性,可求得另一个极点为
s2=-0.753-j0.768,由幅值条件可知,闭环极点s1对应的根轨迹的增益为
K= |s1|| s1+2|| s1+4|=|-0.753+j0.768||1.247+j0.768||3.247+j0.768|=5.27
经验证,s1和s2满足主导极点的条件,另一极点实部的模比主导极点实部的模大三倍以上,不是主导极点,所以该系统可近似成一个由主导极点构成的二阶系统传递函数为:
?(s)??n222s?2??ns??ns1s21.16??2(s?s1)(s?s2)s?1.51s?1.16对应的系统的开环增益为Kr= K/8=0.66。
2.4稳态误差
2.4.1 系统的误差系数分析
位置误差系数
Kp?limG(s)H(s)?lim??;s(s?2)(s?4)
5.27 速度误差系数
s?0s?0Kv?limsG(s)H(s)?lims 加速度误差系数
s?0s?0?0.66;s(s?2)(s?4)
5.27
Ka?limsG(s)H(s)?lims22
s?0s?0?0;s(s?2)(s?4)
5.272.4.2 系统的稳态误差分析
当输入为r1(t)=1(t)时,稳态误差为ess1= 当输入为r2(t)=2t时,稳态误差为ess2= 当输入为r3(t)=t2时,稳态误差为ess3= 2Kv211?K?2 ?p11???0;Ka?3.03;0.662???;0
则当输入为r(t)= r1(t)+ r2(t)+ r3(t)时,总的稳态误差为 ess= ess1+ ess2+ ess3=?.
2.5 用Matlab绘制单位阶跃响应曲线
系统的闭环传递函数为
?(s)?5.27s?6s?8s?5.2732 其分子系数为5.27,分母系数分别为1,6,8,5.27
利用MATLAB程序可编以下程序: num=[5.27]; den=[1 6 8 5.27]; step(num,den)
在MATLAB程序中输入此程序,运行后得到单位阶跃响应曲线如图3所示。
Step Response1.41.21Amplitude0.80.60.40.200123456789Time (seconds)
图3 单位阶跃响应曲线
2.6绘制Bode图和Nyquist曲线,求取幅值裕度和相角裕度
2.6.1 绘制Bode图
系统的开环传递函数为
G(s)?5.27s?6S?8S32 其分子系数为5.27,分母系数分别为1,6,8,0。 利用MATLAB程序可编以下程序: num=[5.27]; den=[1 6 8 0]; bode(num,den)
在MATLAB程序中输入此程序,运行后得到Bode图如图4所示。
Bode Diagram50Magnitude (dB)Phase (deg)0-50-100-150-90-135-180-225-27010-210-1100101102Frequency (rad/s)
图4 Bode图
2.6.2绘制Nyquist曲线
系统的开环传递函数为
G(s)?5.27s?6S?8S32 可得其分子系数其分子系数为5.27,分母系数分别为1,6,8,0。利用MATLAB程序可编以下程序: num= [5.27]; den=[1 6 8 0]; nyquist(num,den)
在MATLAB程序中输入此程序,运行后得到Nyquist如图5所示。
其中Nyquist图与实轴的交点:将s?j?代入开环传递函数中,令虚部等于0,得到
??2.83,此时曲线与负实轴的交点为(-0.11,j0)。