充电头网

搜索
查看: 7090|回复: 50

[其他] 自己做个彩屏蓝牙USB电压电流表,支持QC2.0/QC3.0/MTK快充诱骗

  [复制链接]

6

主题

189

帖子

790

充电豆

铜牌会员

Rank: 2

积分
1236
发表于 2016-10-2 02:00:48 | 显示全部楼层 |阅读模式
本帖最后由 2584063385 于 2016-10-2 02:07 编辑

坛里的表好多款,但是都不便宜,有些功能又不是很和心意,自己做个,大概用了一个半月。
先发在了隔壁论坛,自己转过来的,不是盗贴(虽然id不一样)

事情的起因还是因为撸了一元的pos机,然后其中一款机器拆开后,里面发现了两个宝贝,于是就催生了弄这个usb表的念头
拆开的pos机,正面有大家说的没啥用的efm32g222f128单片机,也被称为壁虎单片机
IMG_20160929_223413.jpg
板子背面的右下角贴着二维码的那个就是bm77蓝牙模块(注意区分开,不是东芝的661)
这个蓝牙模块可以直接实现串口透传
IMG_20160929_223432.jpg
然后,选定了用壁虎做主控方案以后,又找了找找到一块价格比较便宜的彩色显示屏幕,再搭配bm77,就开始了这个usb表的制作
整个过程前后大概花了一个半月的样子,确定方案和画板上大概花了半个月,等待pcb生产和备料半个月,然后从中秋节那天收到快递开始焊接调试码代码,知道昨天晚上基本弄完了,预计的功能该有的都有了。

先上原理图
QQ截图20160929204325.jpg
这是pcb,大小刚好5*5,方便拼板
pcb目前发现两个小问题,一个是为了方便焊接,我吧元件丝印全部改成了阻值和容值,但是有几个电阻阻值因为一开始计算失误,弄错了,所以丝印值也是错的,这个下面我会说具体的
第二个就是被封装坑了,usb公头的封装是正好反过来的,也是就是说,公头只能焊在背面,如果焊在正面,电源正负就颠倒了
但是usb座的丝印对应的接线是对的,这个注意一下就不会错了
PCB中,其实也是第一次碰2.4G的天线,因为没有专业设备,只能照猫画虎的弄了个蛇形线,实际的效果测试在穿墙一堵后还能延续5m,没有原装的好但是也能凑合用,毕竟射频方面真是纯小白
QQ截图20160929222953.jpg
修正过以后的丝印,焊接以这两张图片所标识值为准
这个二维码,和之前自制stm32开发板、核心板用的是一样的二维码,感兴趣的可以扫一扫
QQ截图20160929203903.jpg
其中,图中表示的阻值后面有&后缀的,比如1K&,60k4&的电阻,是对精度有严格要求的
QQ截图20160929203951.jpg
空板实物图
-53d821244454a4ac.jpg
成品的正面(1.8寸的屏幕几乎占据了大半个正面)
细心的小伙伴可能看到看到了右侧的水泥电阻,这个电阻的作用是用来诱导MTK-pe快充的,后面我会详细介绍
对于电流取样电阻,预留了贴片电阻和康铜丝两种方式
IMG_20160928_185533.jpg
背面几乎放置了所有的元件
单片机,蓝牙等大家都集中背面
注意观察图中usb公头的焊接方式,这才是正确的
IMG_20160928_185523.jpg

点亮的主界面
主界面下显示电压电流,D+,D-电压,电阻和功率
如果按下键,则会开启功率积分,可以测试充电宝的容量之类的,长按下键,则清零计数
IMG_20160929_202301.jpg
在大部分界面短按中键,都会进入快充诱骗选择界面,这里可以选择要诱骗哪种快充
目前列表最后的FCP还在研究中,暂不支持,光标也到不了那里
IMG_20160929_202441.jpg

这是关于界面
IMG_20160929_202726.jpg


