当前位置: 首页 > news >正文

数控调压BUCK电路 —— 基于TPS56637(TI)

0 前言

本文基于 TITPS56637 实现一个支持调压的 BUCK 电路,包含从零开始详细的 原理解析、原理图、PCB 及 实测数据

本文属于《DIY迷你数控电源》系列,本系列我们一起实现一个简单的迷你数控电源

我是 LNY,一个在对嵌入式的所有都感兴趣的博主,一个原厂嵌入式软件开发工程师
如果对你有帮助,请点赞、收藏、关注三连,这是我持续创作的动力之一!!!

文章目录

  • 0 前言
  • 1 如何进行数控调压
    • 1.1 BUCK原理简介
    • 1.2 如何用BUCK得到想要的电压
    • 1.3 如何动态调整BUCK的输出电压
    • 1.4 其它
  • 2 设计选型
    • 2.1 背景:数控电源DIY项目
    • 2.2 设计指标
    • 2.3 BUCK选型
  • 3 硬件设计
    • 3.1 原理图 & 参数设计
    • 3.2 软件效率优化
    • 3.3 PCB & 渲染图
  • 4 测试
    • 4.1 测试环境
    • 4.2 简单测试
    • 4.3 进一步的测试待更新...
  • 5 本系列其它文章(或更新计划)
  • 6 参考资料

1 如何进行数控调压

1.1 BUCK原理简介

BUCK 是一种 DCDC 拓扑结构,把输入的高电压转换成更低的稳定电压

实现方式是 控制模拟开关导通的占空比 来调整输出电压的大小
控制模拟开关导通的占空比 是由输出电压决定的(许多BUCK芯片将模拟开关集成在芯片内部)

BUCKFB(Feedback,反馈)引脚用于获取 分压后的输出电压实际值

分压后的输出电压实际值 将和 内部参考电压 进行比较,组成一个反馈网络,通过监测输出电压,来控制模拟开关的占空比:

分压后的输出电压实际值 > 内部参考电压 ==> 提高模拟开关导通的占空比,输出电压升高
分压后的输出电压实际值 < 内部参考电压 ==> 降低模拟开关导通的占空比,输出电压降低

最终,FB引脚的电压 将会稳定在 内部参考电压,而输出电压也会稳定在我们想要的电压上

1.2 如何用BUCK得到想要的电压

外围电路的结构芯片原厂已经给出,在一般应用下,我们最重要的工作是:计算FB引脚上电阻分压网络的阻值,即下图中的 R6R7
在这里插入图片描述

在这里插入图片描述
VOUTV_{OUT}VOUT—— 经过 BUCK 降压后的输出电压
R6、R7 —— 对应原理图的 R6 和 R7
0.6 —— 反馈电压,每个 BUCK 芯片可能不同,为一常量,在 DATASHEET 的电气参数中可以查到
在这里插入图片描述
芯片原厂在其应用实例中一般都会给出上图中所示的一个公式
在输入和输出参数都满足其要求的情况下,选定R6R7的阻值,就可以得到想要的输出电压

这个公式是怎么得来的?
这个公式可以写成:
0.6=VOUTR6+R7∗R7\begin{aligned} 0.6 = \frac{ V_{OUT} }{R_6 + R_7} * R_7 \end{aligned} 0.6=R6+R7VOUTR7
看原理图,电流从 VOUT 经过 R6R_6R6R7R_7R7 流入 GND,那么这条回路上的电流为:VOUTR6+R7\frac{ V_{OUT} }{R_6 + R_7}R6+R7VOUT
这条回路上电流处处相等,因此电阻 R7R_7R7 两端的电压为 VR7=VOUTR6+R7∗R7V_{R_7} = \frac{ V_{OUT} }{R_6 + R_7} * R_7VR7=R6+R7VOUTR7
电阻 R7R_7R7 两端的电压就是其两端的压差,而其一端是 GND 电压为0V,那么其另一端电压值就是VR7V_{R_7}VR7
这一点直接连接BUCK芯片FB引脚,即 VFB=VOUTR6+R7∗R7V_{FB} = \frac{ V_{OUT} }{R_6 + R_7} * R_7VFB=R6+R7VOUTR7

