您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 电机控制基于Simulink的仿真
MATLAB/Simulink设计主讲:段清明仪器科学与电气工程学院电机控制课程设计电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院1Simulink简介•Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。使用Simulink来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),将是一件非常轻松的事情。它提供了一种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。•利用Simulink进行系统的建模仿真,其最大的优点是易学、易用,并能依托MATLAB提供的丰富的仿真资源。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院•提供了仿真库的扩充和定制机制–Simulink的开放式结构允许用户扩展仿真环境的功能:采用MATLAB、FORTRAN和C代码生成自定义模块库,并拥有自己的图标和界面。•与MATLAB工具箱的集成–由于Simulink可以直接利用MATLAB的诸多资源与功能,因而用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院Simulink应用领域电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院2Simulink启动及模型建立Simulink的启动主要有以下两种方法:–在MATLAB的命令窗口中输入simulink,结果是在桌面上出现一个SimulinkLibraryBrowser的窗口。–单击MATLAB主窗口的快捷按钮,打开SimulinkLibraryBrowser窗口。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院Simulink模型窗口的建立在Simulink中打开一个空白的模型窗口的方法:•选中Simulink菜单系统中的File|New|Model菜单项后,会生成一个Simulink窗口;•单击Simulink工具栏中的“新建模型”图标;•在MATLAB的命令窗口中选择File|New|NewModel菜单项;电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院启动Simulink,建立系统模型的基本操作依次表示新建、打开系统模型文件依次表示新建、打开与保存系统模型文件电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院Simulink的模块库•Simulink的模块库能够对系统模块进行有效的管理与组织可以直接将模块库中的模块拖动或者拷贝到用户的系统模型中以构建动态系统模型。模块搜索模块描述系统模块系统模块库电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院Simulink公共模块库•Simulink中最为基础、最为通用的模块库,它可以被应用到不同的专业领域中。–连续模块continuous、非连续模块discontinuous–离散模块discrete、查找表模块Look-upTable–数学运算MathOperations–模型验证模块ModelVerification–模型扩充工具Model-WideUtilities–端口和子系统模块Ports&Subsystems、–信号属性模块SignalAttributes–信号路由模块SignalRouting、接收模块Sinks–输入模块Sources–用户自定义函数模块User-DefinedFunctions电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院Simulink的部分专业模块库DSPBlockset数字信号处理工具包Fixed-PointBlockset定点运算控制系统仿真工具包PowerSystemBlockset电力电动系统工具包Dials&GaugesBlockset交互图形和控制面板设计工具包CommunicationsBlockset通讯系统工具包CDMAReferenceBlocksetCDMACDMA通讯系统设计和分析工具包NonlinearControlDesignBlockset非线性控制设计工具箱MotorolaDSPDeveloper’sKitMotorolaDSP开发工具箱TIDSPDeveloper’sKitTIDSP开发工具箱电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院对Simulink库浏览器的基本操作有:(1)使用鼠标左键单击系统模块库,如果模块库为多层结构,则单击“+”号载入库。(2)使用鼠标右键单击系统模块库,可在单独的窗口打开库。(3)使用鼠标左键单击系统模块,在模块描述栏中显示此模块的描述。(4)使用鼠标右键单击系统模块,可以得到:系统模块的帮助信息;将系统模块插入到系统模型中;查看系统模块的参数设置;以及回到系统模块的上一层库。此外还可以进行以下操作:(1)使用鼠标左键选择并拖动系统模块,并将其拷贝到系统模型中。(2)在模块搜索栏中搜索所需的系统模块。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院•例:简单系统的输入为一个正弦波信号,输出为此正弦波信号与一个常数的乘积。要求建立系统模型,并以图形方式输出系统运算结果。•已知系统的数学描述为系统输入:u(t)=sint,t≥0系统输出:y(t)=au(t),a≠0电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院相关操作:•模块库–SineWave来自sources;Gain来自MathOperations;Scope来自Sinks•连接方法(1)拖动对应端口进行连接(2)单击起始模块后,按Ctrl键再单击目标模块•模块复制–传统方式Ctrl+C/Ctrl+V、或Ctrl键再拖动模块•模块插入–对于单输入单输出模块,只需将这个模块移到线上就可以自动连接。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院连线操作•连线分支–使用鼠标右键单击需要分支的信号连线(光标变成“+”),然后拖动到目标模块。•使用鼠标左键单击并拖动以改变信号连线的路径。•按下Shift键的同时,在信号连线上单击鼠标左键并拖动,可以生成新的节点。•在节点上使用鼠标左键单击并拖动,可以改变信号连线路径。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院信号组合在利用Simulink进行系统仿真时,在很多情况下,需要将系统中某些模块的输出信号(一般为标量)组合成一个向量信号,并将得到的信号作为另外一个模块的输入。来自SignalRouting的BusCreator电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院3Simulink模型仿真•系统模块参数设置与系统仿真参数设置–双击系统模块,打开系统模块的参数设置对话框。–在参数设置对话框中设置合适的模块参数。•设置合适的系统仿真参数以进行动态系统的仿真–在Simulation菜单的Simulationparameters...子菜单中进行设置,如仿真时间等•运行仿真–单击系统模型编辑器上的Play图标(黑色三角)或选择Simulation菜单下的Start便可以对系统进行仿真分析。–仿真结束后双击Scope模块以显示系统仿真的输出结果电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院4Simulink子系统介绍•Simulink提供的子系统功能可以大大地增强Simulink系统模型框图的可读性。•子系统可以理解为一种“容器”,此容器能够将一组相关的模块封装到一个单独的模块中,并且与原来系统模块组的功能一致。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院子系统建立方法(2种)•在已有的系统模型中建立子系统:–首先框选待封装的区域,即在模型编辑器背景中单击鼠标左键并拖动,选中需要放置到子系统中的模块与信号(或在按下Shift键的同时,用鼠标左键单击所需模块);然后选择Edit菜单下的CreateSubsystem,即可建立子系统。•建立空的子系统:–Subsystems模块库中的模块建立子系统。这样建立的子系统内容为空,然后双击子系统对其进行编辑。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院子系统操作在生成子系统之后,用户可以对子系统进行各种与系统模块相类似的操作,这时子系统相当于具有一定功能的系统模块。例如,子系统的命名、子系统视图的修改、子系统的显示颜色等等。当然子系统也有其特有的操作,如子系统的显示(用鼠标左键双击子系统模块即可打开子系统)、子系统的封装等等。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院Inport输入模块与Outport输出模块在系统模型中建立子系统时,Simulink会自动生成Inport模块(Sources模块库中的In1模块)与Outport模块(Sinks模块库中的Out1模块)。Inport模块作为子系统的输入端口,Outport作为子系统的输出端口,它们被用来完成子系统和主系统之间的通讯。Inport和Outport用来对信号进行传递,不改变信号的任何属性;另外,信号标签可以越过它们进行传递。如果需要建立多输入多输出的子系统,则需要使用多个Inport模块与Outport模块,而且最好使用合适的名称对Inport模块与Outport模块进行命名。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院5Simulink与Matlab的接口设计•由MATLAB工作空间变量设置系统模块参数–模块参数可以是常量也可以工作空间变量–直接使用MATLAB工作空间中的变量设置模块参数。–使用变量的表达式设置模块参数。•例如,如果a是定义在MATLAB中的变量,则表达式a、a^2+5、exp(–a)等均可以作为系统模块的参数电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院•将信号输出到MATLAB工作空间中使用示波器模块Scope的输出信号,可以使用户对输出的信号进行简单的定性分析。使用Sinks模块库中的ToWorkspace模块,可以轻易地将信号输出到MATLAB工作空间中。信号输出的名称在ToWorkspace模块的对话框中设置,此对话框还可以设置输出数据的点数、输出的间隔,以及输出数据的类型等。其中输出类型有三种形式:数组、结构以及带有时间变量的结构。仿真结束或暂停时信号被输出到工作空间中。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院•使用工作空间变量作为系统输入信号Simulink与MATLAB的数据交互是相互的,除了可以将信号输出到MATLAB工作空间中之外,用户还可以使用MATLAB工作空间中的变量作为系统模型的输入信号。使用Sources模块库中的FromWorkspace模块可以将MATLAB工作空间中的变量作为系统模型的输入信号。此变量的格式如下所示:t=0:0.1:10;x=sin(t);input=[t',x'];系统输入信号input的作用相当于Sources模块中的SineWave模块电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院•向量与矩阵–Simulink所使用的信号可以是标量也能够传递和使用向量信号。例如,向量增益可以作用在一个标量信号上,产生一个向量输出。–Simulink最重要的特性就是支持矩阵形式的信号,它可以区分行和列向量并传递矩阵。通过对模块做适当的配置,可以使模块能够接受矩阵作为模块参数。电机控制课程设计:MATLAB/Simulink设计仪器科学与电气工程学院•MATLABFunction与Function模块除了使用上述的方式进行Simulink与MATLAB之间的数据交互,用户还可以使用FunctionsandTab
本文标题:电机控制基于Simulink的仿真
链接地址:https://www.777doc.com/doc-3715505 .html