控制系统的根轨迹实验报告

更新时间:2023-10-03 18:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

控制系统的根轨迹作图

实验报告

班级: ****** 姓名: ***** 学号: ****** 指导老师: **** 学年:2012至2013第二学期

一、 实验目的

1.用matlab完成控制系统的建立。

2.了解系统根轨迹作图的一般规律,能熟练完成控制系统的根轨迹绘图。 3.利用根轨迹图进行系统分析。

二、 实验内容

1.系统模型建立 sys = tf(num,den) sys = zpk(z,p,k) sys = ss(a,b,c,d)

sys = frd(response,frequencies)

该主题相关matlab帮助资料:Matlab help——contents——control system toolbox——building models 2.根轨迹绘图

rlocus(num,den) rlocus(num,den,k) r=rlocus(num,den)

[z,p,k]=zpkdata(sys,’v’)

该主题相关matlab帮助资料:Matlab help——contents——getting started——control system toolbox——building models 3.根轨迹分析 Sisotool()

该主题相关matlab帮助资料:Matlab help——contents——getting started——control system toolbox——root locus design

例1:传递函数为: 例2:传递函数 1.5 1.5 ------------------ -------------------- s^2 + 14 s + 40.02 s^2 + 14 s + 40.02 sys_tf = tf(1.5,[1 14 40.02]) matlab表示:s = tf('s'); 或 num=1.5,den=[1 14 sys_tf = 1.5/(s^2+14*s+40.02) 40.02],sys_tf(num,den); 根轨迹如下图:

例3:零极点增益: 1.5 ------------------- (s+9.996) (s+4.004)

matlab表示:sys_zpk = zpk([],[-9.996 -4.004], 1.5) 根轨迹如图:

例4:系统开环传递函数

Go(s)?kgs(s?1)(s?2)

根轨迹作图程序为:

k=1;z=[];p=[0,-1,-2];[den,num]=zp2tf(z,p,k); rlocus(num,den) 根轨迹如图:

例5:给定系统开环传递函数Go(s)的多项式模型,作系统的根轨迹图。其计算公式为

Go(s)?k?num(s)??1den(s)

式中,k为根轨迹增益,num为开环传递函数Go(s)的分子多项式系数向量,den

为分母多项式系数向量。

函数格式1:开环增益k的范围自动设定。

函数格式2:开环增益k的范围可以由用户设定。

函数格式3:返回变量格式。计算所得的闭环根r(矩阵)返回至matlab命令窗口,不作图。

函数格式4:返回变量格式。计算所得的闭环根r(矩阵)和对应的开环增益k(向量)返回至matlab命令窗口,不作图。 函数格式5:从系统中提取零极点模型的参数。

更详细的命令说明,可以键入“help rlocus”等帮助命令查询。 例如,系统开环传递函数

Go(s)?kgs(s?1)(s?2)

根轨迹作图程序为:

k=1;z=[];p=[0,-1,-2];[den,num]=zp2tf(z,p,k); rlocus(num,den)

根轨迹如图1所示:

图1 根轨迹图 pzmap(num,den)

[p,z]=pzmap(num,den)

例6:给定单输入-单输出系统(SISO)的传递函数

G(s)?num(s)den(s)

分子多项式系数向量num和分母多项式系数向量den,在s平面作零极点图。 函数格式1:计算零极点并作图。

函数格式2:返回变量格式。计算所得的零极点向量p,z返回至matlab命令窗口,不作图。 例7:传递函数

2(s?1)G(s)?3s?4s2?14s?20

程序为:num=[2,-2],den=[1,4,14,20],pzmap(num,den) 零极点图如图2所示

图2 零极点图

[k,r]=rlocfind(num,den)

此函数的功能是在作好的根轨迹图上,确定闭环位置的增益k和闭环根r(向量)的值。该函数执行前,先执行命令rlocus(num,den),作出根轨迹图,然后再执行该命令,出现提示语句“select a point in the graphics window”,要求在根轨迹图上选定闭环根的位置。将鼠标移至根轨迹图选定位置,单击左键确定,图上出现“+”标记,在matlab平台上即得到了该点的增益k和闭环根r的返回变量值。 三、 思考题

1)下面是一伺服电机的传递函数,如何在matlab中表示该模型? 40000000

---------------------------------- s (s+250) (s^2 + 40s + 9e004)

2)给定如下技术指标:前2%启动时间不超过0.05秒;最大超调量不超过5%。运用根轨迹法完成该系统的设计。 sys1=tf(4e7,[1 250 0]) sys2=tf(1,[1 40 9e4]) sys=series(sys1,sys2) 答:

1)传递函数在matlab中表示代码:

s=tf('s');sys=40000000/(s*(s+250)*(s^2+40*s+90000)); 绘制根轨迹如下图:

输入代码:

num=40000000;den=[1,290,100000,22500000,0];G=tf(num,den);G_close=feedback(G,1);step(G_close) 得原系统阶跃响应:

通过在靠近虚轴的两个复数极点附近加入零点,抵消这两个极点作用,增加零点,就要相应增加极点 找到一对零极点:零点:-70±270i,极点:-110±140i,增

益:23.3,如下设置:

有根轨迹图:

阶跃响应:

系统满足指标要求。

本文来源:https://www.bwwdw.com/article/dwwd.html

Top