孙毅超, 冯树先, 姜宁秋, 王 琦
(南京师范大学 南瑞电气与自动化学院, 南京 210023)
“电力电子技术”是电气工程及其自动化等本科专业必修的一门专业主干课程。该课程在介绍各种功率器件的基础上,重点分析各种电力电子电路的基本工作原理,从而使学生理解如何对电能进行变换和控制[1]。由于该课程知识面广,信息量大,电路类型复杂,在有限的课时安排下,按照传统的教学模式授课,课程任务重,教学效果并不理想[2]。同时由于本课程具有较强的实践性和综合性的特点,电路分析过程中需要借助大量波形图来理解和掌握所学的理论知识。因此,设计一个直观、高效的教学辅助工具—电力电子电路可视化教学平台,供学生自主学习和探索,从而改善教学效果,是非常有必要的。
国内许多高校采用了多种仿真软件来补充完善该课程的教学。华北电力大学基于Matlab和LabVIEW混合仿真的实验方法,让学生自主搭建仿真模型,编写LabVIEW控制界面,锻炼学生的动手能力,教学效果显著[3]。中国石油大学(华东)采用PSIM软件实践教学,直观化的波形界面,有助于学生巩固所学知识和提高学习兴趣[4]。哈尔滨理工大学应用Saber软件,进行仿真演示,将理论与实践紧密结合,加深了学生对原理概念的形象化认识[5]。
Matlab的图形用户界面GUI (graphical user interface)提供了按钮、坐标轴、面板、文本框等一系列交互控件,从而能够设计包括窗口、图标和文本等图形对象的用户界面。而句柄(handle)作为每个图形对象的唯一标识,设计者通过句柄操作其属性,完成相应的界面功能[6]。
本研究借助Matlab/Simulink和图形用户界面(GUI)设计开发了电力电子电路可视化教学平台。此平台包括主界面、电路选择界面和仿真界面,涵盖了整流、逆变、斩波、调压等主要教学内容,可应用于课堂演示、自主学习等教学和实践环节。
Matlab现有两种方式设计GUI:一种是用句柄图形对象编程实现;另一种是使用GUI开发环境GUIDE设计方式[7],前台界面使用图形对象组合设计,后台编写图形对象的回调函数(callback function),实现程序代码与事件的交互。
本文采用更加便捷的后者实现电力电子电路仿真平台的设计。即基于Matlab的Simulink和GUI环境,采用自顶向下的人机交互界面设计和回调函数驱动实现仿真,以此达到预期的使用功能。
利用Simulink构建主电路拓扑结构,设置对应参数;根据预期的功能需求使用GUIDE设计用户界面GUI,按照事件驱动原则编写控件的回调函数,通过M函数文件实现Simulink与GUI的参数传递和绘图显示。图1所示为本平台GUI设计流程。
图1 电力电子电路可视化教学平台GUI设计流程
本文以应用较为广泛的三相桥式全控整流电路为例,阐述基于Matlab GUI的电力电子电路可视化教学平台的设计、界面展示及仿真应用。
本文使用的是Matlab R2018a版本,在Simulink中的Power System中添加所需的元器件至模型中,借助信号线完成电路模型的初步搭建,本模型以双窄脉冲触发的方式控制输出波形。
在模型Configuration Parameters中设置仿真参数:电路周期为0.02 s,仿真起始时间为0.1 s,仿真时长为0.1 s,这样设置便于获得稳定的输出波形;仿真算法选用Variable-step(变步长)方式,Solver选择ode23(Bogacki-Shampine)算法,Scope的Configuration Properties中Save format格式为Structure With Time,以便于GUI 的M函数调用波形信息。设置完毕,基于Simulink的三相桥式全控整流电路的模型便如图2所示。
图2 三相桥式全控整流Simulink模型
1)主界面
本平台可仿真《电力电子技术》第5版一书中介绍的4类主要的电力电子电路,主界面提供了整流、逆变、斩波、调压四种电路仿真选项,点击“系统指南”供用户熟悉本平台和相关使用帮助。同时为增加友好界面体验,使用imread和image函数将电力电子技术字样作为本平台的背景,主界面如图3所示。
图3 主界面窗口
2)电路选择界面
电路选择界面窗口包括主界面所提供的4类电路。起过渡作用,现以涵盖了单相可控整流和三相可控整流的电路选择界面为例,通过点击相应的电路类型即可进入仿真界面。整流电路选择窗口如图4所示。
图4 整流电路界面
三相桥式全控整流电路适用于整流负载容量较大,电压脉动较小的场合,是工业应用中最为广泛的一种整流电路[8]。本文通过三相桥式全控整流仿真界面,介绍电路仿真界面的功能模块和操作步骤。点击图4整流电路模块中的三相桥式全控整流按钮,进入到如图5所示的仿真界面。此仿真界面设计采用了面板、坐标轴、文本框、按钮等控件设计前台界面,在M函数中编写控件的回调函数,从而实现界面仿真功能。
图5 基于GUI的三相桥式全控整流仿真界面
仿真界面包括7个模块,分别为电路原理图、电路介绍、仿真分析、参数设置、仿真波形、功能区以及选择区。
“电路原理图”采用Axes和面板控件,通过run函数调用原理图,显示用户在上一级选择的电路主拓扑结构。
“电路介绍”和“仿真分析”使用面板和可编辑文本框分别介绍电路的相关结构及原理,仿真波形及计算。
“参数设置”通过可编辑文本框和静态文本框实现电路参数的设置和传递。本文通过改变Simulink模型的运行空间实现参数在GUI和Simulink模型间传递并调用。部分程序如下:
>>P1=str2num(get(handles.edit1,'string');
>>spbc=simset('SrcWorkspace','current');
>>sim('sy_threephase',[ ],spbc);
“仿真波形”将Simulink中的仿真波形显示在Axes控件中。在GUI中通过subplot函数绘制输出波形。
“功能区”和“选择区”中提供了6个按钮,通过点击“功能区”相应按钮实现仿真,借助open_system函数实现Simulink模型在线显示,通过点击“选择区”按钮从而实现界面的选择与切换。
按2.3节三相桥式全控整流电路仿真电路进入仿真平台,设置参数区参数值,点击仿真按钮即可在仿真波形模块中观测到输出波形,如图5所示,即控制角α=30°,负载为电阻负载时的仿真波形。
该平台还提供了其它常见的电力电子电路仿真模块。利用这一仿真平台可以快速、准确地输出工作波形,既是对传统教学内容的完善,也能激发学生学习的积极性,锻炼学生的实践能力。
在基于晶闸管的三相整流电路中,对电阻性负载下电流连续与断续的理解与波形分析是学生学习中非常重要的知识点。另一方面,在阻感负载下由于流过电感的电流不能发生突变的特点,可使得电流连续。因此,对电阻性和阻感性两种负载情况下进行波形对比也是学生学习的重要内容。在课堂教学中,通过本平台演示电流连续与断续的临界波形,可增强学生对该内容的理解。如图6、7所示,分别为α=15°和α=90°时,电阻负载和阻感负载的仿真波形。同时学生可以利用该平台对教材中的范例波形进行验证。学生自主探究学习时,可以在平台中输出在某个触发角、不同负载情况下的仿真波形,将仿真波形与理论绘制的波形进行对比,检验自己的学习效果。
图6 α=15°,负载为电阻负载(左)和阻感负载(右)的仿真波形
图7 α=90°,负载为电阻负载(左)和阻感负载(右)的仿真波形
在教学中对故障电路的分析及理论波形绘制是本课程的重难点之一。学生使用该平台进行电路故障仿真分析,一方面有助于增强对电路原理的理解和认识,另一方面可以培养分析电力电子电路故障的能力。
常见的电路故障有触发脉冲丢失、三相电压缺相、晶闸管损坏等。示例控制角α=30°,负载为阻感特性,三相电Ua缺相和VT1触发脉冲丢失的输出波形如图8所示。学生可以将平台得到的电路故障仿真波形与自己绘制的图形进行比较,验证自己分析分结果是否正确,提高学生的学习效率,进一步增强学生分析电路故障的能力。
图8 α=30°,负载为阻感负载,Ua缺相(左)和VT1触发脉冲丢失(右)的仿真波形
本文利用Matlab GUI的开发环境GUIDE设计了一套具有简易人机交互功能的电力电子电路可视化教学平台,集电路原理图、参数设置、仿真波形、电路分析于一体。该平台借助计算机仿真软件,达到节省教学成本,提高教学质量的效果,是对传统教学环节的一个补充和完善;同时为学生提供了一个自主实践的平台,激发了学生的学习兴趣,有助于加深学生对课程知识的理解,提高学生的实践操作能力。