做电源调试这些年,Buck 电路是我见过翻车率最高的拓扑。原理图是参考原厂的,器件也照着 BOM 买,结果一上电,效率能掉到七十多,电感烫得不敢碰,运气差一点的,功率管直接炸。这些看起来各不相关的现象,归根到底大概率指向四个根源:电感选型与饱和、开关节点振铃、环路补偿失配、PCB 布局回路。下面把这四个点掰开揉碎讲清楚,顺便把我踩过的坑和现在常用的排查套路一并交代。
1. 四个根源先立起来:别急着换电感、换 MOS,先分清病理
很多朋友遇到效率低、电感热、炸机,第一反应就是“电感不行,换个更大的”或者“MOS 电流不够,换个大管子”。我一开始也这么干,结果换完照样烫、照样炸,甚至因为换了更大封装的 MOS,开关损耗反而更高,效率更难看。后来才明白,Buck 调试跟医生看病一样,先诊断后开药,连病理都没搞清楚就换药,大概率是白折腾。
1.1 先分清“炸机”是哪一种炸:管子炸、芯片炸还是整体糊
炸机要分清楚是炸功率 MOS、炸控制芯片,还是板子大面积烧糊。三种情况的指向完全不同。
功率 MOS 炸,重点查三件事:第一,VDS 尖峰有没有超过 MOS 耐压,也就是开关节点振铃问题;第二,有没有直通,也就是上下管同时导通;第三,热累积导致的二次击穿。控制芯片炸,很多时候是地弹或噪声耦合到 CS/COMP 引脚,导致内部逻辑混乱。大面积糊,通常不是单一器件问题,而是 PCB 布局的功率回路寄生电感太大,叠加出巨幅尖峰,把一连串器件带走。
我建议炸机之后先别急着拆板,先用万用表量一下输入电容、输出电容、MOS 三个点位的阻抗,判断烧毁路径。同时用示波器回放之前的波形,如果没有录波形,那就只能靠板子烧糊的痕迹推断,效率很低。所以后来我养成一个习惯:凡是带电调试 Buck,示波器探头的钩子永远挂在开关节点上,一有异常先按保存。这个习惯救了我很多块板子。
1.2 效率暴跌的三个环节:导通、开关、磁芯
效率暴跌不是“某个器件差”,而是损耗分布出了问题。Buck 电路主要由三块损耗组成:导通损耗、开关损耗、磁性元件损耗。如果你测到效率只有七十几,先用热像仪或点温枪看板子上哪里最烫,烫的位置就是损耗集中的地方。
- 如果 MOS 和电感线径都烫,多半是导通损耗大,电流路径上电阻太高,例如电感 DCR 偏大、MOS 导通电阻太大,或者频率太低导致纹波电流大。
- 如果只有 MOS 烫、电感不算烫,多半是开关损耗大。常见原因是开关速度太慢,例如栅极电阻太大,或者是死区时间设置不合理,导致体二极管导通时间过长。
- 如果电感磁芯烫,MOS 反而不算太烫,多半是磁芯损耗或电感饱和问题。
这里有个容易踩的坑:很多人只看输入输出电流算效率,不用功率计,误差很大。输入电流要用直流电源的显示值再叠加纹波误差,最好用高精度功率计或校准过的万用表。同时测试环境温度要统一,不然热态和冷态下的导通电阻差很多,对比没意义。
1.3 电感发烫的两种热:铜损热和磁损热
电感发烫,手一摸能感觉出两种热法:一种是“均匀的热”,整个电感外壳都热,这多半是磁芯损耗分布均匀导致的;另一种是“局部刺手的热”,可能绕组某处热,这多半是绕组铜损或局部饱和。
铜损好理解,就是 DCR 上的电流有效值产生功率损耗。磁损则更隐蔽,它来自磁芯材料在交变磁场下的磁滞损耗和涡流损耗。频率越高,磁损通常指数级上升,这也是为什么同样电感量,把开关频率从 200kHz 提到 1MHz,电感会更热的原因。
判断方法也不难:用示波器量电感电流,看纹波电流波形。如果纹波电流很大,电流波形歪歪扭扭,像被“掰弯”了一样,那就是接近饱和了。如果纹波电流正常但电感还是烫,就要怀疑磁材本身在高频下损耗过大,或者在选型时错用了低频铁粉芯磁环。
2. 根源一:电感饱和与电感量失衡——电流一上来就乱炖
电感是 Buck 的灵魂,也是翻车最多的器件。我之前做过一个 12V 转 5V、2A 输出的 Buck,抄的参考设计,电感标称 10μH、额定电流 3A,怎么看都够用。结果一上电,空载正常,一带 1.5A 负载,效率突然掉到七十几,电感烫到 90 度,输出纹波还变大。用示波器一看电感电流,波形尖得吓人,明显是进入饱和了。
2.1 电感量选型:别只看电路图上的标称值
很多工程师拿到参考设计,直接抄电感值,这是大坑。参考设计里的电感值,通常是按它的具体输入电压范围、开关频率、输出电流算出来的,你换一个输入电压、换一颗不同频率的芯片,最佳电感量可能差一倍以上。
Buck 电感纹波电流的经典公式是:
[ \Delta I_L = \frac{(V_{in} - V_{out}) \times D}{f_{sw} \times L} ]
其中占空比 (D = V_{out} / V_{in})(连续导通模式,CCM)。从这个公式能看出,电感量 L 越大,纹波电流越小;开关频率 f 越高,同样电感量下纹波也越小。但是,电感量不能盲目往大选,因为电感量大了,动态响应变慢,同时电感本身的体积和 DCR 也会变大。
一个常用的经验值是让纹波电流占最大输出电流的 20%~40%。我用的时候习惯取 30%。举一个实际计算例子:
- 输入 12V,输出 5V,最大负载 2A,开关频率 500kHz
- 占空比 D = 5/12 ≈ 0.417
- 取纹波系数 30%,则 (\Delta I_L = 0.3 \times 2 = 0.6A)
- 需要的电感量 (L = (12-5) \times 0.417 / (500kHz \times 0.6A))
- 算出来 L ≈ 9.7μH,所以选 10μH 是对的
如果你把开关频率改成 200kHz,同样条件下算出来的电感量是 24μH 左右,还抄 10μH,那纹波电流会翻一倍还多,峰值电流大增,不但效率难看,电感也会明显更热。
2.2 饱和电流留多少余量才算安全
电感饱和电流选型,我的习惯是至少留 20%~30% 的峰值电流余量,而且余量是基于整个工作范围内可能出现的最大峰值电流,不是满载平均电流。
峰值电流的近似计算:
[ I_{peak} = I_{out(max)} + \frac{\Delta I_L}{2} ]
还是上面那个例子,2A 负载,0.6A 纹波,峰值是 2.3A。如果电感饱和电流标的“典型值”是 3A,听起来好像够。但注意:很多电感规格书里的饱和电流是基于“电感量下降 30%”对应的电流,不是电感量完全不下降的电流。也就是说,你到了 3A 时,实际感量已经缩水了 30%,纹波电流已经膨胀,效率已经开始崩了。
所以我会选饱和电流至少是 1.3 倍峰值电流,也就是 3A 以上。更稳妥的做法是看电感厂家给的“额定饱和电流”曲线,确认在最大峰值电流下电感量下降不超过 10%。如果选不到合适的,就选更大封装或者更低 DCR 的电感。
还有一个低温坑:低温时磁芯材料的饱和特性会变差,有些电感在 -40 度下饱和电流可能比 25 度时低 10%~20%,如果你做车载或户外产品,这个余量必须再往上加。
2.3 电感饱和的动态表现:怎么用波形快速识别
饱和不是一个“瞬间全饱和”的概念,它是逐渐发生的。当电流超过某个临界点,磁芯进入饱和区,电感量的下降会导致电流纹波急剧增大,而更大的电流又进一步加剧饱和,形成恶性循环。
用示波器电流探头看电感电流波形,正常 CCM 模式下应该是近似三角波。饱和时,三角波的斜率会突然变陡,波形顶点出现明显尖峰,甚至变成“月牙形”。如果在 SW 节点看电压波形,饱和时 SW 节点在下管导通阶段的电压跌落会变大,同时整个 SW 波形上叠加更多的高频噪声。
一旦确认是饱和,不要只靠“换更大饱和电流的电感”解决,还要回头检查电感量是否合理。我之前有个项目,换了饱和电流 6A 的大电感,结果纹波变小了,但负载瞬态响应变差,输出在负载跳变时掉了 300mV,最后才发现是电感量选大了一倍,动态响应跟不上。所以电感量和饱和电流是两个维度,必须同时校准。
3. 根源二:开关节点振铃——效率暴跌和电压尖峰的真正推手
如果说电感饱和是“慢性病”,那开关节点振铃就是“急性病”,它既能让你效率掉一截,又能在某次不经意间把 MOS 管直接击穿。Buck 电路里,最让人头疼的波形就是 SW 节点上的高频振铃。
3.1 振铃是怎么产生的:寄生电容与寄生电感构成 LC 振荡
Buck 的开关节点本质是一个寄生参数的千层饼。上管 MOS 的漏源电容、下管 MOS 的体二极管结电容、PCB 走线的寄生电感,再加上封装引线电感,这些个寄生 RLC 网络在高频开关切换时,会被初始的电流突变激励起一个衰减振荡。
说得直白一点,上管开通的瞬间,电流在几纳秒内从零冲到几安培,di/dt 大得惊人。寄生电感上就会感应出电压尖峰,公式是 (V = L \times di/dt),哪怕寄生电感只有 10nH,如果 di/dt 达到 1A/ns,也会产生 10V 的尖峰。这个尖峰叠加在输入电压和 SW 节点的寄生振荡上,很容易超过 MOS 的额定 VDS。
而且振铃不只是影响“应力”,它还会带来额外的开关损耗。振铃期间,管子在高压大电流状态下反复开关,每一次来回都是功率损耗。所以你会看到同一个 Buck,板上振铃严重的话,效率比正常板子低 2~3 个百分点,MOS 温度也明显更高。
3.2 一个具体的振铃案例:20V 输入,开关节点尖峰冲到 38V
之前调一块 24V 转 12V 的 Buck,输出 3A,额定 VDS 是 40V 的 MOS。原理图是原厂的,布局也照参考设计画了,我觉得应该没问题。结果一上电,用示波器看 SW 节点,振铃幅度直接吓我一跳:稳态电压明明应该是 24V 到 0V 之间切换,但尖峰冲到了 38V 以上,偶尔还能看到接近 40V 的毛刺。
这已经是贴着 MOS 耐压极限跑了,温度一上来、输入电压波动一下,炸管是必然的。我当时的处理方案分三步:
- 在 SW 节点加了一个 RC 缓冲电路(snubber),R 取 10Ω,C 取 470pF,先用示波器看振铃有没有衰减。
- 把上管 MOS 的栅极电阻从 4.7Ω 加到 10Ω,稍微放慢开关速度,让 di/dt 降下来。
- 重新检查布局,压缩功率回路面积。
加完缓冲后,SW 节点尖峰降到了 28V 左右,振铃幅度明显收敛,效率反而比振铃严重时高了 1.5 个百分点,MOS 温度低了 8 度。这里面的道理是:虽然缓冲电路会消耗一部分能量,但振铃过程中浪费的能量远大于缓冲吸收的能量。
3.3 抑制振铃的手段:RC缓冲、栅极电阻、Layout
RC 缓冲是最常用的抑制振铃手段。它的原理很简单,在 SW 节点串一个电阻和电容到地,相当于给寄生 LC 振荡加了一个阻尼。
选参数的经验方法是:
- 先用示波器测振铃频率 (f_r),根据寄生电容估算寄生电感 (L_p = 1 / (4\pi^2 f_r^2 C_{parasitic}))。
- R 取特征阻抗 (\sqrt{L_p / C_{parasitic}}),一般从几欧到几十欧。
- C 取寄生电容的 2~4 倍,一般几百 pF 到几 nF。
- 实际调试时,先上示波器,从 1Ω/100pF 开始试,逐步加大,看振铃幅度和损耗的平衡点。
但要注意,RC 缓冲会增加开关损耗,频率越高越明显。如果开关频率已经到 1MHz 以上,缓冲电容得尽量小,否则损耗会吃掉效率。另一个思路是优化栅极驱动电阻,让开关速度变慢,但代价是开关损耗上升。所以栅极电阻不是越大越好,我一般习惯用它做“最后微调”,而不是主抑制手段。
真正的治本方法是 Layout:让高 di/dt 回路的面积尽量小,具体我会在后面第四个根源里展开。
4. 根源三:环路补偿与控制参数失配——能工作但乱振,效率低还炸机
电感选对了,振铃也压住了,但是输出不稳定,这个阶段最容易迷惑人。很多 Buck 板子看起来“能工作”,可是负载一加就啸叫,或者空载电压正常,一带载电压就掉一截。这些都是环路补偿失配的典型表现。
4.1 环路不稳定的三种表现
第一种:负载阶跃响应振荡。用电子负载给输出加 0.5A 到 1.5A 的阶跃,示波器看输出电压,如果出现持续衰减振荡,甚至振个不停,说明环路相位裕度不足。
第二种:轻载时输出纹波出现周期性抖动。这种抖动不是高频纹波,而是频率可能在几百赫兹到几十千赫兹之间反复的“呼吸”现象,通常发生在电感电流从 CCM 过渡到 DCM 的临界点。如果补偿网络是按满载 CCM 设计的,轻载时穿越频率变了,相位裕度也可能变差。
第三种:上电启动时电压过冲过大。启动瞬间,环路应该平稳将输出拉到设定值。如果补偿太激进,输出会冲过头,冲得高甚至可能打坏负载。
这里要强调:不是所有 Buck 芯片都需要外置补偿,很多 PMIC 是内部补偿,你没法调。但内部补偿芯片依然需要你正确选择输出电容和电感来匹配它,否则照样不稳定。这也是很多“照着原图抄但换了电容”导致翻车的原因。
4.2 常见补偿网络参数选择方法:从类型II到类型III
对于外置补偿的 Buck,最常见的是 Type-II 补偿网络,也就是一个电阻 (R_{comp})、一个电容 (C_{comp}),再用一个小电容 (C_{high}) 与 (R_{comp}) 并联。Type-II 能提供约 90 度的相位提升,对大多数 Buck 够用。
我的设计经验是:
- 把环路穿越频率设为开关频率的 1/10 到 1/20。比如 500kHz 开关频率,穿越频率取 25~50kHz。
- 相位裕度目标做到 45 度以上,最好是 60 度。
- 先根据输出电容和负载确定功率级极点,再计算补偿电容电阻。这个计算过程,每个人习惯不同,我喜欢用仿真工具验证,但不完全信工具,一定要在实物上做负载阶跃测试。
Type-III 也就是多加一个零点,常用于输出电容是陶瓷电容、等价串联电阻 ESR 很小,导致功率级相位延迟较大的情况。如果你发现 Type-II 无论怎么调,相位裕度都不够,那就考虑 Type-III。
不过说实话,很多项目的环路问题,不是补偿参数有多难算,而是“算完了没实测”。补偿网络元件的容差、PCB 寄生参数,都会让理论穿越频率偏离很多。所以我的原则是:仿真算初值,实测定终值。
4.3 CCM/DCM 切换时的环路“变脸”
这个坑我印象太深了。之前调过一个轻载效率要求很高的 Buck,特意选了轻载自动进入 DCM 的芯片。空载时效率确实漂亮,但空载到 0.1A 负载切换时,输出电压出现了低频振荡,电感还发出吱吱的声音。
原因在于:DCM 下,Buck 的开环增益特性跟 CCM 差别很大。CCM 下功率级有一个双极点,DCM 下变成了单极点,相位行为完全不同。如果内部补偿是按 CCM 优化的,DCM 下环路可能振荡。或者是芯片的轻载模式切换阈值附近有跳变。
解决思路:
- 检查芯片的轻载模式切换阈值,避免负载长期落在阈值附近。
- 如果是外置补偿,按 DCM 条件重新核算相位裕度。
- 实在不行,关闭轻载省电模式,换成强制 CCM,或者加入一个最小负载电阻。
很多工程师一听到“电感啸叫”就先怀疑电感本身质量问题,其实大多数啸叫根源在环路。电感只是把电流变化变成声音的“扬声器”而已。
5. 根源四:PCB 布局与地回路——九成炸机发生在这里
前面三个根源都跟器件选型和电路参数有关,但真正让很多板子“一上电就炸”的,是 PCB 布局。我见过不少设计,原理图完美、器件也是好料,布局却犯了大忌,结果调试一次炸一次。
5.1 高频电流回路面积为什么会致命
Buck 电路里有一个“高频电流回路”,输入电容、上管、下管、电感、输出电容之间形成的环路。这个回路里的电流不是平滑的直流,而是被 MOS 开关刀切出来的脉冲电流,波形里有非常丰富的高频分量。
如果这个回路面积太大,就相当于一个大的环形天线,一方面向外辐射电磁干扰,另一方面自身会产生很大的寄生电感。寄生电感在高频电流突变下感应电压,直接叠加在 MOS 的 VDS 上。这就是为什么输入端明明有 100μF 电解电容,开关节点还是会有几十伏尖峰——因为电解电容本身的寄生电阻和寄生电感太大,高频下根本不起作用。
正确的做法是:在 MOS 管旁边紧贴一个小容量的高频陶瓷电容,比如 0.1μF 或 1μF,用于吸收高频突变电流。这个电容离 MOS 越近越好,最好几毫米之内。同时输入电容的地要跟下管源极的地直接短接,中间不要穿过任何过孔或细走线。
5.2 接地点怎么走:功率地、信号地、控制地分开
新手最容易犯的错误,是把所有地都连成一片,觉得反正都是 GND。听起来没问题,实际上一旦有几百毫安的脉冲电流流过地平面,地平面上的不同位置之间就会形成压差,这个压差会让控制芯片的参考地“浮动”,轻则导致采样偏大偏小,重则让芯片逻辑紊乱。
我的布局习惯是:
- 功率地:承载输入电容、输出电容、下管源极的高频脉冲电流,走线要短、宽,最好是整块地平面。
- 信号地:控制芯片的 AGND、COMP、FB 等模拟地,从功率地单独拉一根细线到芯片附近,避免噪声串入。
- 两个地先在芯片的电源地引脚处汇合,也就是“单点接地”思想。
用开尔文连接法去理解:把功率电流路径和采样信号路径在物理上分开,只在某一点交汇。这样虽然参考地还是同一个,但采样路径不会受到功率路径压降的干扰。
5.3 从布局上预防炸机的几个硬规矩
这里总结几条我踩过坑之后总结出的硬规矩:
- 输入电容和输出电容的位置,要让高频回路形成“最小包围面积”。最好成对出现在 MOS 两侧,而不是隔着整个板子对角放置。
- 开关节点的铜皮不要铺太大,否则会增大寄生电容耦合。但也不能太细,因为要走满载电流。我一般是让 SW 走线短且尽量宽,但不要延伸出不必要的铜皮。
- 栅极驱动走线要短而粗,最好远离 SW 节点,防止驱动信号被干扰。
- 芯片下方的热焊盘如果是往功率地打的,要注意过孔会不会在信号地之间形成环路。
- 高边 MOS 的漏极到输入电容正极的走线,这一小段尤其重要,因为它的寄生电感直接决定 VDS 尖峰。有条件的话,用铜皮或大的过孔阵列连接。
这些规矩听起来都很简单,但真的去画板时,很容易被“电容放这里会不会妨碍走线”这种想法带偏,导致功率回路绕了一大圈。现在我画 Buck 布局时,会先把高频环路在布局图上画出来,把路径上的所有器件位置标好,然后再去考虑其他信号走线,顺序不能反。
6. 上电调试请一定按这个顺序来,别直接满把电压怼上去
最后一个环节,也是所有经验里最想推荐的:一套不会让你屡炸屡换的调试流程。
6.1 上电前花 10 分钟做静态检查
我每次拿到新板子,第一件事不是接电源,而是拿万用表量关键点阻抗。输入端的阻抗、输出端的阻抗、SW 节点对地的阻抗、各个 MOS 的 G-S 和 G-D 阻抗,先用蜂鸣档大概看看有没有短路。如果有短路,直接排查,别急着上电。
然后把输入电源的限流设成预期电流的 1/2 或更低,电压慢慢往上加。不要一上来就拉满载,也不要一步把电压拉到 24V 甚至更高,可以先从几伏开始,让芯片输出电压建立起来,示波器检查 SW 节点波形,确认没有异常振铃再往上加。
6.2 带载测试要阶梯式拉载
上电正常后,开始带载。我的习惯是从空载开始,然后按满载的 10%、25%、50%、75%、100% 逐步加。每加一档,观察输出电压、SW 波形、电感温度和 MOS 温度。如果某一档出现效率突然下降、波形畸变、电感发烫,就停在这一档排查,把这一档的工作条件固定下来,记录完整。
很多人喜欢直接一上来就满载测试,省时间,但一旦炸机,损失的可不止时间,可能连板子都没了。而且你没有中间档位的波形数据,根本定位不了是哪一段电流下出现了饱和或振铃。曾经有一次,我就是在 50% 负载档发现电感电流波形开始出现异常扭曲,及时停下来换了电感,避免了后面满载时的炸管。
6.3 最后说个我一直用的土办法
现在我调试 Buck,身边常备三样东西:一台带宽足够的示波器、一对短地弹簧探头、一个热像仪或点温枪。示波器看波形,短地探头是为了避免普通探头的地线过长引入额外的振铃,导致波形失真;点温枪用来扫板子上的热分布。
我个人体会是,Buck 调试百分之八十的问题都能通过看两个波形暴露出来:SW 节点波形和电感电流波形。如果这两个波形干净且符合理论预期,效率基本不会太差;如果波形上有振铃、畸变、毛刺,那你再怎么调补偿、换器件,都只是在掩盖症状。所以我现在的调试习惯是“先用示波器对话,再决定要不要动烙铁”。这个思路帮我省了太多冤枉路,也把炸机率降到了极低。