1. 项目缘起与整体设计思路
1.1 为什么偏偏选中MC34063这颗老芯片
搞硬件的人对MC34063应该都不陌生,这颗芯片在电源圈子里算是“常青树”级别的存在。我最早接触它是在一个工业控制板上,当时需要从单路5V生成±12V给运放供电,板子空间紧张、成本卡得死,选来选去最后还是落在了MC34063上。它的核心优势很直接:输入电压范围宽(3V到40V)、输出电流能到1.5A、内置温度补偿基准源、带限流保护,而且价格便宜到几乎可以忽略不计。对于5V升±12V这种中小功率的双路电源需求,它确实是一个性价比极高的方案。
但话说回来,MC34063也不是没有短板。它的开关频率偏低(典型值33kHz),这意味着外围电感和电容的体积会偏大;另外它没有内置MOSFET,需要外接开关管或者用内部达林顿结构,效率上不如现在那些同步整流的DC-DC芯片。不过对于±12V这种运放供电、传感器供电的场景,效率差几个百分点根本不是核心矛盾,稳定可靠、成本可控才是第一位的。
这个项目的目标很明确:用一路5V输入,同时输出+12V和-12V两路电源,给板上的双电源运放电路供电。输入来自系统已有的5V总线,输出电流需求大概在100mA到200mA每路,不需要太大,但要求纹波小、电压稳定。仿真部分用Multisim或者LTspice都可以,我习惯用LTspice做前期的拓扑验证,因为它的仿真速度快、模型库也够用。
1.2 双路输出的拓扑选择与取舍
从5V生成±12V,本质上需要两个独立的升压或者一个升压加一个反相。常见的方案有三种:第一种是用两颗MC34063分别做升压和反相,各自独立;第二种是用一颗MC34063做升压到+12V,再用电荷泵或者反相器生成-12V;第三种是用变压器耦合的反激拓扑,一组绕组出正压、一组出负压。
我最终选的是第一种方案——两颗MC34063独立工作。原因有几个:第一,调试简单,正压和负压可以分开调,互不干扰;第二,电荷泵方案虽然省一颗芯片,但负压的带载能力太弱,100mA以上就掉得厉害;第三,反激拓扑虽然效率高,但变压器设计太麻烦,打样周期长,不适合快速验证。两颗MC34063的方案,外围元件都是标准件,立创商城上一站式配齐,当天就能把板子焊出来。
这里有个细节需要注意:正压升压和负压反相的电路结构是不一样的。升压用的是Boost拓扑,电感在输入端;反相用的是Buck-Boost的变种,电感在开关管和地之间。MC34063的数据手册里给了两种拓扑的典型应用图,照着改反馈电阻就行。但实际调试的时候,负压那一路的反馈采样会稍微麻烦一点,因为反馈电压是相对于-12V输出的,不是对地。
1.3 仿真在前、硬件在后的工作流
我个人的习惯是先在LTspice里把拓扑跑通,确认关键节点的波形和理论计算对得上,再动手画板子。这样做的好处是能提前发现很多问题,比如电感值选小了导致电流断续、补偿电容不合适导致振荡、限流电阻算错了导致带载能力不足等等。仿真虽然不能完全替代实际调试,但至少能帮你排除掉80%的低级错误。
仿真阶段我重点关注三个东西:开关节点波形、输出电压纹波、负载瞬态响应。开关节点波形能看出电感电流是否连续、开关管有没有异常振荡;输出电压纹波直接关系到后级运放能不能正常工作;负载瞬态响应则决定了电源在负载变化时的稳定性。这三个指标在仿真里都能比较准确地反映出来,和实际测试的结果偏差不会太大。
注意:LTspice里MC34063的模型不是官方提供的,我用的是社区里流传的SPICE模型,精度还可以,但开关损耗和导通损耗的模拟偏乐观。所以仿真里的效率数据只能参考,不能当真。
2. MC34063核心原理与关键参数计算
2.1 芯片内部结构拆解
MC34063的内部结构其实不复杂,核心就是一个带温度补偿的1.25V基准源、一个比较器、一个振荡器、一个RS锁存器和一个输出驱动级。振荡器通过外接电容CT产生锯齿波,频率由公式 f ≈ 1/(CT × 1.1) 决定,这里的CT单位是微法,频率单位是kHz。比如CT取1000pF,频率大概就是33kHz左右,这也是数据手册里的典型值。
比较器的反相输入端接的是1.25V基准,同相输入端接的是反馈分压网络。当反馈电压低于1.25V时,比较器输出高电平,RS锁存器置位,输出驱动级导通,开关管打开,电感开始储能;当反馈电压高于1.25V时,比较器翻转,开关管关断,电感释放能量。这个过程中,RS锁存器还受到振荡器的复位信号控制,确保每个周期开关管至少关断一次,避免占空比跑到100%导致失控。
输出驱动级是一个达林顿结构,能提供大约1.5A的峰值驱动电流。对于小功率应用,可以直接用内部开关管;如果需要更大的电流,就得外接PNP或者NPN功率管来扩流。我这个项目每路输出也就200mA左右,内部开关管完全够用,不需要额外扩流。
2.2 升压电路的关键参数计算
先看+12V升压这一路。输入5V,输出12V,假设负载电流200mA,开关频率33kHz。第一步要确定电感值。升压电路的电感计算公式是:
L = (Vin × (Vout - Vin)) / (ΔIL × fsw × Vout)
其中ΔIL是电感纹波电流,一般取输出电流的20%到40%。我取30%,也就是ΔIL = 0.3 × 200mA = 60mA。代入数值:
L = (5 × (12 - 5)) / (0.06 × 33000 × 12) = 35 / 23760 ≈ 1.47mH
算出来是1.47mH,实际选型的时候我用了2.2mH的标准电感,稍微大一点没关系,纹波电流会更小,只是瞬态响应会慢一些。这里要注意电感的饱和电流必须大于峰值电流,峰值电流等于输出电流加上一半的纹波电流,再乘以占空比的倒数。粗略估算峰值电流大概在600mA左右,所以我选了一个额定电流1A、饱和电流1.5A的工字电感。
接下来是限流电阻Rsc。MC34063的限流阈值是300mV,所以Rsc = 300mV / Ipk。Ipk取峰值电流的1.2倍作为裕量,大概720mA,那么Rsc = 0.3 / 0.72 ≈ 0.42Ω。实际我用了0.47Ω的标准电阻,限流点大概在640mA左右,刚好够用又不会误触发。
反馈分压电阻的计算就简单了。输出电压由公式 Vout = 1.25 × (1 + R1/R2) 决定。我要输出12V,那么R1/R2 = (12/1.25) - 1 = 8.6。取R2 = 1kΩ,R1 = 8.6kΩ,实际用8.2kΩ加一个500Ω的可调电阻串联,方便微调。这样输出电压可以在11.8V到12.3V之间调整,足够覆盖精度需求了。
2.3 负压反相电路的特殊考量
负压这一路用的是反相拓扑,电路结构和升压不一样。电感接在开关管和地之间,二极管的方向也反过来了。输出电压的计算公式是:
Vout = -1.25 × (R1/R2)
注意这里没有“1+”那一项,因为反馈采样是相对于负输出的。我要输出-12V,那么R1/R2 = 12/1.25 = 9.6。取R2 = 1kΩ,R1 = 9.6kΩ,实际用9.1kΩ加1kΩ可调电阻。
负压电路的电感计算和升压类似,但占空比的计算方式不同。反相拓扑的占空比 D = |Vout| / (|Vout| + Vin) = 12 / (12 + 5) = 0.706。这个占空比偏高,意味着开关管的导通时间较长,峰值电流也会更大。峰值电流 Ipk = Iout / (1 - D) = 200mA / 0.294 ≈ 680mA。所以限流电阻要稍微小一点,Rsc = 0.3 / (0.68 × 1.2) ≈ 0.37Ω,实际用了0.33Ω。
还有一个容易被忽略的地方:负压电路的输出电容极性是反的。电解电容的正极要接地,负极接-12V输出。我第一次焊板子的时候就是这里搞反了,上电直接炸了一颗电容,声音还挺响。所以画PCB的时候一定要在丝印上标清楚极性,焊接前再核对一遍。
2.4 仿真模型搭建与参数扫描
在LTspice里搭这个电路,MC34063的模型我用的是一个简化的行为模型,包含了基准源、比较器和输出驱动级,开关管的导通电阻设了0.8Ω,二极管用的是肖特基模型。仿真时间设了10ms,步长1us,这样能看清开关波形的细节。
参数扫描我主要扫了两个变量:电感值和输出电容值。电感从1mH扫到4.7mH,输出电容从100uF扫到470uF。仿真结果显示,电感在2.2mH、输出电容在220uF的时候,纹波和瞬态响应的综合表现最好。电感再大,瞬态响应明显变慢;电容再大,纹波改善有限但体积上去了。
实操心得:仿真的时候一定要加一个负载阶跃测试,从100mA跳到200mA再跳回来,看输出电压的跌落和恢复时间。这个指标比稳态纹波更能反映电源的实际性能。
3. 完整实操过程与硬件实现细节
3.1 元器件选型与BOM清单
这个项目的BOM很简洁,核心元件就那几个。MC34063我用的是一颗国产替代型号,引脚和参数完全兼容,价格比原厂便宜不少。电感用的是2.2mH的工字电感,额定电流1A,体积稍微有点大,但性能稳定。二极管选了SS34,40V/3A的肖特基,压降小、恢复时间短,适合这种高频开关场景。
输出电容我用了两颗220uF/25V的固态电容并联,等效ESR很低,纹波抑制效果好。输入电容用了100uF/16V的电解加一颗0.1uF的陶瓷,滤高频噪声。反馈电阻用的是1%精度的金属膜电阻,可调电阻用的是多圈精密型,方便调准电压。
| 元件 | 型号/参数 | 数量 | 备注 |
|---|---|---|---|
| 控制芯片 | MC34063 | 2 | 正压、负压各一颗 |
| 电感 | 2.2mH/1A | 2 | 工字电感 |
| 肖特基二极管 | SS34 | 2 | 40V/3A |
| 输出电容 | 220uF/25V | 4 | 每路两颗并联 |
| 输入电容 | 100uF/16V | 1 | 电解 |
| 陶瓷电容 | 0.1uF | 2 | 高频滤波 |
| 限流电阻 | 0.47Ω/0.33Ω | 各1 | 1W功率 |
| 反馈电阻 | 1kΩ/8.2kΩ/9.1kΩ | 各2 | 1%精度 |
| 振荡电容 | 1000pF | 2 | 瓷片电容 |
3.2 PCB布局与走线要点
PCB布局对开关电源的性能影响很大,尤其是这种高频开关的场景。我总结了几条经验:第一,输入电容必须紧贴芯片的Vin引脚和GND引脚,走线越短越好,否则输入端的开关噪声会串到整个板子上;第二,电感和二极管的环路面积要尽量小,这个环路里流的是高频脉冲电流,面积大了就是一个小天线,辐射干扰会很难搞;第三,反馈分压电阻要靠近芯片的反馈引脚,走线远离电感和开关节点,避免耦合噪声导致输出电压抖动。
我画板的时候把正压和负压分成了两个独立的区域,各自有独立的输入滤波电容,地线在电源入口处单点汇合。这样两路之间的串扰会小很多。芯片的GND引脚和输入电容的GND引脚用粗线连在一起,再连到总地,避免地线上的压降影响反馈精度。
注意:MC34063的开关节点(引脚1和引脚2之间)电压摆率很高,走线一定要短而粗,周围不要走敏感信号线。我一般会在这个节点上留一个小的RC吸收电路的位置,调试的时候如果振铃太厉害就焊上。
3.3 焊接与上电调试步骤
焊接顺序我一般是先焊矮的元件再焊高的,先焊贴片再焊直插。MC34063是DIP-8封装,直接插上去焊就行。电感比较重,最后焊,焊之前先用胶固定一下,避免振动导致引脚疲劳断裂。
上电调试分三步走。第一步,不焊芯片,只焊电源部分,用外部电源给5V输入,测一下输入电容两端的电压是否正常,有没有短路。第二步,焊上正压芯片,输出端接一个1kΩ的假负载,慢慢调输入电压从5V升到5V,用示波器看开关节点波形和输出电压。如果输出电压不对,先检查反馈电阻有没有焊错,再检查限流电阻是不是太大了导致芯片进入限流保护。第三步,正压调好之后,再焊负压芯片,同样的流程走一遍。
我第一次调试的时候,正压输出只有8V左右,调反馈电阻也没用。后来用示波器看开关节点,发现波形是断续的,说明芯片在打嗝保护。查了半天才发现是限流电阻焊错了,用了1Ω的,限流点只有300mA,带200mA负载就触发保护了。换成0.47Ω之后一切正常。这个坑告诉我,限流电阻一定要算准,宁可稍微大一点也不能太小,太小了会烧芯片。
3.4 关键波形实测与分析
调好之后我用示波器抓了几组波形。正压开关节点的波形是一个标准的方波,上升沿和下降沿都有轻微的振铃,这是电感的寄生电容和开关管输出电容谐振引起的,频率大概在几MHz,幅度不大,不影响性能。输出电压的纹波峰峰值在30mV左右,主要是开关频率的基波和二次谐波,用固态电容之后高频噪声明显小了。
负压的开关节点波形和正压类似,但占空比明显更大,导通时间更长。输出电压纹波稍微大一点,大概40mV,因为负压的反馈环路响应慢一些。负载瞬态测试从100mA跳到200mA,正压跌落大概80mV,恢复时间200us;负压跌落120mV,恢复时间300us。这个表现对于运放供电来说完全够用了。
| 测试项目 | 正压(+12V) | 负压(-12V) |
|---|---|---|
| 空载输出电压 | 12.05V | -12.08V |
| 满载输出电压 | 11.92V | -11.89V |
| 纹波峰峰值 | 30mV | 40mV |
| 负载调整率 | 1.1% | 1.6% |
| 效率 | 78% | 72% |
效率这一块,正压78%、负压72%,不算高但也能接受。主要损耗在开关管的导通电阻和电感的直流电阻上。如果想再提高效率,可以换更低导通电阻的开关管,或者用更大尺寸的电感,但体积和成本就上去了。对于这个应用场景,我觉得没必要再优化了。
4. 常见问题排查与避坑经验实录
4.1 输出电压不对或不可调
这是最常见的问题,十有八九是反馈电阻的问题。先检查分压电阻的阻值是不是和计算值一致,再检查可调电阻有没有调到位。如果反馈电阻没问题,那就看芯片的反馈引脚电压是不是1.25V。如果反馈引脚电压偏离1.25V很多,可能是芯片坏了,换一颗试试。
还有一种情况是输出电压偏高且不可调,这通常是限流电阻太小导致芯片一直工作在限流状态,开关管频繁保护。用示波器看开关节点波形,如果是一串一串的脉冲而不是连续的方波,基本可以确定是限流了。把限流电阻换大一点就行。
4.2 带载能力差或一加载就掉压
带载能力差的原因比较多,我遇到过几种:第一种是电感饱和电流不够,负载一大电感就饱和了,电流急剧上升,芯片进入限流保护。换饱和电流更大的电感就行。第二种是输入电源的电流能力不足,5V输入如果来自一个弱电源,带载之后输入电压被拉低,芯片自然就工作不正常了。用万用表测一下带载时的输入电压,如果掉到4.5V以下,就得换一个更强的输入源。第三种是二极管的反向恢复时间太长,开关损耗大,换肖特基二极管就能解决。
4.3 纹波大或输出振荡
纹波大一般是输出电容的问题。电解电容的ESR偏高,高频滤波效果差,并联一颗陶瓷电容或者换固态电容就能明显改善。如果输出有低频振荡(频率远低于开关频率),那是反馈环路的相位裕度不够,需要在反馈电阻上并联一颗小电容做相位补偿,容量一般在100pF到1nF之间,具体值要试。
我遇到过一次输出振荡的情况,频率大概几百Hz,输出电压在11V到13V之间来回摆。后来在反馈分压电阻的上端并联了一颗470pF的电容,振荡就消失了。这个电容的作用是引入一个零点,抵消反馈环路的极点,提高相位裕度。
4.4 负压电路的特殊问题
负压电路最容易出问题的地方是启动。因为负压输出是从0V开始的,反馈电压一开始是0V,芯片会以最大占空比工作,输入电流很大。如果输入电源的限流点设得比较低,可能会触发输入电源的保护。解决办法是在负压输出端预加一个假负载,比如1kΩ的电阻,帮助电路建立初始工作点。
还有一个问题是负压的反馈采样。因为反馈电压是相对于负输出的,所以分压电阻的接法和正压不一样。正压是输出端接R1、R2到地,中间点接反馈;负压是地接R2、R1到负输出,中间点接反馈。画板的时候一定要看清楚,接错了输出电压会完全不对。
4.5 常见问题速查表
| 现象 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 输出电压为0 | 芯片没起振 | 测CT引脚波形 | 检查CT电容是否焊好 |
| 输出电压偏低 | 限流保护 | 看开关节点波形 | 减小限流电阻 |
| 带载掉压 | 电感饱和 | 测电感电流波形 | 换大饱和电流电感 |
| 纹波大 | 输出电容ESR高 | 测输出纹波频率 | 并联陶瓷电容或换固态电容 |
| 低频振荡 | 相位裕度不足 | 测振荡频率 | 反馈电阻并联补偿电容 |
| 负压不启动 | 输入限流触发 | 测输入电压 | 加假负载或提高输入限流点 |
实操心得:调试电源的时候,示波器是最重要的工具。不要只看万用表的读数,万用表测的是平均值,很多问题只有看波形才能发现。我习惯同时看开关节点、输出电压和电感电流三个波形,基本上什么问题都能定位到。
5. 性能优化与后续扩展思路
5.1 效率提升的几个方向
如果对效率有更高要求,可以从三个地方下手。第一,把肖特基二极管换成同步整流的MOSFET,消除二极管的正向压降损耗,效率能提升5到8个百分点。第二,把电感换成低直流电阻的型号,比如用多股漆包线绕制的电感,直流电阻能降到原来的一半以下。第三,提高开关频率,减小电感和电容的体积,但开关损耗会增加,需要权衡。
不过对于±12V运放供电这种应用,效率真的不是核心指标。运放本身的静态电流也就几毫安,满载也就一两百毫安,效率差几个百分点对系统的影响微乎其微。与其花精力优化效率,不如把纹波和稳定性做好。
5.2 从±12V扩展到其他电压组合
MC34063的灵活性很高,改一下反馈电阻就能输出不同的电压。比如把正压改成15V,负压改成-15V,只需要重新计算分压电阻就行。如果要输出更高的电压,比如24V,就要注意电感的饱和电流和开关管的耐压。MC34063的内部开关管耐压是40V,输出24V的时候开关节点峰值电压会到24V加上输入电压,接近30V,还在安全范围内。
如果要输出更大的电流,比如500mA以上,就需要外接功率管扩流。数据手册里给了扩流电路的参考设计,用一个PNP三极管和一个NPN三极管组成达林顿结构,可以把输出电流扩展到1.5A以上。不过扩流之后效率会进一步下降,散热也要考虑。
5.3 仿真与实测的偏差分析
仿真和实测肯定有偏差,我总结了几点原因。第一,仿真模型里的开关管导通电阻和二极管压降是理想化的,实际元件的参数有离散性。第二,仿真里没有考虑PCB走线的寄生电感和电阻,实际板子上的走线会引入额外的损耗和噪声。第三,仿真里的负载是纯电阻,实际负载可能有容性或感性成分,会影响环路稳定性。
所以我的做法是:仿真用来验证拓扑和参数计算的正确性,实测用来调整补偿网络和优化布局。两者结合,才能做出稳定可靠的电源。
5.4 这个电路还能怎么玩
这个双路电源的框架其实可以扩展出很多变种。比如把负压那一路改成升压到24V,做成+12V和+24V的双路输出,给运放和继电器供电。或者把两路都改成负压,做成±5V给模拟电路供电。甚至可以把MC34063当成一个通用的开关电源控制器,配合不同的外围拓扑,实现升降压、反相、SEPIC等多种功能。
我个人觉得,MC34063最大的价值在于它的通用性和易用性。虽然它的性能不是最好的,但它的数据手册写得非常详细,各种应用电路都有参考设计,对于初学者来说是一个非常好的学习平台。把这个芯片玩透了,再去看那些同步整流的DC-DC芯片,原理都是相通的。
最后分享一个小技巧:如果你手头没有可调电阻,可以用固定电阻串联一个多圈电位器来代替,调节范围更宽,也更容易调准。我一般会在反馈分压电阻的位置留一个电位器的焊盘,调试的时候焊上去,调好之后再换成固定电阻,这样既方便又可靠。