ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

16Pin Type-C充电头改造:CC电阻配置与PD诱骗芯片实战

16Pin Type-C充电头改造:CC电阻配置与PD诱骗芯片实战 手头攒了一堆手机充电头扔了吧可惜留着吧除了充手机好像也没别的用处。但只要把16Pin Type-C接口弄明白这些充电头全都能改造成你桌面上的万能电源。5V只是它最基础的一个档位从12V的无刷电机、20V的电动工具到3.3V的单片机核心板一个协议芯片加几颗电阻统统能拿捏。这篇文章不整虚的就围绕16Pin Type-C的引脚定义、CC通道的配置逻辑、PD协议取电的原理再加上12V转5V、24V转5V、5V转3.3V这些实际电路方案把你从“只会充电”带到“能自己搭一个供电系统”的水平。1. 一根Type-C线引发的思考16Pin凭什么能当万能电源1.1 充电头的“进化史”从固定电压到动态协商十多年前我们用Micro-USB的时候充电这件事特别简单粗暴充电器固定输出5V设备能吸收多少电流就吸收多少没有协商机制。如果设备需要的电流太大充电器直接掉电压甚至保护如果充电器给的电流不够手机要么充得极慢要么边充边掉电。那个时候的5V 500mA、5V 1A、5V 2A本质都是“固定输出的5V”区别只在于能扛多大负载。Type-C普及之后情况彻底变了。充电头不再是一个“傻电源”而是一个能和你对话的“供电方”。它默认只输出5V但如果你告诉它“我需要9V”“我需要12V”“我需要20V”只要它支持就会把VBUS上的电压抬到对应档位。这个对话过程就是通过CC引脚上的通信协议完成的。再加上PD协议的支持Type-C可以输出最高100WPD3.0甚至240WPD3.1的功率。这意味着什么意味着你手里那个65W的氮化镓充电头本质上就是一个可以输出5V/9V/12V/15V/20V多档电压的小型可调电源。花一两百买它比买一个实验室用的可调电源还划算。而想要把这个能力“榨”出来核心就是搞懂Type-C接口上的CC引脚。1.2 16Pin不是“阉割版”而是“够用版”很多DIY新手第一次拿到16Pin的Type-C母座会对着规格书发懵标准Type-C不是24Pin吗这16Pin是不是少了什么其实不是。24Pin对应的全功能Type-C包含4对高速差分信号线用于USB 3.x、DisplayPort、雷电等。但如果你只是用来做供电、USB 2.0数据通信那些高速引脚用不上全焊上去纯属浪费。16Pin Type-C在保留核心功能的前提下砍掉了冗余引脚常见的引脚分配有这几种功能分类引脚名称作用说明电源正极VBUS通常有2-4个传输主电源默认5V协商后可升压电源地GND通常有2-4个电流回路公共地配置通道CC1、CC2检测插入方向、协商电压电流、传PD协议数据通道D、D-USB 2.0数据线用于普通数据传输辅助通道SBU1、SBU2用于音频附件、DisplayPort辅助信号等外壳屏蔽Shield接外壳地用于电磁屏蔽16Pin母座的排列顺序不同厂家略有差异有的保留D/D-有的保留SBU有的把VBUS做到4个有的只做2个。所以拿到元器件之后第一件事永远是翻规格书确认引脚定义千万不能凭经验去猜——我在这个事上翻过车后面会专门讲。在DIY供电这个场景里真正离不开的引脚只有四个VBUS、GND、CC1、CC2。D/D-是你偶尔想顺便传数据时才用得上。这也解释了为什么16Pin接口在电子圈这么火焊点少、体积小、功能全做电源改造刚好够用。2. 引脚背后的电路逻辑为什么一根线能输出多个电压2.1 CC引脚定生死两颗5.1K电阻就够了如果你只是想要5V输出做法极其简单在Type-C母座的CC1和CC2上分别接一颗5.1KΩ电阻下拉到GND接上充电头VBUS就有5V输出了。这个操作在圈里叫“拉CC”它的原理是Type-C协议规定了用电方Sink必须通过5.1KΩ电阻向GND方向提供识别信号。充电头检测到CC线上有5.1KΩ的下拉就知道“对面插了一个用电设备”于是开启5V输出。反过来如果设备端CC引脚悬空不接任何电阻充电头会认为“没有设备插入”VBUS不给电。很多DIY新手把Type-C母座焊好了接上充电头却没输出查遍所有焊点都没问题最后发现就是CC下拉电阻没焊。这里有个容易混淆的细节充电头端的上拉电阻叫Rp阻值常见为56K、22K、10K用来通告自己能提供多少电流设备端的下拉电阻叫Rd标准阻值5.1K。我们做DIY设备时焊的是Rd。你可能会问既然充电头那头已经拉了上拉我这里直接短路CC到GND行不行不行。那样会被判定为“非标准负载”充电头可能直接拒绝输出或只给极小的电流。老老实实用5.1KΩ电阻便宜又可靠。2.2 PD协议充电头是怎么变成“可调电源”的5V搞定之后就该研究“不只是5V”了。想让充电头输出9V、12V、15V、20V不能靠电阻要靠PD协议。PD全称Power Delivery它通过CC引脚传输数据信号采用BMC编码。充电头和用电设备之间会进行一次简短的“谈判”设备端向充电头发送“能力请求”Request我要请求12V这一档。充电头回复“好的”AcceptVBUS电压开始从5V往12V调整。电压爬升稳定后充电头发送“就绪”Ready设备端开始大电流取电。整个过程耗时通常在几十毫秒到几百毫秒不等。标准PD协议里规定了几个固定电压档位5V、9V、15V、20V部分充电头还支持PPS可编程电源电压可以5V到21V之间以0.1V步进调节。PD3.1协议又扩展了28V、36V、48V等更高档位不过在消费级充电头里还不算普及。那问题来了你在做DIY设备怎么让充电头知道你想要12V还是20V方案有两种。第一种是买一颗PD诱骗芯片比如CH224、LDR6328、FUSB302之类芯片会替你和充电头完成那套“谈判”过程你只需要设置几个引脚的电平组合就能指定要哪个电压档位。第二种是直接用带PD协议的MCU比如ESP32-S3自带USB-PD功能或者STM32外接PD PHY芯片自己写代码发指令。对于大多数人来说诱骗芯片是成本最低、最省事的选择。2.3 诱骗芯片的选型与接线我在实际项目里用过不少诱骗芯片最有代表性的两款是CH224和LDR6328芯片型号支持协议输出电压选择方式封装/难度适合场景CH224PD2.0/3.0、QC2.0/3.0外接电阻或I2C控制SOP8/SSOP10中等需要灵活切换多档电压LDR6328PD、QC、AFC、FCP外接电阻/引脚电平SOP8简单只需要固定一档电压FUSB302完整的PD控制器I2C需MCU配合QFN偏难需要深度定制协议交互举个例子用CH224做12V取电只需要在CFG1和CFG2引脚上接特定组合的电阻芯片就会自动发送12V请求。每个型号的电阻配置表在数据手册里都有照着选就行。我不建议凭记忆硬背这些电阻值因为不同批次芯片的配置码可能不同最稳妥的做法是把对应的数据手册下载下来直接用里面的表格。这里要提醒一句诱骗芯片要工作前提是你的充电头真的支持对应电压档位。拿一个只有5V 1A输出的老充电头插再贵的诱骗芯片也协商不出9V。选购充电头时看一点它标注支持PD快充并且输出列表里有9V、12V、15V、20V这几个档位。3. 把Type-C变成你的万能电源三种最实用的DIY方案3.1 方案一最小系统固定5V输出这个方案最简单适合刚入门的新手也适合给一些5V供电的小设备改造供电接口。你需要准备一个16Pin Type-C母座、两颗5.1KΩ电阻、一根废旧的Type-C线或者直接用充电头。接线方式将CC1通过一颗5.1KΩ电阻接到GND将CC2通过另一颗5.1KΩ电阻接到GND把VBUS引出来做正极GND引出来做负极这样接好之后插上任何标准的Type-C充电头VBUS上就是稳定的5V。如果你想顺便把D/D-也引出来那就能实现“供电USB 2.0数据”二合一很多小键盘、小屏幕就是这么设计的。我在实际测试中发现16Pin母座通常有2-4个VBUS引脚和2-4个GND引脚建议全部并联使用。虽然单个引脚也能过流但并联可以降低接触电阻减少大电流下的发热。如果只是带个ESP32或传感器这种小电流负载区别不大但要给5V无刷电机之类的大电流设备供电并联是必须的。3.2 方案二PD诱骗取高电压拿12V/20V不再求人如果你要给12V的无刷电机、LED灯带、路由器、甚至20V的电动工具供电固定5V就不够了。这时候需要把前面讲的诱骗芯片加上去。以CH224为例典型接线CH224的VBUS接Type-C母座的VBUSCH224的GND接Type-C母座的GNDCH224的CC1/CC2分别接Type-C母座的CC1/CC2在CFG1、CFG2引脚上按需焊电阻选择你想要的电压档CH224的VOUT引脚就是输出正极GND复用这里建议先用万用表测一下VOUT的实际电压确认和预期一致再接负载。我最早做20V取电时因为CFG1焊接搭锡CH224直接请求了20V但我以为边界上写的是15V结果差点把额定12V的电机烧了。从那以后所有诱骗电路的输出电压我都会先空载测试再接真实负载。这个方案特别适合给桌面3D打印机的热床、大功率LED灯珠、或者直流无刷电机供电。你只需要一个65W以上的PD充电头加一块十几块钱的诱骗板就能拥有一路20V/3A左右的高压电源。3.3 方案三诱骗DC-DC降压/升压想要几伏就几伏很多人以为拿到20V之后就只能用20V。其实不然。诱骗器取出来的高电压完全可以再接一级DC-DC稳压电路转成你需要的任何电压比如5V、3.3V、甚至可调电压。这个思路相当于把Type-C充电头当作前端电源再用后级DC-DC做精密稳压。好处是充电头本身就是高质量的隔离电源电压纹波非常小诱骗取20V后后级DC-DC可以把压差转换成低电流下的大功率不同设备之间不会相互干扰各取所需举个我实际做过的例子我用一个100W PD充电头通过CH224诱骗出20V然后用一个MP1584降压模块转出5V给树莓派再用一个LM2596模块转出3.3V给传感器板。整个系统只需要一个充电头供电桌面清爽了很多。要注意的是DC-DC模块尽量选带电位器可调压的版本使用前先调好电压再接入负载。另外降压模块的功耗也不可忽视大压差、大电流下模块会发热需要加散热片。20V降到5V如果电流跑到2A模块上的压差功耗就有30W一个小铜板根本扛不住。这种情况下要么降低电流要么换用同步整流的高效模块。4. 从12V到3.3VDIY供电中的稳压与变压实操4.1 12V转5V看似简单实则坑不少12V转5V是DIY里最常见的需求之一。如果是小电流几十毫安一个AMS1117-5.0线性稳压器就够了。但线性稳压器的效率公式是输出电压除以输入电压12V转5V的效率只有41%剩下的59%全变成热量消耗掉了。电流超过200mAAMS1117就开始烫手超过500mA必须加散热片才勉强能用。所以如果电流需求超过300-500mA我建议直接用BUCK降压模块。市面上最常见的LM2596模块虽然便宜但是自身静态电流偏大效率也只有70%左右。想做得更精致可以用MP1584、MP2315或者TPS5430这类同步降压芯片效率能做到90%以上发热低得多。我给一个实测数据LM2596模块在12V转5V、负载1A时模块温度大约55到60度换用MP1584模块同样条件下只有40度出头。虽然两者都能正常工作但长时间放在密闭外壳里温度的差别就很关键了。4.2 24V电瓶或24V电源转5V这题不能抄12V的答案网上经常有人问“24伏电瓶能充5V 2.1A充电器吗”或者“24V怎么转5V”这类问题最大误区就是直接把12V的方案套上去。首先如果你是给一个现成的5V充电器输入24V那大概率会把充电器烧掉。5V充电器内部电路是按照5V输入设计的超过耐压值内部电容先炸。这种事我见过不止一次提醒大家别尝试。正确的做法是用宽压输入的DC-DC降压模块直接从24V降到5V。选型时注意两个指标输入电压上限和输出电流能力。MP1584是一个不错的选择输入范围4.5V-28V输出最大3A效率不错价格也便宜。如果输入电压可能超过28V要选LM2596HV输入上限60V或者TPS5430输入上限36V。千万别用AMS1117这类线性稳压器24V到5V电流若到500mA压差功耗就有9.5W线性稳压器瞬间就能冒烟。下面这张对比表供参考方案输入范围输出能力效率适用场景AMS1117-5.06.5V-12V0.8A40%-60%小电流、对纹波不敏感LM2596模块4.5V-40V3A70%-80%通用降压成本低MP1584模块4.5V-28V3A85%-95%宽压输入、效率优先TPS54305.5V-36V3A85%-92%高可靠性场景4.3 5V转3.3V数字电路的生命线3.3V是现在绝大多数单片机STM32、ESP32、nRF52840等和传感器的标准供电电压。从5V取电转3.3V与12V转5V情况不同压差只有1.7V线性稳压器的效率约为66%在小电流场景下完全可以接受。我在做ESP32项目时最常用的方案是一片AMS1117-3.3加上输入输出各一个10uF的陶瓷电容稳定可靠。如果你的系统对功耗特别敏感比如电池供电可以用超低静态电流的LDO比如XC6206系列静态电流只有1uA左右休眠时几乎不耗电。反过来如果对效率要求极高也可以用DC-DC降压方式但要注意开关噪声可能会干扰ADC采样等敏感电路。一个细节很多模块上标着“5V”输入实际板上已经集成了一颗3.3V稳压器和电平转换电路可以直接接5V。但如果你自己搭电路千万别把5V直接接到ESP32的3.3V引脚上——我最初玩ESP32时就犯过这个错上电一瞬间核心直接烧糊。4.4 负压和升压容易被忽略的两种补全玩法负压这个需求比较小众但做运放电路、音频电路时就会遇到。5V转-5V可以用电荷泵芯片比如ICL7660、SGM3204外围只需要两个电容非常简洁。它内部通过开关电容的方式把正电压“翻转”成负压输出能力一般在几十毫安级别够运放用了。升压场景更常见一点比如你想用5V给12V的小风扇供电或者给点阵屏的背光升压。MT3608是最经典的升压芯片之一输入2V-24V最高输出28V用一颗电感加几个电容就能搭出升压电路。需要注意的是升压电路的空载电压可能会比预期略高一点带负载后会回落所以调试时不要空载接敏感负载最好先加一个假负载测试。5. 实战做一个桌面通用Type-C供电模块5.1 硬件准备和功能定位光讲原理不过瘾直接做一个东西出来才是王道。这个桌面的供电模块设计目标是一次投入满足桌面所有设备的供电需求。我的规划是用一个100W的Type-C充电头作为总输入通过模块分出三路一路5V固定输出给USB小风扇、LED小夜灯一路可调电压3.3V-12V给单片机、传感器、小电机一路20V输出给电烙铁、3D打印机部件、或者直接接降压模块。需要的材料清单16Pin Type-C母座 × 1CH224诱骗芯片 × 1含配置电阻5.1KΩ电阻 × 2MP1584降压模块 × 2一个调好5V一个调好12VAMS1117-3.3模块 × 1万用板或PCB转接板 × 1接线端子若干整个模块的核心就是把16Pin Type-C母座作为输入端口CH224负责从充电头“谈”出20V然后20V再分给一路直出和两个降压模块。5V那一路的负载不大所以用MP1584而不是线性稳压器但AMS1117-3.3那一级就先从5V取再转出3.3V。5.2 焊接和接线流程第一步先把16Pin母座固定到万用板上。这里要特别小心引脚间距Type-C母座的引脚非常密建议使用助焊剂和细尖烙铁头焊完用放大镜检查有没有连锡。第二步焊接CC下拉电阻。在CC1和CC2上各焊接一颗5.1KΩ电阻到GND。这一步做完不接CH224时也能输出5V相当于给模块一个基础保底电压。第三步焊接CH224。把CH224的VBUS、GND、CC1、CC2和母座对应连接然后通过CFG1/CFG2引脚配置为20V档。为了后期方便调整我没有直接焊死电阻而是焊接了排针和跳线帽这样想切换电压档位时拨一下跳线就行。第四步从CH224的20V输出端引线分别接入两个MP1584模块的Vin和GND。把第一个模块的输出调到5.0V第二个调到12.0V。调节电位器时建议边调边用万用表测量调到目标电压后滴一点热熔胶固定电位器防止日后震动导致电压漂移。第五步从5V模块输出端再接一个AMS1117-3.3模块得到3.3V电源轨。这样整个模块就有四路输出20V、12V、5V、3.3V。5.3 实测结果和调优细节等全部接好我插上充电头用万用表依次测了四路输出电压20.1V、12.0V、5.02V、3.29V全部在合理范围内。然后用电子负载分别拉了一下电流20V档拉到3A12V档拉到2A5V档拉到2A3.3V档拉到0.5A持续运行半小时。测下来有两个需要调优的点MP1584模块拉到3A后电感有轻微啸叫贴着耳朵才能听到。解决办法是换了一颗低ESR的输出电容啸叫就消失了也可以简单地在输出端再加一颗100uF电解电容。12V档在2A负载下模块温度到50度左右摸上去温温的正常工作。但长期在高负载下运行建议在模块背面贴一片散热铝片。这个模块做好之后我一共用了一年左右经手了不少设备12V无刷电机、5V的STC单片机开发板、20V的便携电烙铁、3.3V的ESP32传感器节点。一个充电头全部搞定桌面清爽了不少。6. 翻车档案这些坑我替你踩过了6.1 高频问题排查速查表现象可能原因排查与解决接上充电头无输出CC1/CC2没接5.1K下拉电阻或电阻虚焊用万用表量CC到GND的电阻应为5.1K左右输出只有5V诱骗不升压诱骗芯片没焊好或配置引脚设置错误检查晶振/时钟引脚配置核对配置电阻对照表诱骗电压和设定档位不符CFG引脚短接或焊锡连锡断开负载重新测量配置引脚之间是否短路大电流下电压跌落明显线材过细或VBUS/GND没并联更换AWG20以上的硅胶线并联所有电源引脚插上充电头模块发热严重负载电流超出模块能力或压差过大测量实际电流考虑分流或换更高规格模块空载电压正常一接负载就关机充电头过流保护检查PD协商电流是否够换用更大功率的充电头电容啸叫或电感响DC-DC环路不稳定更换低ESR电容或在输入输出端多加陶瓷电容6.2 几条说烂了但还是得再说的心得最后说点实在的。Type-C DIY供电这个玩法门槛不高但细节很多。我最大的体会是永远不要让Type-C母座的引脚定义靠猜。同一个“16Pin”的母座不同厂家的引脚排序可能不一样D/D-的位置、CC1/CC2的位置都有差异。翻规格书只需要两分钟但如果焊错了再拆下来清洗换件折腾两小时都不一定能救回来。还有别迷信“多档位”先想清楚你到底要什么电压。如果你只需要稳定5V那两颗5.1K电阻就足够了没必要上诱骗芯片。如果你的设备最高只能耐压12V那宁可用一个固定12V的诱骗器也不要用可调的然后祈祷自己不会调错。稳定和简单永远是DIY供电的第一原则。安全方面必须多说一句Type-C PD供电最高能到20V甚至48V虽然不算强电但大电流下短路也会打火、烧线。模块调试阶段尽量用旧充电头或者带过流保护的电源接线用不同颜色区分正负极输出端点胶绝缘。焊接时开窗通风焊锡烟雾该避开就避开。如果你也想把手里的充电头玩出花就从一块16Pin母座加两颗5.1K电阻开始吧。把最低门槛的5V方案跑通再一步步加诱骗芯片、加DC-DC模块你会发现自己做的供电系统比市面上买的固定电压电源灵活得多。后面如果再配一个数显电压表头状态一目了然那就更完美了。
返回列表