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的曲线,对应不同的电流和栅极电阻。我一般这样处理:
- 从datasheet查到标称条件下的Eon和Eoff(比如VDC=300V, IC=50A, Rg=10Ω)
- 根据实际电压、电流、栅极电阻做线性缩放
- 再乘以开关频率
缩放公式(工程近似):
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 知识体系总览
下面这张图,是我自己总结的热源分析框架。每次做新项目,我都会按这个思路捋一遍,基本不会漏项。
2.6 工程中的实用建议
最后,分享几个我踩过的坑和总结的经验:
- 损耗计算一定要做温度迭代。先假设一个结温,算损耗,再算温升,更新结温,再算损耗……直到收敛。我一般迭代3~5次就稳定了。
- datasheet的曲线要会读。很多新人只看典型值,不看最差条件。我建议你取高温+最大电流+最大Rg的组合,这样设计出来的余量才够。
- 铜损和铁损不要分开算死。它们会相互影响——铁损大了磁芯发热,磁芯温度升高,铜损也会变大(因为电阻温度系数)。所以磁性元件的热分析也要迭代。
- 仿真前先手算。我习惯先用Excel搭一个损耗计算表,把IGBT、MOSFET、电感、变压器的损耗都算一遍,再导入仿真软件。这样仿真结果出来,我能一眼看出对不对。
一句话总结:热源分析是热设计的“地基”。导通损耗看电流和占空比,开关损耗看频率和电压,铜损看电流密度和趋肤效应,铁损看磁通密度和频率。把这四样算准了,你的热仿真就成功了一半。
公众号:蓝海资料掘金营,微信deep3321