【BMS】电池能量管理:充电管理(含关键参数)

news2024/11/15 18:03:51

🔋 电池包能量管理:充电管理(含关键参数) 🔋

    • 零、友情提示:若时间有限或者有基础的同学可直接跳至第四章查看
    • 一、以通信为基础
      • 1.典型电路
      • 2.软件时序
    • 二、充电过程(常规)
      • ️1.充电参数准备
      • 2️.充电器识别
      • 3.预充电
      • 4.恒流充电(CC)
      • 5.恒压充电(CV)
    • 三、充电保护(重要)
      • Ⅰ 充电前:
        • 1.过温保护
        • 2. 过压保护
        • 3. 静态不均衡保护
      • Ⅱ 过程中:
        • 1.预充电时间过长保护
        • 2.单电芯压差过大保护
        • 3.过温保护
        • 4.单节电芯过压保护
        • 5.总电压过压保护
        • 6.超容量保护
        • 7.动态不均衡保护
    • 四、一种超级具体的充电解决方案(干货)

零、友情提示:若时间有限或者有基础的同学可直接跳至第四章查看

一、以通信为基础

充电是一个过程,需要电池包和充电器间进行频繁的通信,以及不断地自检,以保证电池安全和寿命。由于通信速率要求不高,以及精简接口的考虑,通常采用GPIO自定义单线通信

1.典型电路

采用两路GPIO组成一个半双工的单总线:
在这里插入图片描述
注意:单总线的空闲状态为高电平。TX要开漏,RX要下降沿中断。

2.软件时序

需要定义出起始位逻辑1逻辑0

在这里插入图片描述
电池包需要通知充电器开始充电(开始帧)、充电不同阶段可接受的充电倍率(过程帧)、充电保护(停止帧)、电量报满、风扇的开停、电池总电压、电池总电流、电芯温度等;
对于充电器来说,主要关注的是前三个,进而通过PWM控制电源开关芯片控制输出电流的大小,并通知电池包实际的充电电流,电池包将使用此电流值进行安时积分,计算SOC、充电次数(循环次数)等。

为了安全考虑,充电的通信以电池包为主导。当然,根据的策略的不同,充电器可按照电池包的指令执行,也可以当作建议处理。

二、充电过程(常规)

实际的充电过程取决于电芯规格书,下图采用常见的CC-CV(恒流恒压)方式充电:
在这里插入图片描述
充电过程中,各阶段的切换条件为测得的当前电压,控制对象为充电电流。例如:电压为1.5V时,控制充电电流为0.1C,当检测单节电压达到3.0V时,电池包将发送一帧数据给充电器,告知提供1C的充电电流。

️1.充电参数准备

根据当前温度和循环次数,计算各阶段和工况下充电截止电流充电截止电压。还可以通过内阻来补偿截止电压。

2️.充电器识别

获取充电器额定电压和额定电流,与电池包的额定电压和额定电流比较。额定电压不匹配充电失败,匹配则比较额定电流,取较小值,开始充电。

3.预充电

预充电即涓流充电,一般采用0.1C倍率进行充电,若电池包容量为2Ah,则涓流值为0.2A。

4.恒流充电(CC)

恒流充电指以电芯标称容量的倍率进行充电(1C),充至 截止电压 ,受 1.充电参数准备 中条件影响。

5.恒压充电(CV)

恒压充电是一个向 截止电压 不断逼近的过程,电流不断减少,直至电流减为0,才结束充电。但一般会在恒流结束时就向充电器发送充满帧报满,充电灯显示充满。
在恒压充电的后期,由于有一些充电器的电流控制精度不够,达不到0.1C,会把0.1C认为0A,会出现反复开关的情况。

三、充电保护(重要)

二、充电过程中描述的属于理想充电过程,实际情况可能会在某一阶段触发保护,使充电中断或者失败,直接跳出流程。充电保护也属于充电的一部分。

Ⅰ 充电前:

1.过温保护

电芯(如18650)一般的充电温度在0℃ ~ 45℃之间。

注意,上电过高温保护和充电过高温保护不同,此时还未进入充电环节,如果一上电环境温度就在45℃,那么开启充电后温度必然上升,便会触发充电过高温保护,所以一般会把上电过高温保护设置的更低,比如42℃。也就是说,一上电温度都这么高了,就没有开启充电的必要了。
低温不做特殊要求,以规格书为准(0℃)。

2. 过压保护

上电时,单节电芯电压过低,一般指低于1.5V,禁止充电。高于4.15V,禁止充电。

