多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

IP2368充电宝DIY:双向快充与电量显示设计

IP2368充电宝DIY:双向快充与电量显示设计 1. 为什么我选择 IP2368 来做这个充电宝1.1 从一堆充电宝拆机说起前阵子收拾工位翻出来五六个报废的充电宝有鼓包的、有接口松的、有插上没反应的。拆开一看里面大多是 TP4056 加升压芯片的经典组合要么就是 SW6206 这类集成度更高的方案。TP4056 那套东西便宜是便宜但充电电流小、效率低、发热大做出来的东西只能叫“能用的充电宝”离“好用的充电宝”差得远。SW6206 原厂方案倒是完整PCB、原理图、寄存器列表、BOM 一应俱全可它主打的是多协议快充外围器件多对新手来说焊接和调试门槛不低。后来在一个电源群里看到有人聊 IP2368说这颗芯片把升降压、协议识别、电量计量、路径管理全塞进去了外围只需要一个电感、几个电容电阻和 MOS 就能跑起来。我第一反应是“真有这么神”第二反应是“那我自己画一版试试”。于是就有了这个项目——用 IP2368 做一块多功能充电宝主板支持双向快充带数码管电量显示预留无线充电模块接口顺便把原理图和 PCB 文件整理出来给想动手的朋友参考。1.2 IP2368 到底能干什么IP2368 是一颗面向移动电源的升降压 SOC输入支持 4.5V 到 32V输出也是 4.5V 到 32V这意味着它既能从单节锂电池升压到 12V 给设备快充也能从 12V 适配器降压给电池充电。内部集成了 buck-boost 控制器、协议识别引擎、库仑计、LED 或数码管驱动还支持 I2C 让外部 MCU 读取电压电流和配置参数。简单说一颗芯片把传统充电宝里“充电管理 升压输出 协议识别 电量显示”四个模块的活全干了。我选它主要看中三点第一外围精简PCB 面积可以压到很小第二协议支持全PD、QC、FCP、SCP 这些主流快充都能谈第三资料相对开放官方有完整的 datasheet 和应用笔记社区里也有不少人分享过踩坑经验。对于想从“抄板”进阶到“自己设计”的人来说IP2368 是一个很好的练手平台。1.3 这个项目适合谁如果你是完全零基础的小白连电阻电容封装都分不清那我建议先拿嘉立创 EDA 画几个简单的 LED 闪灯电路练手再回来看这个项目。如果你已经会用 AD 或嘉立创 EDA 画双层板能手工焊接 0603 和 QFN 封装那这个项目对你来说就是“跳一跳够得着”的难度。整个板子我控制在两层板以内关键走线加粗功率路径铺铜没有用盲埋孔嘉立创的普通工艺就能做。另外这个项目不只是教你“焊一个充电宝”更重要的是让你理解一颗电源 SOC 的外围设计逻辑电感怎么选、采样电阻怎么算、MOS 怎么配、散热怎么处理。这些经验换到其他电源芯片上同样适用。2. 核心电路设计与关键器件选型2.1 整体架构拆解整个充电宝主板可以分成六个功能块电池接口与保护、IP2368 主控、功率电感与 MOS、输入输出接口、电量显示、辅助电源。电池接口负责连接 18650 或软包电芯保护板我单独做了一小块用 DW01 加 8205A 的经典组合过充过放过流都能兜住。IP2368 主控是核心它负责所有逻辑。功率电感和 MOS 构成升降压的功率级电感选 4.7μH 到 10μH 之间MOS 用低内阻的 N 沟道。输入输出接口我放了两个 Type-C一个负责充电输入一个负责放电输出都支持正反插。电量显示用了一颗 TM1650 驱动四位数码管通过 I2C 和 IP2368 通信。辅助电源是给数码管和 IP2368 的 VCC 供电的用了一颗 662K 低压差稳压器从电池取电。注意IP2368 的 VCC 引脚不能直接接电池必须经过 LDO 稳压到 3.3V 或 5V否则电池电压波动会干扰内部基准。2.2 电感选型与计算过程电感是升降压电路里最关键的被动器件选错了要么效率低要么直接炸机。IP2368 的开关频率默认 300kHz也可以配置成 500kHz。频率越高电感可以越小但开关损耗会增大。我选的是 4.7μH 的一体成型电感饱和电流 8A温升电流 6A。计算过程是这样的假设电池电压 3.7V输出 12V/2A输出功率 24W。升降压模式下电感电流的纹波率一般取 30% 到 40%。以 300kHz 开关频率计算占空比 D 在升压模式下约为 1 - Vin/Vout 1 - 3.7/12 ≈ 0.69。电感纹波电流 ΔI Vin × D / (f × L) 3.7 × 0.69 / (300000 × 4.7e-6) ≈ 1.81A。平均电感电流 I_L Iout / (1 - D) 2 / 0.31 ≈ 6.45A。峰值电流就是 6.45 0.9 7.35A。所以我选的 8A 饱和电流刚好够用留了一点余量。如果你打算做 100W 以上的输出电感要换更大的饱和电流至少 15A 起步封装也得从 0630 换到 1040 甚至 1265。2.3 MOS 选型与驱动要点IP2368 内部集成了升降压控制器但功率 MOS 是外置的。它需要四颗 N 沟道 MOS 组成 H 桥两颗负责升压侧两颗负责降压侧。我选的是 AON753430V 耐压内阻 4.5mΩ电流能力 30ADFN 3x3 封装。这个内阻在 6A 电流下导通损耗只有 6² × 0.0045 ≈ 0.16W四颗加起来不到 0.7W散热压力很小。驱动方面IP2368 的 GATE 引脚输出电平是 5V 左右AON7534 的 Vgs(th) 在 1.5V 到 2.5V 之间5V 驱动完全能把它推到低阻区。但要注意H 桥的高端 MOS 需要自举电容IP2368 的 BST 引脚和 SW 引脚之间要接一颗 100nF 的陶瓷电容耐压至少 25V。这个电容我用了 0805 封装X7R 材质千万别用 Y5V温漂太大会导致驱动不足。实操心得焊接 DFN 封装的 MOS 时中间的散热焊盘一定要和 PCB 上的铜皮充分接触我一般会在焊盘上开几个过孔到背面的大铜面过孔直径 0.3mm每个焊盘打 9 个散热效果立竿见影。2.4 采样电阻与电流检测IP2368 通过检测输入输出电流来实现恒流充电和过流保护。电流采样电阻接在 VIN 和 VOUT 的回路里阻值一般是 5mΩ 到 10mΩ。我选的是 5mΩ 的 2512 封装合金电阻精度 1%温漂 50ppm。为什么选 5mΩ因为 IP2368 的电流检测阈值是固定的采样电阻越大检测精度越高但损耗也越大。5mΩ 在 5A 电流下压降只有 25mV损耗 0.125W对效率影响很小。采样走线必须用开尔文接法从电阻的两个焊盘内侧单独引两根线到芯片的 CSP 和 CSN 引脚不能和功率走线共用。我见过有人直接把采样线从电阻外侧拉出来结果电流一大读数就飘充电直接停掉。2.5 电量显示方案对比电量显示我试过三种方案。第一种是直接用 IP2368 的 LED 引脚驱动四颗 LED简单但只能显示大概电量看着不够直观。第二种是用数码管加 TM1650I2C 通信能显示百分比成本也就多一两块钱。第三种是用 0.96 寸 OLED信息最全但功耗和成本都上去了而且强光下看不清。最后我选了数码管方案四位数码管显示“085”表示 85% 电量充电时最后一位闪烁。TM1650 的 I2C 地址是 0x24IP2368 的 I2C 地址是 0x36两个器件挂在同一条总线上不冲突。数码管的段选限流电阻我用了 100Ω亮度适中夜里不刺眼。3. 原理图设计与 PCB 布局实操3.1 原理图分块绘制与检查画原理图我习惯分块画一块一块确认。第一块是电池输入从 BAT 和 BAT- 进来先过保护板再过一个 PMOS 做反接保护然后进 IP2368 的 VIN 引脚。第二块是 IP2368 主控把 datasheet 里的典型应用电路照搬过来该接电容的接电容该接电阻的接电阻。第三块是功率级四颗 MOS 和电感组成 H 桥注意 SW 节点的走线要短而粗。第四块是 Type-C 接口CC1 和 CC2 各接一颗 5.1kΩ 下拉电阻这是做受电端的基本要求。第五块是数码管和 TM1650。第六块是辅助 LDO。画完以后一定要用 ERC 检查一遍重点看电源和地的连接有没有遗漏。我第一版就是忘了把 IP2368 的 EPAD 接地结果芯片死活不工作查了半天才发现。3.2 PCB 布局的优先级排序PCB 布局我遵循一个原则功率路径最短信号路径最干净。具体来说电感和 MOS 组成的功率环面积要尽可能小因为环面积越大电磁辐射越强效率也越低。我把四颗 MOS 和电感放在板子的一侧IP2368 放在另一侧中间用粗铜皮连接。采样电阻紧挨着 IP2368 的 CSP 和 CSN 引脚走线长度控制在 5mm 以内。Type-C 接口放在板子边缘方便插拔。数码管放在正面方便看电量。电池接口用 XH2.54 插座焊在板子背面这样电池可以藏在下面。注意功率地和信号地要分开铺铜最后在 IP2368 的 GND 引脚下方用 0Ω 电阻或磁珠单点连接避免大电流在地平面上产生压差干扰芯片。3.3 关键走线规则与铜厚选择嘉立创的普通双层板工艺铜厚 1oz也就是 35μm。功率走线我按 1A 电流对应 1mm 线宽来估算6A 电流至少需要 6mm 线宽。但实际布线时不可能拉这么宽所以我在功率路径上直接铺铜用大面积铜皮代替走线。SW 节点的铜皮面积要控制太大会成为天线我一般控制在 100mm² 以内。信号线走 0.25mm 就够了I2C 的两根线走等长旁边包地。采样线走差分对间距 0.2mm尽量短。过孔方面功率路径上的过孔我用了 0.3mm 孔径每个连接点打 4 到 6 个降低阻抗。3.4 散热设计与过孔阵列IP2368 的 EPAD 必须焊接到 PCB 的铜皮上铜皮面积越大越好。我在芯片下方铺了一块 15mm × 15mm 的铜皮上面打了 16 个 0.3mm 的过孔连接到背面的铜皮。背面的铜皮再连接到电池负极的大面积铺铜。这样芯片产生的热量可以通过过孔传到背面再散到空气中。MOS 的散热焊盘同样处理每个 MOS 下面打 9 个过孔。实测在 24W 输出下连续跑半小时MOS 表面温度在 55°C 左右IP2368 表面温度 48°C手摸上去温热但不烫手。3.5 原理图与 PCB 文件说明完整的原理图我用嘉立创 EDA 画的PCB 也是。文件里包含了原理图源文件、PCB 源文件、Gerber 光绘文件、BOM 表和坐标文件。BOM 表里标注了每个器件的型号、封装、数量和位号方便你在嘉立创或立创商城直接下单。PCB 文件里我设置了设计规则线宽、间距、过孔尺寸都按嘉立创的工艺能力来直接上传就能打样。如果你用的是 AD 或 Cadence也可以把原理图导出为 PDF 参考PCB 重新画一遍。我不建议直接转换文件格式因为不同软件的封装库不兼容转换后很容易出错。4. 焊接调试与常见问题排查4.1 焊接顺序与温度控制焊接我建议按“先小后大、先低后高”的顺序来。先焊 IP2368 和 TM1650 这些 QFN 和 SOP 芯片再焊电阻电容然后焊电感和 MOS最后焊 Type-C 插座和电池座。QFN 芯片用热风枪焊风枪温度设 280°C风速调到最低档先给焊盘上锡再把芯片放上去用镊子轻轻压住风枪绕圈吹 30 秒左右锡一化就用镊子碰一下芯片能自动回位就说明焊好了。实操心得焊 IP2368 之前先用万用表量一下 VCC 和 GND 之间的阻值正常应该在几百欧姆以上。如果只有几欧姆说明芯片内部已经击穿别焊了直接换一颗。4.2 上电前检查清单上电前必须做三件事。第一目视检查所有芯片的引脚有没有连锡特别是 QFN 芯片的侧面引脚。第二用万用表二极管档量电池输入端的正反向阻值反向应该有几百欧姆正向应该接近短路。第三量 VCC 对地阻值确认没有短路。这三步做完再上电能避免 90% 的炸机事故。上电时用可调电源电压设 3.7V电流限制设 100mA。如果电流直接冲到限制值说明有短路立刻断电排查。如果电流很小几毫安说明芯片在工作可以慢慢调高电压。4.3 常见问题速查表现象可能原因排查方法解决方法上电无反应VCC 无电压量 LDO 输出检查 LDO 输入输出电容是否虚焊充电电流小采样电阻阻值偏大量采样电阻两端压降换 5mΩ 电阻输出跳变电感饱和看电感是否发烫换更大饱和电流的电感数码管不亮I2C 地址冲突用逻辑分析仪抓波形改 TM1650 地址或换总线芯片发烫MOS 驱动不足量 GATE 电压检查自举电容是否焊好协议不识别CC 电阻不对量 CC 对地阻值换 5.1kΩ 电阻4.4 协议识别失败的排查思路协议识别失败是最常见的问题表现是插上手机能充电但只有 5V/1A谈不出快充。排查步骤是这样的先用 USB 电流表看输出电压如果一直是 5V说明协议芯片没工作。然后量 IP2368 的 DP 和 DM 引脚正常应该有 0.6V 左右的电平。如果没有检查 DP/DM 的走线有没有断线或者保护电阻有没有焊错。如果 DP/DM 电平正常但协议还是谈不出来那可能是固件版本问题IP2368 的协议库需要更新到最新版。我遇到过一种情况手机能识别快充但充电几秒后就掉到 5V。后来发现是采样电阻的走线太长电流一大采样电压被干扰芯片误判过流。把采样线改短以后就稳了。4.5 效率测试与温升记录我用电子负载测了效率电池 3.7V 输入输出 12V/2A效率在 92% 左右。输出 5V/3A 时效率 94%。这个数据在升降压方案里算不错的。温升方面连续跑 30 分钟电感表面 62°CMOS 55°CIP2368 48°C数码管 35°C。环境温度 25°C温升都在可接受范围内。如果你要做更大功率比如 65W 输出电感要换 10μH/15A 的MOS 要换内阻 2mΩ 以下的PCB 铜厚建议上 2oz散热过孔加倍。5. 功能扩展与后续升级方向5.1 加装无线充电模块无线充电模块我选的是通用的 5W 或 10W 发射模块输入 5V输出线圈驱动。接线很简单模块的 VIN 接充电宝的 5V 输出GND 共地。但要注意无线充电模块工作时会产生高频干扰可能会影响 IP2368 的采样精度。我在模块的电源输入端加了一颗 100μF 的电解电容和一颗 0.1μF 的陶瓷电容做退耦干扰明显减小。如果你想让无线充电和有线输出同时工作需要确认 IP2368 的总输出功率够不够。比如有线输出 18W无线输出 10W加起来 28W电池要能扛住 8A 左右的放电电流。18650 电芯一般支持 3A 到 5A 放电所以最好用动力电芯或者两块电芯并联。5.2 用 MCU 读取 IP2368 数据IP2368 支持 I2C地址 0x36可以读取电压、电流、温度、电量百分比等数据。我用 STM32F103C8T6 试过用 CubeMX 配置 I2CSPI 通过 DMA 读取芯片数据也很方便。读取到的数据可以显示在 OLED 上或者通过串口传到电脑记录。寄存器列表在 datasheet 里有主要关注 0x00 到 0x0F 这几个地址分别是电压、电流、状态和配置。注意IP2368 的 I2C 电平是 3.3V如果你的 MCU 是 5V 系统要加电平转换芯片否则会烧掉 IP2368 的 I2C 引脚。5.3 外壳设计与 3D 打印外壳我用 Fusion 360 画的尺寸 100mm × 60mm × 25mm能塞下两块 18650 电芯和主板。外壳分上下两半用 M3 螺丝固定。数码管的位置开了一个透明窗口用 2mm 厚的亚克力板盖住。Type-C 接口的位置开了两个方孔尺寸比接口大 0.5mm方便插拔。如果你没有 3D 打印机也可以用现成的塑料防水盒改造用美工刀和电钻开孔效果差一点但能用。外壳的壁厚我设了 2mm强度足够摔一下也不会裂。5.4 从单节到多节电池的扩展单节锂电池的电压范围是 3.0V 到 4.2VIP2368 在这个范围内都能工作。如果你想做更大容量的充电宝可以把多节电芯并联容量翻倍电压不变。并联时每节电芯的正负极都要用粗铜线连接线径至少 1mm²否则大电流放电时线会发热。如果你想做串联比如两节串联到 7.4V那 IP2368 的输入电压范围也支持但保护板要换成两串的充电平衡也要重新设计。我不建议新手做串联因为平衡充电电路比较复杂搞不好会炸。5.5 固件升级与协议库更新IP2368 的固件可以通过 I2C 升级官方会不定期更新协议库增加对新手机快充协议的支持。升级需要专用的上位机工具和 I2C 转 USB 模块。升级前一定要备份原始固件万一升级失败还能回滚。我升级过一次过程大概两分钟升级后对某品牌手机的快充兼容性明显改善。如果你不想折腾固件也可以直接买最新批次的 IP2368 芯片一般出厂就是较新的固件版本。6. 个人实操体会与几个小技巧这个项目我从画原理图到调试完成前后花了大概三周时间中间炸过两颗芯片、烧过一块板子踩的坑不算少。最大的体会是电源设计里布局比原理图重要器件选型比参数计算重要。原理图照着 datasheet 画一般不会错但布局不好再好的芯片也发挥不出来。另外分享几个小技巧。第一调试时用可调电源加电流表比直接用电池安全得多一旦短路能立刻发现。第二采样电阻的走线一定要短最好在 5mm 以内我第二版把采样电阻挪到芯片旁边精度立刻上来了。第三数码管的限流电阻别省我第一版没加数码管亮了几秒就烧了一段。第四Type-C 接口的 CC 电阻用 5.1kΩ别用 10kΩ否则有些手机会识别成普通充电。这个板子后续还可以扩展太阳能充电输入在 VIN 前面加一个 MPPT 模块就行。或者加一个电量计芯片比如 CW2015把电量精度做到 1% 以内。反正 IP2368 已经把最难的部分做完了剩下的就是往上堆功能。
返回列表