基于MATLAB GUI的整流电路仿真设计

更新时间:2023-07-22 03:24:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于MATLAB GUI的整流电路仿真设计(毕业设计)

基于MATLAB GUI的整流电路仿真设计

题 目

系 、 部: 电气与信息工程系

学生姓名:

指导教师: 职称

专 业: 电子信息工程

班 级: 电子0802

完成时间:

基于MATLAB GUI的整流电路仿真设计(毕业设计)

摘 要

以Matlab/Simulink仿真软件为基础,利用Power System工具箱完成整流电路的建模和仿真,同时利用Matlab的图形用户界面(GUI)设计整流电路的分析界面,借助此界面对Simulink模型进行操作,可以方便地实现对模型参数的设置和修改、模型的查看和修正、仿真的显示和相关的辅助操作,大大简化仿真的操作过程,提高仿真效率。

此界面友好、开放,仿真结果即时可见,既可为建立其他类型的电力电子电路仿真界面提供重要参考,也可用于指导实际系统的设计。

关键词:Power System;工具箱;整流电路;GUI;Simulink 模型

基于MATLAB GUI的整流电路仿真设计(毕业设计)

ABSTRACT

Matlab / Simulink simulation software, Power System Toolbox to complete the modeling and simulation of the rectifier circuit, while the use of Matlab graphical user interface (GUI) design analysis of the rectifier circuit interface With this interface the Simulink model can be easily set and modify the model parameters, view and amend the model, the simulation display and auxiliary operations, greatly simplifying the operation of the simulation to improve simulation efficiency.

This interface is friendly, open, and simulation results immediately visible and can provide an important reference for the establishment of other types of power electronic circuit simulation interface, can also be used to guide the actual design.

Key words Power System Toolbox; rectifier circuit; the GUI; Simulink model

基于MATLAB GUI的整流电路仿真设计(毕业设计)

目 录

1 前言 ………………………………………………………………………………1

1.1 MATLAB/SIMULINK仿真的目的与意义 ……………………………………1

1.2 本课题的研究内容 1

1.3本课题的研究意义…………………………………………………………1 2 MATLAB/SIMULIK基础知识………………………………………………………2

2.1 MATLAB介绍…………………………………………………………………2

2.1.1 MATLAB的主要组成部分……………………………………………..2

2.1.2 MATLAB的系统开发环境………………………………………………3

2.2 SIMULINK仿真基础…………………………………………………………4 2.2.1 SIMULIN启动………………………………………………………….5

2.2.2 SIMULINK的模块库介绍………………………………………………5

2.2.3 电力系统模块库的介绍………………………………………………5

2.2.4 SIMULINK简单模型的建立……………………………………………6

2.2.5 SIMULINK功能模块的处理 …………………………………………6

2.2.6 SIMULINK线的处理……………………………………………………8

2.2.7 SIMULINK仿真的运行…………………………………………………8

2.3 MATLAB的GUI程序设计 …………………………………………………10

2.3.1控件对象及属性 ……………………………………………………10

2.3.2 GUI开发环境…………………………………………………………11

2.3.3 GUI程序设计…………………………………………………………12 3 整流电路的仿真…………………………………………………………………13

3.1 单相桥式全控整流电路的仿真 …………………………………………13

3.1.1 单相桥式全控整流电路构成 ………………………………………13

3.1.2 单相桥式全控整流电路模型建立 …………………………………13

3.1.3 模型参数设置 ………………………………………………………14

3.2 三相桥式全控整流电路的仿真 …………………………………………14

3.2.1 三相桥式全控整流电路的构成 ……………………………………14

3.2.2 三相桥式全控整流电路模型建立 …………………………………15

基于MATLAB GUI的整流电路仿真设计(毕业设计)

3.1.3 模型参数设置 ………………………………………………………16 4 整流电路GUI界面的开发………………………………………………………17

4.1 Matlab GUI的实现方法 …………………………………………………17

4.2 仿真界面的开发 …………………………………………………………17

4.3 仿真主界面的实现 ………………………………………………………18 5 结论………………………………………………………………………………21 参考文献 ……………………………………………………………………………22 致谢 …………………………………………………………………………………23 附录 …………………………………………………………………………………24

基于MATLAB GUI的整流电路仿真设计(毕业设计)

