自动控制原理实验五

  • 格式:docx
  • 大小:248.85 KB
  • 文档页数:12

1 东南大学自动控制实验室 实 验 报 告

课程名称: 自动控制原理实验

实验名称: 实验五 Matlab/Simulink仿真实验 院( 系): 自动化学院 专 业: 自动化 姓 名: 学 号: 实 验 室: 实验组别: 同组人员: 实验时间: 2017/12/8 评定成绩: 审阅教师: 2

目 录 一.实验目的和要求 .................................................................................... 3 二.实验原理 ................................................................................................ 3 三.实验方案与实验步骤 ............................................................................ 4 四.实验设备与器材配置 ............................................................................ 4 五.实验记录 ................................................................................................ 4 六.实验结论 .............................................................................................. 12 3

一.实验目的和要求 实验目的: 1. 学习系统数学模型的多种表达方法,并会用函数相互转换。 2. 学习模型串并联及反馈连接后的系统传递函数。 3. 掌握系统BODE图,根轨迹图及奈奎斯特曲线的绘制方法。并利用其对系统进行分析。 4. 掌握系统时域仿真的方法,并利用其对系统进行分析。

预习要求: 参阅相关Matlab/Simulink参考书,熟悉能解决题目问题的相关Matlab函数。

二.实验原理 Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。 Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。. 构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。 4

三.实验方案与实验步骤 1.已知H(s)=0.051(0.21)(0.11)sss,求H(s)的零极点表达式和状态空间表达式。

2.已知1

5()(1)(2)sHssss

,21()1Hss。

(1) 求两模型串联后的系统传递函数。 (2) 求两模型并联后的系统传递函数。 (3) 求两模型在负反馈连接下的系统传递函数。 3. 作出上题中(1)的BODE图,并求出幅值裕度与相位裕度。

4. 给定系统开环传递函数为2()(2)(25)KGssss,绘制系统的根轨迹图与奈奎斯特曲线,并求出系统稳定时的增益K的范围。 5. 对内容4中的系统,当K=10和40时,分别作出闭环系统的阶跃响应曲线,要求用Simulink实现。

四.实验设备与器材配置 装有MATLAB的电脑一台。 五.实验记录

1.已知H(s)=0.051(0.21)(0.11)sss,求H(s)的零极点表达式和状态空间表达式。

在MATLAB中输入以下代码得: >> num5=[0.05,1]; den5=conv([0.2,1],[0.1,1]); [A B C D]=tf2ss(num5,den5);%求状态空间表达式 zero=zpk(tf(num5,den5));%零极点表达式 5

求得状态空间表达式: A =

-15.0000 -50.0000 1.0000 0 B =

1 0 C =

2.5000 50.0000 D =

0

线性定常系统的状态空间模型为: {𝑥(𝑡)=𝐴𝑥(𝑡)+𝐵𝑢(𝑡)𝑦(𝑡)=𝐶𝑥(𝑡)+𝐷𝑢(𝑡)

零极点表达式: >> zero

zero = 2.5 (s+20) ------------ (s+10) (s+5)

Continuous-time zero/pole/gain model.

G(s)=2.5 (s+20) (s+10) (s+5) 6

2.已知1

5()(1)(2)sHssss

,21()1Hss。

a) 求两模型串联后的系统传递函数。 b) 求两模型并联后的系统传递函数。 c) 求两模型在负反馈连接下的系统传递函数。 在MATLAB中输入以下程序: num1 = [1,5]; den1 = conv([1,1],[1,2]); den1 = conv(den1,[1,0]); H1 = tf(num1,den1); num2 = [1]; den2 = [1,1]; H2 = tf(num2,den2); [num3,den3] = series(num1,den1,num2,den2); G1 = tf(num3,den3);%串联 [num4,den4] = parallel(num1,den1,num2,den2); G2 = tf(num4,den4);%并联 G3 = feedback(H1,H2) ;%负反馈 得: 两模型串联后的系统传递函数: G1 = s + 5 ------------------------- s^4 + 4 s^3 + 5 s^2 + 2 s

Continuous-time transfer function. 两模型并联后的系统传递函数: G2 = s^3 + 4 s^2 + 8 s + 5 ------------------------- s^4 + 4 s^3 + 5 s^2 + 2 s

Continuous-time transfer function. 两模型在负反馈连接下的系统传递函数: G3 =

s^2 + 6 s + 5 ----------------------------- s^4 + 4 s^3 + 5 s^2 + 3 s + 5

Continuous-time transfer function. 7

6. 作出上题中(1)的BODE图,并求出幅值裕度与相位裕度。 在MATLAB中输入以下程序: bode(num3,den3); grid on;%Bode图 [g,p,wg,wp] = margin(num3,den3); %g幅值裕度,p相位裕度 BODE图:

幅值裕度: g =

0.5576 相位裕度: p =

-19.3662 8

7. 给定系统开环传递函数为2()(2)(25)KGssss,绘制系统的根轨迹图与奈奎斯特曲线,并求出系统稳定时的增益K的范围。 在MATLAB中输入以下程序: >> num6=[1]; den6 = conv([1,2],[1,2,5]); G = tf(num6,den6); >> rlocus(num6,den6); K为正值时的根轨迹图: 9

K为负值时的根轨迹图:

由上图可得系统稳定时的增益K的范围为:-10画出Nyquist曲线图为: nyquist(num6,den6); 10

8. 对内容4中的系统,当K=10和40时,分别作出闭环系统的阶跃响应曲线,要求用Simulink实现。 Simulink仿真图如下:

闭环系统的阶跃响应曲线: