锂离子电池充电的系统抖动问题解决方案

前言

在设计锂离子电池充电器时,会因为充电电流波动导致电压波动,系统异常。

所以分析了锂离子电池的特性,给出了几种解决方法。

有纰漏请指出,转载请说明。

学习交流请发邮件 1280253714@qq.com

理论

锂电池简单地可看做一个理想电压源和电阻串联的模型,充电或放电过程中,电池内阻会分压,电流越大,分压越大,电压离真实电压越远。

电池包空载且不处于充电状态下,电流几乎为0,此时测到的电压最接近真实电压。

充电器给电池包充电,电流越大,电池包电压抬升越多。

电池包给负载放电,电流越大,电池包电压下降越多。

充电策略

之前做过的项目,控制策略比较简单,即涓充(13-15)、恒压(15-20.7)、恒流(20.7-21),涓充和恒压均输出0.5A,恒流输出4A。

实际测试

实际测试中,5S电池(5节串联)无输入输出时为18.5V,4A充电为18.9V,4A放电为17.9V,可估算出内阻大约为0.1Ω。

理论上,在充电过程中,恒流4A充到20.7V时,软件判断进入恒流充阶段,此时充电电路副边输出电流变为0.5A,即可进入恒压阶段。

但是,但是,20.7V4A变为0.5A,电压会跌落,变成20.35,此时软件判断为恒流充,又把输出电流变为4A,电压又升上去了。系统抖动很严重(反复横跳,电压螺旋式上升)。

解决方法

法1:做重复判断,即电压到达20.7V之后,需要持续一段时间,才能进入恒压阶段。这样做,系统抖动就不会那么严重。

法2. 如果可以通过软件控制输出电流,那么输出可以是连续性的,即到达20.7V之后,随着电压的升高,电流慢慢减小。这样的话,充电器就不会监测到电池包电压掉落。

法3:因为充电过程中,只会是从预充到恒流再到恒压,所以做一个状态转换。例如,只能从预充到恒流,恒流到恒压,恒压到充满。所以当恒流到恒压时,电池包电压虽然降低了,但是系统状态只能是恒压充。只有当空载或异常,才能重置系统状态。就跟爬楼梯一样,只能一步一步往上爬,除非摔倒或楼梯崩了。

参考

【精选】大电流对电池电压的影响_大电流充电对电池影响-CSDN博客

锂电池特性总结-充放电,新旧识别,常规用法_铅酸 锂电池 自动识别-CSDN博客

相关推荐
Zwawa12 小时前
C语言函数指针与宏实战:从回调、表驱动菜单到X-Macro,讲透嵌入式代码解耦
c语言·单片机·嵌入式
shimly12345613 小时前
(done) 嵌入式硬件电路图 (2) 熟悉常用元器件
嵌入式硬件
安妮细水长流18 小时前
ad7124
c语言·单片机
花月mmc20 小时前
【FPGA】神经网络内容简介预告
嵌入式硬件·深度学习·神经网络·fpga开发
en.en..21 小时前
STM32 HAL 库 | 核心知识点整理
单片机·嵌入式硬件
无敌贵点大王21 小时前
从寄存器层面重学STM32(9)——DMA理论
stm32·单片机·嵌入式硬件
希和20271 天前
51 单片机入门笔记:江科大课程代码逐行讲解(按键控制 LED 流水灯)
笔记·单片机·mongodb
希和20271 天前
51 单片机按键控制 LED:江科大课程代码小白笔记
笔记·单片机·嵌入式硬件
希和20271 天前
51 单片机 LED 流水灯:从直接法到循环法(江科大课程笔记)
笔记·单片机·mongodb
Zwawa1 天前
用两个按键做一个OLED菜单:先把选择和执行分开
c语言·单片机·嵌入式