MAST语言建模在电力电子技术仿真教学中的应用

2022-03-24 09:10:36 | 浏览次数:

摘要:在电力电子仿真课程中通常以Saber软件作为仿真平台,而在电路模型的建立过程中,Saber软件所提供的元件模型是有限的,有时需要利用MAST语言来完成一定的硬件设计。MAST语言建模是用数学方法来描述硬件功能,其精度较高,可使电路模型得到简化。通过实例介绍了利用MAST语言建模及使用的过程,应用MAST语言可使仿真电路模块化,加深学生对电力电子技术的理解程度。

关键词:Saber;电力电子仿真;MAST语言建模;教学方法

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)23-0015-02

在电力电子仿真课程中,传统的教学方式多以仿真软件所提供的现有环境为基础进行电路的搭建。在实际教学过程中,Saber模型库中的模型是有限的,无法为特定的教学案例提供全部或最新的集成电路模型,因此,有时需要利用MAST语言来完成一定的硬件设计。[1]

MAST语言主要是用来创建模拟、数字或系统模型的,而用MAST语言建模实际上就是用语言的形式描述物理的意义,更确切地说就是要建立一系列的方程,因此用MAST语言建模的核心就是用线性(或非线性)的代数、微分方程(组)来描述对象的特征。它包括电、机械、光和流体等。从上面的定义可以看出,Saber仿真器并不是单纯的一个电路模型仿真器,从理论上讲只要能用MAST语言建立出模型,通过Saber仿真器就能对其进行仿真,这时仿真器实际上要做的工作就是解方程。[2]本文结合单相桥式PWM逆变电路具体教学实例,介绍MAST语言建模在电力电子仿真课程中应用的具体方法。

一、MAST语言建模概述

用MAST语言建模时可以首先建立系统中元件的模型,然后将各个元件按照一定的要求连接起来就构成了完整的系统,因此在这种情况下描述系统模型方程由仿真器自动完成。只要能写出描述对象特征的方程就能用MAST语言建模,因此MAST语言不仅可以建立模拟元件的模型,还可以建立数字元件的模型,对于数字模型是用元件在各离散时刻的离散值来描述的。[3]

在MAST语言中,被Saber仿真器使用的核心单元是模板(template),在创建模型中,模板是分层结构的,所谓分层结构就是在创建模板中可以引用其他模板。这样的结构有几个好处:第一,在创建模板的过程中可以直接调用Saber库中元件模型,这样将大大地减少编写模板的工作量。第二,对于经常使用到的电路结构(该结构中可以包括其他电路结构),可以将其构成一个子模板,而其他模板可以调用这个子模板。第三,可以建立一个顶层模板,在该模板中调用系统中的其他所有模板,它只反映各模板之间的连接及各模板所需要传递的参数,这样在仿真中修改参数就很方便。

在模板命名这个问题上需要注意两点:模板的扩展名必须是.sin,即templatename.sin;模板名必须以字母开头。

一个模板可能有以下的一个或几个部分,也可能包括以下的全部内容:

Unit definitions //单位定义

Connection point definitions //连接点定义

Template header //模板头

Header declarations //头声明

{

local declarations //局部声明

Parameters sections //参数部分

When statements //当语句

Values section //值部分

Control section //控制部分

Equations section //方程部分

}

在编写模板时,没有上面顺序的限制,可以按任意顺序编写,但需特别注意的是,在使用一个变量之前必须首先定义这个变量,被定义量的位置就决定了它是全局的或是局部的变量。如果要在模板中引用文件,可以在任何地方引用文件,但是为了增加程序的可读性,建议学生在编写模板程序时采用上述顺序。另外,如果要调用程序且该文件为全局调用,建议调用句放在header declarations部分,如果该文件为局部调用,建议放在local declarations部分。[4,5]

这里以理想恒流源模型为例对MAST语言的应用进行说明。理想恒流源模型如图1所示。

其MAST语言形式为:

template isource p n= is

electrical p,n

number is=100

{

equations {i(p->n) += is}

}

模板头说明模板名、模板的连接点和使用模板时需要赋值的变量,这个变量必须是在网表中进行赋值。定义模板头的格式为:template template_name connection points = arguments。定义模板头的关键字为template和element template,这两者的区别一个是内部节点可见而另一个是内部节点不可见。template_name是模板名,在通常情况下该模板的文件名和这个模板应该一致;connection points是定义的端点名,而argument则是使用这个模板时需要赋值的变量,这个变量是通过网表来赋值的。模板连接点是一种特殊的数据类型,在Saber中被称为pin类型,它与建立的模板有关。pin类型可以是机械连接点、热连接点、电连接点。由于恒流源中的连接点是电连接点,因此其连接点说明为electrical p,n。作为头说明的另一部分就是对模板参数的说明,它需要说明的是模板参数的类型,即数的类型,在本模板中定义了1个数:number is=100。isource中的方程段是用MAST语言结构体的形式描述恒流源的特征,实际上就是用模板方程来描述器件模拟端口的特征。在恒流源模型中,电流是从p点流进从n点流出,因此在方程段中要描述这一特征,在MAST中描述这一特征用i(p->m)+=is来表示。

