ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

手把手拆解Buck电路:原理、参数计算、小信号模型与实测调试全流程

手把手拆解Buck电路:原理、参数计算、小信号模型与实测调试全流程 做电源这几年我见过太多人卡在同一个地方Buck电路背了一堆公式真到自己画板子、选电感、调环路的时候还是懵。原理上Buck真的不难难的是从原理到参数的落地尤其是小信号模型这一块书本上一句话就带过去工程里却卡住很多人。这篇文章我打算把Buck电路从原理、器件计算、实测再到小信号模型搭建全流程拆一遍重点讲清楚那些资料里经常一笔带过、但实际开发里又特别关键的细节。无论你是刚入门电源的硬件工程师、做嵌入式想深挖DC-DC的开发者还是靠Buck做毕设的学生按照这篇内容的顺序走一遍至少能把设计、仿真、实测之间的链路串起来少走不少弯路。1. 设计前先想清楚Buck到底在干什么1.1 能量搬移的本质Buck电路的官方名字叫降压斩波器但它的本质其实不是“把电压降下来”而是把输入端的能量周期性地搬给输出端。你可以把它类比成一个水管系统开关管是阀门电感是带惯性的水轮二极管或低边MOS管是水流的单向通道输出电容是蓄水池。阀门开的时间越长平均水位输出电压就越高阀门关掉之后水轮还会凭惯性继续推水保证负载不断流。输出电压的平均值主要取决于开关管导通时间占整个周期的比例也就是占空比D。在电感电流连续CCM模式下理想情况下满足Vout ≈ D × Vin这个式子非常简洁但工程里要注意它忽略了开关管导通压降、二极管压降、电感直流电阻等因素。比如12V转3.3V占空比大约0.275这没有问题但如果输入电压很低、输出电流很大器件压降带来的误差就可能变得不可忽略这时候需要用更完整的公式反推占空比。为什么要用Buck而不是直接用线性稳压器对比一下就明白了。同样是12V转3.3V、2A输出线性稳压器上的压差是8.7V功耗为8.7V × 2A 17.4W这在任何实际产品里都是不可接受的。Buck电路则不同理想情况下损耗几乎为零实际做到90%以上效率总损耗也就0.7W左右。所以Buck在需要降压的场合几乎是绕不开的选择。1.2 动手前先锁定的核心指标很多新手一上来就翻芯片数据手册结果被各种参数淹没。我的习惯是先明确设计目标再做器件选型。需要提前锁定的指标至少包括参数作用典型示例输入电压范围决定占空比范围、MOS耐压9V~16V标称12V输出电压与精度决定反馈分压电阻、基准电压要求3.3V±2%最大输出电流决定电感、MOS、负载能力2A瞬态0.1A~2A开关频率直接影响电感体积、纹波、损耗500kHz输出纹波目标决定输出电容和电感纹波电流设计≤33mV1%效率目标决定散热方案和拓扑选择≥85%开关频率的选择值得多说两句。频率越高需要的电感量越小、瞬态响应越快但开关损耗也会上升而且对PCB布局更敏感频率越低效率通常更好但电感体积明显变大。消费类和工业控制里400kHz到2MHz是比较常见的区间。如果你不确定选多少先从500kHz入手上手难度最低器件选择也最多。1.3 CCM与DCM选型前必须分清楚Buck电路有两种典型工作模式CCM电感电流连续和DCM电感电流断续。判断标准很简单看电感电流在一个开关周期内有没有降到零。临界条件是电感电流的平均值等于纹波电流峰峰值的一半。设ΔIL为电感纹波电流那么临界负载电流Iedge ≈ ΔIL / 2。当负载电流大于Iedge时CCM小于Iedge时DCM。为什么一定要分清模式因为CCM和DCM在占空比表达式上完全不同。CCM下Vout ≈ D × VinDCM下输入输出增益关系变得复杂还和负载、电感量、开关频率有关。更关键的是小信号模型也不一样。CCM下的控制到输出传递函数是一个典型的LC二阶系统相位滞后严重DCM下电感电流在每个周期从零开始输出特性更接近一阶系统相位滞后小很多补偿起来相对容易。很多人选电感时没有确认设计目标结果轻载时电路从CCM跳到DCM环路特性跟着变化就可能出现输出抖动、啸叫之类的问题。所以设计最开始就要明确是希望在所有负载范围内保持CCM还是允许轻载进入DCM。这个决定会直接影响后面的电感选型和补偿设计。2. 原理拆解开关节点波形与电感电流2.1 四个核心器件各司其职Buck电路看起来简单但每个器件都有自己不可替代的作用。开关管负责把直流输入斩波成方波。它工作在开关状态而非线性状态这就是效率高的根本原因。电感在开关管导通时储存磁能在开关管关断时释放磁能它的核心作用是维持电流连续。输出电容负责吸收电感电流的纹波同时为负载提供瞬态电流。续流器件在开关管关断时给电感电流提供回路可以用二极管也可以是一个低边MOS管。使用二极管续流的方案叫非同步Buck。非同步结构简单、成本低但二极管的正向压降带来的损耗不可忽视。比如输出电压只有3.3V、占空比0.275时续流时间占了整个周期的72.5%一个0.4V压降的肖特基二极管在这段时间里持续产生导通损耗效率很难做高。使用低边MOS管的方案叫同步Buck用导通电阻较小的MOS替换二极管低压大电流场景下效率优势非常明显。现在的集成Buck芯片绝大多数都是同步整流方案外部分立器件方案则两者都有。2.2 SW节点波形是最好的调试入口如果你只会测一个波形来了解Buck电路的状态那一定测SW节点。SW是开关管和电感之间的连接点同步Buck中高边MOS导通时SW接近VIN高边关断、低边导通时SW接近0V整个波形就是一个方波。非同步Buck中续流二极管导通时SW会被钳位到负压大约是-0.4V到-0.7V。通过SW波形能很快判断电路是否在正常工作。首先是占空比CCM下D应该接近Vout/Vin如果偏差很大说明回路压降异常或者芯片已经进入了限流保护。其次是波形边沿如果上升沿和下降沿有明显振铃说明功率回路的寄生电感太大后续需要从Layout上缩小环路面积或者加RC吸收网络。反复看SW波形你会逐渐建立对Buck电路工作状态的直觉这是仿真给不了的实战经验。这里必须提醒一点测SW节点波形时示波器探头一定要用接地弹簧不要用那根又长又细的接地夹子。接地夹子会引入额外电感测出来的振铃会比实际严重得多容易误导排查方向。这个细节实测时踩坑率极高。2.3 电感电流用公式看穿纹波的本质电感电流是整个Buck电路中最重要的一个物理量。在一个稳定工作的CCM Buck电路里电感电流波形是一个三角形波直流平均值等于输出电流叠加一个峰峰值为ΔIL的纹波。通过电感的基本公式V_L L × di/dt可以推导出ΔIL (VIN - VOUT) × D / (fSW × L)这个公式非常关键。它告诉我们几个重要结论输入输出电压差越大纹波电流越大开关频率越高纹波电流越小电感量越大纹波电流越小。而且ΔIL只代表三角形波上下波动的幅度不代表负载电流本身电感电流的峰值是Iload ΔIL/2。理解这一点后再去选电感就不会被网上零散的说法带偏。设计时我们先确定允许的纹波比例再反推需要的电感量。后面的实战计算部分会把这套流程完整走一遍。3. 实战计算12V转3.3V的完整设计过程3.1 电感选型先定纹波系数再算感值一切从规格开始。我们设计一个12V输入转3.3V输出、最大2A的Buck电路开关频率取500kHz输出纹波目标1%。第一步确定ΔIL。经验上把ΔIL设计在输出电流的20%~40%之间取中间偏上一点的0.4也就是0.8A。为什么是这个范围纹波系数太小意味着电感量很大体积和成本上升纹波系数太大则电感和电容压力都大峰值电流过高也会影响MOS和电感的选择。第二步占空比D Vout / Vin 3.3 / 12 0.275。第三步反推电感量L (VIN - VOUT) × D / (fSW × ΔIL) (12 - 3.3) × 0.275 / (500kHz × 0.8) ≈ 5.98µH取标称值6.8µH。用6.8µH反推实际纹波电流ΔIL (12 - 3.3) × 0.275 / (500kHz × 6.8µH) ≈ 0.70A实际纹波约为输出电流的35%在整个20%~40%设计区间内合理。此时电感电流峰值Ipeak Iout ΔIL / 2 2 0.35 2.35A第四步选择电感时饱和电流Isat必须留足余量。一般取峰值电流的1.2~1.5倍这里至少选Isat ≥ 3A以上的一体成型电感。注意额定电流这个参数在不同厂商规格书里定义不一样有的标饱和电流有的标温升电流。必须确认看的是饱和电流否则满载附近磁芯一旦饱和电感量迅速下降电流失控后果很可能是烧芯片。为了方便批量算参数我写了一个简单的Python脚本可以直接替换数字# Buck 电感快速估算 vin 12.0 vout 3.3 iout 2.0 fsw 500e3 ripple_ratio 0.4 # 纹波系数 0.2~0.4 d vout / vin dil ripple_ratio * iout L (vin - vout) * d / (fsw * dil) ipeak iout dil / 2 print(fD{d:.3f}, dIL{dil:.2f} A, L{L*1e6:.2f} uH, Ipeak{ipeak:.2f} A)3.2 输出电容纹波不是单靠加大容量就能解决输出电容主要干两件事第一是抑制输出电压纹波第二是提供负载瞬态电流。纹波来源主要分两部分。第一部分是ΔIL对电容充放电造成的电压变化第二部分是ΔIL流过电容ESR产生的电压降。工程上使用低ESR的陶瓷电容时第一项占主导使用电解电容时第二项往往才是纹波超标的元凶。按目标纹波33mV、ΔIL 0.70A计算单纯由充放电引起的所需容量大约是Cout_min ΔIL / (8 × fSW × ΔVout) 0.70 / (8 × 500kHz × 0.033) ≈ 5.3µF这个数学结果看起来不大实际选择时却要多想一步。一只22µF/10V的X5R陶瓷电容在加载5V直流偏压后实际容量可能只有标称的50%~60%也就是11~13µF。所以我会直接选两只22µF并联总容量约24µF偏压后留出足够余量。如果你选的电容ESR偏高还要单独计算ESR纹波是否超限不能只盯容量。瞬态响应方面当负载从0.1A跳到2A时输出电压跌落幅度与输出总容量和环路响应速度有关。容量大跌落小但也要注意容量过大会拉低LC双极点频率给环路补偿增加难度。输出电容从来不是“越大越好”而是“够用且符合环路需求”。3.3 同步整流与非同步的选择同步和非同步的取舍最终落脚点是损耗和成本。接前例非同步方案用一个压降0.4V的肖特基二极管续流时间占比约72.5%仅仅二极管的导通损耗就约0.58W。换成同步整流方案用Rdson为50mΩ的低边MOS续流导通损耗约0.145W同时高边MOS也有相应损耗但整体效率提升3~5个百分点是很常见的。对低压大电流输出同步整流优势非常明显对高压小电流、成本敏感的场合非同步方案反而更实用。设计时不需要盲目追求同步先把负载电流和散热预算列出来再算一笔账答案就很明显。选择同步Buck芯片时要注意死区时间和自举电容。死区时间过长低边MOS体二极管导通时间变长效率下降死区过短又可能造成高低边同时导通直接短路炸管。所以集成芯片内部的死区控制逻辑很重要选型时优先选成熟大厂的方案不要为了省几毛钱去赌一个来路不明的兼容料。3.4 外围电路与反馈分压计算具体到实际电路假设你选了一颗集成同步Buck芯片数据手册给出的基准电压Vref 0.6V。输出电压3.3V时反馈电阻分压关系为Vout Vref × (1 R1 / R2)所以R1 / R2 3.3 / 0.6 - 1 4.5。取R2 10kΩ则R1 45kΩ。实际选44.2kΩ或45.3kΩ标准阻值即可输出电压误差可以控制在目标精度内。这里有个经验点反馈电阻不要选太大几十kΩ级别就够了。如果R1/R2都是几百kΩ一是容易引入噪声二是芯片内部基准偏置电流会在电阻上产生额外压降导致输出电压与计算值偏差变大。太小也不行反馈分压网络会白白消耗多出来的静态功耗。几十kΩ是一个两边都舒服的区间。输出端的电容布局也有讲究。输出电容要尽量靠近芯片的反馈检测点反馈线从输出电容两端单独走线不要直接从电感焊盘拉出去。很多新手板子输出电压噪声大、纹波高不是原理图问题而是反馈采样位置不对把功率路径上的噪声采样回来了。这种问题在实操里比想象中常见得多。4. 小信号模型这样搭又快又准4.1 小信号模型到底解决什么问题先回答一个很多人疑惑的问题做小信号模型到底有什么用Buck电路是闭环系统输出通过反馈分压送到误差放大器再通过PWM调制控制占空比。这个环路如果设计不好轻则动态响应差重则直接振荡。小信号分析就是在线性化的工作点附近用传递函数描述“扰动到输出”“输出到占空比”这些关键路径进而判断环路稳不稳定、穿越频率在哪里、相位裕度够不够。如果说开关瞬态仿真是在看电路“能不能工作”那小信号分析就是在看电路“能不能稳定工作”。对电源产品来说稳定性是硬指标不是可有可无的加分项。上板后测量环路虽然可行但改板成本和调试成本都很高。先在小信号模型里把补偿网络设计好再上板验证效率会高很多。4.2 CCM Buck的关键传递函数与物理含义电压模式控制的CCM Buck控制到输出的传递函数Gvd(s)近似为Gvd(s) Vin × (1 s / ω_ESR) / (1 s / (Q × ω0) s² / ω0²)其中ω0 1 / √(L × Cout)是LC滤波器双极点频率Q ≈ Rload × √(Cout / L)是品质因数ω_ESR 1 / (ESR × Cout)是输出电容ESR引入的零点这个传递函数说明了一件核心的事情Buck的功率级本质上是一个LC二阶低通滤波器。在LC双极点频率附近增益曲线以-40dB/dec的斜率下降相位同时大幅滞后。如果不在补偿网络里加零点去抵消这个相位滞后闭环后很容易在穿越频率附近出现相位裕度不足导致系统不稳定或瞬态性能差。峰值电流模式控制则完全不同。它内环多了一条电感电流反馈把电感变成一个受控电流源从控制到输出的传递函数从二阶系统退化成近似一阶系统补偿难度大幅下降。这也是为什么现在绝大多数电源芯片都采用峰值电流模式或类似架构。代价是峰值电流模式存在次谐波振荡问题当占空比超过50%时需要斜坡补偿选型时要关注芯片是否已经内置了足够的斜坡补偿量。4.3 仿真里搭建平均模型的具体步骤真正到了仿真环节很多人会犯一个典型错误直接对整个开关电路跑AC扫描。这种做法在原理上是有问题的因为开关动作是强非线性过程小信号扰动的前提已经不具备了。正确做法是搭建开关网络的“平均模型”。平均模型的核心思想是在一个开关周期内把开关管的导通/关断行为平均成一个受控源。具体搭建步骤可以这样理解第一步把功率级中的开关管、二极管或低边MOS去掉用等效受控源表示它们的平均行为。输出回路放一个受控电压源电压等于D × Vin输入回路放一个受控电流源电流等于D × IL或者直接用可控变压器模型表达。第二步保留电感、输出电容含ESR、负载电阻这些线性元件。第三步对占空比D施加一个很小的交流扰动做AC分析直接扫出Gvd(s)的幅频特性和相频特性。无论你用LTspice、Simplis还是Simulink思路是通用的。搭建完成后的第一件事不是看增益曲线而是检查直流工作点。给D赋一个固定值比如0.275运行瞬态仿真或者DC工作点分析看输出电压是否等于D × Vin电感电流是否接近输出电流。如果工作点都不对后面扫出来的传递函数全是垃圾调补偿参数也是白调。另外提醒一点仿真中扰动幅度要足够小。占空比扰动幅度建议控制在1%以内甚至更小否则整个AC分析的线性化前提被破坏结果会偏离实际。如果你不想完全手写平均模型在LTspice里可以搜索现成的PWM开关宏模型或者使用支持周期平均法的仿真器。这能省不少建模时间但你还是得理解背后的原理否则遇到仿真结果和实测对不上时很难定位是模型问题还是真实电路问题。4.4 环路补偿设计的几个关键数字补偿网络设计的起点是两个频率LC双极点频率和穿越频率。以前面12V转3.3V、L 6.8µH、Cout 24µF为例f_LC 1 / (2π × √(L × Cout)) ≈ 395Hz穿越频率fc一般取开关频率的1/10到1/5也就是50kHz到100kHz之间。穿越频率定得越低系统越稳定但动态响应越慢定得越高响应越快但对噪声和Layout越敏感。首次设计推荐取1/10开关频率也就是50kHz先把稳定性做出来。电压模式控制下LC双极点在相位上造成严重滞后所以Type II补偿网络必须在LC频率附近放一个零点用来抬升相位。高频极点放在开关频率的一半左右用来压制高频噪声、提高抗干扰能力。如果非要给一组示例参数比如反馈下电阻10kΩ上电阻44.2kΩ补偿网络取R120kΩC12.2nFC2100pF这只是一个供参考的起点不是可以直接照抄的标准答案。因为不同芯片的误差放大器增益带宽、不同电感电容组合都会改变环路增益。正确流程是搭好平均模型和补偿网络用AC扫描观察增益曲线是否在fc处穿越0dB、相位裕度是否在45°到60°之间再回头调整R、C参数。仿真迭代几分钟比上板后反复改焊接快得多。5. 板子到手实测波形和常见问题排查5.1 上电前的检查清单拿到调试板不要急着直接给额定电压上电。先花两分钟做一遍目测和万用表检查能避免一大半“炸板事故”。检查项操作合格标准输入输出短路万用表蜂鸣档无短路输出电容极性目视不反接电感焊接目视/阻抗焊点正常、无桥连电感饱和电流看规格书Isat ≥ 3ASW节点对地阻抗万用表电阻档无明显短路可调电源限流设500mA限流电流不剧增第一次上电务必使用可调限流电源把限流值设到预期工作电流的1/3左右再缓慢升压。如果发现电流大幅度超过预期立刻断电不要反复尝试。很多芯片损坏其实就发生在反复盲目上电的过程里。5.2 常见异常波形与排查思路上电后如果电路不工作或者波形看起来不对按照下面这个表排查效率最高。现象可能原因排查建议SW上升沿振铃过大功率回路面积太大寄生电感和电容谐振缩小Layout环路加RC吸收或磁珠空载/轻载啸叫突发模式或PFM频率落入音频范围检查模式配置更换突发频率更高的芯片输出低频振荡环路相位裕度不足降低穿越频率调整补偿零点占空比抖动输入电压波动大或环路不稳接稳定电源观察SW波形和负载变化关系启动过冲过大软启动时间太短或补偿太慢查看软启动电容调整补偿网络满载电压跌落输出电容容量不足或环路带宽偏低增大输出电容提高穿越频率这里特别聊一下“电感啸叫”。很多人一听到啸叫就认为是电感质量差其实不全是。磁性元件的啸叫本质是某个交流分量落在了人耳可听频率范围内可能是轻载突发模式频率太低也可能是环路振荡导致占空比周期性抖动。甚至一些多层陶瓷电容在PWM频率的驱动下会产生压电效应发出可闻噪声。所以排查啸叫先看SW波形的包络确认有没有低频周期性调制再决定是换电感、调模式还是改补偿。5.3 效率测试与损耗拆解效率是Buck设计绕不开的指标。粗测效率很简单输入端用电压表并联、电流表串联测输入功率P_IN输出端同样测P_OUT效率就是P_OUT / P_IN。要注意测量点尽量贴着板端输入输出端子不要用长导线否则导线压降会让效率数据失真。测出来的总损耗可以进一步拆解帮助你找到优化方向。Buck的主要损耗来源有四个部分开关管导通损耗与占空比、导通电阻和电流平方成正比。开关损耗由开通关断过程中的电压电流交叠产生频率越高越严重。门驱动损耗与栅极电荷、驱动电压和开关频率相关。电感损耗包括铜损和磁芯损耗大纹波电流下磁芯损耗会明显上升。举个例子如果实测输出3.3V/2A效率88%输入功率约7.5W总损耗约0.9W。通过估算发现导通损耗只有0.15W那剩下的0.75W大概率来自开关损耗和电感损耗。此时可以尝试降低开关频率或者换成栅极电荷更小的MOS再测一次效率看变化是否明显。带着损耗分解的思路去调试会清晰很多。6. 写在后面布局和经验教训文章最后不讲大道理分享几个我自己踩过、也见过很多人重复踩的坑。第一个坑是反馈采样线走线随意。早年间我做一块Buck板输出纹波始终很大怎么调补偿都没用最后发现是反馈走线被功率电感的正下方穿过磁力线直接在采样线上感应出噪声。改成从输出电容两端单独走一对线回芯片后问题立刻消失。任何高速开关电源电路里采样路径都要和功率路径分开。第二个坑是电感选型只顾DCR不看饱和电流。有一块板子满载测试几分钟后芯片过热查来查去才发现电感在额定电流附近已经接近饱和纹波电流急剧上升最终把芯片拖着过热。所以要反复强调一遍电感不仅要看DCR和尺寸更要确认Isat有足够余量特别是做低成本、大电流方案时。第三个坑是对小信号模型期望过高或过低。模型、仿真和实测三者永远不可能完全重合因为仿真里没有PCB寄生参数、没有温度漂移、没有器件公差。但我仍然强烈建议先在模型里做一遍补偿设计因为它能帮你快速建立直觉知道某个电容电阻大概怎么改会往哪个方向走。模型和实测对不上的时候去查布局和器件差异往往比盲调补偿更容易找到根因。最后再分享一个小技巧完成板子以后买一个入门级的环路分析仪或者用注入变压器在反馈电阻上做扫频直接测闭环波特图。把实测的穿越频率和相位裕度跟小信号模型的预测放在一起对比几次之后你对建模精度的把握会明显提升。电源设计从来是理论加实测两条腿走路先算再仿真最后上板验证每一步留好记录遇到问题往回翻基本都能快速定位。希望你手里这块Buck板一次点亮。
返回列表