
做运放电路、音频前级或者传感器信号调理时±12V双电源几乎是绕不开的。手头USB充电头倒是有一堆5V供电随处可取可真要用到±12V传统思路要么绕一个带中心抽头的变压器要么花几十块买隔离DC-DC模块。变压器绕制费神、体积大、EMI还不好处理隔离模块省事但贵而且很多非隔离模块都是单路输出负压还得另外想办法。我试过用两路电感的非隔离升压结构来解决一路按boost把5V抬到12V另一路让boost控制器工作在反极性负输出模式从同一个5V再得到-12V整个电路里没有任何变压器。这种方案在圈子里通常就叫“双boost电路”成本低、元件好找、效率也能接受特别适合给运放、音频前级、电流检测电路这类负载供电。这篇文章就把我的设计思路、参数计算过程、实际调试中踩过的坑和最终验证结果完整记录下来给同样在找无变压器±12V方案的读者做个参考。1. 双boost不是两个boost模块焊在一起拓扑上要分清1.1 标准boost只能升正压负压得重新设计回路Boost电路大家都很熟悉电感储能、开关管斩波、二极管整流输出永远是正的。它的核心公式是Vout Vin / (1 - D)输入端5V输出端12V占空比D大约58.3%。单看这一路没有任何悬念很多现成boost模块都能直接做到。但负压就麻烦了。很多人第一反应是“那我再用一片boost模块把它的输出反接一下不就行了”实际一试就发现不行普通boost模块的正极输出端和输入正极之间有拓扑约束输出端不可能直接变成相对于系统地-12V的负电压。负压必须靠电感在开关管关断后的续流方向重新构造也就是说它本质上是一个反极性buck-boost拓扑而不是标准boost拓扑。这个区别如果不从拓扑层面想明白后面接出来的一定是一块发热然后烧毁的板子。1.2 无变压器产生负压的常见路线目前没有变压器、纯电感方案产生负压主流就是两条路线。第一条是电荷泵反转典型芯片ICL7660、TPS60400之类优点是外围极其简单两个电容就能把正压翻成负压缺点是输出电流能力有限通常只有几十毫安而且如果想把-5V再变成-12V还得叠加一级boost效率会打折噪声也不好看。第二条就是反极性buck-boost拓扑。它和boost一样只有一个电感但电感的接法和二极管、开关管的相对位置不同输出端天然就是负电压输出电压绝对值可以大于、等于或小于输入电压公式是Vout -Vin * D / (1 - D)。设计成5V输入、-12V输出时占空比D |Vout| / (Vin |Vout|) ≈ 70.6%。我把这一路也叫做“负压boost”虽然严格来说它是buck-boost家族但因为它完全复用了boost控制器的功率级结构只是改了外部引脚连接方式所以圈内习惯上还是把“正压boost 负压反极性boost”合称双boost。1.3 为什么非隔离方案在这个场景够用可能有人会问正负电源通常用在模拟电路里用非隔离方案会不会引入开关噪声我的观点是看场景。给运放供电、给音频前级供电、给电流传感器供电输入输出共地本来就没有隔离需求隔离只是为了安全或者断开地环路。5V输入本身就是从USB或者开关电源来的前端已经是非隔离的后端再加隔离模块反而是重复劳动。当然如果你的应用是医疗设备、工业现场总线这类有严格安全要求的场景那就老老实实上隔离电源别在这种电路上赌。双boost适合的是桌面调试、仪器内部供电、DIY音频设备这些输入输出共地没问题的场景。2. 正压boost的功率级设计与电感参数推导2.1 占空比和电感纹波电流的约束关系正压boost设计第一件事就是定工作频率和纹波电流比例。这里我用MC34063做例子因为它的官方数据手册里同时给了boost和负压输出两种配置最适合讲清楚双boost的全过程。MC34063的工作频率由外部定时电容CT决定CT取1nF左右实测频率在30kHz到100kHz之间浮动不同批次差异不小所以我习惯在公式里直接代入实测频率而不是相信标称值。电感量的计算公式用最常用的L Vin × (Vout - Vin) / (ΔIL × f × Vout)代入5V输入、12V输出、频率取80kHz、设计纹波电流ΔIL 0.4AL 5 × (12 - 5) / (0.4 × 80000 × 12) ≈ 91µH我实际选了100µH的电感留一点余量。这里要提醒一句MC34063的开关管峰值电流能力只有1.5A左右如果输出电流设计到200mA以上纹波电流比例就不能取得太小否则电感体积会很大限流电阻也容易误触发。2.2 开关管应力和反向恢复问题因为MC34063内部集成了开关管正压boost这一路的外部功率器件主要是电感和二极管。二极管必须选肖特基不能用普通整流二极管原因有两个第一boost输出端12V开关节点在开关管关断瞬间会被拉到约12.7V普通1N4007恢复时间太长会严重增加开关损耗第二肖特基正向压降小5V输入时占空比本来就高再在二极管上浪费0.7V效率会很难看。我常用1N5819耐压40V电流1A理论上够用。但如果输出电流做到300mA以上建议换成SS34或MBR340余量更大。输出电容方面正压boost这一路我用了两个电容并联一个220µF/25V的电解电容负责储能一个0.1µF的陶瓷电容滤高频。电解电容的低ESR型号会比普通型号纹波小很多选型时尽量挑标有“Low ESR”的。2.3 反馈分压电阻怎么确定MC34063的反馈阈值是1.25V。12V输出时分压电阻从输出正端到FB引脚到地公式是Vout 1.25 × (1 R上 / R下)取R下 2.2kΩR上 18kΩ得到Vout 1.25 × (1 18/2.2) ≈ 11.48V偏低。换成R上 20kΩVout 1.25 × (1 20/2.2) ≈ 12.61V偏高。最后用两个电阻串联加一个微调电位器来精调或者直接在上电阻上并联一个100kΩ电阻微调。反馈电阻的精度直接影响输出电压精度我建议至少用1%精度的金属膜电阻。3. 负压路的关键反极性buck-boost的接法和注意事项3.1 反极性拓扑的连接方式这一路是难点。MC34063的负压输出配置外部功率回路是这样接的输入5V接到芯片VCC内部开关管的集电极接VCC发射极引脚SW接电感的一端电感的另一端接负压输出端VOUT二极管阳极接SW节点阴极接系统GND输出电容跨接在VOUT和GND之间。负载电流从GND经负载流向VOUT也就是从0V流向-12V。从输出关系看Vout -Vin × D / (1 - D)忽略二极管压降要得到-12V时D≈70.6%。这是反极性buck-boost的特征它允许输出电压绝对值高于输入电压同样也允许低于输入电压灵活性比正压boost大。3.2 负压电路的“地”到底是谁这是最容易翻车的地方。在负压buck-boost配置里MC34063的GND引脚、限流电阻的参考点、输出电容的负极全部接在负压输出VN上。也就是说控制器的参考地已经漂到-12V了。从控制器自身的角度看它仍然是在做“升压”只是把“地”重新定义成了负电压点。很多人在布线时习惯把整个板子的地铺成一片GND结果负压路的输出电容负极和芯片GND不小心接到系统GND输出直接变成0.7V左右的二极管压降怎么调反馈都没用。我踩过这个坑最后是沿着负压路的功率地线单独走一根线从输出电容负极回到输入电容负极和系统GND只在输出电容正极处单点交汇才稳定下来。3.3 负压路的电感量和限流电阻反极性buck-boost的电感量计算可以用Q导通阶段的伏秒关系L Vin × D / (f × ΔIL)代入5V、D0.706、f80kHz、ΔIL0.4AL 5 × 0.706 / (80000 × 0.4) ≈ 110µH我实际选了120µH的电感同样留一点余量。正压和负压两路电感值差得不多采购时可以统一买120µH正压路也能用只要纹波稍微大一点影响不大。限流电阻Rsc的取值MC34063内部比较器阈值是0.3V左右公式是Rsc 0.3V / Ipk。如果设计峰值电流1ARsc 0.3Ω。这里要注意MC34063的datasheet上采样电阻功率选型经常被忽略1A峰值电流流过0.3Ω的电阻平均功耗虽然不大但瞬时脉冲功耗不小至少要选1/2W以上的电阻金属膜或者绕线都可以千万别用0805贴片实测会热到变色。4. 一套能直接抄的参考设计从原理到Layout4.1 完整电路结构与元件清单基于上面的分析我的实际电路是这样构成的输入5V直流额定2A以上输入电容并联一个100µF电解和0.1µF陶瓷尽量靠近两个芯片的供电引脚。正压boostMC34063100µH电感1N5819二极管220µF/25V输出电容反馈分压20kΩ/2.2kΩ输出约12.3V。负压buck-boostMC34063120µH电感1N5819二极管220µF/25V输出电容正极接GND负极接-12V反馈分压电阻接在VOUT和芯片FB之间输出约-12.2V。每路各加一个100Ω电阻做假负载用来防止空载时输出电压漂移和振荡。这一点后面会详细讲。整套元件成本很低电感、电容、二极管、两片MC34063加起来十几块钱搞定比买一个成品正负压DC-DC模块便宜不少而且坏了哪里修哪里。4.2 布局布线的三个细节第一电感和反馈电阻拉开距离。电感是“天线”漏磁会耦合到高阻反馈节点上造成输出纹波增大。我的做法是两路电感分别放在板子两端反馈电阻靠近芯片FB引脚不要在电感正下方走信号线。第二开关节点铜皮不要过大但又不能太细。开关节点是高频方波铜皮面积越大辐射噪声越厉害但面积太小过流能力不够。经验做法是铜皮宽度按电流密度计算1A电流至少0.5mm宽长度尽量短形成一个紧凑的“8”字形回路。第三输入电容的负极是整块板的电流汇合点。正压路的输入回流、负压路的系统GND、负载的返回电流都应该以输入电容负极为终点星型汇聚避免在板子上形成交叉的地环路。模拟电路的噪声很多时候不是芯片本身产生的而是地线排布不合理造成的。4.3 如果用现成boost模块怎么改造如果不想自己画板焊接也可以用两片现成的boost模块来搭。但这里的接法有讲究正压模块直接接5V调输出到12V负压模块不能直接“反接输出”而是要选择支持负压输出的模块或者在模块的反馈网络上做文章。市面上不少基于MC34063的负压小板就是这么做的买之前看清楚电路是不是反极性buck-boost结构。用模块的好处是省去布局布线的麻烦坏处是模块内部的地和输出负端往往连在一起改装自由度和散热都不如自己设计。我个人建议既然是做双boost还是自己搭板子更可控尤其是负压路的参考地处理自己画一次才能彻底搞明白。5. 上电实测波形、效率与三个翻车现场5.1 测试方法与假负载的必要性实测时我用电子负载分别拉正压和负压两路每路从0加到200mA同时用示波器看输出纹波和开关节点波形。这里必须强调开关电源不能空载调试。boost和反极性buck-boost在空载时输出电压容易飘高反馈环为了维持输出电压会进入跳周期甚至振荡。用示波器看空载时输出纹波会出现几Hz到几十Hz的低频起伏这是控制器在突发导通不是电路坏了但会让很多新手误判。我的解决办法是每路输出对地接一个100Ω到1kΩ的功率电阻做假负载把最小负载电流抬到10mA以上。正压路在12V和GND之间接1kΩ电阻负压路在GND和-12V之间接1kΩ电阻这样电源始终处于轻载以上工作状态输出电压稳定得多。5.2 实测波形怎么看用示波器探头直接测开关节点时注意接地夹子尽量短否则会测到很大的振铃误以为电路不稳定。实际正常波形应该是开关管导通时节点接近0V相对该路控制器的地关断时被二极管钳位到输出加二极管压降正压路约为12.7V负压路约为-11.3V。输出纹波主要看电感电流纹波和输出电容ESR的乘积。实测在每路100mA负载下正压路纹波约30mV峰峰值负压路约50mV峰峰值稍微偏高的原因是负压路电容负极走线长了输出回路上引入了额外电感。后来我把输出电容缩短到靠近电感和二极管纹波降到了35mV左右。效率方面两路各带100mA负载时总输出功率约2.4W输入5V电流实测约0.72A到0.8A总效率大概70%到75%。这个效率对MC34063来说算正常。如果换成XL6009、TPS40210这类同步整流的控制器效率可以到85%以上但成本和EMI会更高。5.3 三个典型翻车现场第一个问题负压路输出电压只有-0.7V。排查下来是反馈电阻接到了系统GND而不是负压输出VN。MC34063的反馈比较器参考点是自己引脚的地负压配置里这个地是VN反馈电阻采样的是VN和VOUT之间的电压差。如果接错地方环路根本建立不起来输出就像个二极管钳位。第二个问题正压路带200mA负载时输出电压掉到10V。测量限流电阻上的压降发现已经达到0.3V说明峰值电流限制触发了。问题出在电感量选项偏小纹波电流过大峰值电流提前到了限流点。解决办法是加大电感到150µH同时把限流电阻从0.3Ω放宽到0.22Ω让峰值电流能力到1.36A输出能力恢复。第三个问题两路同时满载时输入电压被拉到4.2V。USB电源带载能力不足正压boost和负压反极性boost同时从5V取电输入电流峰值叠加瞬间把输入电压拉掉不少。如果输入电压降到4V以下两路的占空比都会变化输出跟着不稳。这个问题的解决不是改电路而是换一个输出能力大于2A的5V电源同时把输入电容加大到220µF。6. 边界条件、改进方向与12V转5V的镜像关系6.1 什么时候别硬扛这个方案双boost方案适合中等电流负载单片MC34063的输出能力决定了每路最好控制在150mA到250mA以内。如果某一路要持续输出1A以上不建议在MC34063上继续加外围硬撑直接换用外置开关管的boost控制器或者干脆用升降压模块。另外如果负载对纹波极其敏感比如给24bit ADC供电几十毫伏的开关纹波都可能影响性能。这种场景建议在输出端加一级LC滤波电感用10µH到47µH电容用低ESR的纹波能再降一个数量级。但要注意LC滤波的谐振频率不能落在控制环路带宽附近否则可能引起输出振荡。6.2 改进方向之一换成同步整流结构MC34063用的是二极管整流5V输入、12V输出时二极管压降占输出比例不小效率被拉低。如果想要更高效率可以换成集成同步整流的升压控制器比如TPS40210外搭MOSFET和同步整流管或者LTC3119这类集成度更高的芯片。负压路也可以用同样思路用同步反极性buck-boost控制器效率可以从75%提升到88%左右。代价是外围元件更多layout更讲究适合把性能和效率当重点的进阶玩家。6.3 和12V转5V稳压电路的镜像关系很多人在网上搜“12V转5V稳压电路图”那是把高电压降到低电压属于buck降压的范畴占空比公式是Vout Vin × D和本文boost的Vout Vin / (1-D)刚好是镜像关系。设计思路其实一脉相承先根据输入输出分配占空比再算电感纹波电流然后选开关管、二极管、电容。如果你能看懂这篇文章的正压boost推导反过来设计12V转5V的稳压电路也就是套公式的事。6.4 我后续会怎么扩展这套电路目前这套双boost我用在了一个便携式传感器调理板上正压12V给运放供电负压12V给偏置电路供电5V输入来自一个充电宝满载跑了一个多小时芯片表面温热整体稳定。后面我打算把两路输出电压都换成可调版本用数字电位器做输出微调方便在不同负载条件下校准。再往后可能会在输出端加一个软启动电路避免上电瞬间两路同时冲击输入电源把5V电源直接拉出电压塌陷。最后再分享一个小技巧如果你手头没有示波器又想知道开关电源到底有没有正常工作可以用万用表交流档去量输出电容两端的AC电压如果读数在几毫伏到几十毫伏之间说明开关动作基本正常如果读数跳得很厉害或者几乎没有就要回头检查控制芯片有没有起振、限流电阻是不是选大了。这个方法虽然不够精确但在没有仪器的条件下非常管用。