电机控制基于Simulink的仿真-

上传人:索马****尊 文档编号:146801065 上传时间:2020-10-04 格式:PPT 页数:192 大小:2.86MB
返回 下载 相关 举报
电机控制基于Simulink的仿真-_第1页
第1页 / 共192页
电机控制基于Simulink的仿真-_第2页
第2页 / 共192页
电机控制基于Simulink的仿真-_第3页
第3页 / 共192页
亲,该文档总共192页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《电机控制基于Simulink的仿真-》由会员分享,可在线阅读,更多相关《电机控制基于Simulink的仿真-(192页珍藏版)》请在金锄头文库上搜索。

1、MATLAB/Simulink设计,主讲:段清明 仪器科学与电气工程学院,电机控制课程设计,1 Simulink简介,Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。使用Simulink来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),将是一件非常轻松的事情。它提供了一种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。 利用Simulink进行系统的建模仿真,其最大的优点是易学、易用,并能依托MATLAB提供的丰富的仿真资源。,提供了仿真库的扩充和定制机制 Simulink的开放式结构允许用户扩展仿真环境的功能:采

2、用MATLAB、FORTRAN和C代码生成自定义模块库,并拥有自己的图标和界面。 与MATLAB工具箱的集成 由于Simulink可以直接利用MATLAB的诸多资源与功能,因而用户可以直接在 Simulink下完成诸如数据分析、过程自动化、优化参数等工作。,Simulink应用领域,2 Simulink启动及模型建立,Simulink的启动主要有以下两种方法: 在MATLAB的命令窗口中输入simulink,结果是在桌面上出现一个Simulink Library Browser的窗口。 单击MATLAB主窗口的快捷按钮 ,打开Simulink Library Browser窗口 。,Simul

3、ink模型窗口的建立,在Simulink中打开一个空白的模型窗口的方法: 选中Simulink菜单系统中的File | New | Model菜单项后,会生成一个Simulink窗口; 单击Simulink工具栏中的“新建模型”图标; 在MATLAB的命令窗口中选择File | New | New Model菜单项;,启动Simulink,建立系统模型的基本操作,Simulink的模块库,Simulink的模块库能够对系统模块进行有效的管理与组织可以直接将模块库中的模块拖动或者拷贝到用户的系统模型中以构建动态系统模型。,Simulink公共模块库,Simulink中最为基础、最为通用的模块库,

4、它可以被应用到不同的专业领域中。 连续模块continuous、非连续模块discontinuous 离散模块discrete、查找表模块Look-up Table 数学运算Math Operations 模型验证模块Model Verification 模型扩充工具Model-Wide Utilities 端口和子系统模块Ports 将系统模块插入到系统模型中; 查看系统模块的参数设置; 以及回到系统模块的上一层库。,此外还可以进行以下操作: (1) 使用鼠标左键选择并拖动系统模块,并将其拷贝到系统模型中。 (2) 在模块搜索栏中搜索所需的系统模块。,例:简单系统的输入为一个正弦波信号,输出

5、为此正弦波信号与一个常数的乘积。要求建立系统模型,并以图形方式输出系统运算结果。 已知系统的数学描述为 系统输入: u(t)=sin t , t0 系统输出: y(t)=au(t), a0,相关操作:,模块库 Sine Wave来自sources; Gain来自Math Operations;Scope来自Sinks 连接方法 (1)拖动对应端口进行连接 (2)单击起始模块后,按Ctrl键再单击目标模块 模块复制 传统方式Ctrl+C/Ctrl+V、或Ctrl键再拖动模块 模块插入 对于单输入单输出模块,只需将这个模块移到线上就可以自动连接。,连线操作,连线分支 使用鼠标右键单击需要分支的信号

6、连线(光标变成“+”),然后拖动到目标模块。 使用鼠标左键单击并拖动以改变信号连线的路径。 按下Shift键的同时,在信号连线上单击鼠标左键并拖动,可以生成新的节点。 在节点上使用鼠标左键单击并拖动,可以改变信号连线路径。,信号组合 在利用Simulink进行系统仿真时,在很多情况下,需要将系统中某些模块的输出信号(一般为标量)组合成一个向量信号,并将得到的信号作为另外一个模块的输入。,来自Signal Routing的Bus Creator,3 Simulink模型仿真,系统模块参数设置与系统仿真参数设置 双击系统模块,打开系统模块的参数设置对话框。 在参数设置对话框中设置合适的模块参数。

7、设置合适的系统仿真参数以进行动态系统的仿真 在Simulation菜单的Simulation parameters.子菜单中进行设置,如仿真时间等 运行仿真 单击系统模型编辑器上的Play图标(黑色三角)或选择Simulation菜单下的Start便可以对系统进行仿真分析。 仿真结束后双击Scope模块以显示系统仿真的输出结果,4 Simulink子系统介绍,Simulink提供的子系统功能可以大大地增强Simulink系统模型框图的可读性。 子系统可以理解为一种“容器”,此容器能够将一组相关的模块封装到一个单独的模块中,并且与原来系统模块组的功能一致。,子系统建立方法(2种),在已有的系统模

