2、热源分析:功率器件(IGBT/MOSFET)损耗计算、导通损耗与开关损耗、铜损与铁损

做热设计这么多年,我始终觉得一个道理颠扑不破——你连热源都算不准,后面做再漂亮的散热器也是白搭。说白了,热仿真这活儿,输入决定输出。功率器件的损耗就是整个热分析的“源头活水”,源头错了,下游全是错的。

这一节,我们就来掰扯清楚伺服驱动里那些发热大户到底是怎么“烧”起来的。

2.1 功率器件的损耗构成:IGBT vs MOSFET

伺服驱动里最常用的功率开关,无非就是IGBT和MOSFET。很多人问我:“老师,这俩到底选哪个?”我的回答很简单——看频率和电压

  • IGBT:耐压高、电流大,但开关速度慢。适合中低频(<20kHz)、高压(>600V)场合。比如大功率伺服驱动。
  • MOSFET:开关速度快,导通电阻小,但耐压做不高。适合高频(>20kHz)、低压(<250V)场合。比如小功率、高动态响应的伺服。

但不管用哪种,损耗都逃不出两大类:导通损耗开关损耗。嗯,这里要注意——千万别漏了驱动损耗和死区损耗,我在项目里见过有人把这俩忽略,结果仿真温度比实测低了十几度。

核心公式(通用):

Ptotal = Pcon + Psw + Pdrive + Pdiode

其中,Pdrive 和 Pdiode 在低频时可以忽略,但高频时必须算。

2.2 导通损耗计算:IGBT的饱和压降 vs MOSFET的导通电阻

导通损耗,说白了就是管子“通”的时候,电流流过产生的焦耳热。IGBT和MOSFET的机理完全不同,计算方式也不一样。

2.2.1 IGBT的导通损耗

IGBT导通时,可以看作一个二极管串联一个小电阻。它的导通压降VCE(sat)不是线性的,而是有一个门槛电压VCEO,再加上电流乘以电阻rCE

// IGBT导通损耗计算(单周期平均)
P_con_IGBT = V_CE(sat) * I_C * D

// 更精确的模型(考虑温度)
V_CE(sat) = V_CEO(Tj) + r_CE(Tj) * I_C
P_con_IGBT = (V_CEO * I_C + r_CE * I_C²) * D

其中D是占空比。我建议你查datasheet时,一定要看高温下的VCE(sat)。我记得有一次做125℃的仿真,用了25℃的VCE(sat),结果算出来损耗偏小30%。后来老老实实查了125℃的曲线,才把仿真和实测对上。

2.2.2 MOSFET的导通损耗

MOSFET就简单多了——它就是个可变电阻。导通损耗就是I²R。

// MOSFET导通损耗计算
P_con_MOSFET = I_D² * R_DS(on) * D

// 注意:R_DS(on)随温度变化很大!
R_DS(on)(Tj) = R_DS(on)(25℃) * [1 + α * (Tj - 25)]
// α 约 0.004~0.005 /℃

这里有个坑——RDS(on)的温度系数是正的。温度越高,电阻越大,损耗越大,温度再升高……这就是个正反馈。我曾经在一个48V伺服项目里,没考虑温度系数,仿真出来结温85℃,实测直接飙到110℃。从那以后,我算MOSFET损耗必做温度迭代。

我的经验:IGBT的导通损耗在重载(大电流)时占主导,MOSFET的导通损耗在低压大电流时尤其要小心。如果你发现仿真温度总是偏低,先检查RDS(on)的温度系数有没有加上。

2.3 开关损耗计算:硬开关与软开关的差异

开关损耗,就是管子从“通”到“断”、从“断”到“通”那一瞬间产生的损耗。频率越高,开关损耗占比越大。

2.3.1 硬开关损耗

大多数伺服驱动都是硬开关。开关过程中,电压和电流有交叠,产生能量损失。

// 单次开关能量
E_on = ∫ V_DS * I_D dt  (开通)
E_off = ∫ V_DS * I_D dt (关断)

// 平均开关损耗
P_sw = (E_on + E_off) * f_sw

实际工程中,我们不会去积分。datasheet里通常会给出Eon和Eoff的曲线,对应不同的电流和栅极电阻。我一般这样处理:

  1. 从datasheet查到标称条件下的Eon和Eoff(比如VDC=300V, IC=50A, Rg=10Ω)
  2. 根据实际电压、电流、栅极电阻做线性缩放
  3. 再乘以开关频率

缩放公式(工程近似):

