1. 为什么我要用LM2596折腾一套±12V双路电源
搞模拟电路的朋友都懂,运放、功放前级、传感器调理电路这些玩意儿,很多时候就是认双极性电源。单电源供电虽然能靠偏置电阻把工作点抬到VCC/2,但噪声、动态范围、共模抑制这些指标一上来就露怯。我最早做音频前级的时候,用单电源轨到轨运放凑合过一阵,底噪就是压不下去,后来换成±12V供电,信噪比直接上了一个台阶。从那以后,只要板子空间和成本允许,我都会优先考虑给模拟部分配一组正负对称的电源。
这次要聊的,就是怎么用两颗LM2596把一组单路直流输入(比如24V或者12V)转换成±12V双路输出。LM2596这颗芯片在电子圈里的地位不用我多说,3A降压、150kHz开关频率、外围元件少、价格便宜到离谱,几乎每个电子爱好者的元件盒里都能翻出几颗。但它的数据手册从头到尾只讲降压,压根没提反相输出怎么搞。实际上,只要把LM2596的接法从标准的buck拓扑改成buck-boost(也叫反相降压-升压)拓扑,就能让它输出负电压。正路用一颗做降压得到+12V,负路用另一颗做反相得到-12V,两路共地,一套±12V就出来了。
这套方案适合谁?我觉得有三类人可以参考:一是做模拟电路、运放实验、音频DIY的爱好者,需要一组干净的正负电源;二是搞工控或者仪表的朋友,手头只有24V开关电源,但板子上需要±12V给运放和ADC供电;三是想学习DC-DC拓扑和PCB布局的初学者,LM2596便宜耐造,烧了也不心疼,拿它练手再合适不过。整篇文章我会从拓扑选择、元件计算、实操焊接、PCB布局、问题排查几个维度展开,把我自己踩过的坑和验证过的参数都摊开来讲。
2. 双路电源的整体方案设计与拓扑选型
2.1 为什么不用变压器方案而选开关电源
提到±12V,很多人第一反应是工频变压器加7812/7912线性稳压。这个方案确实简单,纹波小,噪声低,但前提是你得有个变压器。变压器体积大、重量重,而且输入输出不共地的话还得考虑绕组隔离。更关键的是,线性稳压的效率太低,输入24V输出12V,压差12V,如果负载电流1A,光稳压块上就要消耗12W,散热片得大到离谱。我之前用7812给一个运放板供电,负载才300mA,稳压块烫得手都摸不上去,后来加了块小散热片才勉强稳住。
开关电源方案就灵活多了。LM2596的效率在80%到90%之间,输入24V输出12V/1A的情况下,芯片本身消耗大概1.5W到2W,TO-220封装加一小块覆铜就能搞定散热。而且LM2596外围只需要一个电感、一个续流二极管、两个电容和两个电阻,BOM成本不到五块钱。体积上更是碾压变压器方案,整个双路电源可以做在5cm×5cm的板子上。
当然,开关电源的短板是纹波和EMI。LM2596的开关频率是150kHz,输出纹波在几十毫伏量级,对运放供电来说,如果不做后级滤波,高频噪声会串进信号链。我的做法是在LM2596输出后面再加一级LC滤波或者低噪声LDO,比如LM7812和LM7912做后级稳压,这样既保证了效率,又拿到了干净的电源。这个后面会详细讲。
2.2 正路降压和负路反相的拓扑差异
正路+12V的接法就是标准的buck降压拓扑。LM2596的VIN接输入正极,GND接输入负极,OUT通过电感接到输出正极,续流二极管从OUT到GND,反馈引脚FB接在输出端的分压电阻网络上。输入24V,输出12V,占空比大概50%,电感电流连续模式下纹波电流和电感值、开关频率有关。
负路-12V的接法就不一样了。LM2596的GND引脚不能接系统的地,而是要接到负输出端。VIN接系统正输入,OUT通过电感接到系统地。续流二极管的方向也要反过来,从负输出端到OUT。反馈电阻网络同样接在负输出端和FB之间,但要注意FB的参考电压是相对于芯片GND引脚的,而芯片GND引脚现在在负输出端,所以反馈网络的地参考点变了。
这里有个很容易搞混的地方:LM2596的FB参考电压是1.23V,这个电压是相对于芯片的GND引脚测量的。在反相拓扑里,芯片GND引脚接在-12V输出上,所以FB引脚相对于芯片GND的电压应该是1.23V,也就是说FB引脚相对于系统地是-12V+1.23V=-10.77V。反馈电阻的分压比要按这个来算。我一开始没转过弯来,按正路的思路算电阻,结果输出只有-1V左右,后来拿万用表一量FB对芯片GND的电压,才发现分压比完全不对。
2.3 两路共地的实现方式和潜在问题
正路输出+12V和系统地是共地的,负路输出-12V是相对于系统地而言的。两路合在一起,负载看到的就是±12V,中间抽头是地。这个结构看起来简单,但有个隐患:如果正负两路负载不对称,比如+12V带1A、-12V只带100mA,那么负路的LM2596可能进入轻载或者空载状态,输出电压会飘高。LM2596在空载时输出电压会略微上升,一般不超过5%,但如果负路完全空载,而正路满载,共地电流会通过负路的反馈网络和芯片内部电路流动,可能导致负路输出不稳定。
我的解决办法是在负路输出端并一个假负载电阻,比如1kΩ/0.5W,让负路至少有个10mA左右的负载电流。这个电阻会消耗0.144W的功率,对效率影响很小,但能保证负路在正路满载时依然稳定。另一个办法是用LM2596-12的固定输出版本,它的内部反馈网络对空载的容忍度稍好一些,但假负载还是建议加上。
3. LM2596核心参数计算与外围元件选型
3.1 电感值的计算和选型要点
LM2596的数据手册给出了电感选型的计算公式,但那个公式是基于buck拓扑的。对于反相拓扑,电感值的计算逻辑类似,但占空比的定义不同。在buck拓扑中,占空比D=Vout/Vin;在反相拓扑中,占空比D=|Vout|/(|Vout|+Vin)。以输入24V、输出-12V为例,D=12/(12+24)=33.3%。正路+12V的占空比是12/24=50%。
电感值的选择要保证在最小负载电流时电感电流仍然连续。LM2596的数据手册推荐在输出电流1A到3A时使用33μH到100μH的电感。我实际用的是47μH/3A的功率电感,饱和电流至少3A,直流电阻小于100mΩ。这个电感在正路和负路都能用,正路纹波电流大概0.3A,负路因为占空比小,纹波电流会大一些,大概0.5A。
选电感的时候要注意三个参数:电感量、饱和电流、直流电阻。电感量决定了纹波电流的大小,饱和电流必须大于峰值电流(输出电流加上一半的纹波电流),直流电阻影响效率。我试过用那种便宜的工字电感,电感量标47μH,但饱和电流只有1A,结果一上电就饱和,输出电压直接掉到5V,芯片烫得能煎鸡蛋。后来换成屏蔽式功率电感,问题就没了。
3.2 续流二极管的选择和反向恢复问题
续流二极管是buck和反相拓扑里最关键的元件之一。LM2596内部集成了开关管,但续流二极管必须外置。数据手册推荐使用肖特基二极管,因为肖特基的正向压降低、反向恢复时间短。常用的型号有1N5822(3A/40V)、SS34(3A/40V)、MBR340(3A/40V)。在反相拓扑里,二极管承受的反向电压是Vin+|Vout|,输入24V输出-12V的话,反向电压就是36V,所以40V耐压的肖特基刚好够用,但余量不大。如果输入电压可能超过28V,建议选60V耐压的肖特基,比如SS36或者MBR360。
反向恢复时间这个参数在150kHz开关频率下不算太 critical,但肖特基的零反向恢复特性确实能减少开关损耗和EMI。我用普通整流二极管1N4007试过,效率直接掉了10个百分点,二极管温度也高得吓人。所以别省这个钱,肖特基是必须的。
3.3 输入输出电容的容量计算与ESR要求
输入电容的作用是滤除输入端的开关纹波电流,输出电容的作用是平滑输出电压。LM2596的数据手册推荐输入电容至少100μF,输出电容至少220μF。但实际使用中,电容的ESR(等效串联电阻)比容量更重要。开关电源的纹波电压主要由电容的ESR和容量共同决定,ESR越大,纹波越大。
我一般用低ESR的电解电容或者固态电容。输入电容用220μF/50V的低ESR电解,输出电容用470μF/25V的低ESR电解,再并一个100nF的陶瓷电容滤高频。负路的输出电容要注意极性,因为输出是负电压,电解电容的正极要接系统地,负极接-12V输出。这个很容易接反,接反了电容会爆,我亲眼见过同事把负路的电容正负极搞反,上电三秒钟电容就鼓包了,声音还挺响。
3.4 反馈电阻的计算过程和精度考虑
LM2596的FB参考电压是1.23V,正路输出的反馈电阻计算很简单:Vout=1.23×(1+R2/R1),其中R1是FB到地的电阻,R2是FB到输出的电阻。要得到12V输出,R2/R1=(12/1.23)-1≈8.76。取R1=1kΩ,R2=8.76kΩ,实际用8.66kΩ或者8.8kΩ的1%精度电阻,输出大概在12.05V到12.1V之间。
负路的反馈电阻计算要绕个弯。芯片GND接-12V输出,FB相对于芯片GND是1.23V,所以FB相对于系统地是-10.77V。反馈电阻网络接在-12V输出和系统地之间,分压点接FB。设R1是FB到芯片GND(即-12V输出)的电阻,R2是FB到系统地(即0V)的电阻。根据分压关系,FB相对于芯片GND的电压是1.23V,所以R1和R2的分压比要满足:1.23/(12-1.23)=R1/R2,即R1/R2=0.114。取R2=10kΩ,R1=1.14kΩ,实际用1.1kΩ,输出大概在-12.1V左右。
电阻的精度建议用1%的金属膜电阻,温度系数选100ppm/℃以内的。我用过5%的碳膜电阻,输出偏差能到0.5V,而且温度一变输出就跟着飘。后来换成1%的金属膜,输出稳定在±0.05V以内。
4. 从原理图到PCB的完整实操过程
4.1 原理图绘制和网络连接检查
画原理图的时候,正路和负路要分开画,但共地网络要连在一起。正路的LM2596的GND接系统地,负路的LM2596的GND接-12V输出网络。负路的反馈电阻网络一端接-12V输出,一端接系统地,中间抽头接FB。续流二极管的方向要注意:正路的二极管阴极接OUT,阳极接GND;负路的二极管阳极接OUT,阴极接-12V输出。
画完原理图后,一定要做ERC检查,重点看电源网络有没有短路、有没有悬空的引脚。我习惯在原理图上把正路和负路的网络标号区分开,比如+12V、-12V、GND、VIN、VIN_NEG,这样PCB布局的时候不容易搞混。
4.2 PCB布局的关键原则和走线技巧
PCB布局是这套电源能不能稳定工作的关键。LM2596的开关频率150kHz,虽然不算高,但布局不好照样出问题。我总结了几条原则:
第一,输入电容要尽量靠近LM2596的VIN引脚和GND引脚,回路面积越小越好。输入电容的GND要和芯片的GND用短而粗的走线连在一起,最好直接铺铜连接。
第二,续流二极管的阴极要靠近OUT引脚,阳极要靠近GND或者-12V输出。二极管的走线要短,因为它的电流变化率很高,走线长了会辐射EMI。
第三,电感要靠近OUT引脚和输出电容,走线要宽,至少1mm以上,因为电感电流是连续的,走线电阻会影响效率。
第四,反馈电阻要靠近FB引脚,反馈走线要远离电感和二极管,避免耦合开关噪声。反馈走线尽量细一点,但不要低于0.3mm。
第五,正路和负路的功率走线要分开,不要交叉。如果实在要交叉,用0Ω电阻或者跳线,不要在PCB上直接交叉走线。
我第一版PCB就是把负路的反馈走线从电感下面穿过去了,结果输出纹波大了三倍,后来把反馈走线绕到板子另一面,纹波就正常了。
4.3 焊接顺序和上电调试步骤
焊接的时候,先焊矮的元件,再焊高的元件。先焊电阻、电容、二极管,再焊电感、LM2596、接线端子。LM2596的TO-220封装要注意散热片的方向,如果散热片要接GND,那就直接焊在覆铜上;如果散热片要接-12V,那就要用绝缘垫片隔离。我一般把散热片接GND,这样正路的芯片可以直接用覆铜散热,负路的芯片加个绝缘垫片。
上电调试分三步:第一步,不接负载,用万用表测正路和负路的输出电压。正路应该在12V左右,负路在-12V左右。如果偏差超过0.5V,检查反馈电阻。第二步,接一个100Ω的假负载,测输出电压和纹波。纹波用示波器看,AC耦合,带宽限制20MHz,正路纹波应该在50mV以内,负路可能在80mV以内。第三步,接实际负载,测效率和温升。LM2596的温升在满载时大概40℃到50℃,如果超过60℃,要加大散热片或者降低输入电压。
4.4 实测波形和效率数据记录
我用24V输入、正路1A、负路0.5A的负载测了一组数据。正路效率88.2%,负路效率85.6%。正路输出纹波42mV,负路输出纹波68mV。负路纹波大一些是因为反相拓扑的占空比小,电感电流纹波大。后来我在负路输出加了一级LC滤波,纹波降到了25mV。
温度方面,正路LM2596的散热片温度48℃,负路52℃。环境温度25℃。这个温升在可接受范围内,但夏天高温环境下建议加个小风扇或者加大散热片。
5. 常见问题排查与避坑经验实录
5.1 负路无输出或输出异常的排查思路
负路无输出是最常见的问题。先检查芯片GND引脚是不是接在了-12V输出上,而不是系统地。如果接错了,芯片根本不工作。再检查续流二极管的方向,反相拓扑的二极管方向和正路是反的,接反了输出会被二极管钳位到-0.7V左右。然后检查反馈电阻的分压比,用万用表测FB对芯片GND的电压,应该是1.23V左右。如果FB电压不对,检查电阻值有没有焊错。
我遇到过一次负路输出只有-1.5V的情况,查了半天发现是反馈电阻的R1焊成了10kΩ,应该是1.1kΩ。换过来之后输出就正常了。所以焊接完一定要用万用表核对一遍电阻值,别太相信色环。
5.2 输出电压随负载变化的可能原因
输出电压随负载变化大,一般是反馈回路的问题。检查反馈走线是不是太长,或者离电感太近。反馈走线耦合了开关噪声,会导致芯片误判输出电压,从而调节异常。另一个原因是电感饱和,负载电流大了之后电感量下降,纹波电流剧增,输出电压下降。用示波器看电感电流波形,如果波形顶部变尖或者畸变,就是电感饱和了,换个大饱和电流的电感。
还有一种情况是输入电容容量不够,负载突变时输入电压跌落,导致输出电压也跟着跌。在输入端并一个大容量电解电容,比如470μF,能明显改善负载瞬态响应。
5.3 芯片发热严重和效率偏低的改善方法
芯片发热严重,先测效率。如果效率低于80%,检查续流二极管是不是肖特基,电感直流电阻是不是太大,输入输出电容的ESR是不是太高。如果效率正常但芯片还是烫,那就是散热不够。LM2596的TO-220封装热阻大概50℃/W,消耗2W功率的话,温升就是100℃,肯定烫。加一块20mm×20mm的覆铜散热片,热阻能降到30℃/W左右,温升就降到60℃了。
另外,输入电压越高,LM2596的开关损耗越大,效率越低。如果输入是24V,输出12V,效率大概88%;如果输入是12V,输出12V,那LM2596根本没法稳压,需要低压差稳压器。所以输入电压的选择也要考虑,一般输入比输出高3V到8V比较合适。
5.4 纹波和噪声偏大的滤波改进方案
纹波大是开关电源的通病。LM2596的输出纹波主要来自电感电流纹波和电容ESR。要降低纹波,第一是加大输出电容,第二是用低ESR电容,第三是在输出加LC滤波。LC滤波的电感用10μH到22μH,电容用220μF到470μF,截止频率设在10kHz左右,对150kHz的开关纹波衰减大概20dB到30dB。
如果对噪声要求更高,比如给高精度ADC供电,可以在LC滤波后面再加一级LDO,比如LM7812和LM7912。LDO的电源抑制比在低频段很高,能把纹波压到微伏级别。但LDO的压差要留够,LM7812的压差是2V,所以LM2596的输出要调到14V,然后LDO降到12V。这样效率会降一点,但电源质量会好很多。
5.5 常见问题速查表
| 问题现象 | 可能原因 | 排查方法 | 解决方法 |
|---|---|---|---|
| 负路无输出 | 芯片GND未接-12V输出 | 测芯片GND对系统地电压 | 将芯片GND改接到-12V输出 |
| 负路输出-0.7V | 续流二极管方向接反 | 检查二极管阴阳极 | 调换二极管方向 |
| 输出电压偏差大 | 反馈电阻值错误 | 万用表测电阻值 | 更换1%精度电阻 |
| 负载时输出跌落 | 电感饱和 | 示波器看电感电流波形 | 换大饱和电流电感 |
| 芯片发热严重 | 散热不足或效率低 | 测效率和温升 | 加散热片或换肖特基 |
| 纹波偏大 | 输出电容ESR高 | 示波器看纹波波形 | 换低ESR电容或加LC滤波 |
| 负路输出飘高 | 负路空载 | 测负路负载电流 | 加1kΩ假负载电阻 |
6. 这套双路电源的扩展玩法和个人心得
6.1 从±12V扩展到±5V和±15V的改法
这套方案的扩展性很好。要得到±5V,只需要把反馈电阻的分压比改一下。正路+5V:R2/R1=(5/1.23)-1≈3.07,取R1=1kΩ,R2=3.07kΩ。负路-5V:R1/R2=1.23/(5-1.23)=0.326,取R2=10kΩ,R1=3.26kΩ。±15V的话,正路R2/R1=(15/1.23)-1≈11.2,负路R1/R2=1.23/(15-1.23)=0.089。
但要注意,LM2596的最大输入电压是40V,输出电流3A。如果要输出±15V,输入至少18V,而且负路的占空比会变大,电感和电容的参数可能要微调。另外,输出电压越高,LM2596的开关损耗越大,效率会下降。±15V输出时,效率大概82%左右。
6.2 用LM2596做多路输出的级联方案
如果还需要+5V或者+3.3V,可以从+12V再降一级。比如用LM2596-5.0从+12V降到+5V,或者用AMS1117从+5V降到+3.3V。级联的时候要注意总效率是各级效率的乘积,比如+12V效率88%,+5V效率85%,总效率就是74.8%。如果负载电流大,级联的效率损失会比较明显。
另一种方案是用一个多绕组变压器加线性稳压,但那就回到老路了。开关电源级联的好处是体积小、重量轻,适合便携设备。
6.3 个人实操中总结的几条硬核经验
第一,负路的假负载电阻不能省。我试过省掉假负载,结果正路满载时负路输出从-12V飘到-13.5V,运放直接饱和了。加个1kΩ电阻,问题解决。
第二,反馈走线一定要远离电感。我有一版PCB把反馈走线从电感正下方穿过,输出纹波从40mV飙到150mV。后来把反馈走线绕到板子背面,纹波就正常了。
第三,输入电容的ESR比容量更重要。我用过两个1000μF的普通电解并联,纹波还是很大,后来换成一个470μF的低ESR电解,纹波反而小了。所以买电容的时候要看ESR参数,别只看容量。
第四,LM2596的散热片如果接GND,正路可以直接用覆铜散热,负路要加绝缘垫片。如果散热片接-12V,那正路要加绝缘垫片。我一般统一接GND,这样正路省事,负路加个垫片就行。
第五,调试的时候先用小负载,别一上来就满载。我见过有人直接接了个2A的负载,结果电感饱和,芯片烧了。先用100mA的负载测一下,正常了再加大负载。
这套±12V双路电源我前前后后做了五六版,从最初的洞洞板到后来的四层PCB,踩过的坑基本都在这篇文章里了。LM2596这颗芯片虽然老,但胜在便宜、好买、资料全,拿来练手或者做小功率模拟电源完全够用。如果你也在折腾运放或者音频电路,不妨试试这个方案,成本低,效果也稳。