1 前 言

1.1 MATLAB/SIMULINK仿真的目的与意义

在电力电子电路如变流装置的设计过程中,需要对设计出来的初步方案(电路)及有关元件参数选择是否合理,效果如何进行验证。如果通过实验来检验,就要将设计的系统用元件安装出来再进行调试和试验,不能满足要求时,要更换元件甚至要重新设计、安装、调试,往往要反复多次才能得到满意的结果。这样将耗费大量的人力和物力,且使设计效率低下、耗资大、周期长。

采用计算机进行仿真试验,则可大大地节约开支,提高设计效率,缩短设计周期。但是用其它计算机高级语言(如 C语言,BASIC语言或仿真语言)编程实现,对电力变流电路来说,由于大功率开关器件开关转换电流换相动态过程十分复杂,过渡过程一个接一个,一个未完,新的一个又开始了要分析输出电压、电流(带感性负载时)波形,特别是如大功率开关管关断时承受的尖峰电压大小形状,即阻容保护电路的保护效果如何,就要建立等效电路的数学模型。而这样的数学模型是很复杂的,即使建立起来了,用计算机编程实现得到真实的仿真结果也需要花大量的时间精力来编程和调试。然而采 MATLAB/SIMULINK可视化图形化仿真环境来对电力电子电路进行建模仿真则可使之变得直观,简单易行,效率高,真实准确[1]。

1.2 本课题的研究内容

建立单相桥式全控整流电路、三相桥式全控整流电路、带电容性负载的三相不可控桥式整流电路的仿真模型,利用Matlab的图形用户界面(GUI)设计整流电路的分析界面,借助此界面对Simulink模型进行操作,对模型参数的设置和修改、模型的查看和修正、仿真的显示和相关的辅助操作。

1.3 本课题的研究意义

利用Simulink中的模块库建立单相/三相整流电力变换电路,进行仿真后,对仿真波形进行比较分析。证实了该方法的简便直观、高效快捷和真实准确性。由于计算机中修改参数方便,可以通过改变方针参数就可观察各种现象,加深了对其电路原理的理解。

通过对本课题的研究最终能够熟悉并掌握Matlab /Simulink的应用环境,熟练应用Simulink模块库中模块建立电力电子电路的系统仿真模型,了解利用Matlab的图形用户界面(GUI)来设定系统仿真参数,进行系统仿真。

基于MATLAB GUI的整流电路仿真设计(毕业设计)

2 MATLAB/SIMULINK基础知识

2.1 MATLAB介绍

Matlab(Matrix Laboratory)是美国 MathWorks公司开发的一套高性能的数值分析和计算软件,用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境,是目前最好的科学计算类软件之一。

MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。

MATLAB已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。在中国,MATLAB也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能[2]。

2.1.1 MATLAB的主要组成部分

MATLAB系统由5个主要的部分构成:

(1) 开发环境(Development Environment):微MATLAB用户或程序编制员提供的一套应用工具和设施。由一组图形化用户接口工具和组件集成:包括MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口及帮助信息、工作空间、文件和搜索路径等浏览器。

(2) MATLAB数学函数库(Math Function Library):数学和分析功能在MATLAB工具箱中被组织成8个文件夹。

elmat 初步矩阵,和矩阵操作。

elfun 初步的数学函数。求和、正弦、余弦和复数运算等

specfun 特殊的数学函数。矩阵求逆、矩阵特征值、贝塞尔函数等; matfun 矩阵函数-用数字表示的线性代数。

atafun 数据分析和傅立叶变换。

polyfun 插值,多项式。

funfun 功能函数。

基于MATLAB GUI的整流电路仿真设计(毕业设计)

sparfun 稀疏矩阵。

(3) MATLAB语言:(MATLAB Language)一种高级编程语言(高阶的矩阵/数组语言),包括控制流的描述、函数、数据结构、输入输出及面对对象编程;

(4) 句柄图形:(Handle Graphics) MATLAB制图系统具有2维、三维的数据可视化,图象处理,动画片制作和表示图形功能。可以对各种图形对象进行更为细腻的修饰和控制。允许你建造完整的图形用户界面(GUI),以及建立完整的图形界面的应用程序。制图法功能在MATLAB工具箱中被组织成5个文件夹:二维数图表(graph2d)、三维图表(graph3d)专业化图表(specgraph)、制图法(graphics)、图形用户界面工具(uitools)。

