改造LM2596开关电源
01 LM2596可调
一、前言
近期看到B站朋友的留言, 提出使用单片机PWM输出来调整 Buck 开关电压源输出的想法。 近期, 我也有一个应用, 需要一个程控可调整大功率直流电源的输出。 使用标准的 Buck 开关稳压芯片, 修改它的外部反馈回路, 是否可以实现输出电压的调整呢? 下面对 LM2596 这款常用的 Buck 开关电源做一个测试, 通过在外部引入反馈, 实现输出可调正。 为利用单片机进行调制方案提供测试结果。
二、测试电路
设计测试电路。 在LM2596基本稳压电路的基础上, 将原来直接反馈的输出电压, 通过 LM358, 与给定电压进行误差积分之后, 再反馈到 LM2596。 积分系数是由 C1,R1决定。 如果在C1上增加一个串联电阻, 可以在积分控制的基础上, 增加一个比例控制。 具体参数将会在后面实测来确定。 下面铺设电路。 采用单面布线。 一分钟之后获得测试电路板。 电路板好像有点过腐蚀。 下面重新再制作一块。 接下来进行焊接测试。
AD\Test\2024\June\AdjustLM2596.PcbDoc
▲ 图1.2.1 测试电路原理图
▲ 图1.2.2 测试电路 PCB
焊接电路板。 清洗之后, 放置在面包板上进行调试。 面包板提供输入工作电压。 利用一个多圈电位器, 设定输入稳压电压。
三、测试结果
下面, 通过调整输入参考电压, 来修改输出电压。 可以看输出电压的确可以随之改动。 甚至可以从0V开始。 此时, 输入电压为 12V, 输出最高可以达到11V。 下面使用示波器测量 一下输出电压的纹波。 可以看到输出电压的纹波还是非常大的。 这应该是有外部的积分调节器 LM358所带来的。
▲ 图1.3.1 输出电压中的纹波
测量上电过程输出电压波形。 可以看到输出有一定的过冲。 大概 7ms 之后, 电压变稳定在给定的电压值。
下面通过 DH1766 给出设定电压, 测量对应的输出电压。 从 0V 逐步变化到8V, 查看一下输出电压与设定电压之间的关系。 测量结果显示, 输出电压与输入电压之间是跟随的关系。 这也证明了现在的方案是非常可靠的。
▲ 图1.3.2 设置与输出电压
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2024-05-30
#
# Note:
#============================================================
from headm import *
from tsmodule.tsvisa import *
from tsmodule.tsstm32 import *
vset = linspace(0, 8, 100)
odim = []
for v in vset:
dh1766setvolt1(12, v, 5)
time.sleep(2)
meter = meterval()
odim.append(meter[0])
tspsave("setv", vset=vset, odim=odim)
printff(v, meter)
plt.plot(vset, odim, lw=3)
plt.xlabel("Set(V)")
plt.ylabel("Output(V)")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
vset=[0.0000,0.0808,0.1616,0.2424,0.3232,0.4040,0.4848,0.5657,0.6465,0.7273,0.8081,0.8889,0.9697,1.0505,1.1313,1.2121,1.2929,1.3737,1.4545,1.5354,1.6162,1.6970,1.7778,1.8586,1.9394,2.0202,2.1010,2.1818,2.2626,2.3434,2.4242,2.5051,2.5859,2.6667,2.7475,2.8283,2.9091,2.9899,3.0707,3.1515,3.2323,3.3131,3.3939,3.4747,3.5556,3.6364,3.7172,3.7980,3.8788,3.9596,4.0404,4.1212,4.2020,4.2828,4.3636,4.4444,4.5253,4.6061,4.6869,4.7677,4.8485,4.9293,5.0101,5.0909,5.1717,5.2525,5.3333,5.4141,5.4949,5.5758,5.6566,5.7374,5.8182,5.8990,5.9798,6.0606,6.1414,6.2222,6.3030,6.3838,6.4646,6.5455,6.6263,6.7071,6.7879,6.8687,6.9495,7.0303,7.1111,7.1919,7.2727,7.3535,7.4343,7.5152,7.5960,7.6768,7.7576,7.8384,7.9192,8.0000]
odim=[0.0145,0.0930,0.1736,0.2533,0.3331,0.4139,0.4938,0.5736,0.6544,0.7344,0.8143,0.8951,0.9751,1.0551,1.1348,1.2154,1.2952,1.3751,1.4560,1.5358,1.6158,1.6966,1.7768,1.8567,1.9377,2.0177,2.0977,2.1788,2.2588,2.3389,2.4200,2.5002,2.5801,2.6612,2.7413,2.8214,2.9025,2.9826,3.0628,3.1439,3.2242,3.3043,3.3855,3.4655,3.5456,3.6256,3.7066,3.7868,3.8669,3.9479,4.0280,4.1079,4.1890,4.2692,4.3492,4.4303,4.5103,4.5904,4.6714,4.7514,4.8314,4.9124,4.9923,5.0722,5.1531,5.2333,5.3133,5.3943,5.4742,5.5542,5.6351,5.7151,5.7951,5.8762,5.9561,6.0361,6.1169,6.1969,6.2770,6.3570,6.4379,6.5178,6.5977,6.6787,6.7586,6.8385,6.9194,6.9992,7.0791,7.1600,7.2400,7.3199,7.4008,7.4806,7.5605,7.6414,7.7213,7.8011,7.8820,7.9619]
四、输出纹波
周期将电源输出负载从 400 欧姆降低到 50欧姆, 可以看到, 在50欧姆的时候, 电源输出纹波增加了。 这说明外部引入的电压反馈回路对输出电压稳定性造成了很大的影响。 下面需要修改对应的积分参数来调整输出电压的稳定性。
▲ 图1.4.1 输出纹波变化
但是后来发现, 电源波纹的增加, 与增加的反馈回路无关, 即使直接将输出不经过外部的 LM358的反馈, 直接连接到 LM2596的反馈输入, 也会在负载为 50欧姆的时候,出现波动。 由此可见, 这种纹波是因为 LM2596本身的调节参数决定的。
▲ 图1.4.2 LM2596内部直接反馈在负载电阻为50欧姆的时候也会产生震荡
※ 总 结 ※
本文测试了利用LM358进行输出电压反馈, 将LM2596改造成输出可以调整的稳压电压。 这样就可以给未来的单片机控制打下了基础。 设定电压由单片机的 DA 输出, 或者将 PWM 进行滤波形成设定电压。 这样便可以应用到一些需要大功率可调电压的场合了。
● 相关图表链接: