功率 MOS 管驱动串联电阻

简 介: 对于功率 MOS 管栅极驱动串联电阻究竟有什么作用,取什么阻值合适呢? 本文通过 LTspice 软件仿真测试了不同 MOS 管驱动串联电阻对于减少 MOS 管栅极电压波动的效果。

关键词 MOS栅极RLC

功率MOS驱动
目 录
Contents
LTspice建模
测量电压波形
对比电容
测试不同MOS管
总 结

§01 率MOS驱动


   栅极电阻要取100欧姆? 博文中给出了一篇翻译博文,讨论了功率 MOS 管栅极电阻取值的问题。 下面利用 AT LTspice 仿真软件对于文中功率 MOS 管串联电阻对于电路影响进行测试。

一、LTspice建模

  选择 LTspice 环境中 MOS 管的型号为 IRF2805,它的主要参数如下图所示:

▲ 图1.1.1 IRF2805 MOS 管的主要参数

▲ 图1.1.1 IRF2805 MOS 管的主要参数

  如下是基本测试电路图,在电路中, L 3 , L 4 L_3 ,L_4 L3,L4 是模拟 MOS 管驱动电源 V 2 V_2 V2 到 MOS 管之间连线的分散电感。 L 1 L_1 L1 是 MOS 负载连接的杂散电感。 MOS 管负载为一个电感负载。

▲ 图1.1.2 测试基本电路图

▲ 图1.1.2 测试基本电路图

二、测量电压波形

  设置驱动信号 V2 是一个幅度为 12V,宽度为 2us 的电压波形,测量 MOS 管 M1 的栅极与漏极电压波形。 设置栅极串联电阻 R1 的阻值从 0.1 变化到 5 欧姆,对应的电压波形如下面动图所示。可以看到随着栅极驱动串联电阻 R1 的阻值增加, M1 栅极的驱动电压波形从具有一定过冲电压变化到没有过冲。 对应 M1 漏极电压比较相似,没有太大的变化。

▲ 图1.1.3  基极驱动电阻从0.1变化到5欧姆对应的MOS管栅极电压与漏极电压

▲ 图1.1.3 基极驱动电阻从0.1变化到5欧姆对应的MOS管栅极电压与漏极电压

  但是奇怪的是,M1 的漏极电流在驱动过程中出现了高频振荡。下面显示不同栅极电阻下这种震荡电流的形式。如果将 L1 的电感值降低到 5nF 之后, M1 持续震荡就会消失了。

▲ 图1.1.4  随着栅极串联电阻增加,MOS管漏极电流

▲ 图1.1.4 随着栅极串联电阻增加,MOS管漏极电流

  如果将栅极驱动串联电阻修改为 51Ω, 仿真运行后对应的 M1 栅极电压波形(Vn006)与漏极电压(Vn001)如下图所示。可以看到此时 MOS 管栅极电压上升下降沿变得十分缓慢。所以传统意义上 MOS 管栅极串联电阻需要根据实际电路中的器件和杂散电感进行调整。

▲ 图1.2.3 栅极电阻R1为51欧姆时对应的MOS管的栅极(n006)和漏极(n001)电压波形

▲ 图1.2.3 栅极电阻R1为51欧姆时对应的MOS管的栅极(n006)和漏极(n001)电压波形

三、对比电容

  为了对比 MOS 管基极驱动回路与 RLC 串联谐振电路的关系,下面搭建了与前面 MOS 管电路栅极回路相似的电路模型。 测试不同串联电阻 R1 对应的 C1 上的电压波形。

▲ 图1.3.1 测试RLC串联电路图

▲ 图1.3.1 测试RLC串联电路图

  下图给出了不同 R1 阻值下的 C1 上的电压波形。与 MOS 管栅极电压相比,主要区别为:

  • RLC 谐振电路振荡更剧烈,MOS 管栅极振荡即使 R1=0 时,也会很快衰减。这也说明 MOS 管栅极与源极之间存在比较大的串联电阻;
  • 在 MOS 栅极电路中, 栅极电压上升过程存在一个小台阶,这是由 MOS 管导通过程中的 Miller 效应 引起。

▲ 图1.3.2 RLC串联谐振电路仿真结果

