基于Matlab GUI的电力电子技术教学平台设计

时间:2022-10-06 10:15:42

基于Matlab GUI的电力电子技术教学平台设计

摘 要:根据电力电子技术课程波形多、理论与实践并重的特点,利用Matlab语言的图形用户界面(GUI)功能,设计开发了一套交互式电力电子技术教学平台辅助软件,该软件界面友好,开放性强,可修改实验参数,图形化显示实验结果,可用于课堂教学和实验教学。

关键词:电力电子技术;GUI;教学平台

Design of instructional platform for power electronic technique based on Matlab GUI

An shu, Yan Yingmin, Liu Zhengchun

Ordnance engineering college, Shijiazhuang, 050003, China

Abstract: According to power electronic technique course having the features of many waveform and equally important experience and theory, a interactive auxiliary software of instructional platform for power electronic technique is designed based on matlab GUI in this paper. The courseware interface is friendly and open, which has many merits of modifiable experimental parameters. It can be used on academic and experimental instruction.

Key words: power electronic technique; GUI; instructional platform

电力电子技术是电气工程及其自动化等专业的重要专业基础课,也是实用性、工程性和综合性很强的课程。课程内容以电力电子器件和四大类变流电路为主线,通过分析各类电力电子器件的通断情况来理解整流、逆变、斩波、调压等典型电路的工作原理,从而得出电路在不同负载作用下各点的电流、电压波形。因此,本课程涉及电力电子技术各种装置的分析与大量的计算、电能变换的波形分析、测量与绘制等,这些工作特别适合应用Matlab来完成[1]。

Matlab是当今科研领域最常用的应用软件之一,是一种简易的、可扩展的系统开发环境和平台。Matlab在提供强大计算功能的同时,还大力发展了图形用户界面(GUI)功能。利用Matlab提供的GUI设计工具或编写程序,可以设计出美观、方便的菜单化和控件式的人机交互界面。我们采用Matlab图形用户界面开发环境GUIDE设计开发了一套应用于电力电子技术辅助教学的仿真软件。

1 仿真平台的设计

仿真平台分为两大模块:电力电子器件模块和电力电子电路模块,电力电子器件模块分设具体元器件,电力电子电路模块分四大变流电路,各变流电路又分设具体的变流电路。仿真平台的总体框架如图1所示,软件相应的流程图如图2所示。通过主界面的选项框或者菜单可进入电力电子器件界面来观察元器件的特性以及参数设置,进入电力电子电路界面可设置电路相关参数进行虚拟实验,得出仿真波形和实验结论,加深对变流电路工作原理的理解。

图1 仿真平台的整体框架

图2 软件的流程图

2 仿真平台的实现

2.1 主界面

2.1.1 主界面功能简介

主界面如图3所示,主要由GUIDE工具箱中的菜单、按钮、坐标轴、静态文本框、菜单栏和组合框等控件实现。

图3 主界面

菜单栏包括“实验平台”“快捷查询”两项,每项主菜单下设子菜单,方便仿真平台各界面之间的相互转换以及与Matlab软件中Simulink工具箱的链接。

选择组合框中的“电力电子器件”或“电力电子电路”,界面的右侧和下方会出现器件或电路的模型框图和简介,可通过主界面了解这两大模块的概况。单击“进入电力电子器件界面”或“进入电力电子电路界面”按钮可进入相应的界面。

2.1.2 主界面功能的实现

对控件的属性进行设置,包括控件的背景色、前景色、Tag值、String值、Value值等。属性设置完成后,需要编写相应控件的程序代码来实现其功能。

(1)电力电子器件和电力电子电路介绍的转变。此功能主要是通过对一个组合框内2个单选按钮的选择来实现的。主要代码如下:

switch get(hObject,'tag')

case 'rad1'

set(handles.text4,'string',stra,'value',1);

set(handles.text3,'string',strb,'value',1);

axes(handles.axes1);

pic=imread('qijian.jpg');

image(pic);

axis off

case 'rad2'

set(handles.text4,'string',strc,'value',1);

set(handles.text3,'string',strd,'value',1);

axes(handles.axes1);

pic=imread('0.jpg');

image(pic);

axis off

end ;

由get(hObject,'tag')语句判断用户选择了哪个按钮,通过switch…case…end语句使坐标轴的图像发生相应的改变,“imread”函数用于读取图像,显示图像用“image”函数,set语句组使静态文本框内的模型简介内容发生改变。

(2)进入电力电子器件界面和电力电子电路界面。进入电力电子器件界面和电力电子电路界面的代码类似,都是通过关闭主界面close(figure(mainplat)),再打开相应的界面figure( )实现的。

2.2 电力电子器件界面

电力电子器件界面如图4所示,选择列表框内的电力电子器件模型,“模型及特性展示区”和“实物展示区”会显示所选择的器件的特性和实物图片,“模型简介区”同时对此器件的功能、特性进行文字介绍。利用val=get(handles.listbox1,'value')语句,可获得列表框中电力电子器件所对应的“value”值,再通过switch…case函数选择相应的语句实现相应的功能。例如:单击电力场效应管MOSFET,此时“value”值为4,程序会执行case 4后面的代码,通过axes( )语句在特定的坐标轴上显示相应的图片。

