🏆 今日精选(来自 GitHub)
- 项目名称:Pocket Lab Power Supply(口袋实验室电源)
- 项目类型:可调电源
- 项目链接:https://github.com/BenMakesEverything/Pocket-Lab-Power-Supply
- 项目图片:
Pocket Lab Power Supply 整机实物:
金属外壳内嵌 8 字符红色 LED 点阵屏、USB-C 接口、旋转编码器与输出端子,整机可被单手持握。
Pocket Lab Power Supply 系统连接框图:
4S 21700 电池组经 TI BQ25792 充电管理(USB-C/PD 输入)后为 ATtiny3216 主控供电,主控驱动 HCMS-297x 点阵显示与旋转编码器/按钮交互,并控制可调电压/限流输出级,整体构成"电池—充电—主控—交互—输出"的闭环连接关系。
- 硬件平台:Microchip ATtiny3216(8 位 AVR,Arduino 兼容,UPDI 编程)+ TI BQ25792(USB-C/PD 充电管理)
- 开源状态:已提供原理图 (KiCad 工程 zip:主控板 + HCMS-297X 显示背包板;另附 Gerber 制板文件、BOM、3D 打印外壳 CAD) | 软件完全开源(Arduino 固件 Pocket-Lab-Bench-Power-V1.ino,CERN-OHL-S-2.0 强互惠开源硬件许可)
- 核心亮点:
- 把"台式可调电源"装进口袋:内置 4S 21700 锂电池组(14.8V),主输出可调电压 + 可调限流,走到哪测到哪,无需插墙
- 充电链路硬核:TI BQ25792 支持 USB-C/PD 快充输入,将电池组充至 16.8V;源码内明确标注电池安全警告(必须搭配带 BMS 的电池包,换用其他电芯组态必须修改 PROG 引脚配置,防止过充)
- 复古点阵显示:HCMS-297x 8 字符 5×7 LED 点阵模块 + 旋转编码器/按钮交互,低功耗 8 位 MCU 单文件固件即可驱动
- 资料完整度:KiCad 原理图/PCB + Gerber + BOM + 3D 打印外壳 + 系统框图 + FAQ,作者 Ben Makes Everything 有完整实机演示视频(YouTube),2026-07-28 仍在更新
- 推荐理由:481★ 的口袋实验室电源——电池供电 + USB-C 快充 + 可调压限流,把台式电源的体验浓缩进掌心,KiCad 全套硬件开源 + 实物视频验证,是"可调电源"方向今日最惊艳的新发现。
📋 项目简介
Pocket Lab Power Supply 是一款"口袋实验室电源"——把台式可调电源做成了电池供电的便携形态。它基于 4S 锂离子电池组,可当作便携式实验室电源使用,适合移动测量场景。
🔧 设备参数
- 输入电压:4S 21700 锂电池组供电,标称 14.8 V、充满 16.8 V(带 BMS);另支持 USB-C / PD 输入经 TI BQ25792 充电管理为电池组充电(充至 16.8 V)。
- 输出电压范围:1.0 V – 20.0 V 连续可调(固件常量
MIN_MV=1000/MAX_MV=20000,步进 100 mV,上电默认 5.0 V);输出级为 TPS55289 四开关升降压,芯片本身支持 0.8–22 V,固件将可调区间钳制为 1–20 V。 - 输出限流范围:0.1 A – 5.0 A 可调(固件常量
MIN_CURRENT_LIMIT_MA=100/MAX_CURRENT_LIMIT_MA=5000,步进 50 mA,默认 5.0 A;理论最大 6.35 A,但受板级散热限制固件封顶 5 A)。 - 显示:8 字符 5×7 LED 点阵模块(HCMS-297x 系列)。
- 交互:旋转编码器 + 按钮。
- 固件/硬件:完全开源(CERN-OHL-S-2.0),KiCad 工程 + Arduino 固件。
🎯 项目背景
作者 Ben Makes Everything 经常需要在外场或不同工作台之间调试电路,传统台式可调电源体积大、必须插墙,无法满足随身携带的需求。于是他尝试把"台式可调电源"的核心体验——可调电压、可调限流、清晰读数——压缩进一个能装进口袋的电池供电设备里。项目选用 4S 21700 锂电池组作为能量源,配合 TI BQ25792 做 USB-C/PD 快充管理,再用 TPS55289 四开关升降压实现 1.0–20.0 V 宽范围输出。为了降低功耗并保留复古观感,交互采用 HCMS-297x 8 字符 5×7 LED 点阵模块 + 旋转编码器,由低功耗 8 位 ATtiny3216 单文件 Arduino 固件驱动。作者在 YouTube 上发布了完整实机演示,并在 README 中反复强调锂电池安全:必须使用带 BMS 的电池包,且更换电芯组态时必须重新配置 BQ25792 的 PROG 引脚,否则存在过充风险。
📊 核心参数
| 类别 | 型号/参数 | 说明 |
|---|---|---|
| 主控 MCU | ATtiny3216 | 8 位 AVR,Arduino 兼容,UPDI 编程 |
| 电池组 | 4S 21700 锂离子 | 标称 14.8 V,充满 16.8 V,必须带 BMS |
| 充电管理 | TI BQ25792 | USB-C/PD 快充,最大充至 16.8 V |
| 升降压稳压器 | TI TPS55289RYQR | 四开关 Buck-Boost,芯片支持 0.8–22 V |
| 输出电压范围 | 1.0 V – 20.0 V | 固件限制;步进 100 mV |
| 输出限流范围 | 0.1 A – 5.0 A | 步进 50 mA;理论最大 6.35 A,散热限制封顶 5 A |
| 输出保护 | TPS259474 eFuse | 过流/欠压锁定/热保护 |
| 输出电流检测 | INA226 + 0.01 Ω 分流 | I2C 地址 0x41 |
| 显示 | HCMS-297x 8 字符 5×7 LED 点阵 | 复古点阵显示 |
| 交互 | 旋转编码器 + 按钮 | 直接设定电压/限流 |
| 硬件许可 | CERN-OHL-S-2.0 | 强互惠开源硬件许可 |
🔬 TPS55289 输出级电路与电流控制分析
TPS55289 输出级原理图
Pocket Lab Power Supply 输出级围绕U6 TPS55289RYQR(四开关升降压稳压器,集成 4 个功率 MOSFET)构建,后级串联U12 TPS259474电子保险丝做输出保护,输出电流由U7 INA226 + 0.01Ω 分流电阻回采。
TPS55289 输出级(四开关升降压)原理图(原工程 KiCad 裁剪):
由项目 KiCad 原理图Pocket-Lab-Bench-Power.kicad_sch直接导出并裁剪:图中可见 U6 TPS55289RYQR 四开关升降压稳压器、L4 4.7µH 功率电感、U12 TPS259474 电子保险丝、U7 INA226 + R35 0.01Ω 输出电流检测,以及电池输入侧的 MOSFET1 FDS6679AZ 输入开关。
电流控制原理
Pocket Lab Power Supply 的“可调限流”由两层电流控制组成:一层是 TPS55289 芯片内部的输出电流限制(硬件层),另一层是 INA226 输出电流采样(监测层)。
输出电压设定(CV):
固件通过 I2C 向 TPS55289 的REG_REF_LSB/MSB写入电压代码:code = (Vout_mV - 800) / 10,再写入内部基准。TPS55289 根据该基准,通过四开关升降压把BAT+(14.8–16.8 V)转换为 1.0–20.0 V 的输出。输出电流限制(ILIM,硬件层):
TPS55289 的ILIM_HIZ引脚接R57 75k 1%到地。该电阻与芯片内部电流源配合,把输出电流上限设定在 0.1–5.0 A 区间内(固件将编码器设定的appliedCurrentLimitMa约束到 100–5000 mA,再写入REG_IOUT_LIMIT)。当输出电流达到设定值时,TPS55289 内部进入限流状态,限制电感峰值电流和输出电流。输出电流采样(U7 INA226,监测层):
输出回路在 eFuse 之后串入R35 0.01Ω分流电阻,U7 INA226(I2C 地址0x41)测量其两端电压并换算成负载电流:I_out = V_shunt / 0.01Ω。该电流值回传给 ATtiny3216,用于:- 在 HCMS-297x 点阵屏上显示“负载电流 / 功率”;
- 在发生过流/短路时读取 TPS55289 的故障锁存位(
SCP、OCP、OVP),提示用户。
电池电流采样(U4 INA226,电池电量计):
电池侧另有一片U4 INA226,跨接在R30 0.01Ω分流电阻两端,用于计量电池的充放电电流,实现电池电量(SOC)估算。它不参与输出限流,只给 MCU 做电量与功耗显示。不是固件闭环 CC:
与真正“恒压/恒流双环电源”不同,这款固件没有根据 INA226 读数实时回调 TPS55289 输出电压的算法。输出电压完全由编码器手动设定;一旦电流触及限流阈值,由 TPS55289 芯片内部自行限流。因此它的恒流行为更接近“限流保护”而非“主动 CC 稳流”。输出保护链:
TPS55289 之后串联U12 TPS259474 eFuse(电子保险丝),对Final_OUT提供过流关断、欠压锁定和热保护;前端电池输入还有MOSFET1 FDS6679AZ做电池通路开关/反向保护。
📐 完整原理图(按功能区块)
下面把Pocket-Lab-Bench-Power.kicad_sch整张原理图按 KiCad 自带的功能标题框拆成 11 块,顺着“USB-C 输入 → PD 协商 → 电池充电 → 升降压输出 → 输出保护 → 辅助电源 → 主控/显示”的链路排列。所有截图均直接来自原工程 KiCad 10.0 原生渲染。
USB-C 输入与保护:
USB-C 连接器、TVS/ESD 保护 U1/U8、输入开关 MOSFET1 FDS6679AZ 与 VBUS 滤波电容。
USB-C PD 协商 (TPS25730):
U2 TPS25730 负责 USB-C PD 角色协商,输出 VBUS/VSYS 给后级 BQ25792 与系统。
电池充电与输出 (BQ25792):
U3 BQ25792 升降压充电器把 VBUS 转换为电池充电电流或系统供电,连接 4S 21700 电池组。
电压与电流调节 (TPS55289):
U6 TPS55289 四开关升降压把电池电压转换为 1.0–20.0 V 可调输出,L4 为 4.7µH 功率电感。
输出计量/浪涌/反接保护:
U12 TPS259474 eFuse 做输出过流/欠压/热保护,U7 INA226 + R35 0.01Ω 检测输出电流。
3.3V 稳压器:
U5 SY8253ADC 从 VOUT 升压产生 3.3 V 系统供电,R18/R19 分压设定输出约 3.446 V。
TPS25730 配置电阻/下拉:
ADCIN1–ADCIN4 外部电阻配置 PD 协商的电压/电流档位与提示灯逻辑。
BQ25792 配置 + 电池电量计:
U4 INA226 + R30 0.01Ω 检测电池充放电电流,为 MCU 提供电池电量与功耗信息。
5V 稳压器:
U15 SY8253ADC 从 VOUT 升压产生 5 V 供电,供 LED 点阵等外设使用。
信息显示屏与控制:
U10 ATtiny3216 主控、HCMS-297x 8 字符 LED 点阵、旋转编码器 S1 与按钮 SW1。
3.3V 低功耗 MCU 供电:
U9 TPS70933 LDO 直接从 BAT+ 产生 3.3V_Low,保证 MCU 在关机状态仍能运行。