
PowerPico:便携uA级电流功耗计,可调PD诱骗电源!
简介
这是一个μA级电流检测,满足低功耗设备开发与测试需求的便携USB电流计与功耗计。同时他支持标准PD/PPS快充协议诱骗,充当可调电源!有优雅上位机,支持一键升级和数据分析!
简介:这是一个μA级电流检测,满足低功耗设备开发与测试需求的便携USB电流计与功耗计。同时他支持标准PD/PPS快充协议诱骗,充当可调电源!有优雅上位机,支持一键升级和数据分析!开源协议
:CC BY-NC-SA 4.0
(未经作者授权,禁止转载)描述
Power-Pico USB便携CC表
全开源 · 产品级 · uA级电流测量 · 低功耗测量仪 · PPS诱骗
📒1. 项目简介
Power-Pico 是一款专为电子发烧友,嵌入式开发者和工程师,设计的便携测量工具,用于测量uA级别微小电流。同时也支持PPS诱骗,在外出时只有快充充电头的情况下,也能充当可调电源!配合 Power-Pico Client 客户端,它可以对Power-Pico的波形监控与在线升级。
⚡️2. 产品功能
🔋 实时监测
10kHz采样频率,12位ADC采样,ADC+DMA通过高速USB发送数据到上位机实时监控。
👁️ 优雅客户端
基于PySide6的优雅上位机,支持 中/英/日 多种语言,可以实时监控数据,可以方便地对Power-Pico进行在线升级。
🚀 PPS协议诱骗
接口全为Type-C接口,通用性拉满。支持通用PD快充协议,PPS诱骗,可充当可调电源。
📁3. 系统组成
Power-Pico 的硬件组成如下图所示。 STM32F411CEU6 作为核心控制单元;电流采样使用的差分加减运算电路使用 INA190 实现;快充协议诱骗使用 FUSB302 实现;屏幕使用 SPI 驱动的 ST7789 LCD,通过 LVGL 进行交互。
所有接口均使用Type-C母口,方便外接,可以接例如 公头对公头,Type-C对鳄鱼头等。
🖨️4. 复刻说明
物料下单与焊接
PCB和3D打印外壳等物料表清单详见文章底部。焊接就不用多说了,相信各位焊武帝~
程序烧录
采用 BootLoader + App 的结构。请首先使用 ST-Link 等烧录器进行 SWD 烧录,先用烧录夹连接PCB右上角的 SWD 口烧录 BootLoader.hex,然后再使用PowerPico Client 客户端进行App的下载或升级。
外壳组装
3D结构如下图所示,从下到上分别是:底壳+按键,PCBA+屏幕,上壳,面板。
实物图如下图,屏幕是用双面胶贴在PCB背后划线方框里面的。面板直接粘装在顶部,所以自攻螺丝不能太长顶到面板了。
🛠️5. 使用说明
硬件操作
Power-Pico的按键操作说明,和各个界面展示,如下图所示。顶部按键为 换页/Boot 按键,长按住顶部按键再上电,会直接进入Boot模式强制升级模式。
Power-Pico硬件目前只支持 中文简体/English 2种语言。
PPS诱骗
在设置界面中选中PD诱骗,然后点击确认,等待诱骗成功则可进入PPS界面。PPS界面顶部显示的是当前工作的电压和电流。你可以在PPS界面中设置预设好的电压和步进调节电压,这样就可以充当可调电源了。注意:目前只支持 PPS 诱骗!测试时需要看下充电头协议支持!
客户端
PowerPico Client电脑客户端可以用于波形查看、记录、导出;能够进行对下位机硬件的固件升级。客户端目前支持 中文简体/中文繁体/English/日本語 4种语言。
PowerPico Client客户端上位机的具体使用方法详见:客户端操作说明
🔍6. 精度测量
注意:Type-C转接口线例如转鳄鱼夹,本身Type-C电源和地之间有电阻,不是纯绝缘开路的,会影响测量!
使用 SDM3055 六位半万用表进行对比,如下图所示:
对比表格如下:
| SDM3055示数 | Power-Pico示数 | 绝对误差 | 相对误差 |
|---|---|---|---|
| 52.03 uA | 52.05 ua | 0.02 | 0.4% |
| 518.84 uA | 518.4 uA | 0.5 uA | 1.0% |
| 5.22 mA | 5.29 mA | 0.07 mA | 1.3% |
| 469.3 mA | 482.7 mA | 13.4 mA | 2.9% |
| 1.78 A | 1.81 A | 0.03 A | 1.7% |
| 5.19 V | 5.24 V | 0.05 V | 1.0% |
| 15.20 V | 15.56 V | 0.36 V | 2.4% |
| 19.98 V | 20.17 V | 0.19 V | 1.0% |
💾7. 硬件原理
采样部分(关键痛点)
经过我的拆解使用和网上冲浪发现,大多淘宝卖的USB电流计产品,或开源的USB电流计,基本都直接1个电阻采样,然后接1个采样芯片例如INA226就完事儿了。但是现实电流小数点居然能显示小数点后5 6位之多,单单就论电流测量来说,这显然是不合理的。详细分析详见我的网站的计算说明。
因而需要采用三段式采样电路,配合 INA190 放大器实现高精度电流监测。至于MOS管自动换挡逻辑,详见代码,目前是简单的滞回(Hysteresis)切换逻辑。当然这个切换逻辑也是难点,如何做到快准稳,所以代码开源了,欢迎去自由添加DIY和更改UI和控制逻辑。
供电部分
使用2路竞争供电,二极管防止电流倒灌,即USB通信口可以给PowerPico系统供电,电源输入口也可以给系统供电。由于输入端子提供的电流的位置,不经过采样电阻,所以不会影响电流采样。
当然,虽然这样做供电方便了,但是当使用输入口供电时, 输入电流 并不等于 输出电流,而是 输出电流 + PowerPico系统耗电 了。PowerPico测量的显示的是输出电流,这一点要注意。
💻8. 代码结构
程序分区
跟以前的项目一样,采用了 BootLoader + App 的结构,方便USB升级。程序分区如下图所示。
- 起始的sector0,1,2的48kB区域为BootLoader区域
- 第3个sector的16kB区域为升级信息区域,用于开机校检App完整性,具体的校检内容详见BootLoader代码
- 从0x08010000第4个扇区开始后的区域,都为App区域(之所以不做AB分区是片上Flash不够)
App目录结构
采代码目录结构如下所示,详情见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。
🔗9. 参考资料
⚠️10. 注意事项
- 嘉立创只能上传50M大小的文件,我的PowerPico Client客户端刚好超了一点,所以请到我的网站下载客户端!
- 记得烧录完BootLoader之后,再将PCB装进去外壳,不然又要取出去烧录很麻烦!
- 建议光固化打印外壳,虽然贵一些,但是更光滑。FDM热熔打印不光滑且拉丝。
- uA级测量,对 PCB 脏污非常敏感,锡珠和污渍都影响电阻,建议用超声波加洗板水彻底清洗并烘干。
- 可以使用STM32F412CUE6替代STM32F411CEU6(相同封装和引脚),412有更大的RAM空间,可以自行改代码分配更多LVGL缓冲区,理论刷新更丝滑。
- Type-C转鳄鱼夹等等这些线,本身Type-C的电源和地之间有电阻,不是纯绝缘开路的,插上去就会有漏电流属于正常现象,请自行减去,或者在程序中加入校准(当前1.0.5版本暂无校正)。
- 立创开源界面这里只放了复刻和基本原理的东西,详细细节和下载资源可以到我的网站: https://no-chicken.com查看。
📋 物料购买参考表
| 参数类别 | 规格 | 购买链接 | 单机数量 | 备注 |
|---|---|---|---|---|
| 物料+PCB | 芯片/电阻/电容等物料 (STM32, INA190, FUSB302等) | 立创商城 / 嘉立创 | 1 套 | 4层板,外1盎司,内0.5盎司,JLC04161H-7628,免费20%阻抗,1.6mm板厚。 |
| 面板 | 材料透明亚克力,基材厚度1.5mm,打印方式正面,遮光程度常规遮光(白底),背胶正品3M9448A(通用款) | 立创面板定制 | 1 片 | 好像有免费券可以领取 |
| 3D打印外壳 | 底壳+上壳 [JLC Black] + 5个按钮 [Grey灰色] | 嘉立创 3D 打印 | 1 套 | 外壳喜欢什么颜色打什么颜色~ |
| 屏幕 | 宜星1.54寸TFT液晶屏ST7789的240*240屏幕,接插15p弯排 | 淘宝链接 | 1 块 | \ |
| 双面胶 | \ | \ | 若干 | 需要把屏幕粘在PCB背面划线区域 |
| 平头自攻螺丝 | M3*8 | 淘宝链接 | 4颗 | 太长会顶到面板盖不下,太短会拧不上 |
📋 额外线材参考表
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