假设有一个系统调用了这个恒流源模板isource,在这个系统中这个恒流源的名字为i1,这个恒流源的两端与节点a、b相连,恒流源电流的大小为2,则调用这个模板的语句为:isource.i1 a b=is=2,网表与模板间的对应关系:isource.i1 a b=is=2;template isource p n=is。

上述模型描述的电流从p点流进、n点流出,其电流的大小为is,在使用这个器件时在网表中要对这个值进行赋值。用任何文本编辑器编写上述这段文本后,以文件的扩展名为.sin存盘。通常情况下文件名和模板名要一致,如果文件名和模板名不一致时在使用这个模板的网表中要包含这个文件。

以上仅对MAST语言的一些编程基础进行了说明,学生还需通过实践更深层次了解相关内容。

二、教学实例

从原理角度来说,单相桥式PWM逆变电路其元件的驱动信号都是由正弦信号与三角波信号经过比较器得来的,每一个元件采取独立驱动方式,上下桥臂的互补导通关系由正弦波信号的相位决定,这种仿真模式虽然也能够用分立元件得到理想的结果,但仿真模型相对复杂,分立元件数目较多且元件参数的设置也较为繁琐。为了解决上述问题,在教学过程中将借助MAST语言实现对仿真模型的简化。

将IGBT用理想开关替代,理想开关的驱动信号用MAST语言实现。首先建立驱动器图形符号,该符号共7个管脚,输入引脚分别为采样频率、正弦波信号和三角波信号,输出信号则是4个理想开关的驱动信号。s_f为采样时钟信号输入引脚(Input Port),triangle为三角载波信号输入引脚(Analog Port),sina为正弦调制信号输入引脚(Analog Port),sw1~sw4为驱动信号输出引脚(Output Port),驱动器符号及单相桥式PWM逆变电路仿真模型如图2所示。

MAST语言编写的模型文件如下所示:

encrypted element template control s_f triangle sina sw1 sw2 sw3 sw4

state nu s_f

electrical triangle,sina

state logic_4 sw1,sw2,sw3,sw4

{

state logic_4 sw11 = l4_0,sw21 = l4_0,sw31 = l4_0,sw41 = l4_0

when(event_on(s_f))

{

if((v(triangle)-v(sina))>0)

{

sw11 = l4_0

sw31 = l4_0

sw21 = l4_1

sw41 = l4_1

}

else if((v(triangle)-v(sina))<0)

{

sw11 = l4_1

sw31 = l4_1

sw21 = l4_0

sw41 = l4_0

}

#改变开关状态

schedule_event(time,sw1,sw11)

schedule_event(time,sw2,sw21)

schedule_event(time,sw3,sw31)

schedule_event(time,sw4,sw41)

}##when

}

zsmp模块提供了一个周期离散状态信号源,它为其他模块提供了采样时钟信号,这里设置输入时钟频率为20kHz;三角载波信号幅值12V、周期1毫秒;正弦调制信号幅值10V,频率50赫兹。对输入驱动信号、载波信号、调制波信号和输出负载电压、电流进行观测,仿真波形如图3所示。

对比在原理章节中采用分立元件构成的单相桥式PWM逆变电路可知,利用MAST语言编程所实现的驱动控制器也能够产生PWM驱动信号,两种情况的电路输出波形基本一致。同时仿真结果证明,该集成电路模型可以很好地为逆变电路提供驱动信号。

三、结论

通过一学期的教学实践,在电力电子仿真教学过程中引入MAST语言建模,学生对理论知识的理解更加深入,尤其是可使学生从宏观的角度去理解集成电路所实现的功能,使理论与实际更紧密结合,使分析结果可视化,这对提高教师教学质量和学生学习效率有极大的促进作用。

参考文献:

[1]丘东元,眭永明,王雪梅,等.基于Saber的“电力电子技术”仿真教学研究[J].电气电子教学学报,2011,33(2):81-84.

[2]王红梅,黄华飞,唐春霞.Saber仿真在电力电子技术教学中的应用[J].装备制造技术,2007,(1):80-82.

[3]秦岭,高宁宇,华亮,等.Saber仿真软件在“电机学”教学中的应用[J].电气电子教学学报,2011,33(1):64-66.

[4]谢银银,裴雪军,康勇.基于MAST 语言的虚拟数字信号处理器[J].电源学报,2011,(2):12-17.

[5]吴俊强,曾国宏.基于SABER的PWM整流器滞环控制仿真[J].计算机仿真,2005,22(2):182-185.

(责任编辑:王意琴)

推荐访问: 建模 仿真 电子技术 电力 语言

相关文章