关于蓝牙传输,焊上蓝牙芯片和外围电路后,就可以在手机或者笔记本电脑里面搜索到
如果是我已经将蓝牙改名为J-USB-voltmeter
目前还没精力弄上位机,就用人家现成的蓝牙串口助手将就看着了,以后再说
Screenshot_2016-09-22-21-21-14.jpg
数据实时传输ing
空载数据
Screenshot_2016-09-22-21-21-26.jpg
这是在快充下的一些数据(同时已经开启功率积分)
Screenshot_2016-09-22-21-21-50.jpg

相关技术参数
功能:usb电压电流测量,d+/d-电压测量,高通qc2.0/qc3.0快充诱骗,联发科mtk-pe快充诱骗,电压电流曲线绘制,蓝牙实时传输数据,功率累计(mwh和mah)。
参数:
电压量程0-20v,最小分辨率:0.0025v/(0-10v)0.005v/(10-20v)
电流量程0-4a,最小分辨率0.0005a(0-2a)/0.001a(2-4a)
d+/d-电压:0-3.3v(严禁测5v)
诱骗支持:(需要输出设备支持,本表不具备主动判断是否具有的功能)
qc2.0:5v,9v,12v,20v(9,12v需输出设备支持classA)(20v需输出设备支持classB)
qc3.0手动:3.6-20v(需输出设备支持)
qc3.0自动:4.2-12v(需输出设备支持,可修改为支持classB)
mtk-pe:4-12v(需输出设备支持)
暂不支持海思fcp,研究中

视频,欢迎观看





详细介绍快充诱骗实现技术(不过貌似这坛子里的不少人都还是了解的蛮清楚的)
一、高通公司的QC2.0/]QC3.0的协议
1、手机在d+上加0.6v电压,这时充电器内部d+和d-是联通的,d-也是0.6v。
2、在1.35秒后,充电器断开d+和d-的联通,d-电压降到0,这时表示充电器支持协议。
3、接下来就是手机请求电压,并保持:
在d+加0.6v,d-加0v时,输出5v;
在d+加3.3v,d-加0.6v时,输出9v;
在d+加0.6v,d-加0.6v时,输出12v;
在d+加3.3v,d-加3.3v时,输出20v;
在d+加0.6v,d-加3.3v时,充电器进入continuous mode 也就是我们称的qc3.0模式。
而classA最高支持12v,classB则最高支持20v
QQ截图20160930140802.jpg
然后就可以靠这协议来骗一把充电器了。在d+上我用dac直接实现,这很方便,d-上接adc,同时有一个引脚推挽输出高,10k和2.2k分压为0.6v,这样就可以让充电器输出9v了

在qc3.0方面上,因为qc3.0是一个连续的模式,按设计是在3.6-12v\20v连续可调的,调节的梯度是200mv,那么在d+加0.6v,d-加3.3v的时候,输出电压保持不变,此时,D+瞬间上升到3.3v再降回0.6v(产生一个高脉冲)则输出电压升200mv,而如果D-瞬间降到0.6v再升回3.3v,(产生一个低脉冲)则输出电压降200mv,连续的给充电器一个高脉冲或者低脉冲,就能实现电压的连续升高或降低。这种情况下,如果需要一个可调电源而手上又没有的话,可以试试用qc3.0的充电器诱骗一个出来应付下使用。


二、联发科公司的MTK-PE协议

大家知道的快充中,了解最多的当然是高通公司的qc2.0和qc3.0快充技术,其次就是满大街喊的充电5分钟通话2小时的某绿色大厂的快充。
然而,作为手机soc厂家的另一巨头mtk联发科也不甘在这大潮中落后,于是先后推出了mtk-pe(MediaTekPump Express)和mtk-pe+(MediaTek Pump Expressplus)快速充电技术。这样说了,其实大家感觉根本没听说过。
然而并不是,魅族所谓的mcharge说白了,就是基于mtk-pe+的快充技术,只是搞了个听起来好听点的营销帽子罢了

