Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图...

33
Simulink 电电电电
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    361
  • download

    6

Transcript of Simulink 电路仿真. Simulink 是 MATLAB 的一个重要的工具箱,是结合了框图...

Simulink 电路仿真

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

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

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

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

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

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

( 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 )模块。

求 i3 , U4 , U7 ;

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) ,双击图标可以设置。

定时器,显示仿真时间,在系统仿真时打开定时器, 可以看到实时的仿真时间。 正弦波,电路中常用到的正弦信号( 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 模式的模块式不能以连续的方式工作的。

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

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

Math Operations 模块

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

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

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

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

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

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

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

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

( 1 ) 示波器的工具栏

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

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

rs )”对话框

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

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

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

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

( 4 )关于游离示波器

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

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

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 。

· 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 。

· 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 设为非选中状态,展开隐藏选项。

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

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

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

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

变步长 Variable-step 的算法

固定步长 Fixed-step 的算法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

仿真结果 :

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

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

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

( 3 )

( 4 )