首页 > 电源电路 >充电电路 > 分享一个不错的快充协议解决方案

分享一个不错的快充协议解决方案

来源:互联网发布者:newlandmark 关键词: usb 快速充电 移动电源 更新时间: 2023/12/22

许多USB供电的消费电子设备都内置了Qualcomm QC (快速充电)解决方案,可在不同电压下快速充电,而不是通常的 5.0 V。这使得有机会在需要更多功率或更高电压(如 9/12 V)的项目中使用与 QC 兼容的移动电源。

该项目的目的是开发一种可以破解 QC 协议的设备,并允许爱好者、开发人员、工程师使用他们的移动电源为他们的下一个耗电项目提供更多电压/功率。以此从任何与 QC 兼容的充电器/移动电源中获取 5 V和 9、12 V(最大 18 W)的电压,为耗电项目供电。

poYBAGJqUwWAGlFJAASWWLjNxnA311.png

上图显示了 QC 2.0 兼容电源的 5、9、12 V输出,为 10 欧姆 5 瓦电阻器供电。

开发 Hack 设备

整个设备有两个有源元件——LM1117 3.3V稳压器和ATtiny85MCU来控制。所有其他部件是电阻器、按钮开关、连接器、跳线、接头、端子、原型板等。

pYYBAGJqUwGARvJ2AANK6AYf6Hc518.png

为了构建设备,首先将组件放置在整齐的布局中,然后进行焊接。一些 0 欧姆短链路用于互连不同的部分。

有跳线来禁用板载电路和启用编程。因为,编程线(SPI - MOSI、MISO、SCK)在设备操作期间也充当 GPIO。

pYYBAGJqUv2AfhziAAMOdi6v54A978.png

使用 ISP 对 ATtiny85 进行编程

在对 ATtiny85 进行编程之前,将其从IC Base 中取出并放在面包板上。要对 ATtiny85 进行编程,通过从文件 》 示例 》ArduinoISP草图上传“ArduinoISP”,将 Arduino UNO 板转换为 ISP 编程器。该草图在Arduino IDE中可用。

编程 ATtiny85 需要以下步骤:

为 Arduino IDE安装 ATtiny 支持(感谢David A. Mellis )

使用 Arduino UNO 作为 ISP 为 ATtiny85烧录引导加载程序

使用 Arduino UNO 作为 ISP 开发和上传代码

以下电路已准备好对 ATtiny85 进行编程:

poYBAGJqUviAPkuIAAPofC9yio8731.png

ISP = in system programmer

或者,可以通过移除其周围的所有跳线来对 ATtiny85 进行编程以保持在设备上。

设备操作

要使用该设备,首先需要将其连接到兼容 QC 的移动电源(或充电器)。默认情况下,QC 移动电源的 USB 电压为 5.0 伏。

上传代码后必须连接所有跳线,以便 MCU 可以通过 D+/- 与 QC 源进行通信。

LM1117 3.3 V 稳压器将启动并向 ATtiny85 供电。该 MCU 将开始执行代码。ATtiny85 的 4 个 I/O 引脚连接到将用作输出高电平和低电平的分压电阻器。另一个 I/O 引脚连接到将初始化为输入上拉的开关。此开关采用用户输入来更改 QC 源的电压。

现在,在详细介绍之前,重要的是要知道输出将如何变化。每种 USB(USB A、B、C、1.1、2.0、3.0+)至少有 4 条通用线/线:

VBUS (默认Vcc +5V)

D +

D -

地面

在普通充电器/移动电源中,VBUS 是固定的,因为功率传输受电流限制,500 mA、1 A、2 A 分别产生 2.5 瓦、5 瓦和 10 瓦。

但在 QC 电源设备中,有一个内部升压转换器,可以根据受电设备 (PD) 的要求提升电压!!!

QC 2.0(也称为 3.0)利用 USB 的 D+ 和 D- 与 PD 通信。PD 在 D+ 和 D- 上发送电压信号,QC 充电器将通过改变 VBUS 电压相应地供电。根据这个CHY 数据表,这里有一个表格,解释了来自 PD 的 D+/D- 上的什么信号对将使 QC 提供什么电压输出:

pYYBAGJqUvKAcDWKAACj3Z0K_Yw729.png

当 D+ 和 D- 上的电压与该表第 4 行的值相同并保持至少 1.25 秒时,QC 2.0 支持启动。如果 D+ 变为 0.0 伏(实际上低于 0.325 伏),QC 支持将停止,输出将为 5.0 伏。通过根据该表设置电压,可以改变 VBUS 上的输出。

在这里,ATtiny85 的 4 路输出连接到 2 个分压器网络,该网络由两个 10k 和两个 2.2k 电阻器组成,用于为 D+/D- 线生成这些电压信号。

poYBAGJqUu6ACOWnAAC_eKLpGV0830.png

例如,要在 D+ 上产生 3.3 V 电压,连接到两个 ATtiny85 输出引脚 PB3 和 PB4 的顶部和底部电阻器都将通过代码设置为高电平。

同样,要在 D- 上产生 0.6 V,连接到其他两个 ATtiny85 输出引脚(PB1 和 PB3)的顶部和底部电阻器将分别设为高电平和低电平。

