发作品
专业版

基于 CH32V003 和 CH224K 的 PD 电源诱骗器

1.7k
0
0
8
简介:基于 CH32V003 和 CH224K 的 PD 电源诱骗器,可以自行选择诱骗电压,并且支持电压、电流、功率显示。
“暖冬造物迎新年”征集令
开源协议:CERN Open Hardware License(未经作者授权,禁止转载)
创建时间:2023-12-18 17:55:35更新时间:2024-01-13 12:07:07

描述

基于 CH32V003 和 CH224K 的 PD 电源诱骗器,可以自行选择诱骗电压,并且支持电压、电流、功率显示。

 

不需要 USB PD 诱骗功能可以看另外一个基于 CH32V003 的纯 USB 电流表项目:https://oshwhub.com/wandaeda/ji-yu-ch32v003-de-usb-dian-liu-biao

 

主界面:

 

 

PCB:

 

 

三维猴透明树脂外壳很赞:

 

 

USB PD 诱骗器需求

 

  • USB Type-C 输入
  • DC 2.5mm 以及 MX126 端子输出
  • USB PD 协议诱骗,支持多档电压,支持最高 20V 5A
  • 支持 5~20V 电压检测
  • 支持 0~5A 电流检测
  • 支持功率计算、容量统计
  • 支持功率历史图表显示
  • 支持统计数据记录与清除
  • 按键切换电压电流数据与功率历史图表
  • 使用 INA219 采集电压、电流相关数据
  • 使用 12864 OLED 显示相关数据

 

CH32V003 介绍

 

CH32V003系列是基于青稞RISC-V2A内核设计的工业级通用微控制器,支持48MHz系统主频,具有宽压、单线调试、低功耗、超小封装等特点。CH32V003系列内置1组DMA控制器、1组10位模数转换ADC、1组运放比较器、多组定时器以及标准通讯接口USART、IIC、SPI等。

官网:https://www.wch.cn/products/CH32V003.html

 

主要参数:

  • 青稞32位RISC-V2A处理器,支持2级中断嵌套
  • 最高48MHz系统主频
  • 2KB SRAM,16KB Flash
  • 供电电压:3.3/5V
  • 多种低功耗模式:睡眠、待机
  • 上/下电复位、可编程电压监测器
  • 1组1路通用DMA控制器
  • 1组运放比较器
  • 1组10位ADC
  • 1个16位高级定时器和1个16位通用定时器
  • 2个看门狗定时器和1个32位系统时基定时器
  • 1个USART接口、1组IIC接口、1组SPI接口
  • 18个I/O口,映像一个外部中断
  • 64位芯片唯一ID
  • 串行单线调试接口
  • 封装形式:TSSOP20、QFN20、SOP16、SOP8

 

对于本项目来说,使用 12864 OLED 以及 INA219 需要 I2C 接口,按键需要使用普通 GPIO,UART 用于调试信息输出,SDIO 用于烧录,对比之后发现,TSSOP20 封装的 CH32V003F4P6 更适合,它相比使用 SOP8 封装的 CH32V003J4M6 拥有更多 GPIO,并且 UART 和 SDIO 也没有复用,可以更好地满足本项目的需求。

 

MCU

 

 

MCU 部分没有什么特别需要介绍的,供电 3.3V,加上 100nF 去耦电容。注意 CH32V003 使用 I2C 时,需要在 SCL SDA 加上上拉电阻。

 

这里虽然给 SPI 接口也加了网络标识,但实际并未使用。

 

USB Type-C 输入及诱骗输出

 

 

输入使用了 USB Type-C 16P 接头,PD 诱骗通常不是为了再同样输出到 USB Type-C 接口设备使用,因此这里的输出使用 MX126 螺钉式接线端子和 DC 2.5mm 接口,这样高电压用电设备可以直接通过 DC 插头或者祼线的方式接入。

 

LDO 供电

 

 

因为诱骗器本身没有额外供电,因此需要从待测量电压中取电,同时因为待测量电压会比较高,PD 协议中最高可以到 20V,因此需要使用耐压比较高的取电方案。

 

