【BMS】电池能量管理:充电管理

news2024/10/7 13:17:06

🔋 电池包能量管理:充电管理 🔋

一、通信

充电是一个过程,需要电池包和充电器间进行频繁的通信,以保证电池安全和寿命。由于通信速率要求不高,以及精简接口的考虑,通常采用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. 电压过低不充电保护

上电时,单节电芯电压过低,一般指低于2V,不开启充电。

过程中:

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%的标称容量,则触发保护。这样可以从容量和电压多个维度保护电池组。

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

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

相关文章

Redis高级——批处理优化

2、批处理优化 2.1、Pipeline 2.1.1、我们的客户端与redis服务器是这样交互的 单个命令的执行流程 N条命令的执行流程 redis处理指令是很快的,主要花费的时候在于网络传输。于是乎很容易想到将多条指令批量的传输给redis 2.1.2、MSet Redis提供了很多Mxxx这样的…

【vueCms】vueCms_xg后台管理系统(开源)

我的开源项目地址:vueCms_xg 🎮在线体验 开发文档:制作中后台地址:vueCms_xg(域名审核中) ⚡️ 简介 一个开箱即用,前端基于 vite 2 vue 3 typeScript element Plus pinia vue-router 4 的PC端项目模板。 后端由nestjs构…

浅谈osgViewer::StatsHandler、osg::Stats类的用法

目录 1. 前言 2. osgViewer::StatsHandler 2.1. 功能与用法说明 2.2. 主要接口说明 3. osg::Stats 1. 前言 osg为视景器的使用和调试提供了丰富的辅助组件,它们主要是以osg::ViewerBase的成员变量或交互事件处理器(osgGA::GUIEventHandler)的形式出现。osgView…

Linux线程:死锁

1. 死锁 (1)概念 死锁(DeadLock)指两个或两个以上的进程或线程执行时,由于竞争临界资源而造成阻塞的现象;若不干涉,则无法推进下去。 (2)死锁的原因 ① 竞争临界资源…

商业运营级Java定位系统源代码

智慧工厂人员定位系统源码 技术架构:Java vue spring boot 系统概述: 采用UWB定位技术,通过在厂区内布设一定数量的定位基站,实时精确地定位员工、车辆、物品上微标签位置,零延时地将人、车、物的位置信息显示在工厂…

8年测试老鸟谈,性能测试-测试环境搭建与常见问题,这些你都知道吗?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 一个问题&#xf…

千模大战鏖战正酣,大模型能否帮360重回巅峰?

ChatGPT问世后,互联网终于看到了变革的曙光。 回望互联网的征程,几乎每十年左右,就会因产品和技术的变革,而催生出全新的应用场景。 00年代,随着PC产品的逐渐成熟,桌面互联网成为时代的“主旋律”。在此背…

ChatGPT提示词工程(七):Chatbot聊天机器人

目录 一、说明二、安装环境1. 辅助函数:get_completion2. 辅助函数:get_completion_from_messages 三、聊天机器人(Chatbot)1. 一般聊天机器人1.1 简单的例子1.2 多轮对话 2. 订单机器人 一、说明 这是吴恩达 《ChatGPT Prompt E…

Jackson使用详解

Spring MVC 默认采用Jackson解析Json,尽管还有一些其它同样优秀的json解析工具,例如Fast Json、GSON,但是出于最小依赖的考虑,也许Json解析第一选择就应该是Jackson。 一、简介 Jackson 是当前用的比较广泛的,用来序…

【Spring框架全系列】第一个Spring程序

🏙哈喽,大家好,我是小浪。那么从今天开始,我就要开始更新spring框架全系列的博客了;本专栏免费阅读,最好能够点个订阅,以便于后续及时收到更新信息哈!🏟 📲目…

【Java EE 初阶】线程的常用方法

目录 1.多线程的作用 2.示例:分别对两个变量实现10亿次自增 1.使用串行(单线程) 2.使用并行(多线程) 结果显示: 3.线程的类构造方法 代码展示: 4.Thread类的常见属性 1.演示各个属性 2.演…

( 数组和矩阵) 378. 有序矩阵中第 K 小的元素 ——【Leetcode每日一题】

❓378. 有序矩阵中第 K 小的元素 难度:中等 给你一个 n x n n x n nxn 矩阵 m a t r i x matrix matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是 排序后 的第 k 小元素,而不是第 …

InnoDB存储引擎B+树的树高推导

目录 一、基本结论:InnoDB存储引擎B树的树高3-4层 二、存储引擎B树结构简单分析 三、主键索引B树推导 四、InnoDB页的内部结构推导 五、剖析InnoDB数据文件推导 六、一般思路推导计算B树高度总结 参考文献、书籍及链接 一、基本结论:InnoDB存储引…

uni-app实战笔记

3 页面跳转 点击【成员列表】进入到子页面,这里就涉及到页面跳转。 路由是基础并不难,但是路由跳转的方式比较灵活,这里就需要记录一下。有一点是需要配置的,就是在pages.json中需要将路由整理好,否则页面是无法跳转的…

Hive架构原理以及部署教程

◆了解Hive架构原理 ◆了解Hive和RDBMS的对比 Hive架构原理 Hive架构原理 - 知乎 Hive 是基于 Hadoop 的数据仓库工具,它提供了类 SQL 查询语言 HQL(Hive Query Language),可以将 SQL 语句转化为 MapReduce 任务进行数据处理。 Hi…

【软考备战·希赛网每日一练】2023年5月2日

文章目录 一、今日成绩二、错题总结第一题 三、知识查缺 题目及解析来源:2023年05月02日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: 三、知识查缺 复习 流水线技术。序列图(顺序图)用于展现系统中一个用例和多…

剪枝与重参第九课:DBB重参

目录 DBB重参前言1. DBB2. DBB的六种变换2.1 Transform I: a conv for conv-BN2.2 Transform II:a conv for branch addition2.3 Transform III:a conv for sequential convolutions2.4 Transform IV:a conv for depth concatenation2.5 Tran…

【SpringBoot】 整合RabbitMQ 消息单独以及批量的TTL

生产者端 目录结构 导入依赖 修改yml 业务逻辑 队列消息过期 消息单独过期 TTL(Time To Live)存活时间。表示当消息由生产端存入MQ当中的存活时间,当时间到达的时候还未被消息就会被自动清除。RabbitMQ可以对消息单独设置过期时间也可以对…

爬虫 - QS世界大学排名数据

爬虫 - QS世界大学排名数据 网站简介爬虫方法概述使用工具爬虫概述 第一部分导入需要用到的python包设置selenium控制浏览器打开网页控制鼠标操作定位节点 提取数据滚轮翻页构建循环自动爬取数据数据储存 第二部分导入需要用到的python包获取网页设置请求头读取链接获取网页信息…

TIM-定时器——STM32

TIM-定时器——STM32 TIM(Timer)定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时 不仅具备基本的定时中断功能,而且还包…