3. 静态不均衡保护

在充电流程未启动时,电芯之间的不均衡状态叫做静态不均衡,以单节压差超过0.5V认为不均衡,禁止充电。

Ⅱ 过程中:

1.预充电时间过长保护

预充电时间过长,一般指5min,意味着可能充电器故障没有提供电流或者电池组充不进电,应该及时中断充电。

2.单电芯压差过大保护

单节电芯压差过大,一般指0.5V,意味着电芯已经严重不均衡,可能单节电芯出现了问题,不予以充电。那么有人要问,为什么充电前不判断压差?
这里要提到内阻特性,如下图charge曲线,当SOC很低时,电芯内阻是较大的。根据U = R×I ,此时加电流,R越大,U越大,不同电芯间的差异将被放大,存在压差是正常的,不足以说明问题。
在这里插入图片描述

3.过温保护

已述,18650电芯一般的充电温度在0℃ ~ 45℃之间。没有疑问,这是充电过程中过温保护的范围。但是注意,环境温度是变化的,不可能一直过温,所以需要设置一个过温恢复的阈值。
这里有一个3℃的温度回差,防止充电器在0℃和45℃处反复横跳,低温恢复一般为3℃,高温一般在环境温度低于42℃时恢复充电。

4.单节电芯过压保护

对于18650电芯,当 单节电芯最高电压 达到4.3V,触发过压保护。

5.总电压过压保护

如4,当总电压达到 4.3×串联数 ,触发过压保护。

6.超容量保护

需要通过充电器给出的实时电流积分出已充容量,加上初始容量,如果超过了10%的标称容量,则触发保护。这样可以从容量和电压多个维度保护电池组。

7.动态不均衡保护

单节压差超过1.0V,禁止充电。

四、一种超级具体的充电解决方案(干货)

前三章描述了制定充电方案的一种常规的思路;

现在,以前三章为基础,提供一份详细的基于18650电芯的充电管理解决方案。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/731594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【剑指offer】6.二叉树的下一个结点(java)

文章目录 二叉树的下一个结点描述输入描述:返回值描述:示例1示例2示例3示例4思路完整代码 二叉树的下一个结点 描述 给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点…

JAVA leetCode 13. 罗马数字转整数

方法一:1.通过hashmap来保存字符与数字之间的关系 2:根据罗马数字转整数的特点,当前字符比右边的字符小并且不是最后一个字符就说明在计算总数时该字符的符号是负,反之即为正 代码展示: public static int romanToIn…

Spring Boot中的Hibernate是什么,如何使用

Spring Boot中的Hibernate是什么,如何使用 Hibernate是一个流行的Java ORM框架,它提供了一种将Java对象映射到关系数据库表的方法。Spring Boot集成了Hibernate,使得在开发Web应用程序时可以轻松地使用Hibernate操作数据库。本文将介绍Sprin…

记一次阿里云被挖矿处理记录

摘要 莫名其妙的服务器就被攻击了,又被薅了羊毛,当做免费的挖矿劳动力了。 一、起因 上班(摸鱼)好好的,突然收到一条阿里云的推送短信,不看不知道,两台服务器被拉去作为苦力,挖矿去…

核磁共振常用的文件格式介绍:NIfTI volume 格式 (*.nii), GIFTI 格式 (*.gii), CIFTI 格式 (*.nii)

核磁共振常用的文件格式介绍:NIfTI volume 格式, GIFTI 格式, CIFTI 格式 NIfTI volume 格式 (*.nii)GIFTI 格式 (*.gii)CIFTI 格式 (*.nii)自定义工作台 (wb_view) 文件:Scene file文件 (*.scene)规格文件 (*.spec)Spec file (*.border)Foci (*.foci)Trajectory file (*.t…

PowerShell和cmd区别以及在文件夹快速打开cmd窗口的几种方法

区别: cmd是Windows才有的,PowerShell是跨平台通用的 cmd进入的是dos系统 PowerShell可以看作是cmd的升级版。PowerShell更方便使用,而且功能更加强大 方法: 1.在PowerShell中打开cmd 在当前文件夹,shift右键找到…

《黑马头条》 内容安全 自动审核 feign 延迟任务精准发布 kafka

04自媒体文章-自动审核 1)自媒体文章自动审核流程 1 自媒体端发布文章后,开始审核文章 2 审核的主要是审核文章的 内容(文本内容和图片) 3 借助 第三方提供的接口审核文本 4 借助第三方提供的接口审核图片,由于图片存储到minIO中&…

flutter聊天界面-消息气泡展示实现Flexible

flutter聊天界面-消息气泡展示实现Flexible 在之前实现了flutter聊天界面的更多操作展示,消息气泡展示实现Flexible, 一、Flexible Flexible可以帮助Row、Column、Flex的子控件充满父控件,它的用法很灵活,也具有权重的属性。跟Fl…

记录征战Mini开发板从无到有

前言 我们店铺的开发板目前主要有Altera,Xilinx以及国产安路,高云。Xilinx只有Spartan6系列,这个系列的芯片只支持ISE软件,但是很多客户用的是VIVADO软件,所以导致我们无法满足客户的需求。基于此原因,我们经过几个月…

go性能分析工具--pprof使用

之前线上遇到了内存泄露,就在找工具来分析,刚好还是个纯go的项目, 就找到pprof. 来串一下如何使用吧; pprof可以支持多种类型的采样分析. 可以分析cpu或者内存或者goroutine等 集成很简单, 在工程中引入如下代码: import _ "net/http/pprof"go func() {log.Println…

K8s集群部署最新Jenkins 2.387.1

K8s集群部署最新Jenkins 2.387.1 概述环境准备设置存储目录并启动NFS服务安装 NFS 服务端 动态创建 NFS存储(动态存储)部署jenkins服务 概述 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作…

图像直方图、模板匹配

目录 1、图像直方图 1.1 直方图统计 1.2 直方图像素统计 1.3 直方图绘制 2、直方图均衡化 2.1 实现 2.2 效果 3、直方图匹配 3.1 匹配原理 3.2 实现 4、模板匹配 4.1 模板匹配 4.2 模板匹配函数 4.3 模板匹配方法标志 4.4 代码实现 1、图像直方图 1.1 直方图统计 1.…

超详细保姆级vue3和代码规范项目搭建

vue3-admin项目搭建 项目初始化 创建 git 仓库 npm 管理工具 pnpm 安装 pnpm create vite zf-v3-admin –template vue-ts pnpm init 初始化package.json 创建pnpm-workspace.yaml 定义工作区 pnpm-lock.yaml 和 package-lock.json 都是项目中的锁定文件,它…

逆转乾坤,反转字符串

本篇博客会讲解力扣“344. 反转字符串”的解题思路,这是题目链接。 这是一道经典题目了。解题思路是:双下标,left指向最左边的字符,right指向最右边的字符,交换2个字符,left向右挪动一格,right向…

多路转接高性能IO服务器|select|poll|epoll|模型详细实现

前言 那么这里博主先安利一下一些干货满满的专栏啦! Linux专栏https://blog.csdn.net/yu_cblog/category_11786077.html?spm1001.2014.3001.5482操作系统专栏https://blog.csdn.net/yu_cblog/category_12165502.html?spm1001.2014.3001.5482手撕数据结构https:/…

金九银十面试必备,对标阿里 P7Java 架构师面试题

开源一套金九银十自刷的面试题库,自己感觉还不错,也拿了几个 Offer(三个大厂的,字节、蚂蚁、滴滴)!下面直接上干货哈! JVM 篇(87 道) JVM 篇中面试题中的知识点&#xff…

动态规划解决鸡蛋掉落问题

目录 问题描述 解决问题 ①蛮力法 ②备忘录 ③递归改递推 ④二分法 ⑤逆向思维 问题描述 给定一定楼层数的建筑物和一定数量的鸡蛋,求出可以找出门槛楼层的最少鸡蛋掉落实验的次数,约束条件是:幸存的鸡蛋可以重复使用,破碎…

多模态系列论文--BEiT-3 详细解析

论文地址:Image as a Foreign Language: BEIT Pretraining for All Vision and Vision-Language Tasks 论文代码:BEiT-3 BEiT-3 1 引言:Big Convergence(大一统)2 BEIT-3预训练框架3 下游任务实现框架4 实验效果5 总结…

李沐动手学深度学习:softmax回归的从零开始实现

import torch from IPython import display from d2l import torch as d2lbatach_size256 train_iter,test_iter d2l.load_data_fashion_mnist(batach_size) num_input 784 #图片的尺寸:28*28 num_output 10 #10个类别 W torch.normal(0,0.01,size(num_input,nu…

Docker尝鲜

一、Docker的安装 卸载系统自带的旧版本 sudo apt-get remove docker docker-engine docker.io containerd runc 获取软件最新源 sudo apt-get update 安装apt依赖包 sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common 安装…