3、电源系统异常:电池不充电、充电指示灯异常、电池续航严重下降、电池鼓包检测
电源系统,说白了就是电动牙刷的「心脏」。我做了这么多年嵌入式开发,发现至少一半的售后问题都出在电源上。电池不充电、指示灯乱闪、续航崩了——这些毛病其实有规律可循。今天咱们就把这些坑一个个填上。
3.1 电池不充电——先别急着换电池
用户说「牙刷插上充电器没反应」,你第一反应是什么?我刚开始做这行时,第一反应就是「电池坏了」。后来发现,很多时候根本不是电池的问题。
咱们按顺序排查:
- 先看充电器——输出空载电压对不对?我遇到过好几次,用户拿错充电器,电压不对,牙刷当然不充。
- 再看充电接口——触点氧化、脏污、接触不良。尤其是无线充电的牙刷,线圈对不准,效率极低。
- 最后看电池保护板——锂电池保护IC如果进入过放保护状态,会切断充放电回路。这时候你量电池两端,电压可能只有2.0V甚至更低。
我的经验:遇到电池电压低于2.5V的情况,别急着判死刑。有些保护IC支持「预充电」模式——用一个小电流(比如0.1C)慢慢激活电池。我曾在项目中用这个办法救回过一批「死电池」,成功率大概六成。
充电电路的核心,其实就是一个BQ系列充电管理芯片。我习惯用BQ24040这类芯片,简单可靠。下面是个典型电路:
// 充电管理芯片BQ24040典型配置
// IN: 5V USB输入
// BAT: 接锂电池正极
// ISET: 设置充电电流,R_ISET = 1000 / I_CHARGE
// 充电电流设置:500mA
// R_ISET = 1000 / 0.5 = 2000Ω → 2kΩ
// 状态指示:
// CHG引脚:充电中→低电平,充满→高阻
// PG引脚:输入正常→低电平
嗯,这里要注意——充电芯片的散热。我见过有人把充电芯片放在PCB角落,周围没铜皮散热,结果充电电流一大,芯片就过热保护了。你想想看,牙刷在充电底座上放了一晚上,结果只充进去20%,多尴尬。
3.2 充电指示灯异常——别被表象骗了
指示灯异常,说白了就是「灯不按套路亮」。常见的有:
- 一直红灯,永远不变绿
- 绿灯常亮,但电池根本没电
- 灯闪烁,但频率不对
为什么会这样?我拆解过几十把故障牙刷,总结下来就几个原因:
| 现象 | 可能原因 | 排查方法 |
|---|---|---|
| 一直红灯不转绿 | 电池老化,充不满;或充电电流设置过小 | 量电池电压,看是否达到4.2V;检查ISET电阻 |
| 绿灯常亮但没电 | 指示灯驱动电路短路,或MCU GPIO被拉死 | 断开MCU与LED的连接,单独测试LED |
| 灯闪烁异常 | 充电芯片故障,或MCU检测到电池温度异常 | 检查NTC热敏电阻,看阻值是否在正常范围 |
警告:千万不要只看指示灯就下结论。我建议你养成一个习惯——用万用表量电池端电压,用示波器看充电芯片的STAT引脚波形。数据比灯靠谱得多。
3.3 电池续航严重下降——不是所有衰减都是老化
用户说「以前能用两周,现在三天就没电了」。你第一反应是「电池不行了,换一个」?别急,先搞清楚是「真衰减」还是「假衰减」。
真衰减——电池循环次数到了,内阻变大,容量缩水。锂电池一般300-500次循环后容量会降到80%以下。这个没辙,只能换。
假衰减——我遇到过好几次,其实是MCU的功耗异常。比如:
- 电机驱动MOS管漏电,待机电流从10μA飙到500μA
- 蓝牙模块没休眠,一直在广播
- ADC采样电路没关断,持续耗电
怎么区分?很简单——测待机电流。正常电动牙刷待机电流应该在10-50μA。如果超过100μA,那肯定有问题。
避坑指南:我曾经遇到一个案例,用户说续航从14天掉到3天。我换了新电池,还是3天。最后发现是MCU的一个GPIO配置成了浮空输入,引脚悬空导致漏电。把那个引脚拉低后,续航立刻回到14天。所以,别一上来就换电池,先查软件。
3.4 电池鼓包检测——这个真不能马虎
电池鼓包,说白了就是锂电池内部发生了不可逆的化学反应,产生了气体。这是最危险的情况,处理不好会起火。
鼓包的原因:
- 过充——充电电压超过4.25V,电解液分解产气
- 过放——电池电压低于2.5V,内部短路
- 高温——充电或放电时温度超过60°C
- 物理损伤——摔过、压过、刺穿过
怎么检测?我习惯用两种方法:
- 视觉检测——拆开外壳,看电池表面有没有凸起、变形。嗯,这个最直接,但得拆机。
- 压力检测——在电池仓内贴一个薄膜压力传感器,或者用微动开关。电池一鼓包,就会顶到传感器,MCU检测到信号后立即报警。
// 电池鼓包检测伪代码
// 使用压力传感器或微动开关
#define SWELL_PIN GPIO_PIN_5
void check_battery_swell(void) {
if (HAL_GPIO_ReadPin(SWELL_PORT, SWELL_PIN) == GPIO_PIN_SET) {
// 检测到鼓包
buzzer_alarm(); // 蜂鸣器报警
led_flash_red(); // 红灯闪烁
disable_charging(); // 禁止充电
disable_motor(); // 禁止电机
save_error_log(ERR_BATTERY_SWELL);
}
}
警告:一旦检测到电池鼓包,必须立即停止使用。我建议你在产品说明里明确写清楚——鼓包电池不能继续充电,不能继续放电,必须专业回收。别想着「还能用几天」,那是在玩火。
最后说一句,电源系统的故障,很多时候是「连锁反应」。充电芯片坏了,可能导致电池过充;电池过充了,可能鼓包;鼓包了,可能顶坏外壳甚至起火。所以,排查时要有系统思维,别头痛医头。
我个人习惯,每批产品出厂前都会做一次「电源系统压力测试」——用可编程电源模拟各种异常情况,看看保护电路能不能扛住。你想想看,如果连这关都过不了,到了用户手里,那才叫真麻烦。