Power-Pico USB便携CC表
全开源 · 产品级 · uA级电流测量 · 低功耗测量仪 · PPS诱骗
1. 资料汇总
2. 项目简介
Power-Pico 是一款专为电子发烧友、嵌入式开发者和工程师设计的便携测量工具,用于测量 uA 级别微小电流。
功能亮点:支持 PPS 诱骗,在外出只有快充头的情况下,可充当可调电源。
上位机支持:配合 Power-Pico Client 客户端,支持波形实时监控与在线升级。

3. 产品功能
实时监测:10kHz 采样频率,12位 ADC 采样,通过高速 USB 将 ADC+DMA 数据发送至上位机。
优雅客户端:基于 PySide6 开发,支持中/英/日多语种,支持固件在线升级。
PPS协议诱骗:全 Type-C 接口,支持通用 PD 快充协议,可充当可调电源。
4. 系统组成
核心控制:STM32F411CEU6
电流采样:INA190(差分加减运算电路)
协议诱骗:FUSB302
交互显示:ST7789 LCD 屏幕(SPI驱动) + LVGL 图形库

5. 复刻说明
物料与焊接
PCB 和 3D 打印外壳等清单详见文章底部。建议 1.6mm PCB 板厚。
程序烧录
采用 BootLoader + App 结构:
使用 ST-Link 等烧录器通过 SWD 接口烧录
BootLoader.hex。使用 PowerPico Client 客户端进行 App 下载或升级。(注意更新最新版本)


外壳组装
3.D 结构从下到上依次为:底壳+按键 -> PCBA+屏幕 -> 上壳 -> 面板。 注意:屏幕需用双面胶贴在 PCB 背后划线方框内。

6. 使用说明
Power-Pico的按键操作说明,和各个界面展示,如下图所示。顶部按键为 换页/Boot 按键,长按住顶部按键再上电,会直接进入Boot模式强制升级模式。Power-Pico硬件目前只支持 中文简体/English 2种语言。

在设置界面中选中PD诱骗,然后点击确认,等待诱骗成功则可进入PPS界面。PPS界面顶部显示的是当前工作的电压和电流。你可以在PPS界面中设置预设好的电压和步进调节电压,这样就可以充当可调电源了。注意:目前只支持 PPS 诱骗!测试时需要看下充电头协议支持!

PowerPico Client电脑客户端可以用于波形查看、记录、导出;能够进行对下位机硬件的固件升级。客户端目前支持 中文简体/中文繁体/English/日本語 4种语言。
PowerPico Client客户端上位机的具体使用方法详见:客户端操作说明

7. 精度测量对比
通过 SDM3055 六位半万用表实测对比,部分数据参考如下:
测量项目 | SDM3055示数 | Power-Pico示数 | 相对误差 |
小电流 | 52.03 uA | 52.05 uA | 0.4% |
中电流 | 5.22 mA | 5.29 mA | 1.3% |
大电流 | 1.78 A | 1.81 A | 1.7% |
低电压 | 5.19 V | 5.24 V | 1.0% |
高电压 | 19.98 V | 20.17 V | 1.0% |
9. 代码结构
跟以前的项目一样,采用了 BootLoader + App 的结构,方便USB升级。程序分区如下图所示。
起始的sector0,1,2的48kB区域为BootLoader区域
第3个sector的16kB区域为升级信息区域,用于开机校检App完整性,具体的校检内容详见BootLoader代码
从0x08010000第4个扇区开始后的区域,都为App区域(之所以不做AB分区是片上Flash不够)

采代码目录结构如下所示,详情见github的代码部分。
Power_Pico/
├── Core/ # [核心层] STM32 HAL库配置、中断处理、主函数 (CubeMX生成)
├── BSP/ # [板级支持包] 外设的底层硬件驱动 (LCD, PD, EEPROM等)
├── Drivers/ # [HAL库与驱动] 底层硬件驱动
├── User/ # [用户应用层]
│ ├── Tasks/ # FreeRTOS 任务定义与业务逻辑
│ └── GUI/ # LVGL 图形界面源码 (UI屏幕、图片、字体)
├── USB_DEVICE/ # [通信层] USB CDC 虚拟串口驱动,用于PC上位机通信
├── Drivers/ # [驱动库] STM32官方 HAL/LL 库及 CMSIS
└── MDK-ARM/ # [工程文件] Keil MDK 工程配置文件使用USB进行高速数据传输,数据包组成如下图所示。每个数据包100(可在代码中更改)组数据,加上头共计711Bytes。

10. 参考资料
11. 注意事项
只能上传50M大小的文件,我的PowerPico Client客户端刚好超了一点,所以请到我的网站下载客户端!
记得烧录完BootLoader之后,再将PCB装进去外壳,不然又要取出去烧录很麻烦!
建议光固化打印外壳,虽然贵一些,但是更光滑。FDM热熔打印不光滑且拉丝。
uA级测量,对 PCB 脏污非常敏感,锡珠和污渍都影响电阻,建议用超声波加洗板水彻底清洗并烘干。
可以使用STM32F412CUE6替代STM32F411CEU6(相同封装和引脚),412有更大的RAM空间,可以自行改代码分配更多LVGL缓冲区,理论刷新更丝滑。
Type-C转鳄鱼夹等等这些线,本身Type-C的电源和地之间有电阻,不是纯绝缘开路的,插上去就会有漏电流属于正常现象,请自行减去,或者在程序中加入校准(当前1.0.5版本暂无校正)。
立创开源界面这里只放了复刻和基本原理的东西,详细细节和下载资源可以到我的网站: https://no-chicken.com查看
⚠️焊接与装配请务必选择 1.6mm 规格的 PCB 板材,否则会导致外壳干涉无法安装。
💀致命警告进行PD诱骗时,别连接手机、电脑等贵重设备,当心烧坏!PPS诱骗出来是充当一个可调电压源的角色!
📋 物料购买参考表
参数类别 | 规格 | 购买链接 | 单机数量 | 备注 |
|---|---|---|---|---|
物料+PCB | 芯片/电阻/电容等物料 (STM32, INA190, FUSB302等) | 1 套 | 4层板,外1盎司,内0.5盎司,JLC04161H-7628,免费20%阻抗,1.6mm板厚。 | |
面板 | 材料透明亚克力,基材厚度1.5mm,打印方式正面,遮光程度常规遮光(白底),背胶正品3M9448A(通用款) | 1 片 | 好像有免费券可以领取 | |
3D打印外壳 | 底壳+上壳 [JLC Black] + 5个按钮 [Grey灰色] | 1 套 | 外壳喜欢什么颜色打什么颜色~ | |
屏幕 | 宜星1.54寸TFT液晶屏ST7789的240*240屏幕,接插15p弯排 | 1 块 | \ | |
双面胶 | \ | \ | 若干 | 需要把屏幕粘在PCB背面划线区域 |
平头自攻螺丝 | M3*8 | 4颗 | 太长会顶到面板盖不下,太短会拧不上 |
📋 额外线材参考表
参数类别 | 规格 | 购买链接 | 单机数量 | 备注 |
|---|---|---|---|---|
TypeC转TypeC | 公对公Type-c全功能转接头 | 看自己需要 | 非必须物料 | |
TypeC转鳄鱼夹 | 公头 -- 鳄鱼夹5A | 看自己需要 | 非必须物料 | |
TypeC转2.54排针 | 公头/母头 -- 排针 | 看自己需要 | 非必须物料 |
12. 写在最后
开源评论区请勿争吵打架,共建网络绿色环境~
作者水平有限,仅作方案参考~