(5) 应用程序接口:(Applied Function Interface) MATLAB的应用程序接口允许用户使用C或FORTRAN语言编写程序与MATLAB连接。

2.1.2 MATLAB的系统开发环境(System Developing Environment)

1.操作桌面(Operating Desktop)

(1)桌面布局:6个窗口

命令窗口(Commend Window)、工作空间窗口(Workspace)、当前目录浏览器(Current Directory )、命令历史窗口( Commend History )、启动平台 (Launch Pad)、帮助窗口(Help)、M文件优化器(Profiler)。

(2)菜单和工具栏;(Menu and toolbar) 操作桌面上有6个菜单和带有9个快捷按钮的工具栏组。

(3)改变桌面设置:(Setting) File 菜单中Preference对话框中设置。

2.命令窗口:(Command window)MATLAB的主要交互窗口。

用于输入MATLAB 命令、函数、数组、表达式等信息,并显示图形以外的所有计算结果。还可在命令窗口输入最后一次输入命令的开头字符或字符串,然后用↑键调出该命令行。

3.工作空间窗口:(Workspace Window)

用于储存各种变量和结果的空间,显示变量的名称、大小、字节数及数据类型,对变量进行观察、编辑、保存和删除。临时变量不占空间。

为了对变量的内容进行观察、编辑与修改,可以用三种方法打开内存数组编辑器。双击变量名;选择该窗口工具栏上的打开图标;鼠标指向变量名,点击鼠标右键,弹出选择菜单,然后选项操作。

欲查看工作空间的情况,可以在命令窗口键入命令whos(显示存在工作空间全部变量的名称、大小、数据类型等信息)或命令who(只显示变量名)。

4.当前目录浏览器:(Current Directory)

用于显示及设置当前工作目录,同时显示当前工作目录下的文件名、文件类

基于MATLAB GUI的整流电路仿真设计(毕业设计)

型及目录的修改时间等信息。只有在当前目录或搜索路径下的文件及函数可以被运行或调用。

设置当前目录可以在浏览器窗口左上角的输入栏中直接输入,或点击浏览器下拉按钮进行选择。还可用cd命令在命令窗口设置当前目录,如:

cd c:\mydir 可将c盘上的mydir目录设为当前工作目录。

5.命令历史窗口:(Command History)

记录已运行过的MATLAB命令历史,包括已运行过的命令、函数、表达式等信息,可进行命令历史的查找、检查等工作,也可以在该窗口中进行命令复制与重运行。

6.启动平台:(Launch Pad)

帮助用户方便地打开和调用MATLAB 的各种程序、函数和帮助文件。

平台列出了系统中安装的所有的MATLAB产品的目录,可以通过双击来启动相应的选项。

7.MATLAB 的搜索路径:(Searching Path)

MATLAB定义的一系列文件路径的组合,缺省状态下包括当前路径和已安装的全部工具箱的路径。

搜索目录的设置通过选择主菜单Set Path菜单项进行。

用Add Folder 按钮可以将某一目录加入搜索路径,选择Add with Subfolder 按钮可将选中目录的子目录也包括在搜索路径中。

8.内存数组编辑器:(Array Editor)

提供对数值型或字符型二维数组的显示和编辑功能,对其他数据类型都不能编辑。通过工作空间窗口打开所选的变量时,该编辑器启动。

2.2 SIMULINK仿真基础

SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上[3]。

1.所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。

2.Simulink可将系统分为从高级到低级的几个层次,每层又可以细分为几个部分,每层系统构建完成后,将各层连接起来构成一个完整系统。模型创建完成后,可以启动系统的仿真功能分析系统的动态特性,其内置的分析工具包括各

基于MATLAB GUI的整流电路仿真设计(毕业设计)

种仿真算法、系统线性化、寻求平衡点等。仿真结果可以以图形方式在示波器窗口显示,也可将输出结果以变量形式保存起来,并输入到MATLAB中以完成进一步的分析。

3. Simulink可以仿真线性和非线性系统,并能创建连续时间、离散时间或二者混合的系统。支持多采样频率系统。

2.2.1 SIMULINK启动