Eon(实际) = Eon(标称) × (VDC / Vnom) × (IC / Inom) × (Rg / Rg_nom)0.5

这个公式不算精确,但工程上够用。我验证过多次,误差在10%以内。

2.3.2 软开关损耗

有些高端伺服会用软开关(比如ZVS、ZCS)。这时候开关损耗理论上为零,但实际还是有——因为寄生参数。我做过一个LLC谐振的伺服电源,软开关下开关损耗只有硬开关的1/5左右。但要注意,轻载时可能失去软开关条件,损耗会突然增大。这个坑我踩过,仿真时没注意轻载工况,结果样机在空载时温升超标。

警告:开关损耗计算时,别忘了二极管反向恢复损耗。尤其是IGBT配套的续流二极管,反向恢复电荷Qrr产生的损耗在高压大电流下非常可观。我曾经在一个690V的伺服项目里,二极管损耗占了总损耗的30%。

2.4 铜损与铁损:磁性元件的发热

除了功率器件,伺服驱动里还有一大热源——磁性元件(电感、变压器)。很多人只盯着IGBT算,忽略了电感的发热,结果电感烫得能煎鸡蛋。

2.4.1 铜损

铜损就是绕组电阻的焦耳热。简单,但容易算错。

// 铜损计算
P_cu = I_rms² * R_dc

// 注意:高频下要考虑趋肤效应和邻近效应
R_ac = R_dc * (1 + k_skin + k_proximity)
// k_skin 和 k_proximity 与频率、线径、绕法有关

我建议你,100kHz以上一定要算交流电阻。有一次我做了一个200kHz的Boost电感,用直流电阻算铜损只有2W,实测发热有5W。后来一测交流电阻,发现是直流电阻的2.5倍。嗯,从那以后我高频电感必算趋肤深度。

2.4.2 铁损

铁损更复杂,包含磁滞损耗涡流损耗。磁芯厂家通常会提供Steinmetz公式的参数。

// Steinmetz公式
P_fe = k * f^α * B^β * V_e

// 其中:
// k, α, β 是磁芯材料常数(查datasheet)
// f 是频率(Hz)
// B 是磁通密度摆幅(T)
// V_e 是磁芯有效体积(m³)

举个例子,铁氧体PC40的典型参数:k=4.5×10⁻⁶, α=1.6, β=2.7。注意,B是峰峰值,不是最大值。我见过有人把直流偏置的Bmax代进去算,结果铁损算出来大了好几倍。

我的习惯:铜损和铁损的比值最好控制在1:1到3:1之间。如果铁损远大于铜损,说明磁通密度选得太高了,可以增加匝数或换大磁芯。如果铜损远大于铁损,说明电流密度太大,可以换粗线或多股并绕。

2.5 知识体系总览

下面这张图,是我自己总结的热源分析框架。每次做新项目,我都会按这个思路捋一遍,基本不会漏项。

热源分析知识体系 伺服驱动总热源 功率器件损耗 磁性元件损耗 导通损耗 开关损耗 驱动+二极管损耗 铜损(I²R) 铁损(磁滞+涡流) 附加损耗(趋肤等) IGBT: VCE(sat)模型 MOSFET: RDS(on)模型 温度系数修正 硬开关: Eon+Eoff 软开关: ZVS/ZCS 反向恢复损耗 关键:所有损耗都与温度强相关 热仿真必须做温度-损耗迭代

2.6 工程中的实用建议

最后,分享几个我踩过的坑和总结的经验:

  • 损耗计算一定要做温度迭代。先假设一个结温,算损耗,再算温升,更新结温,再算损耗……直到收敛。我一般迭代3~5次就稳定了。
  • datasheet的曲线要会读。很多新人只看典型值,不看最差条件。我建议你取高温+最大电流+最大Rg的组合,这样设计出来的余量才够。
  • 铜损和铁损不要分开算死。它们会相互影响——铁损大了磁芯发热,磁芯温度升高,铜损也会变大(因为电阻温度系数)。所以磁性元件的热分析也要迭代。
  • 仿真前先手算。我习惯先用Excel搭一个损耗计算表,把IGBT、MOSFET、电感、变压器的损耗都算一遍,再导入仿真软件。这样仿真结果出来,我能一眼看出对不对。

一句话总结:热源分析是热设计的“地基”。导通损耗看电流和占空比,开关损耗看频率和电压,铜损看电流密度和趋肤效应,铁损看磁通密度和频率。把这四样算准了,你的热仿真就成功了一半。


公众号:蓝海资料掘金营,微信deep3321