ARTICLE DETAIL

建站实战干货

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

基于MC34063的单芯片±12V双路电源设计与实现

2026/9/28 14:24:24 拓冰建站 浏览量
基于MC34063的单芯片±12V双路电源设计与实现 双路电源在模拟电路里是个绕不开的坎。运放要±12V单片机要5V传感器可能还要3.3V一块板子上三四种电压轨是常态。很多刚入行的朋友第一反应是买现成的DC-DC模块或者干脆用两个独立的适配器拼——能用但成本、体积和可靠性都经不起量产推敲。MC34063这颗老芯片之所以四十多年了还在大量出货核心原因就一个它把升压、降压、反压三种拓扑用同一套逻辑全包了外围只需要电感、二极管、电容和几个电阻BOM成本能压到两块钱以内。这次我拿它做一路5V输入、输出±12V的双路电源从仿真到打板实测走了一遍完整流程中间踩了几个不大不小的坑整理出来给需要做类似方案的朋友参考。1. 为什么选MC34063做双路输出而不是用两颗独立芯片1.1 双路输出的本质需求与拓扑选择先明确需求输入5V输出12V和-12V两路都要能带一定负载。12V好办升压拓扑直接搞定-12V麻烦一点因为输入是正电压要输出负电压必须用反压拓扑Buck-Boost的变种也就是把电感放在输入端和开关管之间二极管方向反过来输出端对地是负压。MC34063内部集成了一个1.25V的基准源、一个比较器、一个振荡器和一个达林顿输出管峰值电流1.5A。它的工作逻辑是输出电压经过分压后反馈到比较器与1.25V基准比较比较器输出控制振荡器是否触发从而调节开关管的导通占空比。这个机制对升压和反压都适用区别只在于外围电感的接法和反馈电阻的分压网络。那为什么不用两颗芯片各做一路成本上MC34063单价不到一块钱两颗也就一块多看起来差别不大。但问题在于PCB面积和布局复杂度。两颗芯片意味着两套电感、两套反馈网络、两套输入滤波板子面积至少多出40%。而且两颗芯片的振荡器各自独立工作开关频率虽然标称都是33kHz左右但实际会有偏差两个不同频率的开关噪声叠加在一起对后续的滤波和EMI处理是灾难。用一颗芯片同时驱动两路虽然两路输出是分时复用的但至少开关频率是同一个源噪声频谱更干净。注意MC34063的开关频率由外接定时电容CT决定典型值33kHz对应CT1000pF。两路输出共用同一个CT所以频率完全同步。1.2 单芯片双路输出的实现逻辑单芯片驱动双路输出的思路是这样的芯片的开关管输出端引脚1和2同时接到两个拓扑的开关节点。对于12V升压路电感接在5V输入和开关节点之间二极管从开关节点指向输出电容对于-12V反压路电感同样接在5V输入和开关节点之间但二极管从输出电容指向开关节点方向相反输出电容的正极接地负极作为-12V输出。这里有个关键点两路输出的反馈怎么处理MC34063只有一个反馈引脚引脚5它只能稳定一路输出。通常的做法是让12V路参与反馈闭环-12V路靠耦合和稳压管做粗略稳压。但这样-12V的负载调整率会很差。更好的方案是用一颗双运放或者两个电阻分压网络把两路输出的偏差叠加后送入反馈引脚实现两路的加权稳压。我这次用的是后者具体电阻取值在后面详细算。实测下来这种加权反馈的方式在负载变化20%以内时两路输出的交叉调整率能控制在3%以内对于大多数运放和传感器供电场景完全够用。2. 关键参数计算从5V到±12V的占空比与电感取值2.1 升压路12V的占空比与电感计算MC34063工作在非连续导通模式DCM下最稳定所以计算时按DCM来。升压拓扑的占空比公式D 1 - (Vin / Vout)代入Vin5VVout12V加上二极管压降0.5V实际目标12.5VD 1 - (5 / 12.5) 0.6也就是说开关管有60%的时间导通40%的时间关断。这个占空比在MC34063的可调范围内它支持0到90%左右没问题。电感取值用能量守恒来算。假设输出电流Iout100mA输出功率Pout12V×0.1A1.2W。考虑效率η80%输入功率Pin1.5W输入平均电流IinPin/Vin300mA。在DCM模式下电感峰值电流Ipk 2×Iin / D 2×0.3 / 0.6 1A。MC34063的开关频率f33kHz周期T30.3μs。导通时间Ton D×T 18.2μs。电感值L Vin×Ton / Ipk 5×18.2e-6 / 1 91μH。取标准值100μH。电感的饱和电流要大于1.5倍Ipk也就是至少1.5A我选的是2A的工字电感实测温升在可接受范围内。2.2 反压路-12V的占空比与电感计算反压拓扑的占空比公式和升压不同D Vout / (Vout - Vin)注意这里的Vout取绝对值。代入Vin5V|Vout|12.5VD 12.5 / (12.5 5) 0.714占空比71.4%比升压路高一些。同样按DCM计算假设-12V路输出电流也是100mA输出功率1.25W效率80%输入功率1.56W输入平均电流312mA。峰值电流Ipk 2×0.312 / 0.714 0.874A。导通时间Ton 0.714×30.3μs 21.6μs。电感值L 5×21.6e-6 / 0.874 123μH。取标准值150μH。饱和电流同样选2A以上。这里有个细节两路电感虽然都接在5V输入和开关节点之间但它们是并联关系芯片开关管要同时驱动两个电感。所以芯片的峰值电流承受能力要按两路峰值之和来算1A 0.874A 1.87A已经超过了MC34063标称的1.5A。这是个隐患实际调试时如果两路都满载芯片会进入限流保护输出电压会掉。解决方案有两个一是降低单路输出电流到70mA左右两路峰值之和控制在1.3A以内二是外接一个PNP三极管扩流把芯片的驱动能力放大。我这次选了第一个方案因为目标负载就是运放和传感器每路70mA足够。如果你需要更大电流扩流电路是必须的。2.3 反馈电阻网络的计算MC34063的反馈引脚电压稳定在1.25V。对于12V路分压电阻从输出端到反馈引脚再到地满足Vout × R2 / (R1 R2) 1.25V取R21kΩ则R1 (12.5 - 1.25) / 1.25 × 1k 9kΩ。用标准值9.1kΩ。对于-12V路反馈信号需要反相后叠加。我用了一个简单的电阻网络-12V输出通过一个10kΩ电阻接到反馈引脚12V输出通过9.1kΩ接到反馈引脚反馈引脚再通过1kΩ接地。这样反馈引脚上的电压是两路输出的加权平均值。具体权重需要根据两路负载情况调整我实测下来9.1kΩ和10kΩ的组合在兩路各带70mA时12V实际输出12.3V-12V实际输出-11.8V偏差在可接受范围内。如果要更精确可以用一颗双运放做加法器把两路输出的误差信号相加后送入反馈引脚。但那样就多了运放和外围电阻成本上去了。对于精度要求不高的场景电阻网络足够。3. 仿真验证LTspice里把两路拓扑跑通3.1 仿真模型的搭建与元件选型我用的LTspiceMC34063没有官方模型但可以用行为源搭一个等效模型。核心是一个比较器用 behavioral voltage source 实现一个振荡器用 pulse 源一个开关管用 voltage-controlled switch。具体搭建步骤第一步放一个 pulse 电压源频率33kHz占空比先设50%作为振荡器输出。第二步放一个 behavioral voltage source表达式为 Vif(V(out_fb) 1.25, 1, 0)模拟比较器。第三步用一个 voltage-controlled switch控制端接比较器输出开关两端分别接输入和开关节点。第四步反馈分压网络用两个电阻实现从输出端分压到比较器输入端。这个等效模型虽然不是MC34063的内部精确复制但能验证拓扑和参数是否正确。实测仿真结果和后续硬件实测的偏差在10%以内对于前期验证足够了。3.2 升压路仿真波形与问题定位跑瞬态分析时间设10ms步长1μs。观察12V输出的上升过程前2ms输出电压从0升到11V左右然后进入稳态纹波大约200mV峰峰值。这个纹波偏大原因是输出电容只有100μF而且ESR偏高。把输出电容换成220μF低ESR的电解电容并联一个100nF陶瓷电容纹波降到80mV。另一个问题是启动时的浪涌电流。仿真显示启动瞬间输入电流冲到2A以上这是因为输出电容初始电压为0芯片全力导通给电容充电。实际硬件上如果电源适配器的限流点低于2A会触发保护导致启动失败。解决办法是在输入端串联一个NTC热敏电阻或者加一个软启动电路在反馈引脚对地并一个电容延缓反馈电压上升。我选了后者在反馈引脚对地并了10μF电容启动时间从2ms延长到8ms浪涌电流降到1.2A。3.3 反压路的仿真陷阱与修正反压路的仿真一开始不收敛输出电压一直在-3V左右徘徊。排查后发现两个问题一是电感的初始电流设成了0但反压拓扑在启动时需要电感有初始储能否则第一个周期无法建立负压。把电感初始电流设为10mA后仿真能正常启动。二是二极管的模型选错了我一开始用的是理想二极管反向恢复时间为0导致仿真中出现了不合理的电压尖峰。换成实际的肖特基二极管模型比如1N5819后波形正常了。反压路稳态输出-11.9V纹波150mV比升压路略大因为反压拓扑的输出电容接地方式不同等效ESR更高。把输出电容从100μF加到220μF后纹波降到60mV。两路同时跑的时候仿真显示交叉调整率在2%左右和理论计算吻合。4. 硬件实现从原理图到PCB布局的实操细节4.1 原理图设计与元件清单原理图不复杂但有几个地方容易画错。第一MC34063的引脚1和2是内部达林顿管的集电极和发射极引脚1接输入正极引脚2是开关输出。很多人会把引脚2直接接地那就短路了。第二引脚3是定时电容接一个1000pF电容到地这个电容要用NPO或C0G材质温度漂移小。第三引脚6接输入正极引脚7是驱动输出引脚8是限流检测通常通过一个电阻接到输入正极。我的元件清单如下元件规格数量备注MC34063DIP-81主控芯片电感100μH/2A1升压路电感150μH/2A1反压路肖特基二极管1N58192开关二极管电解电容220μF/25V2输出滤波陶瓷电容100nF4高频滤波定时电容1000pF1NPO材质电阻9.1kΩ1反馈分压电阻1kΩ2反馈分压电阻10kΩ1反压反馈电阻0.33Ω1限流检测限流检测电阻的取值MC34063的限流阈值是300mV要限制峰值电流在1.3A以内电阻值R 0.3 / 1.3 0.23Ω。取标准值0.33Ω实际限流点在0.9A左右稍微保守一点但更安全。4.2 PCB布局的噪声控制要点开关电源的PCB布局比原理图重要十倍。我踩过的坑包括电感离芯片太远导致开关波形振铃严重、输出电容的地线太长导致纹波变大、反馈线走在电感下方导致噪声耦合。正确的布局原则第一输入电容100μF电解100nF陶瓷必须紧贴芯片的引脚6和地走线越短越好。第二两个电感分别放在芯片两侧不要叠放避免磁耦合。第三输出二极管和输出电容组成的环路面积要最小化这个环路是高频开关电流的主要路径。第四反馈分压电阻靠近反馈引脚反馈线远离电感和开关节点最好用地线包围。我第一版PCB把两个电感并排放在芯片同一侧结果两路输出的纹波都大了30%。第二版把电感分开放纹波恢复正常。这个教训值得记下来。4.3 焊接与上电测试的注意事项焊接时注意MC34063的引脚1和2之间不能有锡桥否则输入直接短路。电感是有极性的如果是工字电感其实无极性但绕线方向会影响磁场分布两个电感的绕线方向最好一致减少相互干扰。上电测试分三步第一步不接负载用万用表测两路输出电压应该在±12V附近。如果偏差超过0.5V检查反馈电阻。第二步接一个1kΩ的假负载测输出电压和纹波。第三步接实际负载运放或传感器测交叉调整率。我实测的数据空载时12.1V/-12.3V带70mA负载时11.9V/-11.7V交叉调整率2.8%。纹波在满载时12V路65mV-12V路72mV。芯片表面温度在满载运行10分钟后稳定在52°C不需要加散热片。提示如果芯片温度超过70°C要么降低负载电流要么加一个小铝片散热。MC34063的DIP封装热阻大约100°C/W1W功耗下温升100°C所以功耗要控制在0.5W以内。5. 实测中遇到的三个典型问题与排查过程5.1 问题一反压路启动失败输出只有-2V第一次上电12V路正常-12V路只有-2V。用示波器看开关节点波形发现反压路的开关波形占空比只有10%左右远低于设计的71%。排查过程先检查反馈网络用万用表测反馈引脚电压发现是1.25V正常。再检查定时电容1000pF没问题。然后怀疑是限流电阻太大把0.33Ω换成0.1Ω问题依旧。最后用电流探头测电感电流发现反压路的电感电流在启动后很快降到0说明电路进入了DCM的深度断续模式芯片检测到输出无法建立自动降低了占空比。根本原因反压路的输出电容太大我一开始用了470μF启动时需要大量电荷芯片的限流保护反复触发导致启动失败。把输出电容降到220μF并在反馈引脚对地并了一个10μF电容做软启动问题解决。这个坑的教训是反压拓扑的启动比升压拓扑更敏感输出电容不能太大软启动电容必须有。5.2 问题二两路输出相互干扰纹波增大单独跑12V路时纹波60mV单独跑-12V路时纹波70mV但两路同时跑的时候两路纹波都涨到150mV以上。排查过程先用示波器分别看两路的输出波形发现纹波频率和开关频率一致说明是开关噪声耦合。检查PCB布局发现两个电感距离只有5mm而且绕线方向相同。把两个电感拉开到15mm以上并且把其中一个电感的绕线方向转90度纹波降到90mV。再在每路输出端加一个LC滤波10μH电感100μF电容纹波降到50mV以下。这个问题的本质是磁耦合。两个电感靠太近磁场相互感应导致开关波形畸变。布局时电感之间的距离至少要是电感直径的2倍。5.3 问题三满载运行10分钟后输出电压缓慢下降带满载运行10分钟后12V输出从11.9V降到11.5V-12V从-11.7V降到-11.3V。用手摸芯片温度大概60°C。排查过程先怀疑是电感饱和用示波器看电感电流波形发现峰值电流从1A涨到了1.3A说明电感值下降了。把电感换成更大尺寸的从8mm换成10mm问题解决。原因是小尺寸电感的磁芯在高温下饱和电流下降导致电感值降低峰值电流增大形成恶性循环。另一个原因是反馈电阻的温度漂移。我用的是普通碳膜电阻温度系数200ppm/°C温度升高40°C电阻值变化0.8%导致输出电压变化约0.1V。换成金属膜电阻50ppm/°C后漂移降到0.02V。这个坑的教训是电感的饱和电流要留足余量至少是计算峰值的2倍反馈电阻要用金属膜不要用碳膜。6. 效率优化与负载调整率的进一步提升6.1 效率瓶颈分析与改进实测效率输入5V/0.6A3W输出12V/70mA0.84W -12V/70mA0.84W总输出1.68W效率56%。这个效率偏低主要损耗在三个地方MC34063的内部达林顿管压降约1V、肖特基二极管的正向压降0.4V、电感的直流电阻0.1Ω。改进措施第一把肖特基二极管换成低压降的比如1N5822压降0.3V效率提升3%。第二电感换成直流电阻更小的从0.1Ω降到0.05Ω效率提升2%。第三在芯片的引脚1和2之间外接一个PNP三极管比如2N2907把达林顿管的压降从1V降到0.3V效率提升8%。综合下来效率能到70%左右。但外接三极管会增加成本和板子面积对于70mA的小电流场景56%的效率其实可以接受。如果负载电流超过150mA扩流就是必须的。6.2 负载调整率的实测对比负载调整率是指负载电流从空载变到满载时输出电压的变化率。我实测的数据负载条件12V输出-12V输出交叉调整率空载12.1V-12.3V-单路70mA11.9V-12.1V1.6%双路70mA11.9V-11.7V2.8%双路100mA11.6V-11.3V5.2%可以看到双路100mA时交叉调整率恶化到5.2%这是因为芯片的峰值电流接近限流点占空比调节范围受限。如果要带100mA以上的负载必须扩流。6.3 输出纹波的频谱分析与滤波优化用示波器的FFT功能看输出纹波频谱主要分量在33kHz开关频率及其谐波66kHz、99kHz。33kHz分量的幅值是50mV66kHz是20mV99kHz是10mV。滤波优化在输出端加一个π型滤波100μF电解10μH电感100μF电解33kHz分量降到10mV66kHz降到5mV。再加一个100nF陶瓷电容高频分量基本消失。最终纹波控制在30mV以内满足运放供电要求。如果对纹波要求更高比如给ADC供电可以用LDO二次稳压。比如12V后面接一个7812-12V后面接一个7912纹波能降到1mV以下。但LDO的压降至少2V所以MC34063的输出要调到±14V以上效率会进一步降低。这是个权衡。7. 从仿真到硬件的偏差分析与调试经验7.1 仿真与实测偏差的主要来源仿真时12V输出12.5V实测11.9V偏差0.6V。-12V仿真-12.5V实测-11.7V偏差0.8V。偏差来源有三个第一仿真用的二极管模型是理想化的实际二极管的压降随电流变化。第二电感的直流电阻在仿真中设的是0实际有0.1Ω导致占空比损失。第三PCB走线的寄生电阻和电感仿真中没有体现。修正方法在仿真中把二极管模型换成实际型号的SPICE模型电感串联一个0.1Ω电阻走线电阻用一个小电阻代替。修正后仿真输出12.0V和-11.9V和实测偏差缩小到0.1V以内。7.2 调试时的示波器使用技巧测开关波形时示波器探头的地线要尽量短最好用弹簧地针不要用鳄鱼夹。鳄鱼夹的地线环路会引入振铃让你误以为电路有问题。我一开始用鳄鱼夹看到开关波形上有50MHz的振铃换了弹簧地针后振铃消失。测纹波时示波器要设成AC耦合带宽限制到20MHz避免高频噪声干扰。探头要直接点在输出电容的引脚上不要点在远处的测试点。7.3 从5V到±12V的扩展思路如果输入电压不是5V比如是3.3V或12V参数需要重新算。3.3V输入时升压路的占空比D 1 - 3.3/12.5 0.736峰值电流更大电感值要减小到68μH左右。12V输入时升压路其实不需要升压了可以直接用降压拓扑但MC34063的降压模式需要把电感接在输出端反馈网络也要改。如果输出电流需要更大比如每路200mA必须外接扩流三极管。扩流电路很简单在芯片的引脚1和2之间接一个PNP三极管基极通过一个1kΩ电阻接到引脚2集电极接输入正极发射极接开关节点。这样芯片的驱动电流被三极管放大能承受更大的负载。如果需要的输出电压不是±12V比如±15V反馈电阻要重新算。15V时R1 (15.5 - 1.25) / 1.25 × 1k 11.4kΩ取11.5kΩ标准值。-15V时反馈电阻按同样比例调整。这个电路我前后打了三版板子第一版布局失败第二版参数有偏差第三版才稳定。整个过程下来最大的体会是MC34063这种老芯片手册上的参数是理想条件下的实际用的时候必须留足余量尤其是电感的饱和电流和芯片的限流点。另外仿真能帮你验证拓扑和大致参数但布局和寄生参数的影响只有实际打板才能发现。如果你也在做类似的双路电源建议第一版板子就把测试点留足方便后续调试。