前言
Simscape Electrical中 Mosfet以及Diode模型对于开通和关断的细节优化的已经不错了,接下来以Buck变换器为例进行说明,通过仿真buck变换器的DCM模式和CCM模式来分析Buck变换器关键电压、电流波形。在仿真过程中会涉及到与传统simulink仿真截然不同的配置,如Solver、Model Setting的设置、以及不同的物理模型Mosfet、diode的关键参数配置。接着用传统的Specialized Power System库模型,在simulink中进行相同指标的Buck变换器模型搭建,与Simscape Electrical 模型进行对比。接着我将介绍一下Simscape Electrical中的热仿真,来估算器件工作时的发热情况。
Model Setting以及Solver设置
如图1所示。tting中主要需要设置的Solver,一般我们选择viriable step进行仿真,且对于电力电子模型来说,一般选择的求解器为ode32t,备选求解器可以选择odeN和daessc。其他默认设置即可。
图2所示的仿真模型中的Solver(与Model Setting中的不一样哈),一般默认就可,如果仿真不收敛,可以将start simulation from steady state勾选上并勾选本use local solver。start simulation from steady state的大致意思是求解器试图寻找一个稳定的工作点进行仿真,use local solver跟传统的黑库仿真中的离散仿真类似,需要设置采样时间即步长。根据不同仿真需求和仿真模型选择是否勾选,不过官方给的例程一般都未勾选此两项。
影响Mosfet漏源极电压Vds的因素
使用Specialized Power System元件库
由于Specialized Power System的元器件为理想器件未考虑电路寄生参数,因此在此模型下进行DCM/CCM仿真,Vds电压波形分别为如下图3和图4所示。
使用Simscape Electrical元器件库仿真
由于Simscape Electrical库中模型考虑了元器件寄生参数,仿真波形更接近实际。接下来我将采用最接近实际的Mosfet模型即N Channel Mosfet进行仿真。其DCM/CCM模式下的波形如下图所示。
从DCM模式中可以看出,当电感电流为零时, 续流二极管寄生电容 、 mos管寄生电容 以及 滤波电感L 产生谐振,使Mos管S极电压震荡,故使Vds波形在电感电流为零时也有震荡。
在CCM模式下,由于电感电流不为零,不会发生如DCM模式中的低频振荡。
若使用Simscape中的Ideal Mosfet进行上述仿真,得到的DCM/CCM波形如下所示。
使用Ideal Mosfet时,波形也较为理想,因此如果要接近实际仿真,还是要采用N Channel Mosfet。
热仿真测试
在Simscape Electrical中进行热仿真有两种方法进行。第一种:由于蓝库模型自带热管脚,因此热仿真和电气仿真可以放在一个仿真模型中进行。第二种:先进行电气仿真,根据仿真结果计算出损耗,根据损耗和半导体模型搭建散热模型,通过散热模型仿真器件温升。第一种方法进行热仿真时还要同时进行电气仿真,仿真速度很慢,需要大量时间才能得出器件的温升结果。而第二种通过单独搭建散热模型来估算温升时,仿真模型简单,仿真速度也非常快。第一种在一个仿真模型中虽即可进行电气仿真也可进行热仿真直观上一举两得,但是本人尝试了许多中方法很遗憾在进行热仿真时,要想达到最终的温升结果需要耗费大量的仿真时间,如果各位看官有缩短仿真时间的方法还请指出。因此这里主要介绍第二种方法。
第一步:获取器件功耗
1.器件关键参数配置
在进行第二种热仿真时,需要先进行一遍电气仿真以获得器件的功耗。在进行纯电气仿真时如MOS管的热端口以及相关参数就不必设置了,MOS管的Modeling Option选择不带thermal端口的。接着根据MOS管Datasheet设置好器件的阈值电压Vth,导通时的驱动电压Vgs,导通电阻Ron,寄生电容Ciss,Coss,Crss等即可,体二极管可以选择外置或内置;mos管内置的body diode可以设置的参数较少,个人一般喜欢将MOS管体二极管model body diode设置成exponential,并且同时将Is设置成0A,如图8所示。外置一个二极管作为体二极管,这样可以配置的体二极管参数更多。
如图9所示,由公式1可知,Is设置为零时,Idio也为零,而Idio表示二极管导通时通过二极管的电流大小,因此此时体二极管不会起作用。
2.配置器件仿真数据路径
在进行变换器仿真之前需要设置好器件仿真数据存储路径,如图10所示。需要着重注意下第3小步中的名称默认为simlog,也可自行更改。设置好之后即可进行电气仿真。
仿真完成后在matlab的数据空间生成一个如下所示的数据。在simlog中记录了所有器件的功耗数据。
3.调用命令获取器件功耗
如图12所示,我想调用MOSFET1的功耗时,MOSFET在整个BUCK电路的一个子系统MOS_1中,因此在调用MOSFET1的功耗时只需在matlab命令栏里输入一下命令。
ee_getPowerLossSummary(out.simlog.MOS_1.MOSFET1)
通过命令获取的功耗结果如下图所示。此功耗包含交叉损耗和导通损耗两部分组成。
第二步:搭建散热模型估算器件温升
模型介绍:
Thermal Mass:代表器件存储热量的能力通常需要设置其质量(Mass),比热(Specific heat)以及初始温度.
Conductive heat transfer:代表两个固体之间的热传递,相关公式为Q=K*A*(TA-TB)/D;R=D/(A*K),其中,
A:表示两固体间的有效导热面积
K:表示导热系数
D:表示两固体间的热传导距离
Q:表示热流
R:表示热阻
Convective heat transfer:代表固体与气流,水流,空气间的热传递.相关公式为:Q=K*A*(TA-TB)
Heat Flow :表示理想的热能量源,足够维持指定的热流
Ideal Temperature Source:理想的温度源,表示由足够的热能量维持指定温度.
Temperature Sensor:温度传感器,输出华氏温度(K)
一般测试MOS管结温不超过125°C,结壳热阻以及壳到散热片的热阻较小,散热能力都优异,因此真正决定MOS管结温和散热片温度的是散热片到空气的热阻,尽量使此热阻小些为好。散热片温度在60°C以下也较好。根据MOS功耗以及散热片大小尺寸即可估算出实际体表温度。
热仿真展示
图13为搭建的单只MOS管散热模型,将第一部分获得的MOS管功耗输入进P_MOSFET1。环境温度设置为常温25°C或者298K。测试散热片温度以及MOS管结温。
仿真结果如图14所示。
由图14可知,MOS管散热片温度此时稳定在73°C左右,MOS管结温稳定在58°C左右。
同步Buck串扰测试
仿真电路如图15所示。对于同步Buck或者桥式驱动电路来说,上下桥臂驱动波形互补,虽然设计时留有死区时间不会导致两开关管直通,不过上管的开通时会对下管的Cgs电容充电,若Cgs电压高达Vth时,此时下管将导通,造成同一桥臂直通的现象。而当上管关断下管还未导通时,由于杂散电感以及输出滤波电感的存在,会有电流流经下管给Cgs反向充电,导致在下管GS端形成一个负压。
串扰仿真结果如图16所示。