背景:

调试蓝牙发射器的样机时,电池在低电量时充电正常,当把电池电量耗至电池低压保护无电压输出时,发现无法再重新充电;

分析:

要解决此问题,需要了解锂离子充电过程,可以分为四个阶段:涓流充电、恒流充电、恒压充电以及充电终止。 电池放至低压保护(过放)或电池电压低于3V左右时,充电电路将进入涓流充电模式,此时的充电电流一般在10—80mA之间(不同charger IC涓流充电电流会有所不同)。也就意味着在涓流充电模式下,整个系统的耗电电流一定要小于充电IC的涓流电流,否则电池将无法充电或重新被激活。

针对于发现问题的项目,发现电池有两个LDO均来自Vbat供电,且LDO输出3.3V供两颗LED灯和蓝牙模块,如下图:

android 低电量关机充电 低电量关机后无法充电_android 低电量关机充电


充电电路依靠蓝牙芯片自带charger。经查,蓝牙芯片的Itricke为充电电流的10%,Icharge=150mA, Itricke=15mA

android 低电量关机充电 低电量关机后无法充电_嵌入式硬件_02


上电时U4立马会工作,这样会导致消耗电池的瞬间电流会过大。实际也测到在U4的输入Vbat瞬间电流为35mA ( 两颗LED+BT模块消耗),很明显已经大于了charger的Itrickle电流,导致电池耗尽无法充电的问题。

解决方案:

将蓝牙模块IO口的供电由外部的3.3V改为内部的本身的1.8V供电,即当插USB5V供电时,模块的启动IO口点完全来自于5V。

U4的工作状态受控于模块,插USB后延时2s后开启U4(供LED电),以降低插电瞬间的 Itrickle电流,保证电池能够正常唤醒。

android 低电量关机充电 低电量关机后无法充电_解决方案_03


总结&心得:

在有电池的产品中,一定要考虑charger的涓流的大小(详细查看规格书),避免在待机时系统耗电电流大于Itricke的情况,导致系统在电池耗尽无法充电的现象。

在用外置充电IC充电时,可以采用双二极管的方式,供待机时必要的电源路径。供MCU的DC-DC供电一路来自12V,一路来自电池7.4V,当插入适配器时,系统只能取自外部电源,这样避免此类问题。

android 低电量关机充电 低电量关机后无法充电_解决方案_04


以上均为个人浅薄见解,权当抛砖引玉,如有更好的想法,欢迎大家留言讨论