Top Banner
Simulink 电电电电
33

Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB...

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

Simulink 电路仿真

Page 2: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,仿真或者模型验证的全过程,而不需要传递数据,重写代码或改变软件环境。

在 start 进入 Simulink 菜单,选择 Simulink Library Browser ,打开 Simulink 库函数,选择 File New 打开编辑窗口。

在 MATLAB 的 Command 窗口直接键入 Simulink 即可打开 Simulink 工作窗口。

Simulink 作为面向框图的仿真软件,具有以下的功能和优点:

( 1 )用方框图的绘制代替了程序的编写。构成任何一个系统框图有三个步骤,即选定典型环节,相互联结和给定环节参数。

( 2 )仿真的建立和运行是智能化的。首先,画好了框图并存起来, Simulink 自动建立一个仿真的过程;其次,在运行时用户可以不给步长,只给出要求的仿真精度,软件会自动选择能保证给定精度的最大步长,使得在给定的精度要求下系统仿真具有最快的速度。

Page 3: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

( 3 ) 输入输出信号来源形式的多样化。其输入信号可以是各种信号发生器;也可以来自一个设定的记录文件;还可以来自 MATLAB 的工作空间( workspace ) . 输出信号也类似,这就扩大了仿真系统与各种外部软件和硬件的接口能力。

Simulink 工具箱中含有大量的仿真模块集,例如 Power System Blockset ( PSB ) ,DSP Blockset ,Communication Blockset,CDMA Reference Blockset, Nonlinear Control Design Blockset 等专门领域应用的仿真模块。

研究 MATLAB 在电路仿真中的应用,主要用到的是 Simulink 节点下的 Commonly used Blocks ,Sinks ,Sources 等模块以及在电路仿真中最长用的 Power System Blockset( DSP )模块。

Page 4: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

求 i3 , U4 , U7 ;

Page 5: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

1. Simulink 常用模块介绍 要熟练地使用 Simulink 进行仿真,首先要求能够熟练

使用 Simlink 常用模块。在模块浏览器中的 Simulink 节点下包含了搭建一个 Simulink 模块所需要的基本模块。本节主要对其中的 Sources 模块库、 Sinks 模块库、 Math Operations 库和 Continuous 模块库中的常用模块进行介绍。

Sources 模块 阶跃函数,起始时间是第 1 秒而非 0 秒。双击 ste

p 模块,对仿真起始时间 (step time) 和阶跃值 (Initial value, Final value) 的大小进行设置。

信号发生器,可以产生给定频率和幅值的正弦波 (sine wave) 、方波 (square wave) 和锯齿波 (sawtooth wave) ,双击图标可以设置。

Page 6: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

定时器,显示仿真时间,在系统仿真时打开定时器, 可以看到实时的仿真时间。 正弦波,电路中常用到的正弦信号( Sine Wave )模块,双击

图标,在弹出的窗口中调整相关参数。信号生成方式有两种: Time based 和 Sample based 。

如果以 Time based 方式运行该模块,则需要用户设定波形的幅度( Amplitude )、偏移( Bias )、频率( Frequency )、初相( Phase )几个参数;

如果选择 Sample based 方式,参数设置则为幅度( Amplitude )、偏移( Bias) 、每周期采样数( Sampies per period )和偏移采样数( Number of offset samples ) .

两种工作方式中的各项参数都可以用关系式加以换算: 每周期采样数 =2*pi/ (频率 *采样时间) 频移采样数 =初相 *每周期采样数 / ( 2*pi ) 设置采样时间 Sampletime ,将此参数设置为零时表示以连续的方式工

作,将此参数设置为大于零的值时则以所设采样时间工作。但要注意的是采用 Sample based 模式的模块式不能以连续的方式工作的。

Page 7: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

从工作空间输入。从 MATLAB Workspace 输入已有的函数作为仿真

的激励信号。首先要在 MATLAB 环境下建立一个时间向量和相应的函数值向量,然后将时间向量和函数值向量的名称 [T, U]填入该图标的对话框中。

Math Operations 模块

加、减运算 在 List of signs 文本框中可以选择多个数的加、减法运算。在 Icon shape 中选择圆形或方形符号。

Gain : 增益 作为后续模块的增益系数。

Continuous 模块 Transfer Fcn 传递函数,设置 numerator 选 项,分子多项式系数的降幂排列。 Denominator 选项,分母多项式系数的降幂排列。

