0 引言
整流电路是电力电子电路中出现最早的一种,它的作用是将交流电能变为直流电能供给直流用电设备,整流电路的应用十分广泛。在整流电路的设计过程中,需要对设计电路及有关参数选择是否合理、效果好坏进行验证。如果通过实验来验证,需要经过反复多次的元件安装、调试、重新设计等步骤,这样使得设计耗资大,效率低,周期长。现代计算机仿真技术为电力电子电路的设计和分析提供了崭新的方法,可以使复杂的电力电子电路、系统的分析和设计变得更加容易和有效。Matlab是一种计算机仿真软件,它是以矩阵为基础的交互式程序计算语言。Simulink是基于框图的仿真平台,它挂接在Matlab环境上,以Matlab的强大计算功能为基础,用直观的模块框图进行仿真和计算。其中的电力系统(Power System)工具箱是专用于RLC电路、电力电子电路、电机传动控制系统和电力系统仿真用的模型库。它具有丰富的器件模型和齐全的分析功能,且操作方便。随着对仿真和程序设计通用性及可视化需求的日益增加,Matlab的图形用户界面(GUI)应用也越来越广泛,功能越来越强大。以Matlab 7.1为设计平台,利用Simulink中的Power System工具箱来搭建整流电路仿真模型,并通过Matlab GUI设计整流电路的分析界面。
1 整流电路仿真模型
整流电路又称交一直流变流器,在整流的同时还对直流电压电流进行调整,以符合用电设备的要求。按不同的分类方式,整流电路的种类非常多,其中单相桥式全控整流电路和三相桥式全控整流电路最为典型。以单相桥式全控整流电路为例,说明其仿真模型的建立。
1.1 单相桥式全控整流电路构成
单相桥式全控整流电路(纯电阻负载)如图1所示,电路由交流电源u1、整流变压器T、晶闸管VT1~VT4、负载电阻R以及触发电路组成。在变压器次级电压u2的正半周触发晶闸管VT1和VT3;在u2的负半周触发晶闸管VT2和VT4,则负载上可以得到方向不变的直流电,改变晶闸管的控制角可以调节输出直流电压和电路的大小。
1.2 单相桥式全控整流电路模型建立
根据单相桥式全控整流电路原理图,在Simulink的Power System工具箱里提取交流电源、晶闸管、RLC串联电路、脉冲发生器、变压器、示波器等元器件。在Simulink操作平台上连接这些模块,构成单相桥式全控整流电路模型,如图2所示。
1.3 模型参数设置
双击仿真模型中的各个模块弹出参数设置对话框,就可进行参数设置。在整流电路中,改变晶闸管触发角α,输出直流电压和电流的大小就得到改变。因此触发角α的设置是电路参数中的重要一项。晶闸管的触发采用脉冲触发器(Pulse Generator)产生,脉冲发生器的脉冲周期Td必须和交流电源u2同步,晶闸管的控制角α以脉冲的延迟时间t来表示,t=αTd/360°。其中,Td=1/f,f为交流电源频率。仿真算法选择ODE23TB算法,当电路带阻感性负载时,应保证触发脉冲具有足够的宽度。
2 整流电路GUI界面开发
整流电路仿真模型参数的选择十分关键,它直接影响到仿真结果和仿真质量,从而进一步影响到整流电路的设计。为了满足整流电路更高的性能指标,在仿真过程中,就需要不断地修改和设置参数而花费大量时间。另外,还需要反复地打开示波器察看仿真结果,不仅过程繁琐,且效率很低。因此,本文借助Matlab GUI建立了一个整流电路仿真界面,通过此界面,用户可以很方便地在中文名称环境下来设置参数,选择模型等,仿真结果也会直接在界面上显示出来,不仅方便快捷,且大大提高了仿真效率。
2.1 Matlab GUI的实现方法
Matlab可视化界面的设计方法一般有2种:一是直接通过Matlab的脚本文件来实现GUI;另一种是通过Matlab图形用户界面开发环境GUIDE来实现图形界面。Matlab软件GUIDE为用户提供了一个方便高效的集成环境,所有GUI支持的用户控件都集成在这个环境中,并提供界面外观、属性和行为响应方式的设置方法。一般而言,由于界面中的控件对象属性、行为,既可以在界面中实现,也可以在生成的M文件中用m语言代码在相应的代码段中实现。因此,使用第2种方法实现图形用户界面虽然会给编程人员在修改和重新编辑界面时带来一定的麻烦,但是,其设计过程较为直观、简单,开发周期短。在此,采用第2种方法来实现整流电路的仿真界面。
2.2 仿真界面的开发
整流电路仿真界面由选择界面和主界面两部分组成,选择界面如图3所示。在选择界面中,把整流电路分为单相桥式全控整流电路、三相桥式全控整流电路和带容性负载的三相不可控桥式整流电路3种。每种电路有相应的电路说明,点击“电路说明”会弹出该电路的工作原理、特性等内容,点击每种电路后的“进入”按钮,即可进入相应电路的主界面。为了保持界面风格的一致性,三类整流电路的主界面设计相似,如点击单相桥式全控整流电路的“电路说明”,弹出其电路说明图如图4所示,单击“进入”,弹出其主界面图如图5所示。
电路仿真的主界面分为电路原理图显示区、参数设置区、波形显示区、功能按钮区以及相应的菜单区。
2.3 仿真主界面的实现
打开控件的各个属性进行设置,包括控件的背景色、前景色、Tag值、String值、Value值等。编写相应控件的程序代码,以实现相应的功能。
(1)电路原理图的显示。电路原理图是用一个数轴显示的,程序代码为:
“imread”函数用于读取电路原理图图片,显示图片用“image”函数,代码“axis off”的作用是将数轴的坐标去掉。
(2)模型参数的设置。参数设置包括负载参数以及仿真时间、电源电压和脉冲发生器的参数设置。设置参数后,点击“仿真”按钮,仿真波形在显示窗口动态显示出来,如同示波器一样。
电阻值的设置先用“get”函数来读取电阻值文本框中的数值,再用“set_param”函数将读取的数值写入Simulink电阻模块中。
仿真时间的设置既可用滑动条又可用编辑文本框。移动滑动条上的滑块位置就可改变滑动条提供的数值,文本框中的参数也会随之改变,反之亦然。文本框和滑动条之间的数据传递用语句:
电源电压和脉冲发生器参数的设置采用调用模块封装界面的方法来实现,利用“open_system”函数,打开模块参数进行设置。
(3)仿真波形在主界面的显示。在Simulink模型中,把要显示的波形数据导入workspace当中,再利用plot(tout,yout)命令画出图形,显示在主界面上。为了在界面指定的坐标轴中输出图形,只要在plot命令执行前添加axes(h_axes)代码即可。
(4)辅助功能的实现。为了优化仿真界面的功能,系统设有一些辅助功能,如栅格开关,显示其他图形、返回和退出等。
“栅格开关”是对显示区域的栅格控制,栅格的开与关分别对应“grid on”的选中与否。相关代码为:
单击“显示其他波形”,即可进入其他波形显示界面,如图6所示。能显示晶闸管的电压、电流波形和触发脉冲的波形,这样既可节省仿真主界面的空间,又可加强仿真界面的层次感。
(5)菜单的实现。菜单的实现采用的是GUI的uimenu菜单设计,包括“文件”、“负载类型”、“其他”三项。其中“文件”和“其他”菜单的下拉菜单的功能是对界面功能的同一表现,“负载类型”的下拉菜单包括电阻负载和阻感负载,界面的关闭和打开分别用到delete和figure函数。即如果选择阻感负载,系统会关闭纯电阻负载变流电路的仿真界面figure(bisheshiyan4),打开阻感负载的仿真界面figure(danxiangzugan)。
由主界面仿真图来看,从对各项参数的设置到仿真运行再到结果显示整个过程操作方便,加上辅助工具的使用,使仿真结果一目了然,对比清晰。如果对仿真结果不满意,可以重新设置参数继续进行仿真。仿真结束后,可以选择“退出”按钮退出当前界面。界面友好,操作简单。
3 结语
计算机仿真技术是研究电力电子技术的有效手段,它可以辅助工程设计、分析和研究,也可以辅助教学。本文利用仿真软件Matlab的Simulink和Power System工具箱对应用广泛的整流电路进行建模,并利用Matlab GUI功能建立了整流电路的仿真界面,该界面集参数设置、电路说明、模型修改、模型查看、仿真操作、结果显示和结果显示辅助工具等为一体,大大减化了仿真操作流程,极大提高仿真测试效率。整流电路仿真界面既为实际系统的元件参数选择提供帮助,也为其他变流电路系统界面的开发提供参考。