站内搜索
发作品签到
基于STM32G474的数字电源
专业版

基于STM32G474的数字电源

简介

本项目是一套基于 STM32G474 的双向四管升降压数字电源 设计输入: 5V - 40V 10AMAX 输出范围: 0.5V - 40V 功率拓扑: 四开关同步整流

简介:本项目是一套基于 STM32G474 的双向四管升降压数字电源 设计输入: 5V - 40V 10AMAX 输出范围: 0.5V - 40V 功率拓扑: 四开关同步整流
复刻成本:110

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2025-09-20 13:25:19更新时间:2026-06-23 18:07:15

描述

UF4 数字电源:四开关同步整流 Buck-Boost 可调电源

一套从功率硬件、实时控制固件、本地显示上位机到 PC 调试/烧录软件都开源的数字电源项目。

UF4 数字电源是一套基于 STM32G474CBT6 的四开关同步整流 Buck-Boost 数字电源方案,目标是做成一台可调、可监控、可升级、可二次开发的实验室电源。项目不仅提供功率板硬件,还配套了下位机控制固件、基于 STM32H743 的本地显示/旋钮上位机,以及基于 Python/PyQt 的 PC 上位机 F4CP

如果你正在学习数字电源、HRTIM、Buck-Boost 多模式控制、STM32 图形界面、串口通信协议,或者想复刻一台可玩性更高的数控电源,这个项目可以作为一个完整参考。

开源代码链接 觉得不错的话点个follow和star吧

QQ 交流群:871340927

项目亮点

  • 四开关同步整流 Buck-Boost 拓扑,可覆盖降压、升压和输入输出接近时的 Mix 过渡区。
  • 输入范围 5V - 40V,输出范围 0.5V - 40V,目标电流 0 - 10A
  • 支持正反向电流硬件能力,后续可继续扩展 UPS / 双向能量流等玩法。
  • 下位机基于 STM32G474,使用 HRTIM 做高频互补 PWM 控制。
  • 固件包含 ADC 采样、双闭环控制、软启动、保护逻辑、Buck/Mix/Boost 模式切换和参数存储。
  • 板载 STM32F103 DAPLink,可配合 PC 上位机进行固件烧录和调试。
  • 统一通信协议 UF4COM V3,支持 READ / WRITE / REPORT / STREAM,适配 USB CDC、UART、RS485、TCP 透传等链路。
  • PC 上位机 F4CP 提供参数设置、实时曲线、状态监控、固件版本管理和 DAPLink 烧录功能。
  • 独立硬件上位机基于 STM32H743 + LTDC + DMA2D + SDRAM,带 2.8 寸横屏 GUI、旋钮、按键和波形界面。

实物与界面

功率板实物

功率板实物 1
功率板实物 2
功率板测试

PC 上位机 F4CP

F4CP 主界面
F4CP 电源界面

硬件上位机

硬件上位机整机外观
硬件上位机主界面
硬件上位机波形界面

硬件参数

项目参数
主功率控制 MCUSTM32G474CBT6
功率拓扑四开关同步整流 Buck-Boost
输入范围5V - 40V
输出范围0.5V - 40V
目标电流0 - 10A
PWM 外设STM32G4 HRTIM
栅极驱动UCC27211
板载调试STM32F103C8T6 DAPLink
外部参数存储W25Q64
采样量VIN / IIN / VOUT / IOUT / 板载温度 / MCU 温度
通信接口USB CDC / UART
通信协议UF4COM V3

辅助电源部分包含:

  • LMR36520F:VIN 转 5V,用于运放、基准电压和风扇供电。
  • LM1117-3.3:5V 转 3.3V,用于 MCU 与外设逻辑供电。
  • SY7304DBC:5V 升压到约 11.1V,用于栅极驱动供电。

系统组成

本项目不是单独一块 PCB,而是一套完整数字电源系统:

模块本地工程主要作用
功率板 / 下位机固件UF4DigitalPower采样、PWM、闭环控制、保护、参数存储、通信
硬件上位机UF4UpperPower本机显示、旋钮设定、按键菜单、波形查看
PC 上位机F4CP串口连接、参数配置、实时曲线、固件下载、DAPLink 烧录
通信协议UF4COM V3统一数据 ID、帧格式、CRC、读写和流数据
固件下载网址update.hepi.ng在线下载对应固件

整体关系可以理解为:

PC 上位机 F4CP
  | USB CDC / UART / DAPLink
  v
功率控制板 STM32G474
  | HRTIM / ADC / PID / 保护
  v
四开关 Buck-Boost 功率级

硬件上位机 STM32H743
  | USART1 + UF4COM V3
  v
功率控制板 STM32G474

下位机固件架构

下位机固件面向实时数字电源控制,主要分为五层:

  1. 板级外设层
    ADC、HRTIM、TIM、GPIO、SPI、USART、USB CDC、DMA、IWDG 等底层外设初始化。

  2. 采样与换算层
    对 VIN、IIN、VOUT、IOUT、温度等采样值进行平均、校准和物理量换算。

  3. 状态机与保护层
    包含 Init / Wait / Rise / Run / Err 主状态机,以及短路、过压、过流、过温等保护逻辑。

  4. 模式判定与切换层
    根据输入输出电压关系在 Buck / Mix / Boost 之间切换,并加入回差、软启动、占空注入和平滑过渡。

  5. 快速闭环控制层
    HRTIM 快环中断内执行电压环、电流环、anti-windup、模式对应 duty 计算和 PWM 比较值刷新。

主要实时节拍:

TIM6   1 ms    毫秒计数、喂狗
TIM7   5 ms    ADC 平均、保护、状态机、模式判定、通信流 tick
TIM16  10 ms   采样值换算成上报物理量
HRTIM  200kHz  快速闭环控制与 PWM 刷新

PC 上位机 F4CP

F4CP 是面向 Windows 的桌面上位机,使用 Python 3.11 + PyQt5 + qfluentwidgets + pyqtgraph + pyOCD 开发。

主要功能:

  • 自动连接 USB CDC / 串口设备。
  • 设置输出电压、电流限制、OVP、OCP、OTP、风扇等参数。
  • 开启 / 关闭输出。
  • 实时读取 VIN、IIN、VOUT、IOUT、温度、风扇、工作模式和故障状态。
  • 显示实时曲线和运行状态。
  • 通过 UF4COM V3 执行读写、上报和流数据传输。
  • 管理固件版本、下载推荐版本或测试版本。
  • 调用 DAPLink / pyOCD 完成固件烧录和复位。
  • 保留通用协议调试入口,方便开发时排查通信问题。

F4CP 软件结构:

F4CP/
├─ app/
│  ├─ controllers/     页面控制器
│  ├─ core/            数据中心、常量和基础对象
│  ├─ protocol/        UF4COM 协议编解码
│  ├─ session/         串口、电源设备、DAPLink 会话
│  ├─ widgets/         PyQt 页面和控件
│  └─ window/          主窗口和导航
├─ config/
├─ Resources/
├─ script/
├─ tests/
├─ start.py
└─ pyproject.toml

硬件上位机

硬件上位机基于 STM32H743ZITx,定位是一个不依赖 PC 的本机控制和显示终端。

主要特性:

  • STM32H743ZITx,Cortex-M7,主频 480 MHz
  • 2.8 寸横屏 GUI,逻辑分辨率 640 x 480
  • ST7701 LCD,LTDC + RGB565 framebuffer 输出。
  • DMA2D 负责矩形填充、图片搬运和字体 blit。
  • FMC SDRAM 用于双 framebuffer、字体缓存和绘图 scratch。
  • 两个旋转编码器分别用于 VSET / ISET。
  • 五个面板按键用于菜单、保护参数、输出控制和波形页面操作。
  • USART1 通过 UF4COM V3 与功率控制板通信,当前波特率 921600

硬件上位机支持主界面和波形界面:

  • 主界面显示 VIN / IIN / PIN / EFF / FAN、VO / IO / PO、VSET / ISET、保护值、输出状态、通信状态和故障状态。
  • 波形界面支持 CH1 / CH2 双通道趋势查看,可选择 VOUT、IOUT、POUT、VIN、IIN、PIN、VSET、ISET、EFF、FAN 等数据源。

当前硬件上位机成本较高,更适合作为进阶参考;只想先复刻电源本体的话,可以优先使用 PC 上位机 F4CP。

通信协议 UF4COM V3

UF4COM V3 是项目统一通信协议,目标是在 UART、USB CDC、RS485、TCP 透传等链路上复用同一套帧格式、CRC、流式解析和命令调度逻辑。

协议特点:

  • 固定帧头 AA 55
  • CRC16-CCITT 校验。
  • 支持 ACK 和错误响应。
  • 支持批量 READ / WRITE。
  • 支持 STREAM_DATA 主动上传。
  • 数据项采用固定 TV 格式:ID + 16bit VALUE
  • 温度、电压、电流、状态量、保护阈值、风扇、PWM 调试量等都有统一 ID。

典型数据 ID:

ID名称单位说明
0x0AINPUT_VOLTAGEmV输入电压
0x0BINPUT_CURRENTmA输入电流
0x0COUTPUT_VOLTAGEmV输出电压
0x0DOUTPUT_CURRENTmA输出电流
0x11SET_VOLTAGE_LIMITmV电压设定
0x12SET_CURRENT_LIMITmA电流设定
0x15POWER_STATE-输出状态
0x16FAULT_STATE-故障状态
0x1EOTP_SET_VALUE0.01 degC过温保护设定
0x20OVP_SET_VALUEmV过压保护设定
0x22OCP_SET_VALUEmA过流保护设定
0x27FAN_SET_VALUE% / permille风扇设定

Git 地址

工程说明Git 地址
F4CP PC 上位机Python / PyQt 桌面上位机https://github.com/UF4OVER/UF4DigitalPower.git
F4CP Gitee 镜像PC 上位机 Gitee remotehttps://gitee.com/uf4/UF4DigitalPower
UF4DigitalPower 下位机STM32G474 功率控制固件https://github.com/UF4DigitalPower/UF4DigitalPower.git
UF4UpperPower 硬件上位机STM32H743 本地显示控制固件https://github.com/UF4DigitalPower/UF4UpperPower.git
UF4COM V3通信协议核心https://github.com/UF4OVER/UF4COM
DAPLink 固件板载 STM32F103 调试器固件https://github.com/UF4OVER/DAPLINK_STM32F103XB

复刻提示

  1. 建议先按原 BOM 复刻,不要一开始就替换 MOS、采样电阻、运放或电感参数。
  2. 不同器件和 PCB 焊接质量会影响环路参数、动态响应、效率和稳定性。
  3. 如果更换 MOS、电感、采样电阻、输出电容或提高输入输出电压,需要重新评估采样比例、PID 参数、保护阈值和散热。
  4. 板载 DAPLink 需要烧录对应 DAPLink 固件,之后才能正常配合 PC 上位机烧录下位机。
  5. 上位机第一次启动可能较慢,可以等待一段时间。
  6. 功率板理论上可以通过更换器件支持更高输入输出电压,但当前辅助电源受 LMR36520F 等器件限制,实际修改前必须重新核算。

构建与启动

PC 上位机 F4CP

git clone https://github.com/UF4OVER/UF4DigitalPower.git
cd UF4DigitalPower
uv sync
uv run python start.py

下位机固件

git clone https://github.com/UF4DigitalPower/UF4DigitalPower.git
cd UF4DigitalPower
git submodule update --init
cmake --build cmake-build-debug -- -j4

硬件上位机固件

git clone https://github.com/UF4DigitalPower/UF4UpperPower.git
cd UF4UpperPower
git submodule update --init
cmake --build cmake-build-debug

参考资料

  • UF4COM V3 通信协议
  • DAPLink_STM32F103XB 板载调试器固件
  • TI: Multimode control for a four-switch buck-boost converter
  • ST: Buck-boost converter using the STM32F334 Discovery kit
  • Synchronous Rectification Buck-Boost Digital Power Supply Based on STM32

安全声明

数字电源涉及高电压、大电流、储能电容、发热器件和可能的瞬态冲击。复刻和调试前请务必做好限流、保险、散热、绝缘、防反接和应急断电措施。

由于焊接水平、器件批次、PCB 制造、负载环境和调试方式不同,作者不对使用本项目造成的任何直接或间接损失负责。请在充分理解风险后再进行上电测试。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
Logo GIF0
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航