Page 8: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

Sinks 模块Sinks 模块库中的模块主要功能是接受信号,并且将接受的信号显示出来。 输出到工作空间,功能与 From

Workspace 正好相反,把仿真结果连同输入信号输出到工作空间去。

XY 示波器:显示 MATLAB 的图形窗口。 输入曲线是以时间为横轴的绘图区域。 它的作用是将信号值直接显示 在该模块的窗口中。 输出信号是个直流信号时,我们就可以把它直接送到这个模块中,从

模块窗口中直接读出输入信号的大小。

示波器模块可以接受多个输入信号,每个端口的输入信号都将在一个坐标轴中显示。如果是向量或矩阵信号,则以不同的颜色表示每个元素信号;如果信号本身是离散的,则显示信号的阶梯图。

Page 9: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

( 1 ) 示波器的工具栏

Page 10: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

( 2 )坐标轴的范围调整 在坐标框内单击鼠标右键,在弹出的快捷菜单中执行“ Axes properties ”命令,可以对坐标轴进行调整,如图 4.1-1 所示。“ Y-min” 、“ Y-max”分别是设置 Y 轴的最小值和最大值,在“ Title” 中可以为坐标轴取个名字,默认是以输入信号线的标签作为坐标轴的名字。

Page 11: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

( 3 )示波器的参数设置 单击 图标将弹出“示波器参数设置(‘ Sope’Paramete

rs )”对话框

Page 12: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,
Page 13: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

“General” 选项卡中各个选项的含义如下: “① Number of axes ” 文本框:用于设置轴的个数,

可以用于实现对多个输入信号的显示。 “② Time range ” 文本框:用于设置 X 轴(即时间轴)的显示范围。

“③ Sampling ” 下拉列表:当在该下拉列表选择“ Decimation” 选项时可设置显示频度,如其设为 n ,则每隔 n-1 个数据点都给予显示。如果选“ Sample time” 可设置显示点采样时间,如果为 0表示显示连续信号, -1表示显示方式取决于输入信号,任何大于零的数据表示显示离散信号的时间间隔。

“④ Floating scope”复选框:若选中该复选框,则表示示波器以游离方式工作。

Page 14: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

( 4 )关于游离示波器

工作在游离状态的示波器能够对模型 中一条或多条信号线上的信号进行观察,

而不用将示波器和信号线相连。观察具体的信号时可以在工具栏中单击 图标,在打开的信号选择器中进行选择。

Page 15: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

2. SimPowerSystems 模块介绍 · DC Voltage Source 直流电压源,在 “ Electrical Sourc

es” 模块内。 · Series RLC Branch 串联 RLC 支路,设置参数可以去掉

任一元件,将其变为单独的电阻、电容或电感的支路。 将 Series RLC Branch 模块设置成单一电阻时,应将

参数:“ Resistance” 设置为所仿真电阻的真实值,“ Inductance” 设置为 0 ,“ Capacitance” 设置为 inf ;

将 Series -RLC Branch 模块设置单一电感模块时,应将参数:“ Inductance” 设置为所仿真电感的真实值,“ Resistance” 设置为 0 ,“ Capacitance” 设置为 inf ;

将 Series RLC Branch 设置单一电容模块时,应将参数“ Capacitance” 设置为所仿真电感的真实值,“ Resistance” 和“ Inductance”均设置为 0 。

Page 16: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

· Parallel RLC Branch 并联 RLC 支路,设置参数可以去掉任一元件,将其变为单独的电阻、电容或电感的支路。

将 Parallel RLC Branch 模块设置成单一电阻时,应将参数:“ Resistance” 设置为所仿真电阻的真实值,“ Inductance” 设置为 inf ,“ Capacitance” 设置为 0 ;

将 Parallel -RLC Branch 模块设置单一电感模块时,应将参数:“ Inductance” 设置为所仿真电感的真实值,“ Resistance” 设置为 inf ,“ Capacitance” 设置为 0 ;

将 Parallel RLC Branch 设置单一电容模块时,应将参数“ Capacitance” 设置为所仿真电感的真实值,“ Resistance” 和“ Inductance”均设置为inf 。

Page 17: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

· Current Measurement 、 Voltage Measurement 在“Measurmrnts” 模块内,可以用来测量所在支路的电流值和电压值。

·Controlled Voltage Source受控电压源、 Controlled Current Source受控电流源,在“ Electrical Sources” 模块内,其参数一般采用默认值。

· Break (开关)两模块。在 Elements 模块库内。 Break模块内有一个名为 External control of switching times 的选项,在默认的选中状态时, Switching times (开关转换时间)和 Sample time of the internal timer Ts 两个选项将被隐藏,这里需要将 External control of switching times 设为非选中状态,展开隐藏选项。

Page 18: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

3. 仿真控制设置 Solver页 simulation—configuration…--solver

起始时间 Start time 终止时间 stop time 仿真步长模式 变步长 Variable-step ,固定步长 Fixed-step 。仿真算法solver

变步长 Variable-step :最大步长、最小步长、起始步长。最大步长(缺省值,仿真时间 /50 )定义影响仿真结果,容易产生失真。最大步长大,取样点少。

仿真算法 solver : 2/3 阶龙格 - 库塔法、 4/5 阶龙格 - 库塔法(求解微分方程数值解的函数)、和欧拉法。

Page 19: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

变步长 Variable-step 的算法

Page 20: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

固定步长 Fixed-step 的算法

Page 21: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

仿真精度:变步长算法在误差超过误差容限时会自动对仿真步长作适当修正,误差容限的选择关系到微分方程求解的精度。相对精度 relative tolerance(1e-3) 、绝对精度 absolute tolerance(1e-6) 。

Page 22: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

4. 模型图的优化 ①模块的翻转:在 format命令中选 flip block项,

对选中的模块翻转,选 rotate block项对选中的模块旋转 90 度。

②信号线分叉:按住键,用鼠标左键点击需要分叉的连线接点,拖动鼠标,连接到目的端点。

③模型图的标注:模块的标注,双击模块原有的标注,直接修改。连线的标注,双击需要标注的连线,在文本框内进行标注。模型图的标注,在需要标注的任意位置,双击鼠标左键,在出现的文本框内进行标注。标注的位置和内容可以调整、隐藏( format|hide name format|show name )和翻转 (format|flip name) 。

Page 23: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

④模型图加阴影:选中需要加阴影的模块,选 Format | Show drop shadow 菜单项

⑤给模型图加颜色:选中需要加颜色的模块,选 Format | foregroundcolor 菜单项,添加模块的前景色。选 Format | Backgroundcolor 菜单项,添加模块的背景色。选 Format | Screencolor菜单项,添加模块图的背景色。

⑥改变模型图的字体:选中需要改字体的模块,选 Format | Font 菜单项,弹出对话框,可以改变字体了。

Page 24: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

⑦模块的合成:将多个模块合成一个模块组。选中要合成的模块,选择 Edit | Creat Subsystem 菜单项, SIMULINK会自动将这些模块构成一个模块组的标志,这一模块组可以作为一个公用模块使用了。双击模块组,会自动弹出一个子模型窗口,可以修改该模块的内容。

⑧创建子模块:从 Commomly Used Blocks 库选中 Subs

ystem 模块;双击该模块图标,在弹出的空白模型图编辑框上进行设计;对子模块进行封装。

⑨模块的封装:选中要封装的子模块,选择 Edit | Mark Subsystem 菜单项,弹出模块封装对话框:

在 Icon页、 Initialization页、 Document页填入参量,模块封装完成。

Page 25: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

5. 基于MATLAB/Simulink 的电路参数影响的分析法( 1 )电阻电路的计算电路如图建立 Simulink 模型

R1=2 , R2=4 , R3=12 , R4=4 , R5=12 , R6=4 , R7=2 , Us=10V 。 求 i3 , U4 , U7 ;

Page 26: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

在菜单栏 Simulation 下,点击 Start 或按 Ctrl+T 快捷键,可以运行电路模块。

仿真结果 :

Page 27: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,
Page 28: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

( 2 )一般正弦稳态电路已知求 b , d 两点的电压。

建立 Simulink 模型搭建的仿真电路如下图

Page 29: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

运行仿真模块,得到 b,d 两点的电压如图

Page 30: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

( 3 )

Page 31: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,

( 4 )

Page 32: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,
Page 33: Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图 界面和交互仿真能力的系统级设计和仿真工具。它以 MATLAB 核心数学,图形和语言为基础,可以让用户完成从算法开发,