联发科用的协议与高通的原理不同。
qc2.0用的是在usb的数据线d+和d-上加电压信号来触发输出高电压。
而mtk-pe+,不需要使用usb数据,只需要电源正负极线就可以啦,所以对usb线的要求更低,充电器的成本也能有所下降
他的通讯方式是通过充电电流的大小来触发协议,最后触发升压或者降压。
协议图片,左边是降压,右边是升压。
图片中,下图表是通过电流变化来触发协议,上图表是对应协议触发后的电压变化。
联发科2.JPG
也就是说有快速充电协议的手机,需要对充电电流做一些定时的导通,关断来与充电头交流
下图是时间的限制和对电流的现在
时间abcd限制了最大值和最小值,如ta,也就是上方时序图中最后一段的500ms,在410-600毫秒直接都是被认可的
而对于电流的限制,要想表示低电平,则电流不能超过130ma,而要表示高电平,则需要350ma以上的电流
QQ截图20161002014112.jpg
以为按照时序图来一遍就出电压了吗?其实不然。
再仔细看图,这里有点难理解,在一组诱发电平后,我们可以看到电压发生了变化,可是为啥在wdt时间以后,也就是240ms后,电压恢复到了5v。也就是说为啥诱导出来的电压为啥没有保持住呢?

其实这个机制的作用在于,假设在你以9v充电完成后,拔下手机后,为了保证安全,充电器必须回复到通用的5v,不然如果谁不慎插上了不支持协议的手机,不就完蛋了?
所以对于手机或者诱导器来说,一旦诱导出所需要的电压后,必须在240ms内接上负载,否则充电器会视为负载被拔除而电压恢复默认5v,则诱导失败。
对于负载的理解,我认为要大于350ma才能算作有效负载,才能保持住协议电压。
这个列表显示了MTKPE协议所支持的电压输出范围,其中12v输出只支持1.5a

QQ截图20161002014040.jpg
350ma的负载怎么产生呢?笨办法当然时水泥电阻+mos管了,pwm控制即可
IMG_20160924_205439.jpg

后面就是诱导实验
我手上有三个实验品
一个是华为的快充充电器,支持qc2.0,fcp,最高输出9v
123.JPG

一个是一块拆机的移动电源板,支持qc2.0,最高输出12v
这个板子使用了业界很普遍的双向快充移动电源方案bq25895+tps61088双ti方案制成
其中图中就是tps61088升压芯片
1234.JPG
这两片芯片,性能可以说是,非常的暴力,典型的ti黑科技
大家不方便,我就放点中文资料了
432.JPG

21.JPG

一个时刚刚买的炬为充电加速器,买它的目的就是为了调试和测试我的表
支持qc2.0,qc3.0,最高12v

IMG_20160925_131450.jpg
一个魅族5原装充电器up1220(找人借的),支持qc2.0和mtkpe,最高输出12v
IMG_20160929_200607.jpg
然后下面展示下诱导效果,只选取了部分图片(如果能看视频的小伙伴,看视频效果更直观内容更多)
qc2.0效果
IMG_20160925_132016.jpg
IMG_20160925_132020.jpg
IMG_20160925_132024.jpg

qc3.0的一部分电压图(完整详见楼上视频)
炬为加速器最低输出
IMG_20160925_142437.jpg
炬为加速器最高输出
IMG_20160925_142504.jpg
IMG_20160925_142514.jpg
IMG_20160925_142522.jpg

mtkpe的7v和9v
IMG_20160929_194648.jpg
IMG_20160929_194705.jpg
魅族up1220充电头和表合影
IMG_20160929_200619.jpg


一下是制作过程中拍的图片的一部分,算是心路历程吧
中秋节那天收到板子,迫不及待的开始焊接
先焊壁虎efm32单片机
IMG_20160918_190324.jpg
搞定测量部分的外围电路,顺便吧板子洗干净了
板子做了一些兼容设计,所以好多元件都没焊
IMG_20160918_203824.jpg
屏幕焊上,按键和led也少不了
IMG_20160918_203834.jpg
开始弄程序,首先肯定是先吧屏幕弄亮
花了好大点时间才移植过来,之前是跑在stm32上的
IMG_20160918_213815.jpg

