这是一个超级详细!超级实用!的 ——USB电压电流表~
下文包含:焊接教程,打板与组装教程,软件与烧录教程,可根据教程一步一步来。
全文很长,建议收藏转发,慢慢看。
一、演示视频
视频1:PD诱骗、监测&Emarker读取演示
视频2:电流监测及其他功能演示
视频3:QC诱骗演示
二、工程描述
基于ESP32-PICO-D4的USB功率计。
实现了PD/PPS/QC的监测与诱骗;
Emarker读取以及诸多其他功能。
本表体积小巧,制作难度较大!!!请量力而行!!!
三、功能介绍
基于ESP32-PICO-D4的USB功率计。
显示采用0.96TFT彩屏。
电压电流采样部分采用INA226/INA231方案。
PD监测与诱骗:采用FUSB302PD物理层芯片
QC监测与诱骗:采用ESP32的ADC与DAC。
理论上也支持其他的A口协议,但是手上没有其他的A口通信设备供采集协议的通信过程。
由于无法上传,需要全部附件发我【805】获取。
四、硬件与焊接教程
主控采用ESP32-PICO-D4。
外围精简
板子尺寸较小
带有WIFI与蓝牙功能,可供后期开发上位机。
硬件物料
1、DCDC
用MP2451(最低运行电压4.25V)/MP2456(最低运行电压3.85V)。
2、电流监测芯片
用INA226(最高电压36V)/INA231(最高电压28V)。
3、PD监测与诱骗
用FUSB302物理层芯片。
4、A口监测与诱骗
用ESP32的ADC与DAC。
5、A口协议
仅支持QC/QC3。
6、屏幕
采用0.96 TFT彩屏,ST7735S驱动。
7、BOM清单
焊接注意事项
1、必备工具
一把比较好用的小头子络铁(元件间距较小)
LED拆焊板/热风枪(焊接LGA、QFN)
焊锡丝
焊锡膏
助焊剂
镊子
吸锡带(增加容错率)
洗板水(洗按键和板子)
2、焊接与检查顺序
第一步
先焊接ESP32与ESP32下方的10k电阻。
万用表测试背面屏幕排线引脚对地导通情况。
其中有且仅有三个引脚对地导通即为正常(存在ESP32底部焊盘短路屏幕信号线的情况)。
焊接烧录线。
测试串口是否有输出,能否烧录程序。
确认焊接没问题取下烧录线。
第二步
其次焊接FUSB302与两个4.7k电阻。
焊接烧录线,刷写iic测试程序检查是否能扫描到iic地址。
对自己焊工有信心能熟练焊接QFN的可以跳过该步骤。
第三步
焊接MOS与MOS旁的10K电阻,诱骗按键。
焊接烧录线,烧录USB表固件。
USB供电电压+5V是标准值,允许有一定的偏差,计算机USB口的供电电压在4.75~5.25V之间都符合USB协议的规范。USB供电电流:是+5V的电流,USB协议规定最大值为500mA,也就是单个USB口最大输出功率是2.5W。输出电压为直流。
万用表通断档测试诱骗按键两端,在烧录线不接时为断开,烧录线接上时导通即为正常,可以继续下一步。
第四步
按你的心情焊接剩余,正面元件(除了两端的Type c口)。
注意不要触动上述已经焊好的元件。
第五步
正面焊接完成后,重复上述的所有测试项。
在IIC扫描中扫描到2个IIC地址,即可继续焊接剩下的Type c口。
背面的检流电阻、天线、屏幕。
第六步
进行成品测试,测试各功能是否正常。
3、焊接方法
ESP32
ESP32先给芯片本体四周的引脚上锡(中间的大焊盘不要上锡,若不小心上了锡,应该用吸锡带拖平,然后重新给四周的引脚上锡)。
用镊子尖,只在中间的大焊盘上点上一丁点焊锡膏。
将芯片按方向准确放在焊盘上,上加热台,待焊锡熔化之后,轻压ESP32,将多余的焊锡挤出。
从加热台上取下,用烙铁拖掉多余的焊锡。
这种方法可以极大地避免连锡虚焊,反正我焊了二三十次没失手过。
MOS的焊接
MOS可以不用焊锡膏,用烙铁给MOS本体引脚上锡。
在PCB上刷一层助焊剂,给PCB上的MOS焊盘上锡。
将MOS按方向放置在PCB上,放上加热台,熔锡后用镊子轻推MOS,能自动回位即可。
INA231的焊接
INA231同样给PCB上助焊剂,并用烙铁给PCB上的焊盘上锡。
USB接口的电压是5.0V,电流要求是不大于500ma。usb插口电压一般都是5V的,除非带快充功能的。至于电流是几安,各个产品都不一定。通用串行总线(英语:UniversalSerialBus,缩写:USB)是一种串口总线标准,也是一种输入输出接。
INA231为BGA封装,出场已自带锡球,可以不用给芯片引脚上锡。
按方向放在PCB上,放上加热台,熔锡后用镊子轻推INA231,能自动回位即可。
焊接好如下图
五、打板与组装教程
打板资料与焊接ibom图均在附件中。
产品由3块板子组成。
板厚全部1.0
中间由铜柱连接,螺丝固定
屏幕采用2mm泡棉胶固定到板子上。
1、目前方案
铜柱采用M2*3与M2*3+3各四个拼合
螺丝采用8个M2*2方案。
该方案整体厚度9mm,比较厚。
2、改进方案
铜柱采用M2*2与M2*2.5铜柱组合。
螺丝采用M2*3无头螺丝与M2*2螺丝。
改方案整体厚度7.5mm,比原方案薄了20%。(暂未验证)
若嘉立创打板显示拆单嫌疑拒绝打板,可以去EDA原文件中重新生成Gerber文件打板。
在EDA原文件中,主板这四处DCR错误可忽略。
组装零键一览
屏幕固定方式
六、软件与烧录教程
软件基于vscode platformio的arduino平台。
代码实现pd协议层。
带有软件库仑计记录充电电量,负载时间,记录并存储5组离线数据。
第一次烧录请使用ttl烧录器,后续升级可连接WIFI无线ota升级。
固件目前有些许bug和未完工的地方,待稍微完善后公开固件与烧录教程,亦可私信先获取未完善的固件。
1、使用教程与操控逻辑
上端三个按键为操控按键,分别为确认、+、-按键,负责界面交互。
下方两个按键为诱骗按键,负责选择是否进入PD诱骗模式。
三个操控按键均具有三个操控逻辑。
分别为
短按(按下0.5s内松手)
长按(按下0.5~2s内松手)
按住(按住超过3s不松手)。
+、-按键作用
在任何界面中,短按+、-按键作用为切换界面或光标。
在个别界面中,长按+,-按键分别为翻转屏幕,手动息屏功能。
个别页面指需要长按切换光标或快速翻页的界面中
确认键作用
在任何界面中。
长按确认按键为返回上一级菜单。
按住确认键均为返回主界面并退出诱骗模式。
在主界面中,短按确认按键进入菜单。
在其他界面中,短按确认按键为确认选择。
2、PD诱骗
PD诱骗通过专属PD按键触发。
在CC线插入表的母端时,按住其中一个诱骗按键即可触发PD诱骗模式并自动进入PD诱骗界面。
具体按住哪一个按键触发取决于你的CC线方向。
在表的公头端插入充电器的母端时,按住任意一个诱骗按键即可触发PD诱骗模式并自动进入PD诱骗界面。
3、QC诱骗
目前固件无法在支持PD的充电器的C口上使用QC诱骗,因为在PD诱骗模式下,QC诱骗将被自动禁用。
请注意!!
无论何时在使用诱骗功能。
请断开表后端的负载!
或确保表的后端接入的负载在可控范围内!
由此引发的任何后果本人均不负责!
七、实物展示
主界面
PD诱骗界面
PPS诱骗界面
Emarker读取界面
PD抓包分析
八、基本功能
1、电流监测
2、电压诱骗
QC\QC3的全电压诱骗,PD3.0的FIX\PPS诱骗。
3、软件库仑计
电脑USB接口的电压为5.0V,电流要求不大于500mA。计算机主机USB接口的输出电压和电流为:+ 5V 500mA,实际上是存在误差的,最大值不能超过+/- 0.2V,即4.8-5.2V。 usb接口也称为串行端口,usb2.0的速度可以达到。
可以计算充电的电量。可以计算充电的电压、电流与实际带负载时间。
4、多种数据记录
可以监测板子温度、充电过程中的最大最小的电压、电流、功率值,平均电压、电流、功率值。
5、带有离线数据继承
可以选择是否继承上次的数据继续记录,防止意外断电数据丢失。
同时还可以自动记录并显示5组最近记录的数据。
记录内容为电压电流功率的平均值,负载时间,充电的mAh与mWh。
6、PD监测
本表带有几乎完全的PD逻辑抓包功能与常用PD数据包分析功能。
可以监测充电器的PDO,实时显示当前申请的RDO。
可以记录并显示通信过程中的每一个数据包,并对常用数据包进行解析。
再次提醒!
本表体积小巧,制作难度较大!!!
请量力而行!!!
如果您是第一次或者刚刚开始接触PCB的焊接,强烈不建议您尝试制作本表!!!
本表未经授权禁止商用!
本表未经授权禁止商用!
如果您认为这篇文章不错,欢迎点赞,关注,收藏~