ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

三相维也纳PFC损耗计算与钳位二极管热设计

2026/9/29 3:11:27 拓冰建站 浏览量
三相维也纳PFC损耗计算与钳位二极管热设计 三相维也纳PFC这个拓扑很多人的第一版样机都会遇到同一个尴尬仿真跑出来97.8%实测效率只有96%出头差出来的那一个多点全变成了散热器上的温度。我印象最深的是前年帮朋友看一台30 kW储能变流器的前级红外一照最烫的地方不是六个开关管而是六只看起来毫不起眼的钳位二极管——它们的壳温比MOSFET高了将近20℃。这件事之后我重新把三相维也纳PFC的功率器件损耗从头算了一遍才发现问题根本不在算得准不准而在于用两电平BoostPFC的那套损耗模型去套三电平拓扑从电流路径开始就错了。三相维也纳ViennaPFC的核心价值在于它用每相一个双向开关加一对钳位二极管就把桥臂电压做成了Vdc/2、0、-Vdc/2三种电平开关管承受的电压只有母线的一半dv/dt也只有两电平的一半所以在800 V母线、30 kW以上的场合用650 V器件就能做而且开关损耗天然比两电平低一大截。代价是电流通路变复杂了——相电流会在中点和正负母线之间来回换二极管要承担相当可观的导通电流损耗账必须按三电平的方式重算。这篇内容面向正在做三相维也纳PFC的硬件工程师、做损耗与热仿真的系统工程师以及需要评估SiC替代方案的器件选型人员。我会把原理拆到能算损耗的粒度给出可以闭式求解的电流有效值公式、开关损耗的换流电流分布推导、一整套可复现的迭代流程最后把我在实际项目里踩过的坑一条条列出来。1. 维也纳PFC的损耗账为什么不能照搬两电平Boost1.1 钳位到中点电流走了一条两电平没有的岔路两电平BoostPFC的电流路径非常干净开关管导通时电感充电电流从开关管走开关管关断时电感续流电流从二极管走。整个工频周期里相电流不是走开关管就是走二极管二者的电流有效值平方和等于相电流有效值平方很好算。维也纳PFC多了一条路。以单相桥臂为例交流源经升压电感接到桥臂中点AA点通过双向开关接到母线中点M同时通过上二极管D接到正母线P、通过下二极管D-接到负母线N。这样一来A点对M的电压是三电平的开关管导通时A点被钳到中点电流灌进或抽出中点开关管关断时电流根据方向从D或D-续流到正负母线。关键在于中点这条路上流过的电流不参与能量传递它只是把分裂电容的电荷搬来搬去但它实实在在地在双向开关的沟道里产生了导通损耗。而D、D-这两条续流路的导通时间也远不止关断期间这么简单——它和调制比直接相关。1.2 开关管只挡一半电压带来的错觉因为开关管关断时承受的电压是Vdc/2而不是Vdc很多人在估算时直接把两电平Boost的开关损耗除以2觉得维也纳的开关损耗天然低一半。这个结论对了一半开关损耗确实低但低的原因不止电压减半更重要的是换流电流的分布被调制函数重新加权了。在维也纳里开关管的导通占空比是1 - M·|sinθ|M是调制比。这个式子意味着在相电压过零点附近开关管几乎一直导通占空比接近1但那时候电流也接近零在相电压峰值处开关管导通占空比最低400 V线电压、800 V母线时只有0.19左右但这时候电流最大。两个因素相乘之后开关管的电流有效值大约只有相电流有效值的55%左右剩下一小半全给了钳位二极管。所以正确的心智模型是维也纳的损耗不是两电平除以二而是相电流在三元器件之间按调制函数重新分配其中二极管的份额比大多数人预想的大得多。这一点在后面的数值例子里会非常直观。1.3 三个典型工况点损耗重心完全不同同一个硬件在轻载、额定、过载三种工况下的损耗重心是漂移的这一点在热设计时经常被忽略。| 工况 | 相电流水平 | 主导损耗项 | 热设计关注点 | | 20% 负载 | 5 A 左右 | 开关损耗固定项与电流弱相关 | 开关管结温轻载效率 | | 50% 负载 | 12.5 A | 开关损耗 开关管传导 | 两者接近 | | 100% 负载 | 25 A | 二极管传导 开关管传导 | 钳位二极管结温 |轻载时开关损耗是固定成本——它正比于开关频率基本不随负载下降这就是维也纳PFC在20%负载以下效率掉得厉害的原因。满载时传导损耗按电流平方涨起来二极管因为平均电流大、正向压降高反而成了热点。我一般会要求做损耗分析时至少把20%、50%、100%三个点都算一遍而不是只算额定点因为很多项目的散热器是按额定点选的结果轻载时因为开关损耗占比高、散热器温度低反而没问题真正出事的是满载长时间运行后二极管的热累积。2. 把原理拆到能算损耗的粒度2.1 单相桥臂的三个有效状态要把损耗算准必须先把每个状态下哪个器件在导电、流过多少电流搞清楚。忽略死区和开关过渡过程单相桥臂只有三个有效状态状态0开关导通A点被双向开关钳到中点M。相电流从A点流入或流出中点方向取决于相电流的极性。此时D、D-都反偏不导通。电感两端电压约为相电压电流上升。状态P开关关断电流为正相电流从A点经D流向正母线给上电容充电。此时相电压被钳到Vdc/2电感释能。状态N开关关断电流为负相电流从负母线经D-流入A点给下电容充电A点被钳到-Vdc/2。注意状态P和状态N是被动的——它们由相电流的极性决定而不是由控制器主动选择。这个特性决定了维也纳不存在上下管直通的危险这是它的一个重要优势也说明它的开关时序里不需要插入防止直通的死区反串结构的两个管子是同开同关的。2.2 双向开关的两种实现方式别漏掉那个2倍双向开关是维也纳里最容易被算错的地方。目前主流有两种实现第一种是共源反串的双管结构两只MOSFET源极相连、栅极并联驱动漏极分别接A点和M点。这个结构的好处是驱动简单、可以共用一路驱动电源也是目前SiC方案里最常用的。但请注意稳态导通时电流路径是第一只管的沟道 → 第二只管的沟道两只管子的Rds(on)是串联的导通电阻直接翻倍。我在评审别人的损耗计算表时见过不止一次只算了单管Rds(on)的情况传导损耗直接低估了一半。第二种是单管加二极管桥的经典结构导通时电流只经过一只MOSFET的沟道但反方向要靠二极管压降大约是1 V量级。这种结构在低压小功率场合有优势在大功率场合因为二极管压降的固定损耗太大基本被淘汰了。所以在你打开数据手册之前先确认自己的电路是哪种结构。这一点比后面所有精细的插值折算都重要因为它带来的是成倍的误差。2.3 调制方式会改变损耗的分配比例维也纳常用的调制有连续SVPWM、载波加零序注入以及各种不连续调制DPWM。它们对损耗的影响路径不一样连续调制下三个桥臂每个开关周期都动作一次开关次数是固定的损耗分配如1.2节所述。不连续调制比如每个60度区间把一个桥臂钳到中点不动作能把开关次数降低三分之一开关损耗随之降三分之一但被钳位的那一相在整个区间内电流都从开关管走那一相的开关管传导损耗会明显上升而且中点电流的波形会变得更集中分裂电容的纹波电流也会变差。我做过一次对比在同样30 kW、65 kHz的条件下不连续调制能把三相总开关损耗从45 W左右压到30 W出头但某一相开关管的传导损耗从17 W涨到26 W结果是散热器上出现明显的温度不均最热的那只管子反而比连续调制时更热。所以换调制策略之前一定要重新看器件级的损耗分布不能只看总损耗。3. 用占空比函数把传导损耗算准3.1 一个可以闭式求解的结论这是整篇里最值得抄下来的一段。设相电流峰值为Ip相电流有效值为Irms Ip/√2调制比M Vpk/(Vdc/2)。在单位功率因数、忽略电流纹波的理想条件下把占空比函数d(θ) 1 - M·|sinθ|代入积分可以得到开关管电流有效值Isw_rms² Irms² × (1 - 8M/(3π)) 二极管电流有效值Id_rms² Irms² × (8M/(3π))两个式子相加恰好等于Irms²符合相电流不是走开关管就是走二极管的物理直觉。这个结论在工程上非常好用因为它把所有几何形状的东西都压进了一个参数M。代入本文的算例400 V线电压、800 V母线Vpk 325 VM 0.8125则8M/(3π) 0.6897。| 参数 | 系数 | 数值相电流有效值25 A | | 开关管电流有效值 | √0.3103 0.557 | 13.9 A | | 二极管电流有效值 | √0.6897 0.830 | 20.8 A | | 其中单只二极管各导通半周 | 0.830/√2 0.587 | 14.7 A |可以看到开关管只承担了约56%的电流有效值二极管承担了83%。这个比例关系和很多人的直觉是反的但它是拓扑和调制决定的无法通过选型绕开。3.2 平均电流才是二极管损耗的真正大头MOSFET的导通损耗用I²R算就行但二极管不能只用有效值因为肖特基二极管的正向特性是固定压降 斜率电阻的组合P_diode Vf0 × Iavg Rd × Irms²平均电流的积分结果是Iavg Ip·M/2单相两只二极管合计换算到单只二极管要再除以2单只二极管平均电流 Ip × M / 4 35.4 × 0.8125 / 4 7.2 A7.2 A的平均电流乘以1.7 V左右的Vf0就是12 W出头的固定损耗这部分和电流有效值无关只和你选的正向压降有关。这就是为什么在维也纳里换一颗低Vf的二极管比换一颗低Rds(on)的MOSFET往往更有效。3.3 温度修正数据手册的25℃值只能当起点前面所有公式里的Rds(on)和Vf0都是结温的函数。650 V SiC MOSFET的Rds(on)从25℃到125℃大约会涨1.4到1.6倍超结MOSFET涨得更狠能到2倍以上SiC肖特基的Vf0则会随温度上升而下降一点点但同时Rd上升。标准做法是先用25℃值算一遍得到初步的结温估计再用结温对应的参数重算迭代2到3轮。一般来说迭代到第二轮结温的变化就小于3℃了可以收敛。如果你跳过这一步直接用25℃数据出报告满载传导损耗通常会低估40%以上——这是我见过最高频的错误没有之一。4. 开关损耗从双脉冲数据到线路周期的积分4.1 每次换流的电流服从什么分布开关损耗最容易算错的地方不是Eon/Eoff本身而是到底该用多大的电流去查表。很多人的做法是用峰值电流或者用有效值两种都偏得比较远。正确的做法是开关动作在每个开关周期都会发生一共fsw次每秒这些动作沿工频周期是时间上均匀分布的不随占空比变化而每次动作时的电流等于该时刻的瞬时相电流Ip·|sinθ|。所以单相开关损耗是Psw fsw × (1/2π) × ∫[Eon(i(θ)) Eoff(i(θ))] dθ由于Eon/Eoff在工程范围内可以近似看作与电流线性上式可以化简为用平均换流电流查表I_comm_avg (1/2π) × ∫ Ip|sinθ| dθ 2Ip/π 0.637 × Ip 0.9 × Irms对这个算例就是0.637 × 35.4 22.5 A。这个化简让手算变得极其简单用相电流有效值的0.9倍去查Eon/Eoff乘以开关频率就是单相的开关损耗。注意还要再加上电感纹波带来的半个纹波量修正如果纹波峰峰值是相电流峰值的20%实际换流电流要比这个值再高10%左右。4.2 Eon/Eoff的插值与折算数据手册的Eon/Eoff曲线通常只给两三个电压点。折算法则有几条经验电压折算在母线电压固定的场合只需要用你实际的关断电压这里是Vdc/2 400 V去查表不用额外折算。这也是维也纳的一个便利之处——器件承受的电压只有一半和大多数双脉冲测试平台的400 V正好对上。门极电阻折算Eoff对Rg相当敏感大致是Rg的0.5到0.8次方关系。如果你把Rg从5 Ω改到10 ΩEoff涨50%以上是常态。所以损耗表里必须写清楚用的是哪个Rg。温度折算SiC的Eon/Eoff随温度上升的幅度比硅器件小但也不能忽略通常125℃比25℃高20%到40%。反串双管同时关断时两只管子各承担一半电压。按电压近线性折算两只管的能量之和与单管在同等电流、全电压下的数据手册值量级相当所以可以直接用单管数据做一阶估算——但必须用自己板子上的双脉冲实测数据校核因为这个近似对不同的驱动和回路寄生参数敏感度不一样。4.3 二极管的反向恢复和结电容电荷记在谁账上维也纳里D、D-在开关管重新开通的瞬间需要恢复阻断能力这部分电荷的能量必须在开关管的开通损耗里结算。用硅快恢复二极管的话Qrr在15 A、125℃下可能有100到200 nC产生的恢复电流峰值可能到十几安培除了增加开通损耗还会在换流回路上激起明显的电压过冲对EMI和器件应力都不友好。用SiC肖特基的话反向恢复基本可以忽略但它有几到几十纳库仑的结电容电荷Qc这部分同样要在开通时被搬走能量大致是Qc × V量级比硅二极管的反向恢复小但不能当作零。所以选型对比时要算的是总账| 方案 | 二极管传导损耗 | 开关管开通损耗 | EMI与应力 | 综合结论 | | SiC肖特基 | 偏高Vf约1.7 V | 低 | 好 | 高频首选 | | 硅快恢复 | 低Vf约1.0 V | 高随温度恶化明显 | 差过冲大 | 仅低频低压可用 | | 硅PiN配SiC开关管 | 低 | 中高 | 中 | 折中需实测验证 |4.4 Coss重复计算一个隐蔽但很常见的坑这是我见过最隐蔽的错误。很多人的仿真模型把MOSFET理想化成理想开关 输出电容然后单独算Coss损耗同时又从数据手册里取了Eon加进去。问题是双脉冲实测出来的Eon里已经包含了被测管自身Coss的充放电能量和续流二极管返回的电荷能量。两项一加开关损耗直接虚高20%到30%。正确的规则只有一条看你用哪套数据。用了DPT测出来的Eon/Eoff就不要再单独加Coss损耗用了理想开关模型加分离的Coss/Qc参数就不要再加数据手册的Eon。两者只能选一套。我自己做报告时会在损耗表下面明确标注数据来源避免半年以后自己都忘了。5. 一套可复现的损耗与结温迭代流程5.1 动手之前先把输入清单列全损耗算不准八成不是模型问题而是输入漏了。我现在的模板里强制包含这些项电气工作点线电压范围、母线电压、输出功率、开关频率、死区与调制方式器件参数Rds(on)对温度和电流的曲线、Eon/Eoff对电流/电压/Rg/温度的曲线、Coss/Qoss/Qc曲线、体二极管特性、栅极电荷Qg无源参数升压电感的DCR与磁芯损耗可用厂商的损耗曲线或者直接从实测反推、分裂电容的ESR与纹波电流热参数每个器件的Zth曲线结到壳、壳到散热器、散热器到环境、导热界面材料的热阻、散热器热阻辅助损耗驱动损耗Qg × Vgs × fsw × 器件数、采样电阻损耗、控制电路功耗、风扇功耗这些项里升压电感的磁芯损耗经常被漏掉但30 kW、65 kHz的场合三相电感的磁芯损耗加起来可能有30到50 W不是小数目。5.2 分段积分加迭代的具体做法我的做法是把半个工频周期分成36份每5度一份每一份内认为电流和占空比不变对每一份用瞬时电压计算占空比d 1 - M·|sinθ|用该份的瞬时电流算开关管和二极管的有效值贡献累加得总有效值和平均值用该份的瞬时电流查Eon/Eoff表累加后用fsw换算成开关损耗汇总得到每个器件的总损耗用热路网络通常用三阶或四阶Cauer/Foster网络包含器件之间的热耦合项反推每个器件的结温和壳温用新的结温更新Rds(on)、Vf0和Eon/Eoff回到第2步。36份这个粒度是我试出来的平衡点——再细收益很小再粗在过零点附近误差会明显变大因为那里占空比变化最快。5.3 实测标定的三条路算完之后必须有实测兜底我一般会用三种手段交叉验证电功率法用高精度功率分析仪同时测交流侧输入和直流侧输出直接得到总效率。优点是直观缺点是无法区分各器件的损耗只能验证总量。测量时要注意交流侧三相的功率求和精度和探头相位误差工频下相位误差对功率因数接近1的场合影响不大但仍是主要误差源。热路反推法用热电偶或者红外测得壳温和散热器温度用已知的Zth反推器件损耗。优点是能定位到单个器件这一点在验证到底是不是二极管最热时特别有用。缺点是对Zth的准确性依赖很大特别是多器件共散热器时的热耦合项。量热法把整机放进绝热箱靠温升速率反推总损耗。设备要求高但精度可以做到优于0.1个百分点适合做最终验收。我一般的顺序是先用量热法或者电功率法确定总量对不对再用热路反推法核对分配比例。如果总量对但分配错了说明热耦合项有问题如果总量都不对说明漏了某个损耗项。6. 器件选型SiC、超结MOS与二极管方案的账本对比6.1 开关管不要只看25℃的Rds(on)标称值同样是650 V、额定导通电阻30 mΩ量级SiC MOSFET和超结MOSFET在125℃下的表现差距非常大。超结器件的导通电阻温度系数比SiC差125℃时可能是25℃的2倍以上而SiC大约是1.5倍。再叠加反串双管的2倍关系同一份损耗表算出来的结果可能差出一倍。还有一点超结MOSFET的输出电容非线性非常强Coss在低压段很大这会带来额外的容性损耗和更差的轻载表现SiC的Coss曲线相对平缓高频下更占优。如果开关频率超过40 kHz我基本不会考虑超结方案。6.2 钳位二极管传导损耗决定了这里不能省回到算例单只二极管平均电流7.2 A、有效值14.7 A用1.7 V的Vf0计算单只损耗约18 W六只合计超过110 W占三相半导体总损耗的一半以上。这个数字说明两件事第一正向压降的每一个毫伏都在放大。把Vf0从1.7 V降到1.5 V六只二极管一共能省下15 W左右相当于总损耗降3到4个百分点中的0.3个点。第二钳位二极管是维也纳热设计里的真正主角。布局上必须保证它们和开关管有独立的散热路径不能因为二极管便宜就随便找个位置塞进去。6.3 组合方案的横向对比以本文算例为基准假设换流电流22.5 A、Vdc/2 400 V、65 kHz几种典型组合的量级对比如下数值为估算量级仅用于比较趋势| 方案组合 | 开关管传导 | 二极管传导 | 开关损耗 | 三相半导体合计 | 主要风险 | | SiC MOSFET SiC肖特基 | 52 W | 112 W | 45 W | 约210 W | 成本高二极管是热点 | | 超结MOS SiC肖特基 | 约110 W | 112 W | 约80 W | 约300 W | 开关管结温、轻载效率 | | SiC MOSFET 硅快恢复 | 52 W | 约75 W | 约90 W | 约220 W | 过冲、EMI、高温可靠性 | | 超结MOS 硅快恢复 | 约110 W | 约75 W | 约140 W | 约325 W | 多个风险叠加 |这张表最重要的信息不是绝对数值而是**换开关管和换二极管影响的是不同的损耗项**。如果你的散热瓶颈在开关管上优先换开关管如果在二极管上优先想办法降二极管压降。盲目地用SiC替换所有器件可能只是把热点从一处搬到另一处。7. 从损耗分布反推散热与布局7.1 多器件共用散热器时的Zth必须重新标定这是我在项目里栽过的一个跟头。用单器件的Zth曲线算出开关管结温110℃结果实测壳温就有115℃结温接近140℃。原因很简单六个器件装在同一块散热器上热源之间会相互加热单器件的Zth没有包含这部分耦合。解决办法有两个一是用有限元做一次稳态热仿真提取完整的Zth矩阵把耦合项填进热路网络二是更工程化的做法——在样机上做单点加热实验只让一个器件工作测量其余器件的温升得到耦合热阻的实测值直接填进模型。第二种方法成本低、可信度高我一直推荐给做首版样机的团队。另外器件在散热器上的排布也会影响耦合。把六个功率器件按相位交错排列每一相的两个开关管和两个二极管分散开比把同一相的器件集中放散热器表面的温度均匀性会明显改善。7.2 换流回路和中点走线维也纳有两个高频回路需要特别注意。一个是开关管、钳位二极管和分裂电容构成的换流回路回路面积直接决定了关断时的电压过冲和额外的关断损耗另一个是中点连接线它承载的是三个开关管电流之和含有丰富的高频分量走线电感大会在中点电位上激起高频振荡进而影响器件承受的电压。我的习惯做法是把分裂电容的中点用铺铜直接连到三个双向开关的汇流点尽量缩短路径每个桥臂的换流回路单独规划不要三个桥臂共用一段长走线。7.3 轻载效率变开关频率是最有效的一招前面提过轻载时开关损耗是固定成本。我试过在20%负载以下把开关频率从65 kHz降到30 kHz损耗直接降了一半左右效率提升1.5到2个百分点。代价是电感电流纹波变大需要在控制上做频率和电流纹波的协调同时要注意降频后电感不能饱和。另一种思路是进入断续模式或者打嗝模式。断续模式下可以实现谷底开通进一步降低开通损耗但输入电流的THD会变差需要根据认证要求权衡。8. 我在实际项目里踩过的坑8.1 第一个坑用单管Rds(on)算反串结构的传导损耗这个错误我在两个项目里都见过。共源反串驱动时两只管子同开同关电流串行通过两个沟道等效电阻是单管的两倍。用单管数据算出来的传导损耗直接少一半紧接着散热器选型就会偏小批量时结温超标的概率很高。检查方法很简单把你的损耗表和实测的壳温反推值对比如果传导损耗项的偏差恰好接近2倍八成就是这个原因。8.2 第二个坑热耦合导致的实际结温远超预期这个坑的隐蔽性在于单机测试时看不出来。单台样机测试时散热器温度偏低耦合效应不明显一旦装进机柜、环境温度上来耦合热阻的影响就凸显了。我的建议是首版样机阶段就做单点加热实验把耦合热阻当成必测项不要等到温升测试才发现。8.3 第三个坑中点电位不平衡造成的器件损耗不均匀维也纳的分裂电容中点电位会随着中点电流的低频分量波动如果控制不好上下电容电压会长期偏离导致部分桥臂的二极管和开关管承受的电压不对称损耗分布也随之改变。我遇到过一只二极管的壳温比同类器件高12℃的情况最后追溯到中点电位偏移在低频段没有闭环。判断方法用示波器看上下电容电压的差如果偏移超过母线电压的2%就值得调整控制策略或者加大电容容量。别只盯着总效率看单器件的温度差异才是最诚实的信号。8.4 第四个坑重复计算Coss和虚标Rg前面说过的Coss重复计算我见过一次最夸张的情况有人把Coss损耗、Eon、和二极管恢复损耗三项都加到开关管上算出来的开关损耗比DPT实测高了一倍多结果为了降损耗把开关频率从65 kHz降到40 kHz电感体积白涨了一圈。另一个相关的问题是损耗表里没写Rg值后来发现测试用的是15 Ω报告里却按5 Ω查表Eoff低估了一半。从我的经验看损耗分析这件事差异最大的一步通常不是模型精度而是数据来源的一致性和输入参数的完整性。同一份表格里温度、电压、门极电阻、测试条件必须来自同一套上下文否则算得再精细也没有意义。如果你现在手上正好有一台三相维也纳PFC在调试我建议先做一件事用红外测一遍满载稳定后每个器件的壳温分布把它和你损耗表里算出来的器件损耗排序放在一起对比。如果排序对不上先别怀疑测试设备回头查上面那四个坑基本八九不离十。