上面我们有说,BUCK芯片的目的就是控制模拟开关导通的占空比,让VFBV_{FB}VFB和内部参考电压保持一致,从而得到想要的输出电压。目前我们VOUTV_{OUT}VOUT(由设计指标得到)、VFBV_{FB}VFB(由芯片手册得到)已知,只要选择 R6R_6R6R7R_7R7 让这个等式成立就可以了。

阻值选择的注意事项?

  1. 必须保证上述等式成立。
  2. 阻值应在合理范围内选择。阻值过大会导致 FB 引脚内部误差放大器偏置电流引起的误差变大,且更容易拾取环境中的电磁干扰噪声等;阻值过小会导致由过多电流流入电阻分压网络,导致系统功耗变大

当手册没有明确指定时,选择几十kΩ级别(如10kΩ - 200kΩ) 的电阻通常是一个安全、合理且广泛应用的起点。

1.3 如何动态调整BUCK的输出电压

首先,厂商自己会推出一些支持调压的 DC-DC 芯片,可以通过一些通讯协议来调整输出电压。

但我们这里讨论的是 普通的 DC-DC 芯片如何完成调压。当然,TI 在其DATASHEET里有写,不建议这么操作。
在这里插入图片描述
卓晴老师在他的文章数控降压电源模块DCDC| 5A,LCD显示讲解了一种数控调压的方法:通过使用DAC注入电流,以调整FB电压,进而调整输出电压。我们简单复习一下。

在正常情况下,FB 引脚的电压VFBV_{FB}VFBVOUT 经过电阻分压网络直接得到
那么如果我们自己控制 FB 引脚的电压VFBV_{FB}VFB,是不是就能调整输出电压了呢?

卓晴老师在其文章中引用了XL4015-ADJ 5A 大电流DC-DC原理图分享一文中的原理图,这里借用一下:
在这里插入图片描述
从上图可以看到,I2I_2I2I3I_3I3流入 VFB 节点,I1I_1I1流出 VFB 节点,他们的大小分别是:
I1=VFBR1I2=VOUT−VFBR2I3=VG−VD−VFBR3\begin{aligned} I_1 &= \frac{V_{FB}}{R_1} \\ I_2 &= \frac{V_{OUT} - V_{FB}}{R_2} \\ I_3 &= \frac{V_G - V_D - V_{FB}}{R_3} \end{aligned} I1I2I3=R1VFB=R2VOUTVFB=R3VGVDVFB
其中:
VGV_GVG —— DAC (或其它,如滤波后的PWM信号)输出的直流电压
VDV_DVD —— 二极管(一般是肖特基二极管,因为压降低)的压降

根据基尔霍夫电流定律,在任意时刻,流入电路中某一节点(或闭合面)的电流之和等于流出该节点(或闭合面)的电流之和,因此:
I1=I2+I3\begin{aligned} I_1 = I_2 + I_3 \end{aligned} I1=I2+I3
联立以上四式,得:
VOUT=VFB×(1+R2R1)+(VFB+VD−VG)×R2R3V_{OUT} = V_{FB} \times \left(1 + \frac{R_2}{R_1}\right) + (V_{FB} + V_D - V_G ) \times \frac{R_2}{R_3} VOUT=VFB×(1+R1R2)+(VFB+VDVG)×R3R2
现在我们在选定 R1R_1R1R2R_2R2R3R_3R3 三个阻值后,就可以通过调整 VGV_GVG 的电压来调整 VOUTV_{OUT}VOUT 了!

1.4 其它

在此我有个疑问,为什么不直接将DAC接入到FB引脚呢?

!!!以下内容来源于DeepSeek,供大家参考:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有些芯片是支持直接使用DAC控制的,因为其FB引脚已经做了优化:

2 设计选型

2.1 背景:数控电源DIY项目

