发作品签到
专业版

#第七届立创电赛#usb大功率计POWER-N

工程标签

1.3w
0
0
50

简介

最大功率100w以上没问题,实测过70w长时间通电不发热,系统供电电压上限26v。支持原有快充协议,能进行PDO报文抓包,PD等多协议诱骗,C口双向。主控采用N32G430K8Q7,四层板 板厚1.0

简介:最大功率100w以上没问题,实测过70w长时间通电不发热,系统供电电压上限26v。支持原有快充协议,能进行PDO报文抓包,PD等多协议诱骗,C口双向。主控采用N32G430K8Q7,四层板 板厚1.0

开源协议

GPL 3.0

创建时间:2022-08-10 13:26:23更新时间:2022-09-16 13:33:22

描述

* 1、方案设计


主控IC:N32G430K8Q7 ( 因为本来想选用20pin的N32G430系列,无奈买不到货)

诱骗IC:2711  (多达20多种诱骗协议 ,支持读取报文,iic接口)

dc-dc IC:AN_SY8291  (5-40V电压范围,缺点:如果PPS协议诱骗的话,3.3V无法工作)

电压采样:电阻分压

电流采样:INA199B(耐压26V,系统供电电压受此限制,没有采用官方的低端采样)

 

四层板 板厚1.0

差分走线D+ D-

差分走线CC1 CC2

预留烧录口swd

 

原先版本,图中可以看出用的是20脚的封装

 

后换成qfn封装(焊接对萌新不太友好,不过我稍微拉长了焊盘,直接用烙铁也能搞定)

 

 

整体采用三块板子组装,连接件:M2*3铜柱*4、M2*4+3铜柱*4,、M2*3平角螺丝*4

 

 

整体厚度如下,大小和一个stm32mini开发板 差不多

 

 

 

 

 

*2、硬件部分


dcdc 输入电压:5-40V   输出电压:5V

采样电阻计算公式如下:

 

9月14日修改

dcdc 输入电压:3-25V   输出电压:5V

主要就是电源电路,电源测试成功,项目成功一半。先单独焊接电源电路,进行测试,输入电压从5-40V(我只测了30v,考虑买的电容耐压问题)慢慢调整,看输出电压是否为5V。

 

 

 全部焊接完成!!!!

 

 

 

通过拨码切换cc1下拉到Ra进行设备握手,可以抓取PDO报文,或者进行诱骗

下面有介绍DFP和UFP的识别协议

 

 

 

 

*3、测试部分


一.该功率计支持原快充协议,采用24pin type-c接口(双向)

 

测试手机:小米11  充电头:55W

图中手机显示超级快充界面,电压电流显示值和网上买的功率计差不多

 

测试电脑:联想yoga14s  充电头:95W(这是我手头上有的最大功率c口输出设备了)

开了电池性能设置,开了游戏(LOL),才到77W左右,如下图所示

 

 

二.PDO报文读取

我这边测试了两款充电头,读取PDO报文,方便诱骗电压设置

 

第一款:小米11pro原装充电头 67W

 

PDO读出结果:

电压mv   电流ma

5000        3000

9000        3000

15000      3000

20000      3250

和充电器上标的参数基本相同,除了一条不一样,充电器上有11V6.1A,PDO15V3A(实际诱骗出也是15V)

 

第二款:不知道啥牌子 36W

充电头参数:

5V3A

9V2.4A

12V1.5A

 

 

PDO读出结果:

电压mv   电流ma

5000        3000

9000        2200

12000      1670

5900        3000

11000      18000

和充电器上标的参数基本相同

 

 

三.诱骗

 

下图为20V3A诱骗,输出端接了电子负载,恒流模式

 

 

实测60w诱骗温度40.4℃

手摸基本感受不到热量(危险操作)

*4、软件功能


界面1:电压电流功率,mah,mwh计量,时间记录,D+D-电压采集(完成)

界面2:PDO抓包(完成)

界面3:协议选择多达二十多种(目前就做了PD)

        LCD_ShowString(0,0,"APPLE2.4A",CYAN,BLACK,12,1);
        LCD_ShowString(0,12,"SAMSUNG2A",CYAN,BLACK,12,1);
        LCD_ShowString(0,20,"BC1.2",CYAN,BLACK,12,1);      
        LCD_ShowString(0,30,"TYPEC",CYAN,BLACK,12,1);
        LCD_ShowString(0,40,"QC2A",CYAN,BLACK,12,1);
        LCD_ShowString(0,50,"QC2B",CYAN,BLACK,12,1);
        LCD_ShowString(0,60,"QC3A",CYAN,BLACK,12,1);
        LCD_ShowString(0,70,"QC3B",CYAN,BLACK,12,1);        
        LCD_ShowString(60,0,"AFC",CYAN,BLACK,12,1);
        LCD_ShowString(60,10,"FCP",CYAN,BLACK,12,1);
        LCD_ShowString(60,20,"SCP",CYAN,BLACK,12,1);
        LCD_ShowString(60,30,"HISCP",CYAN,BLACK,12,1);
        LCD_ShowString(60,40,"VOOC2",CYAN,BLACK,12,1);
        LCD_ShowString(60,50,"SVOOC1",CYAN,BLACK,12,1);
        LCD_ShowString(60,60,"VOOC3",CYAN,BLACK,12,1);
        LCD_ShowString(60,70,"VOOC4",CYAN,BLACK,12,1);     
        LCD_ShowString(100,0,"VIVO5V4A",CYAN,BLACK,12,1);
        LCD_ShowString(100,10,"VIVO10V2.25A",CYAN,BLACK,12,1);
        LCD_ShowString(100,20,"VIVO11V4A",CYAN,BLACK,12,1);
        LCD_ShowString(100,30,"MTK",CYAN,BLACK,12,1);    
        LCD_ShowString(100,40,"PPS",CYAN,BLACK,12,1);    
        LCD_ShowString(100,50,"PD",CYAN,BLACK,12,1);
        LCD_ShowString(100,60,"NULL",CYAN,BLACK,12,1);
        LCD_ShowString(120,70,"  ",BLACK,BLACK,12,1);

界面4:波形显示(空)

界面5:系统参数设置(目前做了旋转屏幕)

 

 

*5、问题总结


时间紧迫,还有很多问题待解决

1.原理图细节修改

2.波形界面未编写代码

3.外壳位置稍有偏差

4.诱骗切换可能出现系统重启(有大佬可以解释一下吗)

5.其他协议未完全写完

......................

(描述不对之处多多包涵)

 程序晚点上传,写的比较急,代码很乱

(源码还在整理,hex文件能实现基础功能)

 

 

做电能存储功能的时候(flash模拟eeprom),发现手册有一处错误,

31页首地址应该为0x0800F800,手册上写着0x0807F800

 

 

 

*6、大赛LOGO验证

 

 

* 7、演示您的项目并录制成视频上传


有空剪个好点的视频

设计图

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

BOM

暂无BOM

附件

序号文件名称下载次数
1
PDO报文抓包及诱骗.mp4
162
2
小米11超级快充.mp4
66
3
usb_meter.hex
64
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航