相比之前的 USB 电流表,这里使用了 LDO 来从输入电压中降压到 3.3V 使用,因为输入电压有可能会高达 20V,因此这里选择了 HT7533S 这款 LDO 来作为降压方案,本项目中使用了 https://item.szlcsc.com/323875.html 这款。

 

整体 MCU + OLED 屏幕 + INA219 的耗电大概在 5mA 左右,因此可以不用担心 LDO 的发热,并且相比 DC-DC 方案,可以节省更多元器件以及 PCB 面积。

 

INA219 电压电流测量

 

本电流表使用的电压电流测量元件为德州仪器 INA219。选择它主要是因为之前使用过,比较熟悉,而且也有现成的库可以使用。

 

INA219 是一款具备 I2C 或 SMBUS 兼容接口的分流器和功率监测计。该器件监测分流器电压降和总线电源电压,转换次数和滤波选项可通过编程设定。

 

INA219 的电压最大量程为 26V,在 PD2.0 100W 中,最大 20V 是足够使用的,但是如果碰到支持 PD3.1 140W,使用 28V 供电时,就会超量程了。但是目前看支持 140W 的充电器和设备都比较少,暂时不纠结这个问题。后续可以考虑使用 INA226 来代替,它具备更高的量程。

 

为了能测量比较高的电压,并且避免较大的发热,这里使用 10mR 的采样电阻,这样即使在 100W 20V 5A 时,功耗也只有 0.25W,实测 100W 长时间运行也不发烫。

 

 

屏幕及按键

 

 

本电流表使用常见的 0.96 寸 12864 OLED 屏幕作为显示设备,该屏幕操作比较简单,功耗也比较少,比较适合这种场景。另外由于 0.96 OLED 祼屏需要比较复杂的配套电路,为了简化制作,这里直接采用成品屏幕模块,通过排针焊接在 PCB 上。

 

2.54mm 排针的高度,刚好可以让屏幕与 PCB 保持一定的距离且不会压到 MCU 等其他元件。注意 U8 和 H2 为同一个接口,放置 U8 主要是为了定位位置,方便对齐。

 

按键使用普通侧按,低电平触发。

 

下载及调试

 

 

需要注意 CH32V003 系列需要使用 WCH Link-E 编程器,实际使用时只需要连接 V3.3、GND、SWDIO 即可烧录程序,如果电流表 Type-C 输入有供电,也可以只接 GND、SWDIO 烧录程序。

 

外壳及面板

 

外壳使用三维猴打印服务,采用了透明树脂材料,并进行喷油处理,整体是透明质感,这不就是透明探索版嘛!

 

 

并且因为这次使用了彩色丝印,那必须把图案露出来呀,透明外壳更合适。

 

程序功能

 

电流表程序就是一个死循环,读取电压、电流后计算功率及容量,并统计显示。

 

I2C 及 12864 OELD 驱动相关代码参考了 https://github.com/wagiminator/CH32V003-GameConsole 的实现。

 

实际测试屏幕刷新率约 40FPS,即电压、电流每秒采样 40 次。

 

功率历史曲线采用每分钟平均值来显示,横向 128 个点,即总共可以显示 128 分钟的功率历史,在一般场景下可以满足使用需求。

 

后记

 

相比之前基于 CH32V003 的 USB 电流表,这个 USB PD 诱骗器将 DC-DC 替换为 LDO,并且添加了 CH224K 这个芯片来用来 USB PD 电压诱骗,实现了完全不同的功能。

 

最后感谢嘉立创“暖冬造物”活动,可以白嫖 PCB 打样、3D 打印、元件购买,最终得以完成这个项目。嘉立创产业服务群对于个人爱好者真是太有帮助了,个人实现产品开发完全成为可能,还有立创开源平台这样一个超棒的社区有各种项目可以参考、学习。

 

 

设计图

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

BOM

暂无BOM

附件

序号文件名称下载次数
1
CH224K彩色丝印顶部.stl
19
2
CH224K彩色丝印底板.stl
12
克隆工程
添加到专辑
0
0
分享
侵权投诉
工程成员
全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程