基于Matlab/GUI的电力电子技术应用仿真实验设计

时间:2022-05-12 04:05:55

基于Matlab/GUI的电力电子技术应用仿真实验设计

【摘要】针对“电力电子技术应用”的教学与实验特点,弥补硬件实验条件的不足,利用Matlab GUID界面设计工具与M文件编程结合,建立GUI界面,设计了电力电子技术应用仿真实验系统。该系统可修改实验参数,图形化显示实验结果,便于操作,形象生动,可应用于课堂或实验教学,加深学生对课程的理解。

【关键词】电力电子技术;GUI;M文件;仿真实验

电力电子技术应用是电气自动化专业的一门重要的专业基础课程,它以电力电子器件为基础,应用电路和设计理论以及分析开发工具,实现电能的高效能变换和控制[1]。该课程实践性、综合性和工程性很强,但是,由于教学学时不足和实验设备的短缺等原因,造成了进行教学实验的困难。另外,目前的电力电子技术实验台在设计过程中还有许多不尽完善的地方,学生实验复杂,还容易出错,实验设备损坏率较高,因此,需要设计一种可以在课堂上使用的电力电子技术仿真实验系统,在抽象的理论教学的同时给予学生生动的实验演示,让学生实时地观察到参数改变对电路的影响。

MATLAB软件因其强大的科学计算和图形处理功能,已广泛应用于科研和工程领域。它提供了用户图形界面开发程序GUIDE,支持可视化编辑,并根据用户设计的GUI布局,自动生成M文件的框架,用户使用这一框架编制自己的应用程序[2]。这种编程方式直接方便,容易上手。本文设计的电力电子技术仿真实验系统是一种建立在MATLAB平台上的具有图形用户界面的软件,它将理论知识与传统的模拟实验结合在一起,可大大的提高课堂教学效果,有利于培养学生分析问题和解决问题的能力[3]。

1.仿真实验的设计

本仿真实验采用模块化设计思想,共分为两大模块:电力电子器件部分和电力电子变换电路部分。电力电子器件部分包括常用的半控型器件晶闸管和四种全控型器件;电力电子变换部分包括五大变换电路,各变换电路又分设具体的变换电路。仿真实验的总体框架如图1所示。

图1 系统总体结构图

2.GUI的设计流程

系统的总体框架完成之后,就要利用MATLAB的GUI来设计每一个实验界面。一个完整的GUI设计分为两个阶段完成,第一个阶段是图形界面的结构设计。利用设计向导构造整个图形界面的布局,合理安排控件,设计菜单,进行必要的属性设计。第二个阶段为功能设计。即为控件和菜单编写相应的回调函数(Callback),具体实现界面的各种功能[4]。

3.仿真实验主界面

在仿真实验的主界面中,采用下拉菜单选择要进行的实验模块;利用静态文本框显示仿真实验的文字部分;设计了按钮,用于进入实验系统和退出系统;设计了坐标轴,用于加载图片。分别设定各控件的属性,包括String和Value值等。合理布局,确定各控件的位置之后,建立一级菜单文件、编辑和帮助,设置一级菜单和子菜单的属性,得到仿真实验系统的主界面如图2所示。

保存之后会自动生成一个同名的M文件,必须在M文件中修改和添加各控件的回调函数代码,才能实现控件的功能。在主界面中选择“电力电子器件”或“电力电子变换电路”,再继续选择所需要的实验项目,就会进入相应的二级界面。

图2 仿真实验系统的主界面

4.电力电子器件实验的界面设计

为保持界面风格的一致性,二级界面的设计基本相似[5]。在主界面上选择电力电子器件实验,点击“进入”按钮,就会调用电力电子器件实验的二级界面(如图3所示)。例如,在列表框中选择“晶闸管”元件,就会进入到相应器件的实验界面中(如图4所示)。通过axes( )和imshow( )语句在特定的坐标轴中显示器件的实物及模型等图片,利用静态文本框对器件的功能和特性进行介绍。点击“器件特性测试按钮”,进入晶闸管特性测试界面(如图5所示)。通过滚动条输入门极电压的数值,单击测试按钮,在显示区域,就会显示回路电流和器件管压降数值,以此判断器件的导通情况。

图3 电力电子器件实验界面

图4 晶闸管实验界面