可以读取并显示四路adc的读数了
IMG_20160919_000114.jpg
屏幕弄成横屏又花了不小的功夫,重新吧主控芯片手册啃了一遍
IMG_20160919_005551.jpg
这里的usb公头是反的,不要这样焊,还好第一次插电虽然没亮,赶快拔下来倒是没烧毁啥元件
IMG_20160919_010100.jpg
这次就对了
可惜焊上发现不对拆下时不慎吧固定孔弄坏了
IMG_20160919_130335.jpg
头子在背面长这样
IMG_20160919_130344.jpg
简单计算后的显示,那时还没有校准,只是看功能是否都正常
IMG_20160919_164726.jpg
IMG_20160919_165036.jpg
后面就开始界面设计工作了,主界面,前前后后改动的次数很多
IMG_20160919_175807.jpg
IMG_20160919_203437.jpg
用之前自己做的qc诱导器(图右边,也是在一元pos机板子上改造的)测试高电压,此时界面依旧不完善
IMG_20160919_202952.jpg

继续修改界面,还是不好看

更难看了
IMG_20160919_203658.jpg
u i感觉也有点奇怪
IMG_20160919_203933.jpg
上面那个个捡来的移动电源板子,
给电池充电,这功率很猛啊
IMG_20160919_204957.jpg
IMG_20160919_233925.jpg


最终吧ui也删了,简洁为好
电压大于13v会变为红字,电流大于2a也会变红
测出2v的原因是1117的倒灌造成的
IMG_20160920_003423.jpg


功率积分也加上了
IMG_20160921_230019.jpg
焊上蓝牙并测试
注意,蓝牙模块上方最靠近安装孔的地方,的10k电阻,焊上就进入下载模式,可以给蓝牙修改配置,拆下就是工作摸索
IMG_20160922_212250.jpg
快充诱导选择界面写好的样子
IMG_20160923_004530.jpg
诱导界面,吧电压电流的大字的行间距压缩了一点,上面加了一行来显示详情
IMG_20160924_122652.jpg
这是设置界面,用于设置背光亮度和校准参数采集的,设置参数会自动保存到芯片的最后一个扇区
校准方式还比较简单粗暴,以后在改改
IMG_20160929_202228.jpg
后台数据,用于校准
IMG_20160929_202247.jpg
关于界面

电压电流波形曲线记录界面(不是很完善,以后再弄弄)
在主界面按上键进入或退出该界面
IMG_20160929_202336.jpg
IMG_20160929_202354.jpg
负载开关了一下


最后一张图(注意右上角图片水印关系)
QQ图片20160929223946.jpg

1.如果在使用测量源供电的情况下输入电压范围应为4.3-12v,为达到完整量程0-20v,测量超出额定电压部分请拆除板上ams1117并使用外接3.3v电源供电。原因:电压低于4.3v,1117需要1v压降则不能达到系统工作所需电压。高于12v,1117将承受超过10v的压降,极易造成烧毁。
2.本表需要自行校准,初始化程序不可能涵盖所有特异性。
3.包括并不仅限于以下情况可能会造成的损坏:
超出量程极限的测量
焊接错误
焊接损坏(如静电击穿等)
不按操作规则错误操作
在快充诱骗生效的情况下负载接入设备造成负载设备损坏(如,诱骗9v成功直接插入手机等)
在mtkpe诱导模式下,长时间保存12v诱骗,可能造成水泥电阻热量积累过多而发生意外
4、mtkpe诱导模式诱导过程中(显示请稍候),插入外部负载会造成诱导失败,但是在手动模式的情况下诱导成功后(显示就绪),可以插入外部负载,而且外部负载的接入可有效减轻水泥电阻的负担

来谈谈bom成本吧:
efm32单片机+bm77蓝牙模块 拆自pos机,一元
pcb,5元
屏幕 2元
其他外围容阻,取样电阻,运放,水泥电阻,mos,插头等等杂七杂八的东西 15+元
好低成本的一个制作啊
有机会配个壳就好了


资料下载地址
提供以下资料:原理图,焊接示意图,bom表,最新固件,源代码
链接:http://pan.baidu.com/s/1nuMhzGt 密码:yknr

转载需得到同意




短期内不打算出产品,选择efm32和库存清仓屏幕本来就不适合量产,自己玩玩吧,自我提升水平。欢迎探讨,第一次做表,有些地方确实弄的不很好。


