-----本文简介-----
主要内容包括:
诱骗QC协议的12V电压
领资料:点下方↓名片关注回复:粉丝群
----- 正文 -----
先赞↓后看,养成习惯!
最近个人制作的小玩意有个地方需要12V电压,手里正好有闲置的小米充电器,查了是支持QC2.0协议的,因此想要诱骗出12V电压使用,当然想最好电路越简单成本越低越好,那么用单片机或者什么诱骗芯片就合适了,尝试用RC加晶体管来试一试。 QC2.0是指Quick Charge 2.0,是高通发布的快充技术协议2.0版本,支持QC2.0的充电器或者充电宝可以输出5V、9V、12V、20V四种电压,在设备端最常见的是5V、9V和12V。 充电器与受电设备之间以Micro-USB或者Type-C接口连接,QC2.0协议识别过程需要4根线,分别是电源线VBUS以及GND、数据线D+与D-。
① 插上适配器后,VBUS默认输出5V,D+与D-默认短接 ② 受电设备尝试在D+上加0.325V(实际上不需要这么精确,0.6V也可以)电压,持续1.25s以上,此时D+与D-均为0.325V
③ 充电器检测到D+与D-的0.325V持续1.25s以上,断开D+与D-的连接,D电压-下降到0V ④ 受电设备检测到D-电压变为0V,并且维持了1ms以上,此时认为充电器支持QC2.0协议,因此通过给D+与D-不同的电压开始配置充电器电压输出,如下图。 为了诱骗12V,如下图的时序,事实上我们只需要在上电时D+就有0.6V,然后延迟1.25+0.001s后再给D-加0.6V电压即可诱骗出12V的电压。 简单粗暴直接利用二极管的正向导通压降产生,由于不是精确地0.6V,因此用二极管+限流电阻很容易产生0.6V电压,如下图,Ra用来调整电流以此调整二极管导通压降,Rb用来分压,防止后续VCC诱骗变为12V甚至20V后超出二极管耐压。 延时电路采用RC加NMOS管开关来实现,MOS管导通后将0.6V通过PNP三极管导给D-,R4是与R3构成分压,防止VCC变为12V甚至20V后超过PNP三极管的VBE耐压。如下图: Rc选择1MΩ,R1选择1MΩ,C1选择10uF,假设NMOS管导通门限电压1V,理论计算的延时导通时间为2.2s,足够满足要求: 红色是PNP三极管的基极电压,绿色是PNP三极管集电极输出电压0.6V。
实测波形如下,黄色VBUS电压最后由5V变为12V。
蓝色是D-电压,起初一段由于D+与D+由充电器端短接,所以D-也有0.6V,持续1.25s后断开D+与D-连接,D-掉到0V,很快RC延时到了(RC延时是上电就开始了,总共大约是1.5s),D-也被加上了0.6V电压,此时VBUS由5V变为12V。四、电路存在的问题
RC中的电容耐压很重要,诱骗出12V电压后,电容耐压就要至少选择25V耐压的了。如果想要低成本,可以在NMOS的栅极并联一个对地电阻与R1分压,但是要注意,分压过小可能会导致NMOS无法导通。另外由于分压后给电容充电的电压降低了,因此还有个好处是可以使用更低的电容容量。 采用了10uF的电容,此容值下的电容还要保证耐压,因此其温度系数不会很好,要计算出最低的等效容量来保证大于1.25s的延时。 MLCC电容的直流偏压特性会导致等效容量降低,要注意这一点。
0.6V有一个先上后掉下来再上的过程,可能与三极管的状态有关,还没有仔细分析,目前看来倒是不影响诱骗12V。起初采用的是PMOS,实测也可以诱骗成功。但是由于很难保证PMOS的开启门限电压低于0.6V,因此用PMSO是有风险的。 如果是诱骗9V,其实也类似,但是3.3V电压如何产生?采用5个二极管串联?或者用TL431产生?不知道哪个方案便宜且靠谱。如果是3.3V,那么最后的NPN三极管就可以用PMOS代替了,可能就没有波动了 目前这个是我个人搞出来的方案,可能存在问题,而且采用了6个电阻、1个二极管、2个晶体管,不够简单,不知道大家有没有更好的方案?可以评论区简单介绍一下! 欢迎评论区讨论,别忘了点赞!!!
关注个人公众号:硬件之路学习笔记 阅读更多文章
公众号推送机制更改,设为星标、点击在看和点赞下次更新才能及时收到推送。