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

前言

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

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

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

学习交流请发邮件 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博客

相关推荐
东京老树根9 小时前
Arduino - 入门02 - Arduino编程基础 Arduino程序结构,实物与模拟器对照,Arduino常用函数
单片机·机器人
salipopl11 小时前
基于STM32平台的多旋翼无人机系统设计与实现
stm32·嵌入式硬件·无人机
iCxhust18 小时前
8086/8088单板机VSCode集成自动下载功能(完善串口接收显示版)
ide·vscode·单片机·编辑器·微机原理·8088单板机·8086单板机
振南的单片机世界19 小时前
从数码管到点阵屏:动态扫描加595,3个IO驱动256个LED
stm32·单片机·嵌入式硬件
listhi52020 小时前
STC8 16通道模拟采集 + 4路串口 + 8路PWM 程序
stm32·单片机·嵌入式硬件
星夜夏空9920 小时前
STM32单片机学习(4)——嵌入式概述
stm32·单片机·学习
Deitymoon21 小时前
STM32——OLED显示字符串
单片机·嵌入式硬件
Graceful_scenery21 小时前
龙芯2k0300 - 走马观碑组按键驱动移植
单片机·嵌入式硬件
d111111111d21 小时前
MQTT+STM32+ESP8266网络程序分层+韦老师
笔记·stm32·单片机·嵌入式硬件·学习·php
长安第一美人21 小时前
RT-Thread 工业屏驱动开发实战:UART 串口屏协议解析 + 数据实时刷新 + 设备驱动框架完整实现
驱动开发·嵌入式硬件·rt-thread·工业控制·uart通信·串口屏驱动