实验一 线性系统的时域分析
[实验目的]
1.研究线性系统在典型输入信号作用下的暂态响应; 2.熟悉线性系统的暂态性能指标;
3.研究二阶系统重要参数阻尼比ξ对系统动态性能的影响; [实验指导]
MATLAB中有两类用于求解系统时域响应的方法。利用 MATLAB 中的控制系统工具箱(Control System Toolbox)提供的函数(命令)。
用MATLAB函数(命令)进行暂态响应分析 1 求取线性连续系统的单位阶跃响应的函数——step 基本格式为:
step(sys) step(num,den) step(A,B,C,D)
step(sys,t) step(sys1,sys2,…,t) y=step(sys,t) [y,t]=step(sys) [y,t,x]=step(sys) 其中模型对象的类型如下:
sys = tf(num,den) 多项式模型
32num是分子多项式前的系数,比如分子多项式为s5s3s2则num=[1 5 3 2];若中间存
在缺项,则对应系数为0;den是分母多项式前的系数,表达同num相同。 2.求取线性连续系统对任意输入的响应的函数——lsim
其格式为
y=lsim(sys,u,t)
其中,t为仿真时间,u为控制系统的任意输入信号。 3.暂态响应性能指标
在阶跃响应曲线窗口,使用右键弹出浮动菜单,选择其中的Characteristics子菜单,有4个子项:
1
①Peak Response 峰值响应,点击将出现标峰值记点,单击此标记点可获得峰值幅值,超调量和峰值时间。
②Settling Time 调节时间,点击将出现调节时间标记点,单击此标记点即可获得调节时间。
③Rise Time 上升时间,点击将出现上升时间标记点,单击此标记点即可获得上升时间。
④Steady State 稳定状态,若系统稳定,点击将在稳态值处出现标记点,单击此标记点即可获得稳态值;若系统不稳定,标记点不会出现。
对于不同的系统响应类型,Characteristics菜单的内容并不相同。虽然不同响应曲线的特性参数不相同,但是均可以使用类似的方法从系统响应曲线中获得相应的信息。
Step Response1.5 System: sys Settling Time: 3.4 1.5Step ResponseAmplitude0.5Amplitude110.5 System: sys Peak amplitude: 1.11 Overshoot (%): 10.8 At time: 2.22 00123450024Time (sec)68Time (sec)
4、其它
①hold on 命令:可以允许在已经画曲线的图形窗口上再画新曲线;hold off命令取消该功能。
②figure(i)命令:打开第i个图形窗口,把曲线绘在该图形窗口。 ③grid on命令:使图上出现网格。
④subplot(m,n,p)命令;把一个画面分成m×n个图形区域, p代表当前的区域号,可在每个区域中分别画一个图。
⑤也可以通过主界面菜单file/new/figure打开1个新图形窗口,系统自动为其编号。 [实验内容]
1. 系统传递函数为G(s)n=[10]; d=[1,2,10]; sys=tf(n,d); t=0:0.01:10; u=1+0*t;
sys2=tf([1],[1]) ;
2
10,求输入分别是自定义的1(t)和4*1(t)时的响应。
s22s10
lsim(sys2,u,t); hold on; lsim(sys,u,t); u1=4+0*t; plot(t,u1); lsim(sys,u1,t);
2. 振荡环节如下:G(s)阶跃输入的时间响应曲线。
[实验报告要求]
16,当ξ变化,取[0.05,0.1,0.2,0.5,0.7,1,2],求单位
s28s161.写明实验目的和实验内容。
2.在实验过程和结果中,要列项目反映各自的实验内容,编写的程序,运行结果,按实验内容对结果的分析与判断。程序和运行结果(图)可以从屏幕上复制,打印报告或打印粘贴在报告上。不方便打印的同学,要求手动从屏幕上抄写和绘制。
3.简要写出实验心得和问题或建议。
3
实验二 线性系统的根轨迹
[实验目的]
1) 掌握MATLAB软件绘制根轨迹的方法。 2) 分析参数变化对根轨迹的影响。 3) 利用根轨迹法对控制系统性能进行分析。 [实验指导]
MATLAB7.0提供的工具箱给出了一系列关于根轨迹的函数,如表2-1所示。使用这些函数能够很方便地绘制出系统的常规根轨迹和参数根轨迹,还能基于根轨迹对系统性能进行分析。
表2-1 根轨迹函数 函数名 pzmap rlocfind rlocus rltool sgrid zgrid
函功能描述 绘制零极点 计算给定根轨迹增益 计算并绘制根轨迹 根轨迹设计GUI工具 绘制连续时间系统根轨迹和零极点图中的阻尼系数和自然频率网格 绘制离散时间系统根轨迹和零极点图中的阻尼系数和自然频率网格 ① 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
4
调用格式:zgrid; zgrid(z,wn) [实验内容]
K*1. 系统的开环传递函数:G(s)H(s)绘制系统的根轨迹图,并确定根轨迹上
s(s1)(s2),
任意点处的K*值及对应的闭环特征根。
程序: num=[1];
den=[1 3 2 0]; rlocus(num,den); 执行后得到如下图形:
[k,p]=rlocfind(num,den) gtext('k=0.5')
执行时先画出了根轨迹,并提示用户在图形窗口中选择根轨迹上的一点,以计算出增益K及相应的极点。这时将十字光标放在根轨迹与虚轴的交点处,可得
k = 5.3817 p =
5
-2.9420 -0.0290 + 1.3522i -0.0290 - 1.3522i
2. 如果对题1中的系统开环传递函数,去掉一个开环极点p0=-1,绘制系统的根轨迹图;或
,者将开环极点p0=-1改成p0=-4,绘制系统的根轨迹图,并分析开环极点其对系统性能的影响。 3.
K*系统的开环传递函数:G(s)H(s)(s5)(s2)(s1)绘制系统的根轨迹图。如果增加一个开,
环零点z0=-4,绘制系统的根轨迹图,分析其对系统性能的影响。
,
[实验报告要求]
1.写明实验目的和实验内容。
2.在实验过程和结果中,要列项目反映各自的实验内容,编写的程序,运行结果,按实验内容对结果的分析与判断。程序和运行结果(图)可以从屏幕上复制,打印报告或打印粘贴在报告上。不方便打印的同学,要求手动从屏幕上抄写和绘制。
3.简要写出实验心得和问题或建议。
6
实验三 线性系统频域分析
[实验目的]
1.掌握MATLAB平台下绘制典型环节及系统开环传递函数的Bode图和Nyquis图(极坐标图)绘制方法;
2.掌握利用Bode图和Nyquis图对系统性能进行分析的理论和方法。 [实验指导]
一、绘制Bode图和Nyquis图
1.Bode图绘制
采用bode()函数 ,调用格式: ①bode(sys);bode(num,den);
系统自动地选择一个合适的频率范围。 ②bode(sys,w);
其中w(即ω)是需要人工给出频率范围,一般由语句w=logspace(a,b,n)给出。
logspace(a,b,n):表示在10a 到10b之间的 n个点,得到对数等分的w值。
③bode(sys,{wmin,wmax});
其中{wmin,wmax}是在命令中直接给定的频率w的区间。 以上这两种格式可直接画出规范化的图形。 ④[mag,phase,ω]=bode(sys)或[m,p]=bode(sys)
这种格式只计算Bode图的幅值向量和相位向量,不画出图形。 m为频率特性G(jω )的幅值向量;
p为频率特性G(jω )的幅角向量,单位为角度(°)。 w为频率向量,单位为[弧度]/秒。 在此基础上再画图,可用:
subplot(211);semilogx(w,20*log10(m) %对数幅频曲线 subplot(212);semilogx(w,p) %对数相频曲线 ⑤bode(sys1,sys2,…,sysN) ; ⑥bode((sys1,sys2,…,sysN,w);
这两种格式可在一个图形窗口同时绘多个系统的bode图。 2. Nyquist曲线的绘制 采用nyquist()函数 调用格式:
7
① nyquist(sys) ; ② nyquist(sys,w) ;
其中频率范围w由语句w=w1:Δw:w2确定。 ③ nyquist(sys1,sys2,…,sysN) ; ④ nyquist(sys1,sys2,…,sysN,w); ⑤ [re,im,w]=nyquist(sys) ;
re—频率响应实部 im—频率响应虚部
使用命令axis()改变坐标显示范围,例如axis([-1,1.5,-2,2])。
⑥当传递函数串有积分环节时ω=0处会出现幅频特性为无穷大的情况,可用命令axis(),自定义图形显示范围,避开无穷大点。 二、系统分析
1.计算控制系统的稳定裕度
采用margin( )函数可以直接求出系统的幅值裕度和相角裕度。 调用格式为:
① [Gm,Pm,Wcg,Wcp]= margin(num,den) ; [Gm,Pm,Wcg,Wcp]= margin(A,B,C,D) ; [Gm,Pm,Wcg,Wcp]= margin(sys) ; Gm--- 幅值裕度; Pm---相位裕度;
wcg ---幅值裕度处对应的频率ωc; wcp ---相位裕度处对应的频率ωg。
②[Gm,Pm,Wcg,Wcp]= margin(mag ,phase,w); ③ margin(sys)
在当前图形窗口中绘制出系统裕度的Bode图。
2.用幅值裕度和相角裕度判断闭环系统稳定性与相对稳定性 3.用Nyquist图判断闭环系统稳定性
由Nyquist曲线包围(-1,j0)点的情况,根据Nyquist稳定判据判断闭环系统稳定性。 [实验内容]
G(s)1.振荡环节如下:
16,做出该环节的Bode图和Nyquist图,并根据Nyquist
s210s16图判断系统的稳定性。
Bode图和Nyquist图程序:
8
n=[16]; d=[1 10 16]; sys=tf(n,d); figure(1); bode(sys); figure(2); nyquist(sys); 运行结果:
9
2.系统开环传递函数为G0(s)20,做出Bode图,并求幅值裕度和相角裕度
s(0.5s1)1) 幅值裕度和相角裕度程序(图形与数据) n1=20;
d1=conv([1,0],[0.5,1]);% conv表示因式相乘 sys1=tf(n1,d1); figure(1);margin(sys1); 运行结果:
10
2) 幅值裕度和相角裕度程序和结果(数据)
>> [Gm,Pm,Wcg,Wcp]= margin(sys1)
Gm = Inf Pm = 17.92 Wcg = Inf
Wcp = 6.1685
3. 反馈控制系统的开环传递函数为G(s)400,试在以下3中串联校正网络中选2s(0.01s1)择一种网络,使校正后系统的稳定程度最好。
s1 1)Gc1(s);
10s1 2)Gc2(s)0.1s1;
0.0025s1(0.5s1)2 3)Gc3(s)。
(10s1)(0.04s1) [实验报告要求]
1.写明实验目的和实验内容。
11
2.在实验过程和结果中,要列项目反映各自的实验内容,编写的程序,运行结果,按实验内容对结果的分析与判断。程序和运行结果(图)可以从屏幕上复制,打印报告或打印粘贴在报告上。不方便打印的同学,要求手动从屏幕上抄写和绘制。
3.简要写出实验心得和问题或建议。
12
实验四 线性系统PID控制
[实验目的]
1. 对给定系统设计PID控制器。
2. 掌握PID控制器的Ziegler-Nichols设计方法。 3. 掌握PID控制器对系统稳定性及过渡过程的影响。 [实验原理]
由于在设计PID控制器中,要调整3个参数,根轨迹与伯德图设计方法通常不被直接采用。Ziegler与Nichols发展了PID调节器设计方法,称为Ziegler-Nichols方法。该方法基于简单的稳定性分析方法。首先,置KD=KI=0,然后增加比例系数直至系统开始振荡(即闭环系统极点在虚轴上)。再将该比例系数乘0.6,其他参数按下式计算得
KP0.6KmKDKP4mKIKPm
式中,Km为系统开始振荡时的K值;ωm为振荡频率。 [实验内容]
利用Ziegler-Nichols方法设计PID控制器,被控对象的传递函数为
G0(s)400
s(s230s200)给出PID控制的参数值KP,KI,KD,并绘制出系统补偿前后的开环伯德图和闭环阶跃响应。
实验步骤:
1)可以根据系统的根轨迹图,确定Km。 2)根据Km值,确定ωm值。
3)根据公式计算参数值KP,KI,KD。
4)绘制出系统补偿前后的开环伯德图和闭环阶跃响应。 [实验报告要求]
1.写明实验目的和实验内容。
2.在实验过程和结果中,要列项目反映各自的实验内容,编写的程序,运行结果,按实验内容对结果的分析与判断。程序和运行结果(图)可以从屏幕上复制,打印报告或打印粘贴在报告上。不方便打印的同学,要求手动从屏幕上抄写和绘制。
3.简要写出实验心得和问题或建议。
13