在MATLAB命令窗口中输入simulink,结果是在桌面上出现一个称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。

也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口。

2.2.2 SIMULINK的模块库介绍

整个Simulink模块库是由各个模块组构成,标准的Simulink模块库中,包括:信号源模块组(Source)、仪器仪表模块组(Sinks)、连续模块组( Continuous)、离散模块组(Discrete)、数学运算模块组(Math)、非线性模块组(Nonlinear)、函数与表格模块组(Function&Tables )、信号与系统模块组(Signals&Systems)和子系统模块组(Subsystems)几个部分,此外还有和各个工具相与模块集之间的联系构成的子模块组,用户还可以将自己编写的模块组挂靠到整个模型库浏览器下。

2.2.3 电力系统模块库的介绍

进入MATLAB系统后打开模块库浏览窗口,用鼠标左键双击其中的Power System Blocks即可弹出电力系统工具箱模块库,它包括连接元件库(Connectors),电源库(Electrical Sources),基本元件库(Elements),元件库(Extra Library),电机元件库(Machines),测量元件库(Measurements)和电力电子元件库(Power Electronics)。这些模块库包含了大多数常用电力系统元件的模块。利用这些库模块及其它库模块,用户可方便、直观地建立各种系统模型并进行仿真。

(1)电路元件模型

该部分包括断路器(Breaker)、分布参数线(Distribute Parameter Line)、线性变压器(Linear Transformer)、并联RLC负荷(Parallel RLC Load),II型线路参数(II Section Line)、饱和变压器(Saturable Transformer)、串联RLC支路(Series RLC Branch)、串联RLC负荷(Series RLC load)、过电压自动装置(Surge Arrester)。这部分可以仿真交流输电线装置。

基于MATLAB GUI的整流电路仿真设计(毕业设计)

(2)电力电子设备模型

此部分含有二极管(Diode)、GT0、理想开关(Ideal Switch)、MOS管(Mosfet)、可控晶闸管(Thyristor)的仿真模型。这些设备模型不仅可以单独进行仿真而且可以组合在一起仿真整流电路等直流输变电的电力电子设备。

(3)电机设备模型

此部分有异步电动机(Asynchronous Machine)、励磁系统(Excitation System)、水轮电机及其监测系统(Hydraulic Turbine and Governor(HTG))、永磁同步电机(Permanent Magnet Synchronous Machine)、简化的同步电机(Simplified Synchronous Machine)、同步电机(Synchronous Machine)。这些模型可以仿真电力系统中发电机设备,电力拖动设备等。

(4)接线设备模型

这一部分包括一些电力系统中常用的接线设备。如接地设备、输电线母线等。

(5)测量设备模型

该部分模型是用来采集线路的电压或电流值的电压表和电流表。这 一部分还起着连接SIMULINK模型与POWERLIB模型的作用。

(6)Powerlib扩展库

扩展模块组包含了上述各个模块组中的各个附加子模块组用户可以根据自己的电力系统结构图使用POWERLIB和SLMULINK中相应的模型来组成仿真的电路模型。

2.2.4 SIMULINK简单模型的建立

1.简单模型的建立

(1)建立模型窗口。

(2)将功能模块由模块库窗口复制到模型窗口。

(3)对模块进行连接,从而构成需要的系统模型。

2.模型的特点

(1)在SIMULINK里提供了许多如Scope的接收器模块,这使得用SIMULNK进行仿真具有像做实验一般的图形化显示效果。

(2)IMULINK的模型具有层次性,通过底层子系统可以构建上层母系统。

(3)SIMULINK提供了对子系统进行封装的功能,用户可以自定义子系统的图标和设置参数对话框。

2.2.5 SIMULINK功能模块的处理

功能模块的基本操作,包括模块的移动、复制、删除、转向、改变大小、模块命名、颜色设定、参数设定、属性设定、模块输入输出信号等。

1.模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不

基于MATLAB GUI的整流电路仿真设计(毕业设计)

放)而放到模型窗口中进行处理。

2.在模型窗口中,选中模块,则其4个角会出现黑色标记。此时可以对模块进行以下的基本操作。

(1)移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线而移动,可按住shift键,再进行拖曳。

(2)复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块。

(3)删除:选中模块,按Delete键即可。若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。