图5 晶闸管特性的测试

5.电力电子变换电路实验的界面设计

在电力电子变换电路的主界面中(如图6所示),在下拉菜单中选择变换的功能,就会在另一侧的列表框中显示相应的具体电路。例如选择可控整流电路中的单相全控桥式整流电路。单击“进入”按钮时,可以通过关闭主界面close(figure(mainplat)),figure()打开相应的界面,跳转至单相全控桥式整流电路的界面。整个界面主要由电路原理图、参数设置区、结果显示区、仿真波形显示区以及按钮组成[6]。

图6 电力电子变换电路实验

图7 单相全控桥式整流电路实验

(1)电路参数的设置

如图7所示,如果是电阻性负载,参数包括负载电阻阻值、电源电压和移相角。设置参数后点击“计算”按钮,结果显示区中会自动显示常用量的计算结果。各文本框之间数据传递的相关代码为:

Voltage=str2num(get(handles.edit2,’string’));%取得电源电压数值

YiXiangJiao=str2num(get(handles.edit4,'string'));%取得移相角数值

FuZaiVol=0.9*Voltage*(1+cos(YiXiangJiao*3.1415926/180))/2;%计算负载电压值set(handles.edit8,’string’,num2str(FuZaiVol));%将负载电压显示

DianZu=str2num(get(handles.edit1,'string'));%取得电阻阻值

set(handles.edit10,'string',num2str(FuZaiVol/DianZu));%计算负载电流

set(handles.edit9,'string',num2-str(FuZaiVol/(2*DianZu)));%计算晶闸管平均电流

(2)仿真波形的显示

在M文件中,利用plot指令分别画出单相全控桥式整流电路带电阻性负载时负载电压、负载电流、晶闸管电流以及晶闸管电压的波形。只要输入移相角的数值,单击“波形”,就会在指定坐标轴中显示相关波形。相关代码如下:

alpha=(str2num(get(handles.edit4,'string')))*3.1415926/180;

x=alpha:pi/180:pi;

y=sin(x);

x2=alpha+pi:pi/180:2*pi;

y2=sin(x2);

x3=alpha+2*pi:pi/180:3*pi;

y3=sin(x3);

plot(handles.axes2,x,y,x2,abs (y2),x3,y3)

plot(handles.axes3,x,y,x2,abs (y2),x3,y3)

plot(handles.axes4,x,y,x3,y3)

根据输入的移相角和电源电压的不同,仿真波形会相应变化。四个仿真波形纵向对齐,使学生可以很方便地看到移相角的不同,各个波形会同时在转折点处发生变化,非常直观,清晰,有助于学生对电路原理的理解。如果对仿真结果不满意,可以重新设置参数继续仿真。仿真结束后可以选择返回的界面。整个实验系统界面友好,操作简单。

6.结论

依托MATLAB的GUI界面为平台,将仿真实验引入电力电子技术应用课程的教学[6],对电力电子电路进行仿真,可以将理论教学与实验过程整合一起,便于演示及交互操作,对研究参数变化对电力电子装置的影响,并进一步丰富教学手段,引导学生进行研究性学习有很好的辅助作用,并在一定程度上弥补了实验设备不足的主要问题,是一种低成本的实践教学手段。

参考文献

[1]黄家善.电力电子技术[M].北京:机械工业出版社, 2011.

[2]赵广元.MATLAB与控制系统仿真实验[M].北京:北京航空航天大学出版社,2009.

[3]黄瑛.基于MATLAB GUI的电机学仿真实验系统设计[J].中国现代教育装备,2009,17(87):38-39.

[4]罗华飞.MATLAB GUI设计学习手记[M].北京:北京航空航天大学出版社,2011.

[5]安树,赵霞,徐小华,等.基于MATLAB GUI的整流电路仿真设计[J].现代电子技术,2011,4(34):155-158.

[6]安树,闫英敏,刘正春,等.基于MATLAB GUI的电力电子技术教学平台设计[J].中国现代教育装备,2012,7 (143):16-18.

作者简介:陈晓娟(1978—),女,吉林长春人,硕士,讲师,研究方向:电力电子、自动控制。

上一篇:用于磁悬浮系统的新型混合功率放大器的设计 下一篇:基于DDS+PLL频率合成器的设计