资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
用MAST语言建立变压器模型Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望建立理想变压器MAST模型的思路将理想变压器的特征方程转换为MAST的形式即完成了该变压器模型的建立。对理想变压器的变比可以通过网表赋值确定,也可以通过对变压器线圈匝数来确定变比。对于变压器变比的处理通常放在模板体中的参数段进行处理。MAST语言中的参数段参数段是一个操作段,它是用来处理参数。并不是在每个步长中都要处理该段,只是在仿真器读输入文件时,以及改变argument只时或进行monte carlo分析处理该段。对参数段的执行是从上到下逐条执行,这与C或fortran程序相似。参数段的关键词parameters,其定义规则为:parameters statements 理想变压器的MAST模型element template ideal_transformer p1 p2 s1 s2=ratio,n1,n2electrical p1,p2,s1,s2number ratio=1number n1=0number n2=0number refvar i ip,isval v vp,vs理想变压器的MAST模型(1)parametersif(n1=0|n2=0) then ref=ratioelse ref=n1/n2valuesvp=v(p1)-v(p2)vs=v(s1)-v(s2)equationsi(p1-p2)+=ipi(s2-s1)+=isip: ip=is/refis: vp=vs*ref用结构的方式实现变压器模型由于变压器的功能是线圈绕组的磁耦合实现的,而一个线圈绕组通常又可以用电感元件来实现,因此变压器可以采用电感元件和互感元件。由于电感元件和互感元件都已经存在,因此在编写变压器模型是就可以直接调用这些器件。这就是在编写模板时采用的网表段。网表段没有关键词,它和网表在形式上完全一致,但网表段存在于模板体中,而在写网表时不存在模板体。网表网表线性变压器模板element template xformer p1 m1 p2 m2 = l1, l2, kelectrical p1, m1, p2, m2number l1, l2, k = 1 # start body of templatenumber m # local declarationparameters # start parameters sectionif (k 1) error(%:coupling factor must be between -1 and 1:k=%,instance(), k) # if error, display message# and terminate simulation线性变压器模板(1)else m = k * sqrt(abs(l1 * l2)# otherwise, compute mutual# inductance# Use following netlist to make a transformer from# two mutually-coupled inductorsinductor.1 p1 m1 = l1 # inductor netlist entryinductor.2 p2 m2 = l2 # other inductor netlist entrymutind.12 i(inductor.1) i(inductor.2) = m# mutual inductance netlist entry网表网表参数段参数段错误信息错误信息总结总结线性变压器模板的特点在头定义中使用的是element template 而不是template。在头说明中说明了两个电感的端点和三个参数,这三个参数分别说明两个电感器的电感和其间的忽感。在模板体中使用了网表段,这表明了在建立模型的时候可以直接引用其它已经存在模板。线性变压器模板的网表段局部定义inductor.1 p1 m1 = l1inductor.2 p2 m2 = l2mutind.12 i(inductor.1) i(inductor.2) = m变压器模板变压器模板线性变压器模板的参数段设置模板参数段可以减少仿真器的仿真时间。模板参数段用来确定参数的有效性。可以将从网表输入的参数转换为模板需要的参数。在作统计分析和相关性分析时用于指定分析参数。参数段的执行在系统初始化的时候执行一次参数段。在使用alter命令时要执行参数段。在使用very分析时要使用参数段。参数段的结构和value段的结构是相似的,但它们的启动方式是不同的,同时可以在参数段中设置错误信号的发送。参数段的定义在定义参数段时,需要一个关键词parameters,在关键词后加一对括号 ,参数段中的内容就放在括号内。参数段具有顺序的特性,也就是说在参数段中的程序是顺序执行的。模板模板错误和警告信息在MAST语言中有一系列函数用来发送模板参数错误的信息,以此来提示用户改正错误。这些函数通常返回一个包含模板实例的全路径名,并且描述发生错误的情况。其中主要包括错误信息和警告信息。错误信息将报告模板不能工作的条件,而警告信息报告的是模板的非正常情况。错误和警告信息的定义error(format)format 为希望发出的信息,它是字符串,字符串要用“ ”,发出的信息是“ ”间的内容而不包括“ ”,在字符串中的%后的量为被取代的量,它将为该函数中的变量取代。error(%:coupling factor must be between -1 and1:k=%,instance(),k)xformer.bad a b c d = 1m, 2m, 2xformer.bad:coupling factor must bebetween -1 and 1:k=2错误和警告信息的定义 warning(format) message(format )这两个函数的用法与error函数的用法相同,但是message函数将不对仿真有任何影响。模板模板变压器模型的总结上述的实例都是建立变压器模型的实例,但是它们在建立变压器模型出发点不同,一个模型是以变压器本体的数学模型为基础,而另一个则是以变压器中元件的数学模型为基础,通过变压器中元件的组合来实现变压器的仿真模型。一些比较复杂的对象,如果要获得对象本体的数学模型比较难,有时可能还不能获得,这时就可以建立对象器件的元件模型。考虑铁心饱和的电抗器模型电抗器的结构简图,为了不使整个程序过于复杂,在下面所建立的电抗器模型没有考虑线圈1,而只有一个线圈,同时不考虑铁心中的涡流和磁滞效益,只考虑铁心的饱和效益,同时对铁心的饱和效益也作简单的考虑。铁心中的线圈也只考虑一段集中气隙。模板头说明模板头说明器件的元件模型在本电抗器的元件模型应包括铁心模型、气隙模型和线圈绕组模型,然后将这些器件组合在一起就构成了电抗器。线圈模型线圈模型铁心模型铁心模型气隙模型气隙模型测试模型测试模型线圈绕组模型在SABER库中有一个线圈绕组模型,其图形表达方式如图所示。它有一对磁路节点和一对电气节点,将磁通路径与绕组的磁路节点相连,电流的路径与电气节点相连。当然这个线圈绕组不能反映电流在绕组中的分布情况。如果模型有进一步的要求,则需要自己建立线圈模型。元件模型元件模型电抗器铁心模型的要求建立的铁心模型需要能够反映铁心的饱和情况,因此所建立的模型应该能用几何尺寸来描述,同时要能反映铁心的B-H曲线,当然这根B-H曲线的特性可以通过网表在使用时来确定。铁心模块B-H曲线的简化为了简单讲述其建模的过程,现对铁心的B-H曲线作如下简化。通过网表设置曲线的开始饱和点(bsat),当H的绝对值小于bsat时认为整个磁化曲线为一根过零点的直线,当H值大于2倍bsat点对应的H值时,即认为已经进入深度饱和,也将磁化曲线简化为一根直线,在两直线之间用一根二次曲线来连接,磁化曲线本身和其一阶导数连续。磁化曲线的描述B=K1*H 铁心模板头和头说明element template core_bh_cont pm nm = slop1,slop2,bsat,area,lenmagnetic pm,nmnumber slop1=0.065/5number slop2=0.000166/5number bsat=1.67number area=0.12206number len=0.9电抗器模型电抗器模型铁心模板头和头说明(1)var bsi bcorevar f fcore val mmf mmfcoreval nu mmfvalval bsi bcore1number knee=bsat/slop1number a=(slop2-slop1)/(2*knee)number b=slop1-2*a*kneenumber c=bsat-a*knee*2-b*kneenumber bl_1=4*knee*2*a+2*knee*b+c铁心模板的value段valuesmmfcore=mmf(pm)-mmf(nm)mmfval=mmfcore/len #20if(abs(mmfval)2*knee)bcore1=bl_1+slop2*(mmfval-2*knee)铁心模板的value段(1)if(mmfval=knee)&(mmfval=2*knee)bcore1=a*mmfval*2+b*mmfval+c #30if(mmfval(-2*knee)bcore1=-bl_1+slop2*(mmfval+2*knee)if(mmfval=(-2*knee)bcore1=-a*mmfval*2+b*mmfval-c元件模型元件模型铁心模板的方程段equationsf(pm-nm)+=fcorefcore:fcore=bcore*areabcore=bcore1气隙模板磁路中的气隙就可以用一个恒磁阻模型来代替,因此建立一个恒磁阻模型就可以用来描述空气中的气隙。气隙模板的MAST模型element template reluct pm mm = reluctancemagnetic pm,mmnumber reluctancevar f fluxval mmf dvaluesd=mmf(pm)-mmf(mm)equationsf(pm-mm)+=fluxd=flux*reluctance电抗器测试模型number amp=50,freq=1k,ph0=0vsine.v1 p:sea m:0=ph=ph0,f=freq,ampl=ampnumber nwind=100,rwind=1wind.winda ep:sea em:0 mp:mmf_p mm:0=n=nwind,r=rwindnumber area_cs=0.005*0.005number length=0.04number bsat_start=1number slope_lin=0.00804number slope_sat=slope_lin/1500core_bh_cont.core pm:mmf_p nm:core_end=area=area_cs,len=length,bsat=bsat_start,slop1=slope_lin,slop2=slope_satnumber gap_length=0.001number reluct=gap_length/(4*3.14*0.1u*area_cs)reluct.air_gap pm:core_end mm:0=reluct理想运放的结构运放模板的几个问题在通常情况下,将运放的放大系数确定为无穷大,而如果运放的放大系数不为无穷大时,在许多仿真器模型中是用不同的方程来描述不同的状态,而在本模板中是采用的一个非常来描述。Vout = A*Vin Vin = Vout/A运放为三端点器件,这就决定了不可能用之路电流这种方式来描述电流系统变量,要用到单节点来描述系统电流变量。理想运放的MAST模型element template opamp ip im out = aelectrical ip, im, out # header declarationsnumber a = inf # start of template bodyvar i iout # local declarationsnumber x1, x2理想运放的MAST模型1parameters if (a=inf | a=undef) # if gain is infinitex1=1; x2=0 # or undefined, then input # voltage is 0;else # otherwise, output voltagex1=a; x2=1 # is gain times input voltage # end of parameters sectionequations # start of equations sectioni(out) += iout # current contribution at outputiout: x1 * (v(ip) - v(im) = x2 * v(out)# equation associated with iout # end of equations section理想运放的MAST模板的特点该器件为一个三端电气端点,同时在头说明中用到来inf这个数字。inf 和 undef这两个符号在MAST中都是数。在模板的方程段中定义了一个单节点电流。模拟器件MAST模型的特点比较复杂的模型通常都采用结构模式,所谓结构模式就是在模板体中设置各个段。在目前用到的段有方程段、values段、参数段、控制段和网表段。模板中的方程段是模板的核心,模板体中的其它段都是为方程段服务的。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号