(4)转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。在菜单Format中选择Flip Block旋转180度,选择Rotate Block顺时针旋转90度。或者直接按Ctrl+F键执行Flip Block,按Ctrl+R键执行Rotate Block。

(5)改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。

(6)模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改即可。名称在功能模块上的位置也可以变换180度,可以用Format菜单中的Flip Name来实现,也可以直接通过鼠标进行拖曳。Hide Name可以隐藏模块名称。

(7)颜色设定:Format菜单中的Foreground Color可以改变模块的前景颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。

(8)参数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。参数设定窗口包含了该模块的基本功能帮助,为获得更详尽的帮助,可以点击其上的help按钮。通过对模块的参数设定,就可以获得需要的功能模块。

(9)属性设定:选中模块,打开Edit菜单的Block Properties可以对模块进行属性设定。包括Description属性、 Priority优先级属性、Tag属性、Open function属性、Attributes format string属性。其中Open function属性是一个很有用的属性,通过它指定一个函数名,则当该模块被双击之后,Simulink就会调用该函数执行,这种函数在MATLAB中称为回调函数。

(10)模块的输入输出信号:模块处理的信号包括标量信号和向量信号;标量信号是一种单一信号,而向量信号为一种复合信号,是多个信号的集合,它对应着系统中几条连线的合成。缺省情况下,大多数模块的输出都为标量信

基于MATLAB GUI的整流电路仿真设计(毕业设计)

号,对于输入信号,模块都具有一种“智能”的识别功能,能自动进行匹配。某些模块通过对参数的设定,可以使模块输出向量信号。

2.2.6 SIMULINK线的处理

SIMULINK模型的构建是通过用线将各种功能模块进行连接而构成的。用鼠标可以在功能模块的输入与输出端之间直接连线。所画的线可以改变粗细、设定标签,也可以把线折弯、分支。

1.改变粗细:线所以有粗细是因为线引出的信号可以是标量信号或向量信号,当选中Format菜单下的Wide Vector Lines时,线的粗细会根据线所引出的信号是标量还是向量而改变,如果信号为标量则为细线,若为向量则为粗线。选中Vector Line Widths则可以显示出向量引出线的宽度,即向量信号由多少个单一信号合成。

2.设定标签:只要在线上双击鼠标,即可输入该线的说明标签。也可以通过选中线,然后打开Edit菜单下的Signal Properties进行设定,其中signal name属性的作用是标明信号的名称,设置这个名称反映在模型上的直接效果就是与该信号有关的端口相连的所有直线附近都会出现写有信号名称的标签。

3.线的折弯:按住Shift键,再用鼠标在要折弯的线处单击一下,就会出现圆圈,表示折点,利用折点就可以改变线的形状。

4.线的分支:按住鼠标右键,在需要分支的地方拉出即可以。或者按住Ctrl键,并在要建立分支的地方用鼠标拉出即可。

2.2.7 SIMULINK仿真的运行

构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。运行一个仿真的完整过程分成三个步骤:设置仿真参数,启动仿真和仿真结果分析。

1.设置仿真参数和选择解法器

设置仿真参数和选择解法器,选择Simulation菜单下的Parameters命令,就会弹出一个仿真参数对话框,它主要用三个页面来管理仿真的参数。

Solver页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数及选择一些输出选项。

Workspace I/O页,作用是管理模型从MATLAB工作空间的输入和对它的输出。

Diagnostics页,允许用户选择Simulink在仿真中显示的警告信息的等级。

(1)Solver页

此页可以进行的设置有:选择仿真开始和结束的时间;选择解法器,并设定它的参数;选择输出项。

基于MATLAB GUI的整流电路仿真设计(毕业设计)

① 仿真时间:注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对时间的一种表示,比如10秒的仿真时间,如果采样步长定为0.1,则需要执行100步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。一般仿真开始时间设为0,而结束时间视不同的因素而选择。总的说来,执行一次仿真要耗费的时间依赖于很多因素,包括模型的复杂程度、解法器及其步长的选择、计算机时钟的速度等等。

② 仿真步长模式:用户在Type后面的第一个下拉选项框中指定仿真的步长选取方式,可供选择的有Variable-step(变步长)和Fixed-step(固定步长)方式。变步长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。固定步长模式在仿真过程中提供固定的步长,不提供误差控制和过零检测。用户还可以在第二个下拉选项框中选择对应模式下仿真所采用的算法。

变步长模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。

a) ode45:缺省值,四/五阶龙格-库塔法,适用于大多数连续或离散系统,但不适用于刚性(stiff)系统。它是单步解法器,也就是,在计算y(tn)时,它仅需要最近处理时刻的结果y(tn-1)。一般来说,面对一个仿真问题最好是首先试试ode45。

b) ode23:二/三阶龙格-库塔法,它在误差限要求不高和求解的问题不太难的情况下,可能会比ode45更有效。也是一个单步解法器。

c) ode113:是一种阶数可变的解法器,它在误差容许要求严格的情况下通常比ode45有效。ode113是一种多步解法器,也就是在计算当前时刻输出时,它需要以前多个时刻的解。

d) ode15s:是一种基于数字微分公式的解法器(NDFs)。也是一种多步解法器。适用于刚性系统,当用户估计要解决的问题是比较困难的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s。

e) ode23s:它是一种单步解法器,专门应用于刚性系统,在弱误差允许下的效果好于ode15s。它能解决某些ode15s所不能有效解决的stiff问题。

f) ode23t:是梯形规则的一种自由插值实现。这种解法器适用于求解适度stiff的问题而用户又需要一个无数字振荡的解法器的情况。

g) ode23tb:是TR-BDF2的一种实现, TR-BDF2 是具有两个阶段的隐式龙格-库塔公式。

h) discrete:当Simulink检查到模型没有连续状态时使用它。

固定步长模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。

i) ode5:缺省值,是ode45的固定步长版本,适用于大多数连续或离散系

基于MATLAB GUI的整流电路仿真设计(毕业设计)

统,不适用于刚性系统。

j) ode4:四阶龙格-库塔法,具有一定的计算精度。

k) ode3:固定步长的二/三阶龙格-库塔法。

l) ode2:改进的欧拉法。

m) ode1:欧拉法。

n) discrete:是一个实现积分的固定步长解法器,它适合于离散无连续状态的系统。

③ 步长参数:对于变步长模式,用户可以设置最大的和推荐的初始步长参数,缺省情况下,步长自动地确定,它由值auto表示。

a) Maximum step size(最大步长参数):它决定了解法器能够使用的最大时间步长,它的缺省值为“仿真时间/50”,即整个仿真过程中至少取50个取样点,但这样的取法对于仿真时间较长的系统则可能带来取样点过于稀疏,而使仿真结果失真。一般建议对于仿真时间不超过15s的采用默认值即可,对于超过15s的每秒至少保证5个采样点,对于超过100s的,每秒至少保证3个采样点。

b) Initial step size(初始步长参数):一般建议使用“auto”默认值即可。

④ 仿真精度的定义(对于变步长模式)

a) Relative tolerance(相对误差):它是指误差相对于状态的值,是一个百分比,缺省值为1e-3,表示状态的计算值要精确到0.1%。

b) Absolute tolerance(绝对误差):表示误差值的门限,或者是说在状态值为零的情况下,可以接受的误差。如果它被设成了auto,那么simulink为每一个状态设置初始绝对误差为1e-6。

2.启动仿真

设置仿真参数和选择解法器之后,就可以启动仿真而运行。

选择Simulink菜单下的start选项来启动仿真,如果模型中有些参数没有定义,则会出现错误信息提示框。如果一切设置无误,则开始仿真运行,结束时系统会发出一鸣叫声。

2.3 MATLAB的GUI程序设计

GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。

基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。

2.3.1 控件对象及属性

1.GUI控件对象类型(The mode of controller object)

基于MATLAB GUI的整流电路仿真设计(毕业设计)

控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback)。

2.控件对象的描述(Description of controller object)

MATLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。 每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。

(1)按钮(Push Buttons):执行某种预定的功能或操作。

(2)开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容。

(3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项。

(4)复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项。

(5)文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作。

(6)静态文本框(Static Texts):仅仅用于显示单行的说明文字。

(7)滚动条(Slider): 可输入指定范围的数量值。

(8)边框(Frames):在图形窗口圈出一块区域。

(9)列表框(List Boxes):在其中定义一系列可供选择的字符串。

(10)弹出式菜单(Popup Menus): 让用户从一列菜单项中选择一项作为参数输入。

(11)坐标轴(Axes): 用于显示图形和图象。

3.控件对象的属性(Attributes of controller object)

用户可以在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。

两大类控件对象属性:第一类是所有控件对象都具有的公共属性,第二类是控件对象作为图形对象所具有的属性。

2.3.2 GUI开发环境(GUI Development Environment, GUIDE)

MATLAB提供了一套可视化的创建图形窗口的工具,使用用户界面开发环境可方便的创建GUI应用程序, 它可以根据用户设计的GUI布局,自动生成M文件

基于MATLAB GUI的整流电路仿真设计(毕业设计)

的框架,用户使用这一框架编制自己的应用程序。

MATLAB提供了一套可视化的创建图形用户接口(GUI)的工具,包括:

1.布局编辑器(Layout Editor)------在图形窗口中加入及安排对象。布局编辑器是可以启动用户界面的控制面板,上述工具都必须从布局编辑器中访问,用guide命令可以启动,或在启动平台窗口中选择GUIDE来启动布局编辑器。

2.几何排列工具(Alignment Tool)-----调整各对象相互之间的几何关系和位置

3.属性编辑器(Property Inspector)-----查询并设置属性值

4.对象浏览器Object Browser)-----用于获得当前MATLAB图形用户界面程序中所有的全部对象信息,对象的类型,同时显示控件的名称和标识,在控件上双击鼠标可以打开该控件的属性编辑器。

5.菜单编辑器(Menu Editor)-----建立窗口菜单条的菜单和任何构成布局的弹出菜单

在MATLAB中, GUI的设计是以 M文件的编程形式实现的,GUI的布局代码存储在M文件和MAT文件中,而在MATLAB6中有了很大的改变,MATLAB6将GUI的布局代码存储在 FIG文件中,同时还产生一个M文件用于存储调用函数,在M文件中不再包含GUI的布局代码,在开发应用程序时代码量大大减少。

2.3.3 GUI程序设计(GUI Program design)

包括图形界面的设计和功能设计两个方面

设计一个简单的用户图形界面用于所设计的各种仿真电路的打开

1.设计步骤:

(1)在布局编辑器中布置控件。

(2)使用几何位置排列工具对控件的位置进行调整。

(3)设计控件的属性。

(4)设置其他绘图属性。

2.设置控件的标识(Set the Tag of controller)

控件的标识(Tag)是对于各控件的识别,每个控件载创建时都会由开发环境自动产生一个标识,在程序设计中,为了编辑、记忆和维护的方便,一般为控件设置一个新的标识。

3.编写代码(Edit code)

GUI图形界面的功能,还是要通过一定的设计思路和计算方法,由特定的程序来实现。为了实现程序的功能,还需要在运行程序前编写一些代码,完成程序中变量的赋值、输入输出、计算及绘图等工作。

基于MATLAB GUI的整流电路仿真设计(毕业设计)

3 整流电路的仿真

整流电路:出现最早的电力电子电路,将交流电变为直流电,电路形式多种多样,本章主要对单相和三相整流电路进行模拟方针,并对其波形进行分析[4]。

3.1 单相桥式全控整流电路的仿真

3.1.1 单相桥式全控整流电路构成

单相桥式全控整流电路(纯电阻负载)如图3.1所示,电路由交流电源乱 、整流变压器T、晶闸管VT1 ~VT4 、负载电阻R 以及触发电路组成。在变压器次级电压u2 的正半周触发晶闸管VT1 和VT3。;在“u2的负半周触发晶闸管VT2 和VT4 ,则负载上可以得到方向不变的直流电,改变晶闸管的控制角可以调节输出直流电压和电路的大小。

图3.1 单相桥式全控整流电路原理图

3.1.2 单相桥式全控整流电路模型建立

根据单相桥式全控整流电路原理图,在Simulink的Power System

工具箱里

基于MATLAB GUI的整流电路仿真设计(毕业设计)

提取交流电源、晶闸管、RLC串联电路、脉冲发生器、变压器、示波器等元器件。 在Simulink操作平台上连接这些模块,构成单相桥式全控整流电路模型,如图3.2所示。

图3.2 单相桥式整流电路仿真模型图

3.1.3 模型参数设置

