第二章:充电宝系统架构概览:主控、电池、升压、充电、保护、电量显示

大家好,我是你们的老朋友。今天咱们来聊聊充电宝的“骨架”——系统架构。

很多人觉得充电宝嘛,不就是个电池加个壳子?其实不然。我刚开始做这个领域时,也踩过不少坑。有一次,我设计的板子升压效率死活上不去,最后发现是主控和升压芯片的通信时序没对齐。嗯,从那以后,我养成了一个习惯:先画架构图,再动手。

说白了,一个典型的充电宝系统,由六大核心模块组成。咱们一个一个来看。

2.1 主控芯片:系统的大脑

主控芯片,也叫MCU,是整个充电宝的决策中心。它负责啥?

  • 逻辑控制:检测按键、控制LED灯、管理充放电状态机。
  • 协议交互:跟手机握手,协商快充协议(QC、PD、FCP等)。
  • 安全监控:实时读取电池电压、电流、温度,一旦异常立刻关断。

我个人习惯用低功耗的Cortex-M0内核MCU,比如STM32G030或者国产的AT32L021。为什么?因为待机电流能做到微安级别,这对充电宝的静态功耗至关重要。

关键指标:主控的待机电流最好小于10μA,否则电池放一个月就亏空了。

2.2 电池:能量的仓库

电池是充电宝的核心,目前主流是18650电芯和锂聚合物软包电芯。

你想想看,18650电芯容量大、成本低,但体积固定;锂聚合物电芯可以做得更薄,适合超薄充电宝。我在项目中遇到过一个问题:客户要求把容量做到20000mAh,但外壳厚度只有12mm。最后只能选锂聚合物电芯,叠片封装。

电池的选型要注意三点:

  • 容量:标称容量 vs 实际可用容量,通常要留10%的余量。
  • 放电倍率:至少支持1C放电,否则大电流输出时电压会掉得厉害。
  • 内阻:内阻越小越好,我一般要求电芯内阻小于50mΩ。

2.3 升压电路:把3.7V变成5V/9V/12V

电池电压通常是3.0V~4.2V,而USB输出需要5V甚至更高。这就需要升压电路。

升压拓扑最常见的是Boost升压,配合同步整流技术。我建议用集成MOSFET的升压芯片,比如IP5306、ETA9740。这样做的好处是外围元件少,布局简单。

这里有个坑:升压电路的效率。我曾经做过一个项目,升压效率只有85%,结果电池发热严重。后来换了低导通电阻的MOSFET,效率提到了93%。

我的经验:升压电路的开关频率一般设在500kHz~1MHz。频率高了,电感可以小,但开关损耗大;频率低了,效率高,但电感体积大。折中选800kHz左右比较稳妥。

2.4 充电电路:给电池喂电

充电电路负责把外部电源(比如5V充电器)转换成适合电池的充电电压和电流。

充电过程分三个阶段:

  1. 预充电:电池电压低于3.0V时,用小电流(0.1C)激活。
  2. 恒流充电:电压达到3.0V后,以1A~2A大电流充电。
  3. 恒压充电:电压达到4.2V后,电流逐渐减小,直到充满。

常用的充电芯片有TP4056、BQ25895。我个人偏爱BQ25895,因为它支持NVDC路径管理——也就是说,插着充电器时,可以同时给电池充电和给手机放电,互不干扰。

注意:充电电流不能太大。我曾经见过有人用3A充18650电芯,结果电芯鼓包了。一般建议充电电流不超过0.5C,也就是2000mAh的电芯用1A充。

2.5 保护电路:安全第一

保护电路是充电宝的最后一道防线。它包含:

  • 过充保护:电池电压超过4.25V时,切断充电。
  • 过放保护:电池电压低于2.8V时,切断放电。
  • 过流保护:输出电流超过设定值(比如3A)时,关断输出。
  • 短路保护:输出端短路时,立即关断。
  • 温度保护:电池温度超过60°C或低于0°C时,停止充放电。

这些功能通常集成在电池保护IC里,比如DW01+8205组合。但要注意,DW01的过放保护电压是2.4V,对于有些电芯来说太低了。我建议用可编程的保护芯片,比如S-8261,可以自己设定阈值。

2.6 电量显示:让用户心里有数

电量显示模块,说白了就是告诉用户还剩多少电。常见方案有:

  • LED灯指示:4颗LED灯,每颗代表25%电量。成本低,但精度差。
  • 数码管显示:显示0~99的数字,精度高一些。
  • 库仑计:通过检测充放电电流积分,精确计算剩余电量。比如MAX17260。

我在项目中遇到过一个问题:用LED灯指示时,电池电压在3.7V~3.8V之间波动,导致LED灯来回跳。后来我加了迟滞算法——电压上升时,要超过阈值50mV才切换;电压下降时,要低于阈值50mV才切换。这样显示就稳定了。

避坑指南:我曾经用简单的电压查表法做电量显示,结果电池带载时电压掉得厉害,显示的电量忽高忽低。后来改用库仑计+电压补偿,才解决了这个问题。

2.7 模块间的协作关系

这六个模块不是孤立的。我画个简单的数据流给你看:

主控MCU
  ├── 读取电池电压(通过ADC)
  ├── 控制升压芯片的使能引脚
  ├── 控制充电芯片的充电电流
  ├── 读取保护芯片的状态(过流/过温标志)
  └── 驱动电量显示LED

电池
  ├── 给升压电路供电
  ├── 接收充电电路的电流
  └── 被保护电路监控

升压电路
  ├── 输入:电池电压
  ├── 输出:USB端口
  └── 控制:主控的PWM或EN信号

充电电路
  ├── 输入:外部电源
  ├── 输出:电池
  └── 控制:主控的I2C或EN信号

保护电路
  ├── 监控电池电压/电流/温度
  └── 输出:故障信号给主控

你看,主控是核心,其他模块都围着它转。设计时,要特别注意主控的GPIO分配——哪些引脚要支持ADC,哪些要支持PWM,哪些要支持中断。我建议至少留出3个ADC通道(电池电压、输出电流、温度),2个PWM通道(升压控制、LED呼吸灯)。

2.8 低功耗设计要点

既然是低功耗课程,这里必须提一下架构层面的功耗优化:

  • 主控休眠:充电宝不工作时,主控进入深度睡眠,只保留RTC和外部中断唤醒。我一般用待机电流5μA的MCU。
  • 升压关断:没有负载时,升压芯片的使能引脚拉低,彻底关断。升压芯片的静态电流通常有100μA,关断后可以降到0。
  • 充电芯片待机:充电完成后,充电芯片进入待机模式,电流小于1μA。
  • 保护芯片自耗电:选择自耗电小于1μA的保护IC。

嗯,这里要注意:有些升压芯片即使关断,输出端还会有漏电流。我曾经测过一款芯片,关断后输出端还有50μA的漏电,导致电池慢慢亏电。后来换了带输出关断功能的芯片才解决。

2.9 总结

好了,这一章我们梳理了充电宝的六大模块:主控、电池、升压、充电、保护、电量显示。每个模块都有自己的职责,但最终要协同工作。

下一章,我会带你深入主控芯片的选型,看看怎么选一颗既便宜又低功耗的MCU。咱们到时候见。

课后思考:如果你要设计一个10000mAh的充电宝,你会怎么分配这六个模块的功耗预算?试着算一算,待机时总电流能不能控制在50μA以内?