锂电池充放电曲线、设置充电电流、检测TP4054的3种充电状态

0、开场

以前在公司画的板是12V/24V供电,用的是成品大功率开关电源,或者电源适配器,自己随便画的板倒是低电压的5V,但是供电方式就是留个USB接口,对于很多小型或便携的产品是不太方便啦,刚好现在需要做的项目用到了锂电池,填补知识的空白,开心,我也不知道为啥激动,反正抑郁的时候难受要死不如就现在好好享受心底自然流露的好奇和愉悦。

1、锂电池放电曲线

通常说的锂电池3.7V,指的是放电的平台电压(有点拐点的感觉),4.2V说的是充满电的时候,下图是放电曲线。

  • 在4.18V到4V的区间,电池电压下降的很快;
  • 在4.0V到3.71V的区间,电压下降的趋势比较缓和;
  • 在3.71V再往下的区间,电压下降的趋势又变陡;


2、锂电池充电曲线

充电的方案用的是TP4054,典型电路是比较简单的,根据不同的应用需求手册上有提供更完善的电路;

下图是以时间为X轴,以电压、电流为Y轴的充电曲线。 

  • 在电压小于2.9V的时候,充电电流为设置的恒定电流的1/10,也就是400mA的1/10即40mA来充电;
  • 当电压大于2.9V后,以400mA的恒定电流充电;
  • 当电压快充到4.2V的时候,降低电流,改为恒压充电,当电流降到设置电流的1/10停止充电,电流降为0,停止充电循环;


3、设置锂电池充电电流

上面提到设置充电电流,是通过PROG引脚外接的电阻决定的,公式为:

其中IBAT指的就是你要设置的充电电流,根据电流的范围对应公式1和公式2,以IBAT=400mA为例应使用公式一,计算出Rprog=1.66K;


4、TP4054锂电池充电的3种模式检测

4.1、3种实际情况与CHRG引脚的状态

我们想要知道是否外接着5V在充电,是否已经充满,也就是3种情况:

  1. 压根没有外接5V,不在充电;
  2. 有外接的5V,正在充电中;
  3. 有外接的5V,已经充满了;

手册中这个图是有关充电阶段与CHRG的状态的,其中2分为三个阶段在上面也有介绍;

那么总结一下,现在可以得到如下条件,问题就是如何检测CHRG的三种状态来对应实际的三种情况就行了。

  • CHRG高阻抗:没有外接5V的情况,不在充电;
  • CHRG强下拉(10mA):正在充电;
  • CHRG弱下拉(20uA):已经充满;

4.2、检测电路与思路

将OUT设置为高电平:

  • 强下拉时检测IN是低电平,即正在充电;

将OUT设置为高阻抗:

  • 弱下拉时检测IN是低电平,即已经充满;
  • 高阻抗时检测IN是高电平,即没有充电; 

代码上高阻抗的话,就是将GPIO设置为浮空输入;

实现锂离子电池的涓流充电与剩余里程预测,需要深入理解STM32微控制器与TP4056充电管理芯片的工作原理及其协同机制。STM32微控制器因其高性能和低功耗特性,非常适合用于电池管理系统(BMS),而TP4056芯片则负责电池充电过程的管理,包括恒流、恒压充电和电池状态监测等功能。 参考资源链接:[STM32驱动的TP4056锂电池涓流充电与OCV剩余里程预测](https://wenku.csdn.net/doc/2n6sg36pe0?spm=1055.2569.3001.10343) 涓流充电通常在电池电压接近满电状态时采用,充电电流逐渐减小至预设值以下,以保护电池并延长其使用寿命。在此过程中,STM32可以通过ADC(模拟数字转换器)实时监测电池电压(Vbat)和电流(Ibat),并通过编程实现电流控制算法,以调节充电电流,确保在电池接近满电时转为涓流充电模式。 在预测剩余里程时,STM32会根据电池的开路电压(OCV)和电池的历史充放电数据,结合电池的充放电效率、温度、老化等因素,通过算法计算出电池的剩余可用容量。这个计算过程通常需要依赖电池的放电曲线和特定的数学模型,如安时积分法或Peukert方程。 具体实施时,首先需要根据电池的规格配置TP4056芯片的充电参数,如充电电流和电压阈值。STM32通过I2C或SPI等通信协议与TP4056通信,实时监控充电状态,并通过外部电路获取电池的实时电压和电流数据。利用这些数据,STM32可以控制充电过程,并根据电池的使用情况调整剩余里程的预测值。 为了提高预测的准确性,可以引入电池的开路电压(OCV)作为参考。在电池静置一段时间后(一般为几小时),测量其开路电压,并利用预先建立的电池模型,估算出电池的剩余容量,进而计算出剩余里程。OCV法是一种较为可靠的方法,但需要电池在测试前有充分的静置时间,以消除极化效应的影响。 最后,为了确保系统的稳定性和安全性,STM32应实施故障检测机制,如监控电池温度过高、电池短路等异常情况,并能够通过电池管理系统及时响应,采取相应的保护措施。 在你着手解决这个复杂问题时,我推荐参考《STM32驱动的TP4056锂电池涓流充电与OCV剩余里程预测》这本书。该资源不仅会提供TP4056芯片的详细应用指南,还会深入讲解STM32在电池管理中的应用,以及剩余里程预测的理论与实践,是深入理解并解决你当前问题的宝贵资源。 参考资源链接:[STM32驱动的TP4056锂电池涓流充电与OCV剩余里程预测](https://wenku.csdn.net/doc/2n6sg36pe0?spm=1055.2569.3001.10343)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值