▲ 图1.3.2 RLC串联谐振电路仿真结果

四、测试不同MOS管

  下面对比不同的 MOS 管栅极电压波形。统一设置栅极串联电阻为 0.1Ω。

▲ 图1.4.1 MOS IRF2805电压波形

▲ 图1.4.1 MOS IRF2805电压波形

▲ MOS IPA105N15N3电压波形

▲ MOS IPA105N15N3电压波形

▲ MOS IRF7303的电压波形

▲ MOS IRF7303的电压波形

  上面对比了三种不同的 MOS 管驱动电压波形,可以看到对应的基极电压以及漏极电压还是具有很大的区别。

  特别是对于高速 IRF7303 MOS 管,它对应的栅极电压过冲比较大。 如果将栅极串联电阻修改成 10欧姆,对应的仿真波形如下,可以看到栅极电压波形几乎就没有振荡了。

▲ 图1.4.4 MOS IRF7303 电压波形

▲ 图1.4.4 MOS IRF7303 电压波形

  结 ※


  于功率 MOS 管栅极驱动串联电阻究竟有什么作用,取什么阻值合适呢? 本文通过 LTspice 软件仿真测试了不同 MOS 管驱动串联电阻对于减少 MOS 管栅极电压波动的效果。


■ 相关文献链接:

● 相关图表链接:

from headm import *
filename = r'D:\Temp\1.txt'
timedim = []
data1dim = []
data2dim = []
data3dim = []
rdim = []
segdim = []
with open(filename, 'r') as f:
    for id,l in enumerate(f.readlines()):
        l = l.strip('\n')

        if l.find('time') >= 0: continue
        if l.find('Step') >= 0:
            rstr = l.split('=')[-1].split(' ')[0]
            if rstr[-1] == 'm':
                r = float(rstr[:-1]) * 1e-3
            else: r= float(rstr)
            rdim.append(r)
            segdim.append(len(timedim))
            continue
        ll = [float(s) for s in l.split('\t')]
        timedim.append(ll[0])
        data1dim.append(ll[1])
        data2dim.append(ll[2])
        data3dim.append(ll[3])
        if id % 10000 == 0: printf(id)

segdim.append(len(timedim))

printf(len(timedim))
printf(rdim)
tspsave('testdata', rdim=rdim, segdim=segdim, timedim=timedim,
        data1dim=data1dim, data2dim=data2dim, data3dim=data3dim)
printf('\a')
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# DRAW.PY                      -- by Dr. ZhuoQing 2022-08-25
#
# Note:
#============================================================

from headm import *
from tsmodule.tsdraw        import *

rdim, segdim, timedim, data1dim, data2dim, data3dim = tspload('testdata', 'rdim', 'segdim', 'timedim', 'data1dim', 'data2dim', 'data3dim')

gifplot = PlotGIF()
plt.draw()
plt.pause(.1)

for id, r in enumerate(rdim):
    startid = segdim[id]
    endid = segdim[id+1]

    t = timedim[startid:endid]*1e6
    d1 = data1dim[startid:endid]
    d2 = data2dim[startid:endid]
    d3 = data3dim[startid:endid]

    plt.clf()
    plt.subplot(2,1,1)
    plt.plot(t, d1, label='Vgate')
    plt.plot(t, d2, label='Vdrain')

    plt.xlabel("Time(us)")
    plt.ylabel("Voltage(V)")
    plt.axis([0, 10, -6, 25])
    plt.title('R=%4.2fohm'%r)
    plt.grid(True)
    plt.legend(loc='upper right')
    plt.tight_layout()

    plt.subplot(2,1,2)
    plt.plot(t, d3)

    plt.xlabel("Time(us)")
    plt.ylabel("Current(A)")
    plt.axis([0,10,-0.9,0.9])
    plt.grid(True)
    plt.tight_layout()

    plt.draw()

    plt.pause(.1)
    gifplot.append(plt)


#------------------------------------------------------------

gifplot.save()



#------------------------------------------------------------
printf('\a')





#------------------------------------------------------------
#        END OF FILE : DRAW.PY
#============================================================

猜你喜欢

转载自blog.csdn.net/zhuoqingjoking97298/article/details/126491229