控制系统实验指导.docx
- 文档编号:24321391
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:22
- 大小:373.84KB
控制系统实验指导.docx
《控制系统实验指导.docx》由会员分享,可在线阅读,更多相关《控制系统实验指导.docx(22页珍藏版)》请在冰豆网上搜索。
控制系统实验指导
《控制工程基础》实验报告
班级:
学号:
姓名:
指导老师:
实验一控制系统的阶跃响应
实验时间:
学时:
2
一、实验目的
通过阶跃响应曲线来研究二阶系统的特征参数阻尼比ξ和无阻尼自然振荡频率Wn对系统动态性能的影响。
掌握时域的分析方法。
二、实验准备
MATLAB中控制系统数学模型的表示方法
⑴多项式模型
对线性定常连续系统的传递函数G(s)的表示:
在MATLAB中,此系统可以由其分子和分母多项式的系数(按s的降幂排列)所构成的两个向量唯一地确定下来,即:
num=[bm,bm-1,…,b0],den=[am,am-1,…,a0]
另外在MATLAB中,可以用函数TF可以生成一个系统多项式传递函数模型,其调用格式为:
sys=tf(num,den)
例如:
若已知系统的传递函数为:
在MATLAB命令环境中输入:
num=[612610];
den=[12311];
sys=tf(num,den)则显示:
Transferfunction:
6s^3+12s^2+6s+10
---------------------------
s^4+2s^3+3s^2+s+1
若再输入:
printsys(num,den)则有显示:
num/den=
6s^3+12s^2+6s+10
----------------------------
s^4+2s^3+3s^2+s+1
说明:
①num,den语句后的分号“;”是MATLAB语句的换行号(相当于Enter);
②函数printsys()用于构造并显示传递函数G(s)的多项式模型。
显示变量num/den为通用的的输出显示格式,与输入变量名称无关。
③所给传递函数若为因式相乘形式,则需要利用MATLAB中的多项式乘法运算函数conv(),其调用方式为:
c=conv(多项式1,多项式2),c为两多项式之积。
例如:
若给定系统的传递函数为:
G(s)=18(s+1)/[(s+5)(s+25)(s+0.4)],则分子分母多项式可分别表示为:
num=18*[1,1];den=conv(conv([15],[125]),[10.4]);
其中函数conv()用于计算多项式乘积,输出结果为多项式系统的降幂排列。
④函数[num,den]=feedback(num1,den1,num2,den2,X)用于计算一般反馈系统的闭环传递函数。
其中前向传递函数为G(s)=num1/den1,反馈传递函数为H(s)=num2/den2。
右变量为G(s)和H(s)的参数,左变量返回系统的闭环参数,X=1为正反馈,X=-1为负反馈,缺省时作负反馈计。
⑵零极点模型(Zero-Pole,简称ZP)
线性定常连续系统的传递函数G(s)一般可以表示为零点、极点的形式:
G(s)=k*[(s-z1)(s-z2)…(s-zm)]/[(s-p1)(s-p2)…(s-pn)]
由于m个零点,n个极点及增益k可以唯一地确定一个系统,所以可以用:
z=[z1,z2,…,zm];p=[p1,p2,…,pn];k=k0来表示零极点模型。
注意:
在MATLAB中,
①多项式模型转换为零极点模型的调用命令为:
[z,p,k]=tf2zp(num,den);
②零极点模型转换为多项式模型的调用命令为:
[num,den]=zp2tf(z,p,k);
③如果已知二阶系统的两个参数——自然振荡频率ωn和无阻尼系数ξ,则可以通过函数ORD2()求出此系统传递函数模型和状态方程模型,其分别调用格式为:
[A,B,C,D]=ord2(ωn,ξ),调用结果返回连续二阶系统状态方程的系数矩阵A,B,C,D的表达式;而[NUM,DEN]=ord2(ωn,ξ),调用结果返回连续二阶系统用分子和分母多项式表示的传递函数。
注:
状态方程是现代控制理论描述系统模型的一种方法。
状态方程模型可以表示为:
=Ax+Bu
y=Cx+Du,其中x为状态向量,u为输入向量,y为输出向量,A、B、C、D为系统状态方程系数矩阵。
在MATLAB中,可以用函数SS建立一个系统状态方程模型,调用格式为:
SYS=ss(A,B,C,D)
⒋MATLAB中求控制系统的阶跃响应的函数命令格式
函数格式1:
step(num,den)
说明1:
给定num和den,求系统的阶跃响应。
时间向量t的范围自动设定。
函数格式2:
step(num,den,t)
说明2:
同说明2,其中时间向量t的范围可以由人工设定(如:
t=0:
0.1:
10)。
函数格式3:
[y,x]=step(num,den)
说明3:
返回变量格式。
计算所得的输出y,状态x及时间向量t返回至MATLAB命令窗口,不作图。
上述更详细的命令说明,可在MATLAB窗口键入“helpstep”在线查阅。
注意:
若给定特征多项式系数向量,可以用命令调用格式damp(den)来计算系统的闭环根、阻尼比ξ和无阻尼自然振荡频率Wn。
三、实验内容及步骤
1、已知系统开环传递函数为G(s)H(s)=100/(s^2+2*zta*10+100),zta取0,0.25,0.5,0.75,1,1.25试利用MATLAB分别画出其2单位的阶跃响应并保存。
图像:
2、zta取0.25,wn取10,30,50试利用MATLAB分别画出其2单位的阶跃响应并保存。
图像:
3.比较上面的结果。
1.2阶系统单位阶跃响应的过渡过程随着阻尼比ξ的减小,其振荡特性表现得愈加强烈,单仍未衰减振荡。
当ξ=0是,达到等幅振荡;当ξ=1和ξ>1时,二阶系统的过渡过程具有单调上升的特性。
从过渡过程的持续时间来看,在无振荡单调上升曲线中,以ξ=1时的过渡过程时间最短。
在欠阻尼系统中,当ξ=0.4~0.5时,不仅其过渡过程时间比ξ=1时的更短,而且振荡不太严重。
如图1所示,因此可以通过改变阻尼比,来实现对最大超调量Mp调整。
实际具体设计控制系统是是根据对最大超调量Mp的要求来确定阻尼比的。
2.在系统阻尼比相同的情况下,改变不同的无阻尼固有频率可以得到图2曲线,分析可知,增大Wn可以迅速减少系统的调整时间。
因此调整时间ts主要由系统的Wn来确定。
改变Wn对系统的振动特性指标Mp是没有影响的。
3.要使二阶系统具有满意的动态性能指标,必须选择合适的阻尼比ξ和无阻尼固有频率Wn。
提高Wn,可以提高系统的响应速度,减少上升时间tr,峰值时间tp和调整时间ts;增大ξ,可以减弱系统的振荡性能,降低超调量Mp,但增大上升时间tr和峰值时间tp。
4.系统的响应速度和振荡性能之间存在矛盾,因此要合适选择ξ和Wn。
实验二控制系统的频率特性分析
实验时间:
学时:
2
一、实验目的
掌握控制系统频率特性的分析方法。
会用Bode图,Nyquist图。
二、实验准备
MATLAB控制工具箱中可用于系统频率特性曲线绘制和分析的函数有:
bode(sys):
计算并在当前窗口绘Bode图,频率范围由MATLAB系统自动确定。
注:
在MATLAB中,此系统可以由其分子和分母多项式的系数(按s的降幂排列)所构成的两个向量唯一地确定下来,即:
num=[bm,bm-1,…,b0],den=[am,am-1,…,a0]
可以用函数TF可以生成一个系统多项式传递函数模型,其调用格式为:
sys=tf(num,den)
bode(sys,ω):
显式定义绘图的频率范围,在定义频率范围绘制系统Bode图。
ω为对数等分,由对数等分函数logspace(d1,d2,n)完成,命令中d1、d2为
之间的变量范围,n为等分点,例如ω=logspace(-1,1,100)。
ω有两种定义方式,分别为定义频率范围[ωmin,ωmax]和定义频率点[ω1,ω2,…,ωn]。
bode(sys1,sys2,…,sysn):
同时在一个窗口绘制多个系统的频率特性曲线。
(注意:
这里多个系统须具有相同的输入、输出数;可同时含连续时间和离散时间系统)。
bode(sys1,sys2,…,sysn,ω):
显式定义ω范围,具体同上。
[mag,phase,ω]=bode(sys):
不显示图形,仅将Bode图数据(幅值、相位、相应的频率)放在mag,phase,ω三个变量中。
类似Bode图绘制,有Nyquist图和Nichols图绘制的函数如下:
nyquist(sys):
在当前窗口绘Nyquist图。
nyquist(sys,ω):
显式定义ω,在定义频率范围绘制系统Nyquist图。
nyquist(sys1,sys2,…,sysn):
同时在一个窗口绘制多个系统的Nyquist轨线
[re,im,ω]=nyquist(sys):
不显示图形,仅将Nyquist图数据(实p、虚p、相应的频率)放在re,im,ω三个变量中。
nichols(sys):
在当前窗口绘Nichols轨线。
nichols(sys,ω):
显式定义ω,在定义频率范围绘制系统Nichols图。
nichols(sys1,sys2,…,sysn):
同时在一个窗口绘制多个系统的Nichols轨线。
[mag,phase,ω]=nichols(sys):
不显示图形,仅将Nichols轨线数据(幅值、相位、相应的频率)放在mag,phase,ω三个变量中。
[Gm,Pm,Wcg,Wcp]=margin(sys):
计算系统的增益、相位裕量,幅值剪切频率和相位剪切频率。
Gm对应于计算系统的增益裕量,Pm对应于相位裕量,Wcg为幅值剪切频率,Wcp为相位剪切频率。
margin(sys):
在当前窗口绘制系统Bode图,并标出相位裕量,幅值裕量,幅值剪切频率和相位剪切频率。
ngrid:
在Nichols曲线图上加等M网线。
另外,还有部分作图辅助函数:
logspace(d1,d2,n):
将某个变量ω作对数等分,命令中d1、d2为
之间的变量范围,n为等分点。
Semilogx(x,y):
半对数绘图命令,函数格式同以前学过的plot()。
三、实验内容及步骤
1已知系统开环传递函数为G(s)H(s)=10(s+2)/(s^3+3s^2+10),试利用MATLAB命令分别画出系统的Bode图,Nyquist图并保存。
同时判断稳定性。
(可以用roots(sys)求根)
2程序:
num=[1020];den=[13010];sys=tf(num,den);
bode(sys)
%插入断点得到Bode图%
nyquist(sys)
%得到nyquist图%
Bode图:
放大
Nyquis图:
Nyquis图在点(-1,j0)左半实轴没有交点。
稳定性判断:
由roots(den)求得开环函数极点为
-3.7219
0.3609+1.5989i
0.3609-1.5989i
闭环函数在虚轴右半平面有2个极点即p=2。
在Bode图上L(s)>=0的所有频率范围内,对数相频特性曲线没有穿越-180°线即:
0≠P/2=1(这里P=2),因此系统在闭环状态下是不稳定的。
同样在Nyquist图上,图像在点(-1,j0)左半实轴没有穿越点,即:
N=0≠P/2,系统在闭环状态下是不稳定的。
⒉已知二阶系统G(s)H(s)=ωn^2/(s+2ξωn+ωn^2),令ωn=1,试分别作出ξ=2,1,0.707,0.5时的Bode图。
ξ=2:
ξ=1:
ξ=0.707
ξ=0.5
根据系统结构图作ξ=0.5相应的Bode图,并分别计算两个系统的相位裕量,幅值裕量,幅值剪切频率和相位剪切频率值(提示:
应用margin()函数)。
幅值剪切频率Wc=1(rad/s)
相位裕度:
γ=90º
相位剪切平率Wg=∞
幅值裕度:
Kg=-∞
3、已知控制系统的开环传递函数为G(s)H(s)=10/(s^2+2s+10),作Bode图,并确定谐振峰值的大小Mr与谐振频率ωr。
(注意:
此中先由返回变量格式得到幅值mag和频率ω,然后由最大值函数max()得到m的最大值Mr,由插值函数spline()求得谐振频率ωr。
)
参考实验过程和程序:
num=[10];
den=[1210];
sys=tf(num,den);
bode(sys)%得Bode图
[m,p,w]=bode(sys);
mr=max(m)%由最大值函数max()得到m的最大值Mr
wr=spline(m,w,mr)%由插值函数spline()求得谐振频率ωr
mr=
1.6667
wr=
2.8284
4已知系统的G(s)=4/[s*(s+4ξ)],H(s)=1,试用MATLAB绘制闭环频率特性曲线。
(提示:
首先要构造闭环传递函数,可以使用feedback()函数,其次需要注意的是设定ξ的值,大家可以参照如下形式:
forkc=0.1:
0.1:
1;)
%G(s)=4/[s*(s+4ξ)],H(s)=1
forkc=0.1:
0.1:
1
num=4;den=[14*kc0];g=tf(num,den);sys=feedback(g,1);bode(sys);holdon;
end
title('闭环系统的Bode图')
实验三连续系统PID控制器设计及其参数整定
实验时间:
学时:
2
一、实验目的
掌握PID控制规律及控制器实现及参数整定方法。
二、实验准备
在前面试验的基础上,参照书上PID相关的知识。
利用工程的方法,进行参数整定。
第一种方法动态特性参数法
是在对象的输入端加一单位阶跃信号,测量其输出响应曲线,如果被测对象既无积分环节,又无复数主导极点,则响应的阶跃响应曲线可视为s形曲线。
得到和T。
齐格勒-尼柯尔斯给出表
如下确定参数。
第二种方法临界比例度法
将比例系数值由零逐渐增大,到系统的输出首次呈现持续的等幅振荡,此时对应的K值为临界增益。
齐格勒-尼柯尔斯给出表
如下确定参数。
三、实验内容及步骤
已知系统开环传递函数为G(s)H(s)=10/((s+1)(s+3)(s+5))。
,试利用MATLAB采用上面的2种方法确定PID参数值,并得到各自闭环负反馈系统的单位阶跃响应和各性指标,并比较两者的不同。
最后要求采用上面的其中一种方法确定的参数为基础继续调整,使超调量在10%内。
并给图和具体参数值。
方法1:
kp=7.9741,ti=0.5860,td=0.1465,k=0.6667
方法2:
km=19.2000,kp=11.5200,ti=0.6575,td=0.1644
采用第一种方法,通过增大ti来减小超调量。
g=zpk([],[-1-3-5],10)
k=1;l=0.6;t=1.947;%k=0.6667;
kp=1.2*t/(k*l);
ti=2*l;
td=0.5*l;
kp,ti,td,
s=tf('s');
gc=kp*(1+1/(ti*s)+td*s);
gcg=feedback(gc*g,1);
step(gcg)
得到:
kp=3.8940
ti=1.2000
td=0.3000
图像:
超调量Mp=(1.02-1)/1=0.02<0.1满足要求。
实验感想
本次主要完成了三组实验,第一组实验中通过使用软件矩阵工作室(MATLAB)基本功能的熟悉,学会了如何在软件环境下构建传递函数。
主要通过输入两个系数矩阵num和den,再通过tf(num,den)完成传递函数的构建。
在此基础上使用Bode(函数名),和Nyquist(函数名)可以轻松的得到对应开环传递函数的图像。
通过第一个实验改变阻尼比和固有频率,可以直观的观察到系统参数改变对系统时间性能的影响。
实验二中对各个不同阻尼比下系统传递函数的频率特性图像进行绘制,并分析了响应系统的稳定性问题,借助软件这一过程直观便捷。
第三个实验中设计PID(比例积分微分)控制器实验中学会了通过两种方法确定参数Kp,ti,td,通过实验了解了各参数对系统改变量的影响。
问题:
在第三个实验中的方法一应该是绘制出转折点的切线,但是从所给程序上来看
num=[10];den=conv([11],conv([1,3],[1,5]));
g=tf(num,den);
step(g);
holdon
k=dcgain(g)%不知道dcgain函数求取的是曲线哪一点的斜率%
x=0.1:
0.1:
4;
y=k*x;%根据表达式这是一条过原点的直线,二不是转折点切线%
plot(x,y)
绘制出的响应曲线:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统 实验 指导