图4 电力电子器件界面

“返回主界面”“退出系统”和“器件参数设置”3个按钮实现相应的功能。

2.3 电力电子电路界面

2.3.1 电力电子电路界面简介

用户单击主界面上的“进入电力电子电路界面”,便可进入主界面(如图5所示),用户在此可选择想要仿真的电路模型。例如当选择直流―直流变流电路中的降压斩波电路,单击“进入”按钮时,会跳转至降压斩波电路界面(如图6所示)。此电路界面可划分为4个区域,左上方为“电路原理区”,左下方为“电路参数设置区”,中间为“仿真结果显示区”,右侧为“功能按钮区”。

图5 电力电子电路界面 图6 降压斩波电路界面

2.3.2 电力电子电路界面功能实现

为了保持软件界面的统一性,各电路仿真界面风格基本一致,以降压斩波电路界面为例说明界面主要功能的实现。

(1)电路原理区。电路原理区显示所选择电路的原理图,方便用户理解此电路的工作原理和构成。主要由“imread”和“image”函数读取和显示坐标轴上的电路原理图片实现此功能。

(2)电路参数设置区。由电力电子电路界面转至降压斩波电路界面,此时参数设置区有默认的最佳参数设置,点击“仿真”按钮,参数就会传递到降压斩波电路mdl模型中,在后台开始仿真,仿真波形和计算结果显示在仿真结果区。若改变参数,仿真结果也会发生相应的变化。

电阻、电源电压、电感、反电动势值的传递:用“get”函数读取电阻值、电源电压值、电感值、反电动势值文本框中的数值,“set_param”函数将读取的数值写入相应的mdl模型中。

仿真时间的设置通过滑动条或编辑文本框来实现。滑动条主要用于为程序提供数值,这个数值被限制在一定的范围内,用户可以通过鼠标或键盘移动滑动条滑块的位置来改变滑动条提供的数值。编辑文本框支持用户通过键盘输入数值,用于为程序运行提供输入参数。

滑动条的回调函数代码为:set(handles.edit2,'String',get(handles.Sli,'Value')) 。此代码可以把滑动条上滑块的位置转换为数值显示在文本框中。

编辑文本框的回调函数先用if语句判断输入到文本框的数据是否在滑动条的范围内,如果不在此范围内,输入无效;如果合理,将文本框中的数值传递到滑动条上,即OldT=get(handles.Sli,'Value');set(hObject,'String',OldT)。从而实现了滑动条和文本框的数据传递。再将仿真时间写入仿真模型中,需编写如下语句:tendvalue=get(handles.edit2,'String');从而修改了模型中的仿真时间。

考虑到脉冲发生器需要设置的参数不止一个,故采用调用模块封装界面的方法来实现,利用“open_system”语句打开模块参数设置界面。

(3)仿真结果显示区。设置电路中各参数之后,单击“仿真”按钮,仿真波形就会显示在指定的数轴上,计算结果显示在动态文本框中。其程序调用的过程为:GUI界面参数通过函数set_param传递到降压斩波电路mdl模型中,模型在后台进行仿真后的结果用函数evalin存入Matlab的workspace中,再利用plot(tout,yout)命令画出图形,显示在GUI界面上。

(4)功能按钮区。“返回上一界面”“返回主界面”“其他波形”以及“仿真结论”按钮的功能主要由figure函数打开相应的界面来实现的。直接调用questdlg对话框实现“退出程序”按钮功能,这些功能按钮都是Push Button控件。

3 结束语

应用Matlab图形用户界面的开发环境GUIDE设计开发出一套电力电子技术辅助教学软件,该软件平台集原理说明、参数设置、模型查看、仿真操作、波形显示等为一体,界面友好、功能完善。使用此软件既可使学生易于理解和掌握电力电子技术的理论知识和分析方法,也为学生进行开发性、设计性实验提供有力支撑。教学实践证明,所开发的电力电子技术辅助教学软件极大地提升了教学质量,有助于培养学生的动手实践能力以及分析问题和解决问题的能力。

参考文献

[1] 王兆安,刘进军.电力电子技术:第5版[M].北京:机械工业出版社,2009.

[2] 陈光,毛涛涛,王正林,等.精通MATLAB GUI设计:第1版[M].北京:电子工业出版社,2008.

[3] 李京秀,陈白生.基于Matlab图形用户界面 GUI的电路仿真实验的制作[J].电气电子教学学报,2004,26(4):99-101.

[4] 金波.基于Matlab的“信号与系统”实验演示系统[J].实验技术与管理,2010,27(12):104-107.

[5] 唐贤伦,罗萍,严冬.在电力电子技术课程教学中展开Matlab仿真训练[J].中国电力教育,2009,10:67-68.

上一篇:中美高校教师培训制度的比较研究 下一篇:农业机械化工程数字样机教学资源开发