双击仿真模型中的各个模块弹出参数设置对话框,就可进行参数设置。在整流电路中,改变晶闸管触发角输出直流电压和电流的大小就得到改变。因此触发角 的设置是电路参数中的重要一项。晶闸管的触发

采用脉冲触发器(Pulse Generator)产生,脉冲发生器的脉冲周期T 必须和交流电源“ 同步,晶闸管的控制角a 以脉冲的延迟列问t来表示,t—aTd/360。。其中,T 一1/f,f 为交流电源频率。仿真算法选择

ODE23TB算法,当电路带阻感性负载时,应保证触发脉冲具有足够的宽度。

3.2 三相桥式全控整流电路的仿真

3.2.1 三相桥式全控整流电路的构成

三相桥式全控整流电路原理图如图3.3 所示。三相桥式全控整流电路是由三相半波可控整流电路演变而来的,它由三相半波共阴极接法(V T1 ,V T3 ,V T5 ) 和三相半波共阳极接法(V T4 ,V T6 ,V T2 ) 的串联组合。

基于MATLAB GUI的整流电路仿真设计(毕业设计)

图3.3 三相桥式全控整流电路原理图

三相桥式全控整流电路原理图其工作特点是任何时刻都有不同组别的两只晶闸管同时导通,构成电流通路,因此为保证电路启动或电流断续后能正常导通,必须对不同组别应到导通的一对晶闸管同时加触发脉冲,所以触发脉冲的宽度应大于π/ 3 的宽脉冲。宽脉冲触发要求触发功率大,易使脉冲变压器饱和,所以可以采用脉冲列代替双窄脉冲;每隔π/ 3 换相一次,换相过程在共阴极组和共阳极组轮流进行,但只在同一组别中换相。接线图中晶闸管的编号方法使每个周期内6 个管子的组合导通顺序是V T12V T22V T32V T42V T52V T6 ;共阴极组T1 , T3 , T5 的脉冲依次相差2π/ 3 ; 同一相的上下两个桥臂, 即V T1 和V T4 ,V T3 和V T6 ,V T5 和V T2 的脉冲相差π,给分析带来了方便;当α= 0 时,输出电压Ud 一周期内的波形是6 个线电压的包络线,所以输出脉动直流电压频率是电源频率的6 倍,比三相半波电路高1 倍,脉动减小,而且每次脉动的波形都一样,故该电路又可称为6 脉动整流电路。同理,三相半波整流电路称为3 脉动整流电路。α> 0 时,Ud 的波形出现缺口,随着α角的增大,缺口增大,输出电压平均值降低。当α= 2π/ 3 时,输出电压为零,所以电阻性负载时,α的移相范围是0~2π/ 3 ;当0 ≤α≤π/ 3 时,电流连续,每个晶闸管导通2π/ 3 ;当π/ 3 ≤α≤2π/ 3 时, 电流断续, 每个晶闸管导通小于2π/ 3 。23α=π/ 3 是电阻性负载电流连续和断续的分界点。

3.2.2 三相桥式全控整流电路模型建立

根据三相桥式全控整流电路的原理可以利用Simulink内的模块建立仿真模型如图3.4 所示,设置三个交流电压源Va ,Vb ,Vc 相位角依次相差120°,得到整流桥的三相电源。用6 个Thyristor 构成整流桥,实现交流电压到直流电压的转换。6 个pulse generator 产生整流桥的触发脉冲,且从上到下分别给1~6 号晶闸管触发脉冲。

基于MATLAB GUI的整流电路仿真设计(毕业设计)

图3.4 三相桥式全控整流电路仿真模型

3.1.3 模型参数设置

三相电源的相位互差120°, 交流峰值电压为100 V ,频率为60 Hz。晶闸管的参数为: Rn = 0. 001 Ω ,Lon = 0. 000 1 H ,Vf = 0 V , Rs = 50 Ω , Cs = 250 ×10 - 9 。负载电阻性设R = 45 Ω ,电感性负载设L = 1 H。脉冲发生器脉冲宽度设置为脉宽的50 % ,脉冲高度为5 V ,脉冲周期为0. 016 7 s ,脉冲移相角随着控制角的变化对“相位角延迟”进行设置。

本文来源:https://www.bwwdw.com/article/36cm.html

Top