电力电子的Matlab仿真技术.ppt
电力电子技术的Matlab仿真,Matlab概述Simulink仿真基础-Simulink简介-Simulink仿真步骤电力电子电路的仿真,提纲,1Matlab概述,MATLAB是由美国的CleverMoler博士于1980年开发的,初衷是为解决“线性代数”课程的矩阵运算问题。后来又被MathWorks公司商业化,用于算法开发、数据分析及数值计算等,主要包括MATLAB和Simulink两部分。MATLAB是MatrixLaboratory的简称,发展迅速。目前,MATLAB已经成为国际上最流行的科学与工程计算的软件工具,现在的MATLAB已经不仅仅是一个“矩阵实验室”了,它已经成为了一种具有广泛应用前景的全新的计算机高级编程语言,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。,一、MATLAB的发展及特点,它将一个优秀软件的易用性与可靠性、通用性与专业性有机的相结合。它是一种直译式的高级语言,基本单位是矩阵,比其它程序设计语言容易。MATLAB已经不仅是一个“矩阵实验室”了,它集科学计算、图象处理、声音处理于一身,并提供了丰富的Windows图形界面设计方法MATLAB吸收了其他软件的优点,是功能强大的计算机高级语言,它以超群的风格与性能风靡全世界,成功地应用于各工程学科的研究领域,特点,主要应用领域工业研究与开发数学教学,特别是线性代数数值分析和科学计算方面的教学与研究电子学、控制理论和物理学等工程和科学学科方面的教学与研究经济学、化学和生物学等计算问题的所有其他领域中的教学与研究图像处理和信号检测等方面,二、MATLAB语言的功能,1矩阵运算功能MATLAB提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具。2符号运算功能3丰富的绘图功能与计算结果的可视化具有高层绘图功能二维、三维绘图;具有底层绘图功能句柄绘图;使用plot函数可随时将计算结果可视化,图形可修饰和控制4图形化程序编制功能动态系统进行建模、仿真和分析的软件包用结构图编程,而不用程序编程只需拖几个方块、连几条线,即可实现编程功能,5丰富的MATLAB工具箱,MATLAB主工具箱符号数学工具箱SIMULINK仿真工具箱控制系统工具箱信号处理工具箱图象处理工具箱通讯工具箱系统辨识工具箱神经元网络工具箱金融工具箱,许多学科,在MATLAB中都有专用工具箱,现已有几十个工具箱,但MATLAB语言的扩展开发还远远没有结束,各学科的相互促进,将使得MATLAB更加强大,6MATLAB的兼容功能可与C/C、JAVA、FORTURE等语言跨平台兼容7MATLAB的容错功能非法操作时给出提示,并不影响其操作8MATLAB的开放式可扩充结构matlab除内部函数外,都是开放的用户可按自己意愿随意更改正因为此功能,使得matlab的应用越来越广泛9强大的联机检索帮助系统可随时检索matlab函数可随时查询matlab函数的使用方法,三、MATLAB集成环境,,Simulink,,当前目录浏览,工作空间,历史命令窗口,,,,帮助按钮,命令窗口,命令输入区域,,,,2Simulink仿真基础,SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。,2.1Simulink简介,通过演示一个Simulink的简单模型,了解建立模型的步骤.【例1】创建一个正弦信号的仿真模型。1在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器SimulinkLibraryBrowser窗口。2单击工具栏上的图标或选择菜单“File”“New”“Model”,新建一个名为“untitled”的空白模型窗口。3在上图的右侧子模块窗口中,单击“Source”子模块库前的“”或双击Source,或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。,4用鼠标单击所需要的输入信号源模块“SineWave”正弦信号,将其拖放到的空白模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addtountitled”命令,就可以将“SineWave”模块添加到untitled窗口.5用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块示波器拖放到“untitled”窗口中。6在“untitled”窗口中,用鼠标指向“SineWave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。,7开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。8保存模型,单击工具栏的图标。,Simulink模型窗口,示波器窗口,一、SIMULINK的启动三种方法二、SIMULINK的模块库介绍SIMILINK模块库按功能分14类子库Continuous(连续模块库)Discontinuities(非线性模块库)Discrete(离散模块库)LogicandBitOperations(逻辑与位操作模块)LookupTables查询表模块库MathOperations(数学运算模块库)ModelVerification(模型验证模块库)Model-wideutilities(模块实用模块库)PortsSubsystems(端口和子系统模块库)SignalAttributes(信号属性模块库)SignalRouting(信号路由模块库)Sinks(接收器模块库)Sources(输入源模块库)User-definedfunctions(用户自定义模块库),SimpowerSystems模型库ExtraLibrary其他模块库ApplicationLibraries(应用)ElectricalSources(电源)Elements(元器件)Machines电机模块库Measurements(测量仪器)PowerElectronics(电力电子元件),三、Simulink模块的基本操作模块的提取模块的移动、放大和缩小模块的复制和粘贴模块的删除和恢复模块的转向模块名的修改和移动模块颜色的改变模块的参数设置模块的属性设定模块的连接连线的弯折、移动和删除批处理方法,2.2Simulink仿真步骤,1构建仿真模型2设置模块参数3设置仿真参数4启动仿真5观测仿真结果,,,,仿真参数设置对话框,Solver页仿真时间注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对时间的一种表示,比如10秒的仿真时间,如果采样步长定为0.1,则需要执行100步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。一般仿真开始时间设为0,而结束时间视不同的因素而选择。总的说来,执行一次仿真要耗费的时间依赖于很多因素,包括模型的复杂程度、解法器及其步长的选择、计算机时钟的速度等等。仿真步长模式用户在Type后面的第一个下拉选项框中指定仿真的步长选取方式,可供选择的有Variable-step(变步长)和Fixed-step(固定步长)方式。变步长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。固定步长模式在仿真过程中提供固定的步长,不提供误差控制和过零检测。用户还可以在第二个下拉选项框中选择对应模式下仿真所采用的算法。,步长参数对于变步长模式,用户可以设置最大的和推荐的初始步长参数,缺省情况下,步长自动地确定,它由值auto表示。Maximumstepsize(最大步长参数)它决定了解法器能够使用的最大时间步长,它的缺省值为“仿真时间/50”,即整个仿真过程中至少取50个取样点,但这样的取法对于仿真时间较长的系统则可能带来取样点过于稀疏,而使仿真结果失真。一般建议对于仿真时间不超过15s的采用默认值即可,对于超过15s的每秒至少保证5个采样点,对于超过100s的,每秒至少保证3个采样点。Initialstepsize(初始步长参数)一般建议用“auto”默认值即可。仿真精度的定义(对于变步长模式)Relativetolerance(相对误差)它是指误差相对于状态的值,是一个百分比,缺省值为1e-3,表示状态的计算值要精确到0.1。Absolutetolerance(绝对误差)表示误差值的门限,或者是说在状态值为零的情况下,可以接受的误差。如果它被设成了auto,那么simulink为每一个状态设置初始绝对误差为1e-6。,2.3其他,一、示波器的使用,1示波器的参数,2图形缩放三个放大镜区域放大、x轴向放大、y轴向放大,3坐标轴范围,二、Simulink的仿真算法1变步长模式解法器有ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete,ode45缺省值,四/五阶龙格-库塔法,适用于大多数连续或离散系统,但不适用于刚性(stiff)系统。它是单步解法器,也就是,在计算ytn时,它仅需要最近处理时刻的结果ytn-1。一般来说,面对一个仿真问题最好是首先试试ode45。ode23二/三阶龙格-库塔法,它在误差限要求不高和求解的问题不太难的情况下,可能会比ode45更有效。也是一个单步解法器。ode113是一种阶数可变的解法器,它在误差容许要求严格的情况下通常比ode45有效。ode113是一种多步解法器,也就是在计算当前时刻输出时,它需要以前多个时刻的解。ode15s是一种基于数字微分公式的解法器(NDFs)。也是一种多步解法器。适用于刚性系统,当用户估计要解决的问题是比较困难的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s。ode23s它是一种单步解法器,专门应用于刚性系统,在弱误差允许下的效果好于ode15s。它能解决某些ode15s所不能有效解决的stiff问题。ode23t是梯形规则的一种自由插值实现。这种解法器适用于求解适度stiff的问题而用户又需要一个无数字振荡的解法器的情况。ode23tb是TR-BDF2的一种实现,TR-BDF2是具有两个阶段的隐式龙格-库塔公式。discrtet当Simulink检查到模型没有连续状态时使用它。,2固定步长模式解法器有ode5,ode4,ode3,ode2,ode1和discrete。,ode5缺省值,是ode45的固定步长版本,适用于大多数连续或离散系统,不适用于刚性系统。ode4四阶龙格-库塔法,具有一定的计算精度。ode3固定步长的二/三阶龙格-库塔法。ode2改进的欧拉法。ode1欧拉法。discrete是一个实现积分的固定步长解法器,它适合于离散无连续状态的系统。,三、子系统的建立(Subsystem)四、S-函数的设计五、电力电子器件模型(p79)六、图形用户界面(Powergui模块),3电力电子电路的仿真,,,,,,,结束,