8、型中建立子系统: 首先框选待封装的区域,即在模型编辑器背景中单击鼠标左键并拖动,选中需要放置到子系统中的模块与信号(或在按下Shift键的同时,用鼠标左键单击所需模块);然后选择Edit菜单下的Create Subsystem,即可建立子系统。 建立空的子系统: Subsystems模块库中的模块建立子系统。这样建立的子系统内容为空,然后双击子系统对其进行编辑。,子系统操作 在生成子系统之后,用户可以对子系统进行各种与系统模块相类似的操作,这时子系统相当于具有一定功能的系统模块。例如,子系统的命名、子系统视图的修改、子系统的显示颜色等等。当然子系统也有其特有的操作,如子系统的显示(用鼠标左键双

9、击子系统模块即可打开子系统)、子系统的封装等等。,Inport输入模块与Outport输出模块 在系统模型中建立子系统时,Simulink会自动生成Inport模块(Sources模块库中的In1模块)与Outport模块(Sinks模块库中的Out1模块)。Inport模块作为子系统的输入端口,Outport作为子系统的输出端口,它们被用来完成子系统和主系统之间的通讯。 Inport和Outport用来对信号进行传递,不改变信号的任何属性;另外,信号标签可以越过它们进行传递。如果需要建立多输入多输出的子系统,则需要使用多个Inport模块与Outport模块,而且最好使用合适的名称对Inpo

10、rt模块与Outport模块进行命名。,5 Simulink与Matlab的接口设计,由MATLAB工作空间变量设置系统模块参数 模块参数可以是常量也可以工作空间变量 直接使用MATLAB工作空间中的变量设置模块参数。 使用变量的表达式设置模块参数。 例如,如果a是定义在MATLAB中的变量,则表达式a、a2+5、exp(a)等均可以作为系统模块的参数,将信号输出到MATLAB工作空间中 使用示波器模块Scope的输出信号,可以使用户对输出的信号进行简单的定性分析。 使用Sinks模块库中的To Workspace 模块,可以轻易地将信号输出到MATLAB工作空间中。信号输出的名称在To Wo

11、rkspace模块的对话框中设置,此对话框还可以设置输出数据的点数、输出的间隔,以及输出数据的类型等。其中输出类型有三种形式:数组、结构以及带有时间变量的结构。仿真结束或暂停时信号被输出到工作空间中。,使用工作空间变量作为系统输入信号 Simulink与MATLAB的数据交互是相互的,除了可以将信号输出到MATLAB工作空间中之外,用户还可以使用MATLAB工作空间中的变量作为系统模型的输入信号。使用Sources模块库中的From Workspace模块可以将MATLAB工作空间中的变量作为系统模型的输入信号。此变量的格式如下所示: t=0:0.1:10; x=sin(t); input=t

12、,x; 系统输入信号input的作用相当于Sources模块中的Sine Wave模块,向量与矩阵 Simulink所使用的信号可以是标量也能够传递和使用向量信号。例如,向量增益可以作用在一个标量信号上,产生一个向量输出。 Simulink 最重要的特性就是支持矩阵形式的信号,它可以区分行和列向量并传递矩阵。通过对模块做适当的配置,可以使模块能够接受矩阵作为模块参数。,MATLAB Function与Function模块 除了使用上述的方式进行Simulink与MATLAB之间的数据交互,用户还可以使用Functions and Tables 模块库中的 Function模块(简称为Fcn模块

13、)或Functions and Tables 模块库中的MATLAB Function模块(简称为MATLAB Fcn模块)进行彼此间的数据交互。 Fcn模块一般用来实现简单的函数关系,在Fcn模块中: (1) 输入总是表示成u,u可以是一个向量。 (2)可以使用 C 语言表达式,例如sin(u1)+cos(u2)。 (3) 输出永远为一个标量。,(2) 可以使用 C 语言表达式,例如sin(u1)+cos(u2)。 (3) 输出永远为一个标量。 MATLAB Fcn一般用来调用MATLAB函数来实现一定的功能,在MATLAB Fcn模块中: (1) 所要调用的函数只能有一个输出(可以是一个向

14、量)。 (2) 单输入函数只需使用函数名,多输入函数输入需要引用相应的元素,如mean、sqrt、myfunc(u(1),u(2)。 (3) 在每个仿真步长内都需要调用MATLAB解释器。 使用Fcn模块与MATLAB Fcn模块进行Simulink与MATLAB之间的数据交互。,使用Fcn与MATLAB Fcn模块进行数据交互,6 Scope高级使用技术,1) Scope的参数设置 使用Scope模块的参数设置选项卡能够对系统仿真输出结果显示进行更多的控制,而不仅仅是上述的简单控制。图36、图37所示分别为Scope模块参数设置选项卡中的General选项卡与Data History选项卡。

15、,Scope模块的General选项卡,Scope模块的Data history选项卡,下面简单介绍一下各选项卡的功能与使用。 1) 坐标系数目(Number of axes) 功能描述:在一个Scope输出模块中使用多个坐标系窗口同时输出多个信号。在默认设置下,Scope模块仅显示一个坐标系窗口。 2) 悬浮Scope开关(Floating scope) 功能描述:将Scope模块切换为悬浮Scope模块。,3) 显示时间范围(Time range) 功能描述:设置信号显示的时间范围。注意:信号显示的时间范围与系统仿真时间范围并不等同,并且坐标系所示的时间范围并非为绝对时间,而是指相对时间范

16、围,坐标系的左下角的时间偏移(Time offset)给出了时间的起始偏移量(即显示时间范围的起始时刻)。 4) 坐标系标签(Tick labels) 功能描述:确定Scope模块中各坐标系是否带有坐标轴标签。 下方坐标系使用标签(bottom axis only)以及都不使用标签(none)。用户最好使用标签,这有利于对信号的观察理解.,5) 信号显示点数限制(Limit data points to last) 功能描述:限制信号显示的数据点的数目,Scope模块会自动对信号进行截取以显示信号的最后n个点(这里n为设置的数值)。,6) 保存信号至工作空间变量(Save data to workspace) 功能描述:将由Scope模块显示的信号保存到Matlab工作空间变量中,以便于对信号进行更多的定量分析。数据保存类型有三种:带时间变量的结构体(structure with time)、结构体(structure)以及数组

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号