ps:以后再也不敢一上来就裸奔+状态机玩法了,合适还是应该上系统,快充诱导部分被状态玩的几口老血吐出来







IMG_20160919_233709.jpg
IMG_20160919_234923.jpg
IMG_20160922_221800.jpg
IMG_20160925_132004.jpg
IMG_20160925_132009.jpg
IMG_20160929_194925.jpg
IMG_20160929_202317.jpg

评分

参与人数 14充电豆 +131 收起 理由
hch9039 + 1 精华呀
61797826 + 50 给力
wolflsi + 2 给力
8112803 + 2 给力
艾诺斯 + 2 给力
imchange + 2 32个赞
yubeii + 30 给力
flashsoft + 2 矮油,不错哦
00342323 + 2 32个赞
夏日星 + 2 矮油,不错哦
flason + 2 矮油,不错哦
aglgj + 2 矮油,不错哦
啊寶 + 30 给力
小傑 + 2 感谢分享

查看全部评分

回复

使用道具 举报

6

主题

189

帖子

790

充电豆

铜牌会员

Rank: 2

积分
1236
 楼主| 发表于 2016-10-2 02:09:23 | 显示全部楼层
后面居然还有几张上传完了没有用到的图片,留个小尾巴,管他了,时间不早睡觉去了
回复 支持 反对

使用道具 举报

4

主题

249

帖子

163

充电豆

铜牌会员

Rank: 2

积分
1551
发表于 2016-10-2 02:20:52 | 显示全部楼层
樓主太厲害了
回复 支持 反对

使用道具 举报

1

主题

419

帖子

220

充电豆

铜牌会员

Rank: 2

积分
1619
发表于 2016-10-2 07:41:52 来自手机 | 显示全部楼层
做的挺不错,前排围观
回复 支持 反对

使用道具 举报

1

主题

186

帖子

75

充电豆

铜牌会员

Rank: 2

积分
793
发表于 2016-10-2 08:01:06 | 显示全部楼层
楼主辛苦了!不容易!
回复 支持 反对

使用道具 举报

344

主题

1万

帖子

1万

充电豆

版主

三哥

Rank: 7Rank: 7Rank: 7

积分
23761

白尾巴玩家EBC/EBDANKER粉丝团ASUS信仰团CHOETECH烧友团ORICO排插达人惠爱家粉丝团耐时军团

发表于 2016-10-2 08:11:11 | 显示全部楼层
大神!   
我是三哥。
回复 支持 反对

使用道具 举报

0

主题

161

帖子

26

充电豆

铜牌会员

Rank: 2

积分
851
发表于 2016-10-2 08:33:29 | 显示全部楼层
默默地拿走资料
回复 支持 反对

使用道具 举报

73

主题

3360

帖子

4655

充电豆

金牌会员

Rank: 4

积分
7097

EBD-USB勋章惠爱家粉丝团JDB后援会MTK快充勋章

QQ
发表于 2016-10-2 08:46:57 | 显示全部楼层
高手

还有套件包吗?
回复 支持 反对

使用道具 举报

0

主题

3211

帖子

1428

充电豆

银牌会员

Rank: 3Rank: 3

积分
4549
发表于 2016-10-2 09:06:40 来自手机 | 显示全部楼层
大神,膜拜ing~~
回复 支持 反对

使用道具 举报

506

主题

2145

帖子

1万

充电豆

超级版主

身体健康

Rank: 8Rank: 8

积分
13934

管理团队白尾巴玩家EBC/EBDANKER粉丝团ASUS信仰团QC2.0快充达人ORICO排插达人耐时军团

发表于 2016-10-2 10:48:44 | 显示全部楼层
支持开发,

这个方形PCB设计手拿着插拔会不会不方便?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

©版权所有|小黑屋|关于我们|招聘信息|联系我们|大事件|新闻投递| 充电头网论坛  

Copyright © 2001-2013 Comsenz Inc.  Template by Comeings! All Rights Reserved.

Powered by Discuz! X3.2 Licensed( 粤ICP备15002070号-1 )

快速回复 返回顶部 返回列表