在选择设计指标前,有必要说一下要实现的DIY项目。
这个DIY项目的最终目标是实现一个迷你数控电源,其和调压相关的实现如下:

  1. 电压诱骗
    数控电源的电源输入来自快充充电器,通过 PD 协议芯片 STUSB4500,诱骗出5V、9V、12V或20V电压。如果快充头支持PPS协议,那么可以在 5V——20V 以 0.05V 的步进自由选择数控电源的输入电压(因为 STUSB4500 只支持这些,而非快充协议限制)。
  2. 电压转换
    作为一个数控电源,应该可以以较高精度的步进调整输出电压,为此支持两种电压输出方式
    方式1: 通过 PPS 协议直接诱骗出需要的电压。
    (优点:电路简单、效率高。缺点:最低输出5V,调整步进精度0.05V)
    方式2:PD3.0PPS 协议诱骗出一特定电压后,输入到数控 BUCK 电路,调整为最终需要的电压。
    (优点:可以输出低于5V的电压、调整步进精度高。缺点:由于BUCK压差的限制,不能输出过高的电压;输出纹波大)
    .
    为了实现上述功能,将使用两个负载开关芯片 LM73100(也是理想二极管芯片)实现二选一输出。
  3. 计量
    使用 INA233 计量芯片实现对输出的电压、电流、功率和能量进行计量。
  4. 保护功能
    使用 TPS25974 电子保险丝实现过流、过压、短路等接口保护。

2.2 设计指标

基于上述前提,可以定出对BUCK调压电路基本的设计指标

  • 输入电压:5V——20V(由PD诱骗芯片决定,STUSB4500 最高支持20V)
  • 输出电压:0V——12V(需要更高电压时,由PD诱骗后通过快充头直出)
  • 输出电流:5A(由PD诱骗芯片决定,STUSB4500 最高支持5A)
  • 输出纹波:100mV(仅BUCK输出,不包含后级eFuse的大电容)
  • 调压精度:10mV

2.3 BUCK选型

基于以上指标,选择了德州仪器的 TPS56637
在这里插入图片描述

3 硬件设计

3.1 原理图 & 参数设计

DATASHEET的参考设计:
在这里插入图片描述
参考以上设计,绘制我们的原理图
在这里插入图片描述
那么主要选择的参数就是 R22R_{22}R22R23R_{23}R23R25R_{25}R25 了。

根据上面的公式:
VOUT=VFB×(1+R23R22)+(VFB+VD−VG)×R23R25V_{OUT} = V_{FB} \times \left(1 + \frac{R_{23}}{R_{22}}\right) + (V_{FB} + V_D - V_G ) \times \frac{R_{23}}{R_{25}} VOUT=VFB×(1+R22R23)+(VFB+VDVG)×R25R23
其中,已知参数是:
VGV_{G}VG是DAC输出的电压,范围是 0V — 3.3V;
VDV_{D}VD是肖特基二极管上的压降,1N5817WS 的压降是 0.45V;
R22R_{22}R22初选为10kΩ,R23R_{23}R23选为220kΩ,R25R_{25}R25选为36kΩ。
VOUT=0.6×(1+22010)+(1.05−VG)×22036V_{OUT} = 0.6 \times \left(1 + \frac{220}{10}\right) + (1.05 - V_G ) \times \frac{220}{36} VOUT=0.6×(1+10220)+(1.05VG)×36220
VGV_{G}VG输出 0V 时,VOUT=20.21VV_{OUT} = 20.21VVOUT=20.21V
VGV_{G}VG输出 3.3V 时,VOUT=0.05VV_{OUT} = 0.05VVOUT=0.05V

12bit DAC的输出范围码字为0 — 4096,对应 0.05V 和 20.21V,那么一个码子对应的电压值为0.005V,即理论调压精度为5mV。

但是BUCK芯片是有压差要求的,且 TPS56637 最高输出电压为13V,因此DAC的最低输出电压VGMAX=1.18VV_{G_{MAX}} = 1.18VVGMAX=1.18V

3.2 软件效率优化

在这里插入图片描述
在我们这个应用中,因为输入电压来源于快充充电器,所以可以获取到范围内的所有电压值。

那是否会有一种控制算法
根据输出电压值,先粗调一个输入电压值,再通过BUCK精调,保证BUCK工作在最高效率下呢?

题主认为这种方式肯定是必须且有成效的,但是这部分还没有完成,完成了会贴出来,并附上测试结果。

3.3 PCB & 渲染图

根据上述的原理图layout,BUCK电路对应下图中红框的位置。

请添加图片描述

在这里插入图片描述

4 测试

4.1 测试环境

在这里插入图片描述
上图中将BUCK的 MODE 引脚接地,从而使BUCK进入 ECO模式,在轻载下获得更高的效率

在实际应用中,MODE 引脚由MCU的GPIO控制(但是这块板的MCU刚刚炸掉,所以就简单粗暴的短接到GND了)

4.2 简单测试

DAC电压为3.197V时,BUCK输出电压1.941V
DAC电压为0V时,BUCK输出电压为13.97V

4.3 进一步的测试待更新…

总之先简单的验证一下这个电路能用吧,具体效果怎么样后面再更新

后面的打算换一款板子,把MCU焊好之后再测试。

5 本系列其它文章(或更新计划)

如果已经更新,下面会出现超链接

硬件:

  • MCU —— STM32G431CBU6
  • 调压BUCK电路 —— 基于TPS56637(本文)
  • 功率计电路 —— 基于INA233
  • 理想二极管开关电路 —— 基于LM73100
  • 电子保险丝电路 —— 基于TPS25974
  • PD3.0(PPS) SINK电路 —— 基于STUSB4500
  • 旋转编码器 & 蜂鸣器电路 —— 基于EC11和SS8050
    .

软件:

  • STUSB4500 —— BSP程序开发
  • INA233 —— BSP程序开发
  • EC11编码器 &蜂鸣器 —— BSP程序开发
  • LVGL —— 图形库移植与应用开发
  • FreeRTOS —— 移植与应用开发
    .

其它:

  • 外壳设计及加工
  • 元器件及结构件的选择
    .

相关文章:

  • PPS(PD3.0)快充SINK模块 — 基于STUSB4500

6 参考资料

[1] 数控降压电源模块DCDC| 5A,LCD显示 —— 卓晴
[2] XL4015-ADJ 5A 大电流DC-DC原理图分享 —— 苏守坤
[3] TPS56637 DATASHEET

http://www.dtcms.com/a/289570.html

相关文章:

  • 乐观锁实现原理笔记
  • Android activity与service通信的三种方法
  • 30天打牢数模基础-K均值聚类
  • (DINO)Emerging Properties in Self-Supervised Vision Transformers论文精读(逐段解析)
  • (苍穹外卖)暑假学习理解P2
  • 从零搭建智能搜索代理:LangGraph + 实时搜索 + PDF导出完整项目实战
  • [C/C++安全编程]_[中级]_[如何安全使用循环语句]
  • k8s:离线部署存在的相关问题
  • 近期工作感想:职业规划篇
  • 【单片机外部中断实验修改动态数码管0-99】2022-5-22
  • Linux文件系统三要素:块划分、分区管理与inode结构解析
  • 本地部署开源离线内容浏览器 Kiwix 并实现外部访问( Windows 版本)
  • 【Java新特性】Java 21 新特性全解析
  • CSS面试题及详细答案140道之(121-140)
  • 快速理解LLM的temperature和top_p参数
  • 设备健康管理实施案例:从技术架构到落地效果的全栈解析
  • MCP实战案例|Trae2.0 一键创建旅行助手并一键部署EdgeOne
  • ARFoundation系列讲解 - 101 VisionPro 真机调试
  • Vue中组件的生命周期
  • 建筑墙壁损伤缺陷分割数据集labelme格式7820张20类别
  • Django ORM系统
  • [学习] Hilbert变换:从数学原理到物理意义的深度解析与仿真实验(完整实验代码)
  • 平安车管家|中国平安车管家入职测评16PF瑞文IQ测评答题攻略及真题题库
  • 嵌入式系统内核镜像相关(十七)
  • AI 的广泛应用是否会削弱人的思考能力和创造力?
  • GaussDB select into和insert into的用法
  • 字符串处理
  • MySQL学习----Explain
  • 关于堆的判断
  • 【工具变量】A股上市公司企业合作文化数据集(2007-2023年)