
1 前言
1.1 概述
这是一个 迷你数控电源 DIY项目,最基本功能是:诱骗出快充头的电能,并提供给其它设备
题主做这个主要想锻炼一下自己FreeRTOS和LVGL的开发能力
本项目的所有资源都将随着作者的开发进度逐步开源,每个重要的技术细节都将有详细讲解,方便快速上手
本文章是总集篇,包含所有相关文章和资源的传送门,方便你对这个项目有一个整体的认识
我是 LNY,一个在对嵌入式的所有都感兴趣的博主,一个原厂嵌入式软件开发工程师
如果对你有帮助,请点赞、收藏、关注三连,这是我持续创作的动力之一!!!
1.2 特性
- ✅ 支持PD3.0 / PPS快充协议
- ⚡支持
2V—20V调压输出,最大输出电流5A - 📊 理论调压精度
5mV - 🖥️ 电压、电流、功率和能量的高精度计量
- 🛡️ 支持过压、过流、欠压、反接、短路保护
- 🔧 在输入支持
PPS协议时,支持直接由快充头输出指定的电压和电流
2 功能描述 \ 器件选型 \ 文章传送门
2.1 快充SINK——STUSB4500(ST)
快充头(SOURCE)在连接到设备(SINK)后,要先和设备握手协商,确定双方都支持的快充参数
一颗专用的快充协议芯片可以被用于与快充头握手协商
📊 关键参数:支持PD3.0和PPS协议;最高20V、5A的SINK能力
📚 Datasheet:STUSB4500 Datasheet
📝 文章链接:PPS(PD3.0)快充SINK模块 — 基于STUSB4500
📝 文章链接:(待更新)STUSB4500 快充SINK芯片 —— 应用 & 源码
2.2 可调降压——TPS56637(TI)
PD协议最低输出5V的电压,STUSB4500支持的PPS快充协议调压步进为50mV,这导致无法直接通过快充头输出较低的电压,或实现电压的精密控制
使用一颗可调压的BUCK芯片可以解决这个问题
📊 关键参数:4.5V—28V输入 | 0.6V—13V输出 | 6A同步降压转换器
📚 Datasheet:TPS56637 Datasheet
📝 文章链接:数控调压BUCK电路 —— 基于TPS56637(TI)
2.3 电源复用开关——LM73100(TI)
迷你数控电源支持双模式切换输出: 直接由快充头输出,或由BUCK调压后输出
使用两个理想二极管芯片可以实现这种功能,因为每个理想二极管的开关可独立由MCU控制,实现电源路径的二选一,或终止任何电源路径输出
📊 关键参数:
📚 Datasheet:LM73100 Datasheet
📝 文章链接:(待更新)LM73100(TI)理想二极管芯片 解析 & 应用
2.4 接口保护——TPS25974(TI)
数控电源在供电的过程中外部设备很有可能出现短路、过流、欠压等情况
电子保险丝芯片在面对上门的异常情况时,可以立刻切断电源,并在恢复正常后重新导通
📊 关键参数:2.7V—23V输入 | 7A最大过流保护 | 9.8mΩ
📚 Datasheet:TPS25974 Datasheet
📝 文章链接:(待更新)TPS25974(TI)电子保险丝芯片 解析 & 应用
2.5 功率计——INA233(TI)
功率计芯片用在供电回路的末端,监测用电设备的电流、电压、功率和能量
- 这些信息后可以在显示屏上显示,为使用者提供直观的信息
- 使用者可以自由设置各种保护阈值,在超出阈值后断开供电回路,以保护用电设备
- 在
MCU使用DAC对BUCK调压时,功率计可以给予实际电压反馈,以
📊 关键参数:36V | 16位 | I2C | 电流 & 电压 & 功率 & 能量计量
📚 Datasheet:INA233 Datasheet
📝 文章链接:(待更新)INA233(TI)功率计芯片 解析 & 应用 & 源码
2.6 人机交互
2.6.1 显示屏——P169H002(ST7789 + CST816)
显示屏用于为使用者提供关键信息,并根据需要修改一些关键参数
P169H002购于淘宝,包含2.5D玻璃面板,并集成了显示芯片ST7789和触控芯片CST816
📊 关键参数:1.69寸 | 240 * 280 | 电容触摸屏 | SPI
📚 Datasheet:见后续文章
📝 文章链接:(待更新)LCD屏 解析 & 应用 & 源码
📝 文章链接:(待更新)迷你数控电源 —— LVGL 应用
2.6.2 旋转编码器——EC11
📚 Datasheet:EC11 Datasheet
📝 文章链接:(待更新)EC11 旋转编码器 解析 & 应用 & 源码
2.6.3 RGB LED——WS2812
📚 Datasheet:WS2812 Datasheet
📝 文章链接:(待更新)WS2812 解析 & 应用 & 源码
2.7 MCU——STM32G431CBU6(ST)
本项目的 MCU 应具备以下外设或功能:
⚡ DAC,通过对 BUCK 芯片 FB 引脚的电流注入,实现对其输出电压的调整;
📡 SPI,和 LCD 显示屏通讯,实现图形界面;
📡 SPI,仅使用 MOSI 模拟 WS2812 协议,实现与其通讯;
📡 IIC,和 LCD 触摸屏通讯,实现触控;
📡 IIC,和 INA233 通讯,读取计量信息;
📡 IIC,和 STUSB4500 通讯,配置输入电压;
⏱️ TIM ,支持编码器模式,用于实现 EC11 旋转编码器的旋钮调节;
🧰 满足 GPIO 接口要求;
🧠最低 24kb 的 RAM ,主要是考虑运行 FreeRTOS 和 LVGL 的基础要求;
💾 最低 128kb 的 Flash ,主要是考虑运行 FreeRTOS 和 LVGL 的基础要求;
⚙️ Cortex M3 / M33 / **M4**内核;
💰 **QFN**封装,面积小且可以手工焊接;
💰易于购买,价格适中;
作为一款电机驱动MCU,其弊端是只有128kb的Flash和32kb的RAM,这将对软件开发提出要求,图形界面的显示丰富程度也会降低很多。
📊 关键参数:Cortex-M33 | 128kb Flash | 32kb RAM
📚 Datasheet:STM32G431CBU6 Datasheet
📝 文章链接:(待更新)迷你数控电源 —— FreeRTOS 应用
📝 文章链接:(待更新)迷你数控电源 —— LVGL 应用
3万+

被折叠的 条评论
为什么被折叠?



