3. MOSFET导通损耗:Rds(on)的温度特性、占空比影响、导通损耗计算公式与实例
好,咱们接着聊MOSFET的导通损耗。
说实话,在DC/DC设计里,导通损耗是最直观、最容易算的一种损耗。但很多人算着算着就翻车了——为啥?因为忽略了两个关键因素:温度和占空比。
我刚开始做电源那会儿,就吃过这个亏。板子调好了,常温下效率挺漂亮,结果一进高温箱,效率直接掉了两三个点。后来一查,就是Rds(on)随温度飙升惹的祸。
3.1 Rds(on)的温度特性——这个坑我踩过
MOSFET的导通电阻Rds(on)不是个固定值。它随结温升高而增大,而且变化幅度相当可观。
为什么会这样?
简单说,MOSFET的沟道电阻本质上是半导体电阻。温度升高,载流子迁移率下降,电阻自然就上去了。一般硅MOSFET的Rds(on)温度系数在0.4%~0.7%/°C之间。
我习惯用下面这个公式估算:
Rds(on)_Tj = Rds(on)_25°C × [1 + α × (Tj - 25)]
其中α是温度系数,典型值取0.005/°C(也就是0.5%/°C)。
举个例子你就明白了:
| 结温 Tj | Rds(on) 倍数 | 实际阻值(25°C时10mΩ) |
|---|---|---|
| 25°C | 1.0x | 10 mΩ |
| 75°C | 1.25x | 12.5 mΩ |
| 100°C | 1.375x | 13.75 mΩ |
| 125°C | 1.5x | 15 mΩ |
关键点:设计时一定要用最恶劣结温下的Rds(on)值,而不是数据手册首页那个25°C的漂亮数字。
我曾经有个项目,用的MOSFET常温下Rds(on)只有8mΩ,看着挺美。结果满载运行时结温到了110°C,实际电阻飙到12mΩ以上,导通损耗比预期大了50%。从那以后,我每次选型都先看数据手册里那个“Typical Rds(on) vs Temperature”曲线。
3.2 占空比的影响——别把平均值当有效值
导通损耗的另一个关键因素是占空比D。
你想想看,MOSFET不是一直导通的。在一个开关周期里,它只导通D·Tsw的时间。所以平均电流是D·I,但损耗跟电流的有效值有关。
对于Buck电路,上管(High-side MOSFET)的电流波形近似梯形波。有效值电流I_rms和平均电流I_avg的关系是:
I_rms = I_avg × √(D × (1 + (ΔI/3I_avg)²))
其中ΔI是电感纹波电流峰峰值。
如果纹波很小(ΔI << I_avg),可以简化成:
I_rms ≈ I_avg × √D
嗯,这里要注意:下管(Low-side MOSFET)的占空比是(1-D),所以它的有效值电流是:
I_rms_LS ≈ I_avg × √(1-D)
我的习惯:算导通损耗时,我从来不用平均电流直接乘Rds(on)。一定要先算有效值,再乘Rds(on),最后乘占空比。顺序别搞反了。
3.3 导通损耗计算公式——直接套用就行
好,咱们把上面两个因素合在一起,得到完整的导通损耗公式:
上管导通损耗:
Pcond_HS = I_rms_HS² × Rds(on)_HS × D
下管导通损耗:
Pcond_LS = I_rms_LS² × Rds(on)_LS × (1-D)
其中Rds(on)一定要用实际结温下的值。
如果纹波电流不大,可以用简化版:
Pcond_HS ≈ I_avg² × D × Rds(on)_HS
Pcond_LS ≈ I_avg² × (1-D) × Rds(on)_LS
注意:简化版只适用于纹波率r < 0.3的情况。如果纹波大,误差会很明显。我一般直接用完整公式,反正Excel里拉一下公式也不费事。
3.4 实战实例——算给你看
咱们拿一个12V转3.3V的Buck电路来算:
- 输入电压Vin = 12V
- 输出电压Vout = 3.3V
- 输出电流Iout = 10A
- 开关频率fsw = 500kHz
- 电感L = 2.2μH
- 上管Rds(on)_25°C = 10mΩ,温度系数α = 0.005/°C
- 下管Rds(on)_25°C = 8mΩ,温度系数α = 0.005/°C
- 预估上管结温Tj_HS = 85°C,下管结温Tj_LS = 80°C
第一步:算占空比
D = Vout / Vin = 3.3 / 12 = 0.275
第二步:算纹波电流
ΔI = (Vin - Vout) × D / (L × fsw)
= (12 - 3.3) × 0.275 / (2.2e-6 × 500e3)
= 2.175A
第三步:算有效值电流
上管:I_rms_HS = Iout × √(D × (1 + (ΔI/3Iout)²))
= 10 × √(0.275 × (1 + (2.175/30)²))
= 10 × √(0.275 × 1.0053)
= 10 × 0.5258
= 5.258A
下管:I_rms_LS = Iout × √((1-D) × (1 + (ΔI/3Iout)²))
= 10 × √(0.725 × 1.0053)
= 10 × 0.8538
= 8.538A
第四步:算实际Rds(on)
上管:Rds_HS = 10 × [1 + 0.005 × (85 - 25)] = 10 × 1.3 = 13mΩ
下管:Rds_LS = 8 × [1 + 0.005 × (80 - 25)] = 8 × 1.275 = 10.2mΩ
第五步:算导通损耗
上管:Pcond_HS = 5.258² × 0.013 × 0.275 = 0.099W
下管:Pcond_LS = 8.538² × 0.0102 × 0.725 = 0.539W
总导通损耗 = 0.099 + 0.539 = 0.638W
看到没?下管导通损耗是上管的5倍多。因为下管导通时间更长(1-D=0.725),而且电流有效值更大。这就是为什么很多设计里下管用更低Rds(on)的MOSFET,或者干脆用两颗并联。
3.5 几个实用建议
最后,分享几个我这些年总结的经验:
- 选型时留余量:我一般按最恶劣结温(比如100°C或125°C)下的Rds(on)来算损耗,然后留20%~30%的余量。
- 注意PCB散热:Rds(on)跟结温强相关,而结温又跟散热设计有关。算损耗和算温升是迭代的过程,我通常要来回算两三遍才能收敛。
- 同步整流 vs 二极管:低压大电流场景,同步整流的导通损耗优势非常明显。二极管的正向压降VF随电流增大而增大,而MOSFET的Rds(on)是线性的。
- 并联MOSFET:如果单颗MOSFET的导通损耗太大,可以考虑并联。但要注意均流问题,我一般会在每个MOSFET的栅极串一个小电阻(10Ω左右)来抑制振荡。
好了,导通损耗这部分就讲到这里。下一节咱们聊开关损耗——那个更烧脑,也更考验设计功底。