这样 QC 2.0 充电器/移动电源接收电压变化请求并相应地变化。Push Switch 配置为输入 PULLUP,当未按下时,MCU 将其读取为高电平,并且代码执行保持在 while 循环中,防止设置电压发生任何变化。当用户按下 Push Switch 时,while 循环断开并设置下一个电压。再一次,代码执行进入下一个 while 循环以保持当前 VBUS 电压。

有一个LED 可以发出昏暗 (5V)、微弱 (9V) 和明亮 (12V) 的光,为用户提供输出电压的可视化表示。

可能使用的应用

驱动 12V LED 灯条

为更远距离的射频发射器/接收器供电

驱动 12V 继电器、电机等

使用 LM317 或 LM2596 获得 1.25 至 10 伏之间的任何电压

9V红外遥控驱动

机器人汽车电源

笔记本电脑充电 20V

任何高达 18 瓦的系统,例如用于IoT 应用的 WiFI、LTE、S2E 设备

远程系统的备用电源

大多数 LCD、LED 显示器、打印机、扫描仪

低功耗便携式电脑

支持其他 QC 类

由于 QC 2.0 Class B、QC 3.0 和 QC 4.0 向后兼容 QC 2.0 Class A,因此该设备可能适用于所有最新的充电器和移动电源。但电压选项将是 5.0、9.0 和 12.0 伏。如果需要其他输出电压,请阅读CHY 100、101、103 数据表并相应地修改代码。

警告!

必须使用具有短路保护的高质量QC移动电源或充电器,外部负载不得超过18瓦。这可以通过检查负载设备上的额定功率标签来确保。

必须避免输出 20 伏,因为 1117 3v3 稳压器可以处理最大 15 伏,这应该从MCU 代码中避免,方法是永远不允许 D+ 和 D- 线同时具有 3.3 伏。

如果需要20 伏输出(受QC 2.0 B 类和 QC 3.0、QC 4.0支持),则必须使用能够处理超过 20 伏的电压调节器(LM317 配置为 3.3 V)。否则Regulator 和 MCU 都将被销毁!!!!

注意输出电压的极性, +ve 用红色表示,-ve用输出端子旁边的蓝色细线表示。

必须避免USB公母耦合处的松散连接,否则会因接触电阻而产生热量并降低电源效率。

在 ISP 编程期间,必须移除所有跳线以将 MOSI、MISO、SCK、VCC、GND、RESET 引脚与电路板上的其余电路隔离,以避免干扰编程。

在没有清楚了解QC充电协议的情况下不得进行代码修改,此设计主要用于QC 2.0(A类)电源,但可部分用于更高的QC标准

Hack可能不适用于某些QC充电器/移动电源

GPIO 切换必须以正确的顺序完成,以避免终止高压模式

注意:如果以上几点没有实现,建议不要复制此项目,否则可能会发生火灾危险或设备丢失的风险!

提问/讨论

这里还没有内容,您有什么问题吗?

我要提问/讨论

推荐帖子 最新更新时间:2024-11-13 08:51

【推荐下载】 WEBENCH设计秘籍U盘中的中文视频教学
TI WEBENCH U盘中 U盘中的中文教学视频 1、WEBENCH设计导出工具WEBENCH+Export介绍 https://download.eeworld.com.cn/detail/nwx8899/19846 2、WEBENCH+系统电源架构概述 http://do
 nwx8899模拟与混合信号
基于DSP的语音识别技术在宾馆客房中的应用
基于DSP的语音识别技术在宾馆客房中的应用 基于DSP的语音识别技术在宾馆客房中的应用 谢谢分享. 谢谢楼主分享 谢谢楼主分享
 shaomingyiDSP 与 ARM 处理器
SI4734芯片
有没有哪个大神用过si4734这个芯片啊,有个问题想请教一下? SI4734芯片 仔细看器件手册,该器件并不难用。 是,我知道,,但我想知道这个芯片内部那个AGC电路部分是怎么用,,现在是我这个解调出来的信号不稳(输入信号为10M或15M,但解调输出信号10M稳,15M信号
 xxhhzz模拟电子
用EK-LM3S811-ND制作的 万年历、温湿度计
这是用TI研讨会送的EK-LM3S811-ND做的一个简单的时钟万年历、带有温湿度显示、时间设置、整点报时功能,显示使用了128X64的LCD,时钟芯片为DS1302,温湿度传感器用的是SHT10。屏幕背光定时关闭,四向导航键、模式键用于设置,PWM音乐输出。硬件较为简单,内有
 buruno微控制器 MCU
【科普】关于液晶电视背光
众所周知,液晶面板本身是不能发光的,需要背光作为光源。液晶就好像一扇扇小窗户,控制着光线的开闭,再经过滤色片把光线变成红绿蓝三色,就组成了电视的画面。早期有一种三原色RGB背光,但成本高昂,现在已经绝迹江湖了。目前市场上的液晶电视背光都是白色(量子点电视比较特殊,也是三原色自发
 皇华Ameya360DIY/开源硬件专区
在全志V853平台上成功部署深度学习步态识别算法
北理工通信课题组辛喆同学在本科毕业设计《基于嵌入式系统的步态识别的研究》中,成功将深度步态识别算法GaitSet移植到全志V853开发板上。本研究在CASIA-B数据集上进行测试,正常行走状态下该系统的步态识别准确率达到了94.9%,背包行走和穿外套行走条件下识别准确率分别达到了
 aleksib国产芯片交流

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD 电路图 站点相关: 下载中心 Datasheet 参考设计

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved