为什么电池充满了还在显示充电呢,电池充满但是没有充满怎么办

首页 > 经验 > 作者:YD1662022-10-29 00:32:22

软件工程师在调试电路中的充电功能时,遇到了一个奇怪的问题。电池充满电后,如果不拔充电线,电池电压从4.2V继续往上升,升到4.8V左右。

我一听,大概知道问题出在哪里了,软件工程师肯定还没有理解透我设计的原理图的工作原理。我设计的原理图大概如下。

为什么电池充满了还在显示充电呢,电池充满但是没有充满怎么办(1)

为什么电池充满了还在显示充电呢,电池充满但是没有充满怎么办(2)

为什么电池充满了还在显示充电呢,电池充满但是没有充满怎么办(3)

为什么电池充满了还在显示充电呢,电池充满但是没有充满怎么办(4)

工作原理是这样的。

1,开机模式。短按按键J10,拉低PMOS Q15的G极,Q15导通,电池放电回路导通,给U7 LDO供电,稳压出3.3V给MCU供电,MCU开始工作,初始化IO口,置高电平给网络名为POW_ON/OFF的IO,使三极管Q17导通,让Q15的G极一直保持低电平,从而使Q15一直维持导通状态,实现了电路开机。又因为二极管D10导通会有0.6V的压降,电池的3.7V经过二极管后到达LDO只剩3.1V,3.3V的LDO不能正常工作,为了解决这个问题,我在二极管D10处并了一个PMOS,开机后,初始化IO也要把网络名为BAT_POW的IO置高电平,使三极Q21导通,拉低PMOS Q20的G极,让Q20导通,短路D10,从而消除二极管0.6V的压降,使到达LDO的输入脚的电压接近电池电压,LDO能正常工作。你可能会问,不用这个D10二极管,就不会有二极管的导通压降问题存在了。但是,这样又涉及到另外一个问题了,充电引起的。因为没有这个二极管,5V充电电压就会通过Q15的寄生二极管倒灌给电池。这是造成电池充满电后电压继续往上升的主要原因。

2,充电模式。充电IC是用了TP5400,有一个充电检测脚和一个满电检测脚,均接到MCU的IO上。软件的正确做法是,把这两个IO配置成上拉输入模式。当没有充电时,这两个IO都是高电平,当充电时,充电检检测脚会被拉低,当充满电时,满电检测脚被拉低,而充电检测脚恢复高电平。在充电模式时,软件的操作逻辑是这样的,检测到充电检测脚变低时,要把Q20关闭,但是充满电后,充电检测脚恢复高电平,这时Q20还不能打开,否则充电输入电压就会倒灌到电池上,软件对电池进行电压采样就会读到4.8V左右的电压。那什么时候打开Q20呢?有个充电电源输入检测VIN_5V_DECT,高电平表示插入了充电线,低电平表示拔出了充电线。当检测到充电线拔出后,才打开Q20。

我问软件工程师是不是检测到充满电后又Q20打开了,他说是的。我叫他把逻辑改成检测到充电线拔出了,再打开Q20。

最后,软件工程师按照我说的方法改好软件烧录测试,充满电后,不拔充电线,电池电压没有再往上升了,一直保持在4.2V左右。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.