#第七届立创电赛#usb大功率计POWER-N - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

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

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

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2022-08-10 13:26:23
更新时间: 2023-12-12 00:18:15
描述

* 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、演示您的项目并录制成视频上传


有空剪个好点的视频

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP