
把VIPER22A拿来当BUCK用我一开始也觉得是“邪路”。这颗芯片最常见的身份是洗衣机、冰箱控制板里那个十几瓦的隔离反激待机电源5V、12V都干过很少有人真把它当成BUCK降压控制器用。但这并不意味着它不适合——我这次的目标很明确输入85~135VAC输出12V/1.25A总共15W的非隔离电源板子放在电控箱里给继电器、风扇和单片机供电负载地和电源地必须共地不要变压器成本压到最低。这是典型的“用VIPER22A做非隔离BUCK”场景整个过程下来我在占空比、续流二极管、VDD自供电和反馈补偿上踩了不少坑最后都一一解决了。这篇文章会把从元件选型、电感计算、PCB布局到上电调试的完整链路写出来。如果你的应用也是“不需要隔离、空间又紧、又要从整流后的高压母线直接降压”那这篇应该能帮你少走不少弯路。尤其最后那部分关于占空比极限的讨论强烈建议你在确定方案前先看一遍。1. 为什么选VIPER22A做非隔离BUCK而不选普通降压IC1.1 VIPER22A到底是什么定位VIPER22A是ST推出的一颗离线电源控制芯片内部集成了高压功率MOSFET、PWM控制器、高压启动电流源、逐周期限流和过温保护。它被归类为“原边反馈SMPS控制器”大多数时候工作在反激拓扑里用来做隔离电源。但因为它内部的高压MOSFET能直接承受整流后的母线电压所以它也能工作在非隔离BUCK拓扑里。这颗芯片最吸引人的地方在于不需要额外的MOSFET驱动电路不需要辅助绕组专用的启动芯片只要给VDD电容充电到启动阈值它就能自己从DRAIN引脚拉高压电流启动。这意味着整个电源只需要一颗IC加一颗电感、一颗续流二极管、几个电容和电阻就能搭起来BOM非常精简。我需要提醒一下不要只按“反激15W”这个指标去套一切拓扑。VIPER22A在数据手册里给的15W等级通常是指在反激拓扑、宽电压输入、自然散热条件下的参考值。同样一颗芯片放到BUCK里面由于占空比限制和电压应力差异能稳定输出的实际范围可能完全不同——这正是本文后面要重点讨论的。1.2 与VIPER12A、普通DC-DC芯片的差异很多人在选芯片时会在VIPER12A和VIPER22A之间犹豫。两者是同系列封装和引脚逻辑类似主要差异在内部功率管和电流限流能力。我给一个简化对比表具体数值以你手头手册为准项目VIPER12AVIPER22A普通DC-DC BUCK芯片如MP2307内部功率管耐压700V级700V以上多为30V~60V最大漏极电流限制约1.7A约3.3A取决于芯片多为2A~5A典型开关频率60kHz60kHz100kHz~2MHz输入电压适应能力可直接接整流后高压母线可直接接整流后高压母线通常不能超过60V典型反激功率约8W约15W不适用是否需要辅助绕组供电是是否直接用输入电压反馈方式FB脚电流/电压控制FB脚电流/电压控制多为电压模式或电流模式FB引脚从表里能看出来普通DC-DC BUCK芯片无法直接用在220VAC整流后的310VDC母线上面这是选VIPER22A最直接的理由。和VIPER12A相比VIPER22A的电流限流更高在15W这个功率等级上留的余量更足。1.3 非隔离BUCK的边界在哪非隔离BUCK最大的好处是省掉高频变压器。变压器在反激电源里不仅贵还占据体积绕制一致性也是批量生产的痛点。改成电感以后成本一下子下来了PCB也能做得非常小。但它的代价也很明显第一输入和输出之间没有电气隔离输出地其实就是整流桥的负极属于“热地”人在触碰到输出地线时存在触电风险所以这类电源必须放在有绝缘防护的机箱或面板内部不能像手机充电器一样直接裸露。第二BUCK的占空比等于输出电压除以输入电压在高压输入的场景下占空比会非常小这对芯片的最短导通时间提出了很高要求。第三如果后续后端负载对噪声和纹波很敏感非隔离方案的共模干扰处理也要多花心思。我在这个项目里选择的场景是电控板内部的继电器、风扇和控制电路供电电源地和单片机地本来就要连在一起隔离需求为零所以非隔离BUCK是合理的。如果你要做的是人机交互外壳的手持设备那请老老实实上隔离反激不要为省一个变压器把安全底线搭进去。2. 主电路搭建12V/1.25A的元件选型与计算2.1 主功率链路长什么样说白了就是一句交流经过整流桥变成脉动直流滤波电容平波以后接到VIPER22A的DRAIN脚DRAIN脚再接到BUCK电感到输出端续流二极管压在DRAIN脚和地之间输出电容滤波后直接带负载。具体到板上我是这样走的AC输入火线经过保险电阻和热敏电阻后进整流桥整流桥正输出接输入电解电容C_in电容正极同时接VIPER22A的DRAIN脚。DRAIN脚引出后接BUCK电感L1L1另一端就是输出正极。续流二极管D1的阴极接在DRAIN脚和L1的连接点阳极接输出地。输出电解电容C_out跨接在输出正和地之间。反馈网络从输出正取电压分压后进FB脚VDD则通过一颗二极管和限流电阻从输出正取电。这个结构里最关键的一点是输出地和整流桥负母线是同一个电位节点。这和普通反激电源的地线完全不一样——普通反激的辅助绕组和次级绕组可以各自独立而这里的输出负直接就是整流后的公共地。所以整块板上所有“地”都是热地测量和调试时必须特别注意。2.2 电感感量不是越大越好BUCK电路的电感直接决定电流连续模式和峰值电流。我设计的输入范围是85~135VAC取一个满载下的保守母线电压值来做计算。先说公式临界连续电感L_crit Vout × (1 - D) / (2 × Iout × fsw)其中D Vout / Vin。以Vin125VDC、Vout12V为例D≈0.096fsw60kHzIout1.25AL_crit 12 × (1 - 0.096) / (2 × 1.25 × 60000) ≈ 72uH也就是说为了保证满载1.25A下电路能进入CCM模式电感只要大于72uH就够了。但我最终没有卡着72uH选而是选了470uH。为什么因为还要看纹波电流。在470uH下满载纹波电流约等于ΔI Vout × (1 - D) / (L × fsw) 12 × 0.904 / (470e-6 × 60000) ≈ 0.385A峰值电流Ipk Iout ΔI/2 ≈ 1.25 0.19 1.45A。这个峰值电流完全在VIPER22A的限流范围之内。如果感量只取100uH纹波电流会飙到1.8A左右峰值接近2.15A对芯片和电感的应力都会明显增加。而如果贪心选1mH体积和成本上升不说轻载时反而更容易出现电感电流断续和音频噪声启动瞬间也可能因为磁芯饱和而失败。实际调试下来470uH是个比较平衡的取值。电感选型时除了感量必须确认饱和电流。我最后找了一颗饱和电流2A、DCR小于0.2Ω的工字电感。如果你手上没有临时用环形电感也可以但要注意磁芯种类在60kHz下的损耗。普通工字电感铁氧体磁芯在60kHz下问题不大但如果遇到国产劣质磁材轻载时会有明显的电感叫声。2.3 续流二极管、电容和RC吸收续流二极管是非隔离BUCK最容易翻车的地方。它承受的反向电压大约等于输入母线电压最高135VAC整流后约190V所以我要求二极管的反向耐压至少300V以上。这里不建议用普通1N4007哪怕它反向耐压够恢复时间也完全不行。60kHz的周期只有16.7us1N4007的恢复时间在us级别会导致开关管在每个周期都要承受二极管反向恢复带来的额外电流尖峰和损耗发热会非常严重甚至直接把芯片一起拖垮。我最终用的是600V/3A的超快恢复二极管比如US3M或者STTH3L06trr在几十ns量级配合这个BUCK电路足够。如果你想用肖特基也可以但要确保反向耐压足够宽裕——选200V耐压对标190V母线余量太小我不同意冒这个险。肖特基的优势是正向压降低损耗小但耐压通常做不高到600V级的肖特基VF也不低了优势不明显。输入电容我选了22uF/400V电解电容。虽然额定110VAC输入时250V耐压就够但为了后续在台上做220V极限打到故障测试直接统一用400V耐压更省心。输出电容用的是220uF/25V低ESR电解并在输出端再并一颗1uF的MLCC压高频纹波。输出纹波主要来自电容ESR和电感纹波电流220uF、ESR约0.1Ω的情况下满载纹波实测大约在40mV左右对于风扇和继电器供电来说完全够用。最后是SW节点的RC吸收网络。100Ω串联100pF~220pF的1kV陶瓷电容并接在DRAIN节点和地之间。这里要注意吸收电容千万不能贪大100pF在110VAC下损耗只有约0.2W220pF约0.45W如果换成1nF功耗会直接飙升到2W以上等于给板子加了个小电炉。RC吸收主要用来压关断瞬间的振铃尖峰后面调试章节会详细讲。2.4 VDD自供电与反馈网络最容易漏掉的设计VIPER22A不是一颗“插上高压就能永远转”的芯片。它上电后依靠DRAIN脚连接内部高压电流源把VDD电容充到启动阈值然后芯片开始工作。但工作以后如果VDD没有持续的电源补充VDD电压会一路掉到欠压锁存值芯片关断然后再次启动形成周期性的打嗝。在隔离反激拓扑里通常用辅助绕组整流以后给VDD供电。但非隔离BUCK没有辅助绕组可以用怎么办很简单输出和地本来就是共地的直接从输出正端拉电给VDD就行。我用一颗快恢复二极管D2从输出正端接到VDD脚并在中间串了一颗10Ω~47Ω的限流电阻VDD脚对地接一颗22uF/25V电解电容。这里有个坑要提醒输出12V时VDD大约是11V左右在VIPER22A的VDD工作范围内直接自供电没问题。但如果把输出改成24VVDD就会超过芯片上限必须加一颗12V稳压管把VDD钳在安全区或者先经线性稳压器再进VDD。改成24V时别忘了这个差异。反馈网络我用的是电阻分压直接采样输出电压送到FB脚。FB脚的阈值电压依照数据手册的参考值来计算分压比我当时先按理论值配了一个15k和2.4k的组合上电后发现输出与目标差了约0.2V换成3296W多圈电位器临时微调等输出电压准确稳定在12V后再拆下来量阻值换成1%精度的固定电阻。这个过程虽然多了一道工序但比反复换电阻去试要省事得多。FB脚对地最好并联一颗小电容用来滤掉开关节点耦合过来的高频毛刺。但电容也不能选太大否则反馈环路会变慢动态响应迟钝这个我在后面环路调试章节会展开。3. 调试前准备工具、安全与PCB布局3.1 仪器清单做电源调试尤其是非隔离高压电源工具准备和上电流程比焊接本身重要得多。我这次用到的仪器如下仪器用途说明隔离变压器1:1300VA以上把被测板和电网隔离非隔离电源的地是热地必须通过隔离变压器供电才安全调压器0~250V500VA控制输入电压从低到高慢慢升首上电必备100W白炽灯串在输入火线做限流保护灯泡亮说明短路或大电流微红属于正常数字示波器100MHz2通道观察SW节点波形、VDD波形、输出纹波建议用弹簧地线减少测量噪声电子负载拉载测试没有电子负载可以用大功率电阻但不好测动态LCR表测量电感感量和饱和前表现换电感时一定要实测红外测温枪或热电偶测芯片、二极管、电感温升满载老化时判断是否有隐患四位半万用表测输入输出电压、电流精度至少要四位半测效率才可信3.2 为什么必须用隔离变压器非隔离BUCK的输出地就是整流桥负极整个板和电网之间没有隔离。如果你直接把示波器探头的地线夹到输出地探头地线另一端又接到示波器外壳的PE地这等于把AC电网的火线或零线通过整流桥和探头地线短路到大地轻则跳闸重则炸探头。正确做法是被测板通过1:1隔离变压器供电这样被测板的地相对大地是浮空的示波器探头地线夹到输出地也就不会构成危险回路了。调压器可以放在隔离变压器前面先用隔离变压器把电网隔开再用调压器把电压从零往上推这是一个比较稳妥的组合方案。如果你买的示波器是电池供电、通道之间完全隔离的也可以去掉隔离变压器但台式和大多数便携示波器都和大棚之间有回路所以还是老老实实上隔离变压器吧。3.3 PCB布局的三个关键点第一是功率回路面积。整流桥负端、输入电容负端、续流二极管阳极、输出电容负端这几颗器件之间要尽量近功率电流走的环路越小寄生电感越小SW节点的振铃越容易被压住。很多电源调试时发现尖峰压不掉其实就是布局环路过大的问题。第二是SW节点DRAIN脚和电感、续流二极管的连接点铺铜面积要适当。这个节点高频开关如果铺铜太大就变成了一块辐射天线EMI很难过如果铺铜太小散热不够DRAIN脚局部温度会很高。我在这块板上把SW节点铜箔留成约1cm×1.5cm的矩形既兼顾散热又不至于太夸张。第三是反馈走线。FB分压电阻要直接从输出端取电压反馈走线要细尽量避开电感和SW节点下方不要和功率回路平行长距离走线。否则SW节点的高频干扰会通过耦合进FB环路变得很不稳定输出可能出现低频率的抖振。4. 上电调试四个典型故障的完整排查链路4.1 首次上电的标准流程调试电源不能一上来就怼满压。我每次都是这样操作在AC输入端串联100W白炽灯调压器回零。打开隔离变压器调压器从0V慢慢往上拉。边升压边看输出电压正常时在50VAC左右就能看到输出开始建立。升到110VAC后先空载观察几十秒再切到25%负载、50%负载、满载逐级拉。任何时候看到白炽灯突然变亮、输出消失、SW波形异常立刻调压器回零。第一次上电我在50VAC时看到输出建立感觉一切正常等升到110VAC空载输出稳定在12.1V心想这板子也太顺利了。结果一接1A电子负载输出电压直接往下掉不到五秒就开始不对劲。于是进入了漫长的排查阶段。4.2 故障一输出只有零点几伏芯片打嗝现象是空载时输出电压在0.8V到1V之间来回跳动SW节点每隔几十毫秒出现一簇脉冲然后停一会儿再出现一簇。用示波器看VDD脚波形会发现VDD在7V和14V之间往复充放电典型的欠压重启打嗝。问题出在VDD自供电环节。芯片每次启动后在输出建立之前VDD就已经掉回欠压阈值所以芯片无法维持正常输出。排查顺序是先量D2和R3是否通路再量VDD电容容量是否正常最后看启动到输出建立的时间差。结果发现二极管D2焊反了导致输出根本没法给VDD电容充电。修正之后VDD稳定在11V左右输出恢复正常。这个案例给我的经验是VIPER22A在非隔离BUCK里VDD电容不能太小。隔离反激有辅助绕组启动之后可以由辅助绕组持续泵电而BUCK自供电要等输出建立到某个电平才能接管如果VDD电容太薄启动过程很容易半路断电。我后来把VDD电容从10uF加到了22uF启动明显更干脆。4.3 故障二带载后电压拉垮续流二极管烫手空载输出正常一带1A负载电压从12V掉到10.5V左右还在继续往下掉。我摸了一下板上的续流二极管——不是烫手而是指甲盖碰上去就能感觉到明显的过热。一看型号果不其然原型验证时随手焊了一颗1N4007上去。1N4007是工频整流管反向恢复时间以us计在60kHz的BUCK电路里做续流根本关不断。每个周期里二极管在正向导通到反向截止的切换过程中会产生大量损耗开关管也被拖累最终表现为带载电压被拉垮、二极管高温。我没有直接换管而是先用示波器看了SW节点波形。波形显示关断沿之后有明显的台阶和高频振铃这就是二极管反向恢复引起的电流尖峰叠加在寄生电感上的结果。换上US3M超快恢复二极管之后带载电压回到11.9V温度明显下降。之后我又试过用SS520肖特基输出电压基本一致但散热比超快恢复略好不过耐压余量让我不太放心最终定型还是用了600V超快恢复。4.4 故障三SW节点尖峰大用RC吸收压住换了正确的续流二极管后带载能稳了但我用示波器看SW节点时发现关断沿有一个约60V的尖峰持续时间很短叠加了十几MHz的高频振铃。这种尖峰一方面会增加开关管电压应力另一方面是EMI超标的隐患。我先通过缩短功率环路走线把尖峰往下压了一些但振铃还在。然后在SW节点对地并联了100Ω和100pF的串联RC吸收网络。RC吸收原理不复杂当SW节点电压突变时吸收电容把它变化的高频能量分掉一部分电阻则用来耗散这些能量防止持续振铃。调试时可以看着示波器一点一点试电容容值。100pF上去后尖峰从60V降到了20V左右加到220pF尖峰略微再降一点但吸收电阻的温度明显上升。我留了100pF没再加因为再多牺牲的功耗抵不上那几伏尖峰。这里要特别强调吸收电容容值不要盲目加大。RC吸收在每个开关周期都会把吸收电容里的电荷耗散一次功耗近似等于0.5×C×V²×fsw。以190V母线计算100pF大约是0.22W220pF大约0.48W1nF就会超过2W。所以默认从100pF开始除非EMI测试确实卡住不然不要往上加。5. 占空比极限为什么12V/15W不适合直接怼220V5.1 先算一次导通时间这是整篇里我最想让做电源的同行看到的部分。很多人拿着VIPER22A的非隔离BUCK方案第一反应就是直接插220V市电然后遇到各种输出不对、打嗝、带载不稳的问题却不知道根子在占空比上。BUCK电路稳定工作时占空比D约等于Vout / Vin。220VAC整流后的母线电压在带载时约300V到340V取310V计算输出12V的占空比D 12 / 310 ≈ 3.9%开关频率60kHz对应周期约16.7us那么导通时间ton D / fsw ≈ 3.9% × 16.7us ≈ 0.65us0.65us的导通时间对VIPER22A这种离线芯片来讲太紧张了。芯片内部的电流模式控制、过流比较器和逻辑电路都需要一定时间抖动和响应这么短的导通时间会让调节余地变得非常窄。我直接在220V下做了实验结果空载输出偏到13.5V刚开始带载就开始间歇打嗝SW波形变成“开一小段、憋住、再开一小段”没有固定频率稳定工作。这个现象不是芯片坏了而是占空比已经逼近了芯片能稳定输出的物理极限。解决思路不是硬调反馈而是改变输入输出之间的压差关系。5.2 怎么在220V环境下把这个方案救活最直接的办法是把输出电压抬高。如果输出改到24V同样在310V母线下占空比变成D 24 / 310 ≈ 7.7%导通时间约为1.3us比12V时宽了一倍芯片终于有足够的窗口去调节输出。实测24V输出在220VAC下可以稳定工作轻载时芯片偶尔跳周期但不会出现那种歇斯底里的打嗝。前提是VDD供电必须用稳压管钳位到12V左右防止24V直接灌进VDD脚导致芯片损坏。另一种办法是输入先用工频变压器降到110VAC让母线电压保持在150V左右这样12V输出的占空比约8%稳定工作。这块板子最终的应用场景就是110VAC供电所以我保留了12V/15W的配置没有强迫它在220V下跑。还有一种我不太推荐的折中方案在输出端加一个固定的最小负载电阻强制电路在较重的负载下进入连续电流模式减少跳周期引起的噪声。但15W电源的假负载哪怕只吃掉1W也是白白损耗而且它只改善了表现症状没有解决占空比上限问题批量生产时不建议这么干。5.3 用示波器一眼判断“最小占空比打嗝”如果你拿到一块非隔离BUCK板上电以后输出抖、带载不稳不要急着怀疑芯片先抓SW节点波形。正常的固定60kHz PWM应该是连续等宽的脉冲串看起来非常均匀。如果看到脉冲一簇一簇出现中间间隔几十微秒甚至几毫秒完全没有开关动作那大概率就是占空比到了极限芯片被迫间歇性工作。配合VDD波形一起看能进一步区分是“VDD掉电打嗝”还是“占空比极限打嗝”。VDD掉电打嗝时VDD波形是明显的充放电锯齿波而占空比极限打嗝时VDD通常是平稳的问题主要出在PWM调节能力上。这两种现象的表和里不一样前者是供电环路上的问题后者是拓扑参数上的问题。如果你碰到的是后者计算一下自己的Vin和Vout看看最小导通时间到底有没有余量比盲目加假负载和调反馈靠谱得多。6. 环路补偿、效率实测与后续扩展6.1 FB电容对动态响应的影响反馈网络虽然只是两个电阻加一颗电容但对整体动态性能影响非常明显。VIPER22A没有内部误差放大器FB脚的电压/电流直接反映输出电压信息并参与PWM调节相当于电压模式控制。FB对地电容的大小等于给反馈信号加了一级低通滤波。调试时把输出端接电子负载设置成10%到100%的负载阶跃同时用示波器看输出电压波形。电容太小比如只放1nFSW节点的高频毛刺很容易混进FB输出会出现几kHz的抖动电容太大比如放到1uF环路响应明显变慢负载阶跃时输出会掉下去好多再慢慢爬回来。我最终在10nF到100nF之间试了几轮取了一个动态恢复表现和稳定性都比较好的值。这里有一个小经验反馈分压电阻到FB引脚的走线如果贴着电感和功率回路即使把FB电容调到100nF输出也可能会出现不规律的周期性抖动。所以PCB上反馈走线的位置优先级甚至比电容取值还高。6.2 满载效率与温升测量调试稳定后我做了完整的满载测量。输入侧用功率计输出侧用电子负载加四位半万用表输入条件为110VAC、满载1.25A。实测输入功率约17.5W输出功率15W整体效率约85%到86%之间考虑到这么简单的BUCK结构这个表现能接受。三个主要损耗点分别是续流二极管导通损耗约0.8W主要来自正向压降和平均电流的乘积电感铜损约0.25W到0.3W来自1.25A电流流经DCR开关管损耗和芯片自身功耗约0.8W包括导通损耗和60kHz下的开关损耗温升方面环境温度25℃时芯片表面大概80℃续流二极管约75℃电感约60℃。芯片下方和DRAIN脚连接的铜箔面积对温度影响很大如果板子散热铜箔太小芯片表面很容易破百那就只能降低功率或者加散热片了。如果要进一步提高效率方向不是换一个大功率芯片而是把续流二极管换成更低VF的超快恢复或肖特基再选DCR更小的电感。同步整流在这个功率级别不划算VIPER22A的驱动能力也撑不起同步整流的复杂控制。6.3 后级保护与批量一致性这个非隔离BUCK在输出短路时续流二极管会一直处于导通状态承受很大的持续电流。VIPER22A虽然有逐周期限流但那主要是保护内部MOSFET的对续流二极管的过流保护效果有限。我建议在输出端串一颗自恢复保险丝或者在VDD回路上做一点文章让输出异常时VDD掉电进入打嗝保护状态。批量生产时还需要注意电感的一致性。工字电感的饱和电流和DCR在同一批次里也可能有较大偏差电感定了供应商之后要多抽几颗实测感量和饱和趋势不能只看标称值。反馈分压电阻统一用1%精度不然输出电压的离散度会让你备受折磨。如果你还想在打样之前先摸一下波形趋势可以在LTspice里用理想开关代替VIPER22A先搭一个BUCK模型重点看电感电流的连续模式和SW节点电压应力。VIPER22A本身不一定有官方的完整模型但用理想开关验证参数趋势已经足够了。把占空比、感量、负载这几个变量在仿真里扫一遍再上实物可以省掉不少实物返工的功夫。最后再说一个经验我在这块板上前后换了三个电感、两种续流二极管、两个版本的反馈网络。每次改动后的必做动作永远一致——先空载再轻载再满载每个档位观察SW节点波形和VDD波形没异常再继续往上升功率。电源调试最忌一上电就怼满负载尤其这种非隔离板真出了问题也就是几十微秒的事。按这个顺序来即便翻车也能把损失控制在一颗保险丝之内。