1. 项目概述为复古游戏机打造一块“能量心脏”玩过自己动手攒复古游戏机的朋友都知道最让人头疼的往往不是软件模拟或者外壳设计而是供电。你精心挑选了树莓派找到了合适的屏幕按钮布局也完美复刻了童年记忆但一拔掉电源线设备立马“熄火”这种体验实在谈不上便携。我之前做的PALPi V6就遇到了这个尴尬内部用热熔胶临时固定的一块锂电池续航只有可怜的半小时玩个《超级马里奥》第一关还没过就提示电量不足这显然不符合一个合格的掌机该有的素质。问题的核心在于原设计中的电源管理模块IP5306。这个模块本身是个不错的集成方案但它有个小毛病当你在设备运行时插入充电器整个系统会重启。想象一下你正在《塞尔达传说》里探索迷宫眼看就要找到宝藏插上电想边充边玩结果游戏机“啪”地一下重启了进度全丢这体验简直灾难。所以我的目标很明确——设计一块独立的电池板它不仅要大幅提升续航还要解决充电时系统重启的问题让PALPi V6成为一台真正可靠、随拿随玩的便携设备。这块电池板的设计思路就是做一块“能量心脏”。它不再是一个简单的电池仓而是一块集成了双18650锂电池、专业充电管理芯片TP4056和电源通断控制的完整PCB。最终这块板子可以直接作为设备后盖安装既节省了内部空间又让整体结构更规整。经过实测改造后的PALPi V6续航轻松超过3小时足以应付一次长途旅行或几个下午的怀旧游戏时光。接下来我就把这套从电路设计到焊接组装的完整流程拆开揉碎了讲清楚无论你是想复刻一个PALPi还是为自己的其他嵌入式项目设计供电方案相信都能找到直接的参考。2. 核心方案选型与设计思路拆解2.1 为何选择TP4056作为充电核心当决定为双锂电池组设计独立的充电电路时市面上可选的芯片很多比如更先进的开关充电芯片如BQ25895或者带路径管理的芯片。但我最终选择了经典的TP4056原因主要有以下几点这也是很多小型化、低成本项目的共同考量首先需求匹配度极高。TP4056是专为单节锂离子/锂聚合物电池设计的线性充电管理芯片。我们的电池板虽然用了两节18650但它们是并联连接这一点后面会详细解释对外等效为一节电池。TP4056的4.2V恒定截止电压和最大1A的可调充电电流完美匹配单节锂电池的标准充电曲线CC/CV。它的功能纯粹而专注就是安全、可靠地把电池充满不包含多余的DC-DC升降压或路径管理功能这反而让电路变得极其简洁。其次成本与易用性的平衡。TP4056模块在市场上几乎是最廉价的锂电池充电方案芯片本身价格极低且外围元件极少通常只需要一两个电阻电容。对于个人开发者或小批量项目来说这意味着更低的BOM物料清单成本和更简单的PCB布局。更重要的是它的应用资料极其丰富各种参数计算、布局注意事项都有成熟的社区经验可循大大降低了开发风险。注意TP4056是线性充电芯片其工作时特别是大电流充电时会产生热损耗。功耗大致等于输入电压 - 电池电压× 充电电流。例如用5V输入给3.7V电池以1A电流充电芯片上的功耗约为5-3.7*1 1.3W这会导致芯片发热。因此在PCB设计时必须考虑散热问题我会在后续章节详细说明如何处理。最后与主系统电源管理模块IP5306的隔离。这是解决系统重启问题的关键。原机的IP5306是一个集成度更高的电源管理单元负责升降压、给树莓派和屏幕供电同时也管理着内置电池的充放电。正是它“充放电管理”与“系统供电”高度耦合的特性导致了插电充电时触发系统重启。我的思路是“职责分离”新增的这块电池板其唯一的功能就是安全地容纳电池并为它们充电。电池的输出直接供给IP5306的电池输入端口。而充电行为则由独立的TP4056电路完成与IP5306完全无关。这样当插入USB充电器时只有TP4056开始工作IP5306和整个树莓派系统依然由电池供电系统运行自然不受任何干扰。2.2 电池配置并联 vs 串联的抉择确定了充电方案接下来是电池本身的配置。我手头有标称3.7V、2900mAh的18650锂电池。要达到长续航显然需要多节电池。这里就面临一个基础但重要的选择两节电池是串联还是并联串联方案电压加倍7.4V容量不变2900mAh。需要充电管理芯片支持两节串联电池如8.4V截止电压。IP5306这类升降压模块虽然能接受更宽的输入电压但串联电池需要额外的平衡充电电路来确保每节电池电压一致否则有安全隐患这增加了电路复杂度和成本。并联方案电压不变3.7V容量加倍5800mAh。充电管理可以直接使用最常见的单节电池方案如TP4056。电池并联时它们会自平衡电压只要在组装前确保两节电池电压尽量接近长期使用风险远低于串联。对于PALPi V6树莓派Zero 2W和屏幕的工作电压核心是5V由IP5306从电池电压升压得到。IP5306的输入电压范围通常很宽例如3V-5V因此3.7V的并联电池组电压完全在其高效工作范围内。并联方案以翻倍的容量直接提升了续航时间同时避免了串联电池组的平衡难题并且能继续使用简单廉价的TP4056。因此并联是更优解。最终电池板设计了一个双18650的SMD贴片电池座将两节电池并联连接。2.3 整体系统供电架构重构理解了以上两点整个PALPi V6改造后的供电架构就清晰了能量存储两块并联的18650锂电池总计约5800mAh3.7V安装在独立的电池板上。独立充电电池板上集成TP4056充电电路。当插入Micro USB充电器时5V电源仅供给TP4056由其负责以恒定电流-恒定电压CC-CV模式为电池组充电。充电状态通过板载的LED指示红灯常亮表示充电中绿灯亮表示充满或未接电池。主系统供电电池组的正负极通过一个船型开关Rocker Switch后通过导线连接至原PALPi主板上IP5306芯片的电池输入引脚BAT和BAT-。这个开关用于物理切断电池与主板的连接实现彻底关断避免长期存放时的电池微耗电。系统运行IP5306芯片从电池获取3.7V输入内部升压至5V为树莓派、屏幕、音频等所有模块供电。此时IP5306只负责放电和电压转换完全不参与充电过程。这个架构的精妙之处在于解耦了充电和系统供电。无论你是否插着充电器只要电池有电且开关打开IP5306就稳定地从电池取电系统状态不会因充电事件而改变。充电成了一件完全在后台、无感进行的事情。3. 电路设计与PCB布局实战要点3.1 TP4056外围电路设计详解TP4056的典型应用电路非常简单但每个元件都有其作用不能随意更改。下图是其核心原理图仅为示意非完整PCB图USB Micro 5V Input | V ------ | | | 1uF | (C1, 输入滤波电容抑制电源毛刺) | | ------ | V ------------ | VCC PROG|----[Rprog 1K]----- GND | | | TP4056 | | | | BAT TEMP|----- GND (通过NTC热敏电阻本项目未使用) | | | GND CHRG|----- LED1 (充电指示接红灯) | | | STDBY|----- LED2 (充满/待机指示接绿灯) ------------ | V ------ | 1uF | (C2, 电池端滤波电容稳定充电电流) ------ | V Battery Pack () (并联的18650) | GNDPROG引脚编程引脚这是设置充电电流的关键。充电电流I_{CHG}由连接在PROG引脚和GND之间的电阻R_{PROG}决定公式为I_{CHG} 1200V / R_{PROG}。例如我需要约1A的充电电流则R_{PROG} 1200V / 1A 1.2kΩ。考虑到效率和散热我最终选择了1KΩ的电阻这将充电电流设定在约1.2A。对于总容量5800mAh的电池组这个电流大小适中约0.2C倍率既能保证合理的充电速度约5小时充满又不会对电池造成过大压力。输入/输出电容C1, C2这两个1uF的陶瓷电容至关重要。C1放置在USB输入端口附近用于滤除来自充电器的噪声和电压尖峰保护TP4056。C2靠近BAT引脚为充电电流提供局部储能确保充电过程平稳。必须使用陶瓷电容并且尽量靠近芯片引脚放置走线要短而粗。状态指示LEDCHRG引脚在充电时为低电平驱动红色LED发光充满后变为高阻态红灯熄灭。STDBY引脚在未接电池或充满电时为低电平驱动绿色LED发光充电时为高阻态绿灯熄灭。这种红绿双灯指示非常直观。TEMP引脚此引脚用于连接电池内部的NTC热敏电阻实现温度监控。如果电池温度过高或过低TP4056会暂停充电以保安全。这是一个重要的安全功能。虽然本次项目中为了简化我将TEMP直接接地相当于禁用温度检测但这仅在对电池工作环境有把握的情况下可行。对于产品化设计强烈建议连接10K NTC热敏电阻。3.2 PCB布局与散热处理的实战经验PCB布局的好坏直接决定了电路的稳定性尤其是对于TP4056这种可能发热的线性器件。我的电池板PCB设计遵循了以下原则芯片散热优先TP4056的散热主要依靠芯片底部的散热焊盘Exposed Pad。在PCB上这个焊盘必须设计得足够大并且用多个过孔连接到PCB背面或内层的接地铜皮上利用整个PCB作为散热器。我的设计中围绕这个焊盘铺设了大面积接地铜并在其下方打了阵列过孔。大电流路径最短最宽从USB输入到TP4056的VCC从TP4056的BAT到电池正极这些路径流过的电流可能超过1A。走线必须尽可能短、尽可能宽。我使用了至少40mil约1mm宽度的走线并且在顶层和底层都铺铜来增加电流承载能力。电容紧贴引脚如前所述C1和C2必须紧贴TP4056的VCC和BAT引脚放置它们的接地端也要以最短路径连接到芯片的GND引脚附近的接地面。电池座与开关的机械设计双18650 SMD电池座的焊盘要足够坚固能承受电池插拔的机械应力。船型开关的安装槽尺寸要精确我是在PCB上开了一个矩形的槽孔slot让开关的本体可以卡进去仅靠两侧的焊盘固定可能不够牢靠所以在开关外壳对应的PCB位置还设计了两个固定孔用于后续点胶加固。与主机连接接口我选用了一个CON2 JST连接器如PH2.0-2P来输出电池电压。这种连接器防反插、接触可靠比直接焊接导线更利于维护。在PCB上这个连接器的正负极旁清晰地标明了“BAT”和“BAT-”并在丝印层画上了极性符号防止接错。实操心得在导出Gerber文件给制板厂之前一定要用DRC设计规则检查功能全面检查一遍。重点检查1所有焊盘和过孔的大小是否满足厂家工艺能力如最小孔径2高压5V和低压电池部分的安全间距是否足够3丝印是否清晰、无重叠。一个小技巧可以把PCB的3D视图生成出来直观地检查一下元件特别是电池座和USB口在空间上是否有干涉。4. 物料准备、焊接与组装全流程4.1 核心物料清单与选型参考一份清晰准确的物料清单BOM是项目成功的第一步。下表列出了本电池板的所有关键元件及其选型说明元件名称规格/型号数量关键选型说明与替代建议充电管理ICTP4056 (SOP-8封装)1务必选择SOP-8带散热焊盘的版本。注意有TP40561A和TP4054500mA之分。设置电阻1kΩ, 0603封装1精度5%即可。0603封装便于手工焊接。根据所需充电电流按公式计算阻值。滤波电容1μF, 1206封装陶瓷电容X5R或X7R材质2耐压至少10V。1206封装比0603容值更稳定且手工焊接更容易。状态指示灯0805封装LED红、绿各一2限流电阻已集成在TP4056内部LED直接连接即可。电池座双节18650并联SMD贴片式1注意引脚定义确保并联连接。选择带弹片和防反插结构的优质座子。电源开关单刀单掷SPST船型开关1额定电流需大于系统最大工作电流建议3A以上。尺寸需与PCB开槽匹配。输出连接器JST PH2.0-2P 卧式贴片1配套的公头端子线也需要准备。PH2.0系列是通用选择。输入接口Micro USB B型 贴片端口1选择带定位柱和加强焊脚的型号更耐插拔。PCB定制1.6mm厚度FR4材质1建议选择有铅喷锡HASL或沉金ENIG工艺焊接性能更好。丝印颜色根据喜好选择。除了上表所列你还需要准备焊锡丝、助焊剂、烙铁建议可调温、热风枪用于焊接TP4056、镊子、万用表。对于焊接我强烈推荐使用焊锡膏和加热板Hotplate进行回流焊这对焊接TP4056这类多引脚芯片和一堆阻容元件来说效率和质量远高于手工烙铁。4.2 分步焊接组装实操指南焊接顺序遵循“先难后易、先小后大、先贴片后插件”的原则。第一步涂抹焊锡膏与贴片元件放置将空PCB固定在平整的台面上。使用注射器或刮刀将少量焊锡膏精确地涂在每个贴片元件TP4056、电阻、电容、LED的焊盘上。量不用多刚好覆盖焊盘即可。用尖头镊子小心翼翼地拾取元件对照PCB丝印将它们放到对应的焊盘位置。TP4056芯片有方向性其芯片上有一个小圆点或凹坑应对准PCB丝印上的“1”脚或圆点标记。0603/0805封装的电阻电容没有极性但LED有正负极长脚或绿色标记对应正极阳极。第二步回流焊接贴片元件将放置好元件的PCB轻轻转移到SMT加热板上。缓慢升温。观察焊膏的变化先会变成灰色然后当温度超过其熔点通常183°C左右时会瞬间变成光亮、平滑的液态锡并由于表面张力将元件“拉正”到焊盘中心位置。保持峰值温度约10-20秒然后关闭加热让PCB在加热板上自然冷却。切勿在焊接完成后立即移动PCB此时焊点还未凝固元件会移位。第三步焊接插件与连接器贴片元件冷却后开始焊接较大的插件元件这些通常需要用电烙铁Micro USB端口先对准位置用烙铁固定对角线的两个焊脚检查端口是否平贴PCB然后再焊接所有引脚。USB端口的金属外壳焊盘也要上锡以增加机械强度。JST连接器同样先对准焊接固定。船型开关这是机械安装的关键。先将开关从PCB正面插入开槽使其卡紧。然后从PCB背面焊接两侧的引脚。为了更牢固可以在开关外壳与PCB接触的缝隙处点一点环氧树脂胶或热熔胶。电池座这是受力件。焊接前确保电池座完全贴平PCB。每个焊脚都要上足锡形成饱满的焊点。第四步焊接连接线与功能测试剪取两段适当长度的导线建议使用硅胶线更柔软耐折一端焊接到JST连接器的引脚上注意正负极另一端暂时留出。至关重要的测试先不要连接电池用万用表测量以下关键点短路测试测量电池座的正负极焊盘之间电阻应为无穷大。测量TP4056的BAT引脚对GND也应无短路。静态电压插入USB充电器5V。测量TP4056的VCC引脚应有5VBAT引脚电压应接近0因为没接电池。此时红色充电LED应亮起。测试无误后将导线的另一端焊接到原PALPi主板上IP5306的电池输入焊盘BAT和BAT-。务必再次核对极性接反会瞬间损坏IP5306甚至电池。4.3 电池安装与系统集成电池预处理确保两节18650电池电压基本一致相差最好不超过0.1V。可以使用单独的充电器将它们都充到满电状态约4.2V这样并联时不会产生大的均衡电流。安装电池按照电池座标注的极性将两节电池并联插入。你会听到清脆的“咔哒”声表示电池已卡紧。最终组装将PALPi主机准备好。把电池板对准主机外壳背面的螺丝孔位用四颗M2螺丝固定。此时电池板的船型开关和USB充电口应该正好从外壳的开孔中露出。上电测试打开船型开关。此时PALPi主机应该正常启动。用万用表测量IP5306的输入电压应为电池电压约3.7V-4.2V。插入USB充电器红色LED亮起系统应毫无影响地继续运行游戏不会中断。充电数小时后红色LED熄灭绿色LED亮起表示电池已充满。5. 调试、问题排查与性能优化实录5.1 常见问题与速查解决方案即使按照步骤操作实践中也可能遇到一些问题。下表汇总了我遇到或可能遇到的典型问题及解决方法现象可能原因排查步骤与解决方案插入USB充电指示灯完全不亮1. USB电源未接通。2. TP4056芯片损坏或焊接不良。3. 输入滤波电容C1短路。1. 用万用表测量USB端口VCC和GND之间是否有5V电压。2. 检查TP4056的VCC引脚是否有5V。若无检查从USB到芯片的走线。3. 断电测量C1两端电阻若接近0Ω则短路更换电容。红色充电LED常亮但电池电压长时间不上升1. 电池已损坏或内阻极大。2. PROG电阻值过大导致充电电流极小。3. TP4056芯片故障。1. 断开电池测量其空载电压。若低于2.5V电池可能已过放损坏慎用。2. 测量PROG引脚对地电阻是否为设计的1kΩ。3. 更换TP4056芯片。充电时TP4056芯片异常发烫1. 充电电流设置过大Rprog过小。2. 输入电压与电池电压差过大。3. 散热设计不良。1. 检查Rprog阻值。对于1A以上充电发热是正常的但烫手则需注意。2. 确保使用标准5V充电器避免使用快充头的高电压档。3. 检查芯片底部散热焊盘是否良好焊接并连接到大面积铜皮。可考虑添加小型散热片。系统连接电池板后无法开机1. 电池极性接反。2. 船型开关损坏或未接通。3. 电池电量耗尽电压过低。4. 导线或连接器接触不良。1.立即断开用万用表检查从电池板输出到IP5306输入的极性。2. 用万用表通断档测量开关在“ON”位置是否导通。3. 测量电池空载电压应高于3.3VIP5306欠压保护点通常在此附近。4. 摇晃导线和连接器同时监测IP5306输入电压是否跳动。充电绿灯常亮即使电池没电1. 电池未接触良好。2. TP4056的BAT引脚到电池正极通路断路。3. 芯片内部检测电路故障。1. 重新安装电池确保电池座弹片接触牢固。2. 用万用表蜂鸣档检查从TP4056的BAT引脚到电池座正极的连通性。3. 更换TP4056。5.2 性能实测与续航优化技巧组装完成后我进行了一次完整的续航测试。在PALPi V6上运行《魂斗罗》游戏屏幕亮度调至中等音量开启。从电池满电4.2V开始持续运行直到IP5306因电池电压过低而自动关机约3.0V。最终续航时间达到了3小时15分钟远超之前单电池的30分钟完全满足设计预期。在这个过程中我也总结出几点可以进一步优化续航和体验的心得电池一致性管理虽然并联电池会自平衡但长期使用后两节电池的内阻和容量仍会有细微差异。为了延长整体电池组寿命建议使用“电池对”专门购买两节同一品牌、同一批次的新电池作为一组使用。定期“同步”每隔几个月将电池单独用充电器充满一次再放空至相同电压如3.6V然后重新并联装入。这有助于保持它们的状态一致。充电电流的权衡我设置的1.2A充电电流对于5800mAh电池组不算大。如果你想更快充电可以减小Rprog电阻如0.68KΩ获得约1.7A电流但务必评估TP4056和USB线的散热。不建议超过1.5A否则芯片和Micro USB端口都可能过热。慢充0.5C以下其实对电池寿命更友好。静态功耗的捉拿即使关闭了船型开关TP4056电路是否还在耗电实测下来TP4056本身的静态电流极低约几微安可以忽略。但为了极致省电可以在电池正极输出到开关之间增加一个低压降的肖特基二极管防止电流反向流入TP4056尽管通常不需要。扩展思考增加电量指示当前方案只有充电状态指示没有剩余电量显示。一个简单的改进是增加一个单芯片的锂电池电量指示模块如HW-382其通过检测电压来点亮多颗LED显示粗略电量。可以将它并联在电池输出端开关之前这样即使关闭主系统按下模块按钮也能查看电量。这块基于TP4056的电池板其价值远不止于让一台游戏机续航变长。它展示了一种清晰、模块化的电源设计思路通过功能解耦和专用芯片来解决问题。当你的主系统电源管理存在局限时不要总想着去修改它增加一块职责单一的“外挂”模块往往是更快捷、更稳定的解决方案。这个思路可以迁移到无数需要便携供电的创客项目上无论是传感器节点、小型机器人还是户外显示设备。最终当你合上装有这块电池板的PALPi后盖听到螺丝拧紧的声音那种一切尽在掌控、所有功能按预期工作的满足感正是硬件DIY最大的乐趣所在。