BMS电池管理系统

news2024/12/24 0:04:57

一.项目简介

1.该项目是基于BQ7692003PWR + STM32F103C8T6研发的一块锂电池控制板,本控制板可供五串18650锂电池(目前软件仅支持三元锂类型,标称电压为4.2V)串联使用,电芯均衡采用被动均衡方式

二.本项目功能

1.监控任务
(1)系统参数监控
(2)系统模式监控
2.状态分析
(1)各项分析参数
(2)充放电时SOC值变化
3.能量管理
(1)充放电管理
(2)均衡管理
4.保护任务
(1)充电过流、过温、低温保护及恢复,由软件触发
(2)放电过温、低温保护及恢复,由软件触发
(3)放电过流保护及恢复,由硬件触发
(4)放电短路保护及恢复,由硬件触发
(5)充电过压保护及恢复,由硬件触发
(6)放电欠压保护及恢复,由硬件触发

三.BMS控制板说明

参数:
  • 接入充电器电压不能超过21V
  • 持续充/放电电流限制2A内

  • 最大被动均衡电流100mA
  • 电流采样精度±100mA
  • 单体电芯电压采样精度±10mV
  • 整体电池电压采样精度±50mV
  • 保护:过压、欠压、温度、过流、放电短路
  • 通讯方式:串口通信
  • 预留扩展接口:CAN和485

四.BMS电池板说明

五.功能演示

一.基本功能

1.BMS控制板系统软件可配置参数在源码目录下的bms_config.h文件,跟BQ76920紧密相连的可配置参数在drv_softi2c_bq769x0.c文件

2.上电系统串口参数打印解释

  1. Battery Real Capacity:表示电池实际容量值(额定容量值是出厂给的,SOH电池健康度计算也可以用实际值/额定值)
  2. Battery Remain Capacity:表示电池剩余容量值
  3. Battery SOC:电池剩余容量百分比(剩余值/实际值)
  4. Cell Max Voltage:最大电芯电压值
  5. Cell Min Voltage:最小电芯电压值
  6. Cell Max Voltage Difference:最高和最低电芯电压差值
  7. Cell Average Voltage:电芯平均电压
  8. Battery Real Power:电池实时功率,电流*总电压
  9. Battery Voltage:整串电池总电压
  10. Battery Current:电池实时电流
  11. Cellx  Voltage:电芯电压,cell1对应电池板上的第一串电芯电压。

3.命令解释

  1. BMS_CmdOpenDSG:打开放电MOS
  2. BMS_CmdCloseDSG:关闭放电MOS
  3. BMS_CmdOpenCHG:开启充电MOS
  4. BMS_CmdCloseCHG:关闭充电MOS
  5. BMS_CmdOpenBalan:开启均衡
  6. BMS_CmdCloseBala:关闭均衡
  7. BMS_CmdLoadDetec:在未开启充放电MOS情况下运行此命令可检测是否接了电子负载仪

二.均衡管理

无论怎么样的均衡方式,均衡时必须要满足均衡起始电压(判断最高节电芯电压)、均衡差异电压(最高和最低电芯电压差)条件方可启动均衡,在被均衡的电芯都有如下图中的标志(相邻电芯不能同时均衡,这是BQ769x0芯片硬件决定的)   

三.充放电演示

1.充电:

        先将电池板上的充放电开关处于断开状态(字母O一边按下是断开,字母I一边按下是接通),然后夹上充电器的电源夹子到BMS控制板的PACK-、PACK+两端,然后给充电器插上电源(充电器不要大于21V),然后拨动电池板充放电开关至开启状态,在串口终端输入  BMS_CmdOpenCHG  命令开启充电MOS开关,由于均衡策略的原因如果电芯正在均衡是不会立即开启充电MOS开关,需要输入BMS_CmdCloseBalance 关闭均衡命令后才会开启充电MOS然后电池正常充电(充电器绿灯变红灯),电流采样的数据(充电器的充电电流会随着电池电压变化而变化,电池电压越高充电电流越小,反之越大,不会超过充电器额定电流值)

2.放电跟充电操作差不多操作,唯一不相同地方无需关闭均衡开关

3.充电采集的电流值是正数,放电采集的电流值是负数

4.充电器采用的21V/2A,BMS控制板在没有开启放电MOS开关的情况下充电,BMS控制板的PACK端电压会比BAT端高出0.6V左右的电压(这是因为MOS管寄生二极管导致的),所以理论上充电器会在整串电池为20.4左右停止充电(充电器的停止充电变现为红灯变为绿灯,但是依然会有300mA左右的小电流在给电池充电),但实际测试在20.1V左右就会停止充电,如果想让电芯电压再充高点,先输入开启放电命令再输入开启充电命令

四.系统模式转换及SOC实时变化

  1. 在使用命令  开启/关闭  充/放  电的时候控制台会实时打印系统进入什么模式,下图有现象,充电、放电、待机。这块板子的睡眠暂时没考虑,商用级BMS肯定会考虑低功耗模式。
  2. SOC的算法采用开路+安时积分法结合,开路电压是电池在待机模式下静止很长一段以最低电芯电压为标准校准一次容量;安时积分法是充/放电状态下实时对电流进行积分校准电池实际的容量然后算出SOC值。这两种方法是最常用的也是最简单的,但商用级别的BMS肯定不会仅仅使用这两种SOC算法。这个文档不详细说明,课程会详细说明,SOC实时变化在下图有现象。

由于该项目的SOC并不是很准,需要考虑很多因素(额定容量实时校准、温度因素、寿命等因素),所以可能充/放整个过程并不会达到SOC为100%和0%。商业级BMS的SOC实现还叠加了其他的因素所以更精准

五.充/放电过压欠压演示

放电欠压和充电过呀操作都差不多

接线顺序:先把电池板充放电开关拨动处于关闭状态,然后将BMS控制板和电池板的所有线连接上,接着继续接上充电器的正负极到PACK端,然后插上充电器电源,拨动电池板的充放电开关至开启状态。

充电过压保护:

我们先修改一下充电过压的值为3.92(因为我的电池板最高那节电芯电压静态值为3.7x),过压恢复的值为3.90,如下图,然后输入开启充电MOS开关命令,此时充电器正常充电,当最高节电芯达到过压保护值3.92V时,会触发过压保护,此时系统会断开充电MOS开关,等到最高那节电芯电压降为3.90V以下然后恢复充电MOS开关继续充电

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

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

相关文章

Milvus向量数据库01-基础概念

Milvus向量数据库01-基础概念 Zilliz Cloud 集群由全托管 Milvus 实例及相关计算资源构成。您可以在 Zilliz Cloud 集群中创建 Collection,然后在 Collection 中插入 Entity。Zilliz Cloud 集群中的 Collection 类似于关系型数据库中的表。Collection 中的 Entity …

【OpenCV】模板匹配

理论 模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。为此,OpenCV 带有一个函数 cv.matchTemplate() 。它只是在输入图像上滑动模板图像(如在 2D 卷积中),并比较模板图像下的模板和输入图像的补…

深入解析下oracle的number底层存储格式

oracle数据库中,number数据类型用来存储数值数据,它既可以存储负数数值,也可以存储正数数值。相对于其他类型数据,number格式的数据底层存储格式要复杂得多。今天我们就详细探究下oracle的number底层存储格式。 一、环境搭建 1.…

MySQL Binlog 日志监听与 Spring 集成实战

MySQL Binlog 日志监听与 Spring 集成实战 binlog的三种模式 MySQL 的二进制日志(binlog)有三种常见的格式:Statement 模式、Row 模式和Mixed 模式。每种模式的设计目标不同,适用于不同的场景,以下是它们的详细对比和…

Vmware Vcenter7.0证书web续期发生错误

1. 故障描述 vSphere Client 版本 7.0.2.00200 vCenter _MACHINE_CERT快到期了,通过web界面更新证书失败 第一步先这样,重新续订一下证书 续订发生错误 2. 解决办法 2.1. 前提工作 登陆ssh到vcenter,重新生成证书 先关掉HA&#xff…

Oracle报错ORA-01653: 表xx无法通过 8192在表空间中扩展

向Oracle 19g数据库中批量插入数据,当插入近2亿条数据后,报出如下错误: ORA-01653: 表xx无法通过 8192 (在表空间 xx_data 中) 扩展 查看表空间,发现表空间大小已达到32G,表空间无法进行自动扩展了。(初始…

数据结构(3)单链表的模拟实现

上一节我们进行了数据结构中的顺序表的模拟式现,今天我们来实现一下另外一个数据结构:单链表。 我们在实现顺序表之后一定会引发一些问题和思考: 1.顺序表在头部和中间插入数据会用到循环,时间复杂O(N) …

如何高效的向AI大模型提问? - 提示工程Prompt Engineering

大模型的输入,决定了大模型的输出,所以一个符合要求的提问Prompt起到关键作用。 以下是关于提示工程Prompt Engineering主要方法的详细表格,包括每种方法的优点、缺点、应用场景以及具体示例: 主要方法优点缺点应用场景示例明确性…

python正则化表示总结

1.字符 总结: .匹配除“\n”以外的所有字符[…]字符集,…为所给出的范围,如:[a-zA-Z]表示逐个列出所有字符,[0-9]表示逐个列出所有数字[^…]^表示取反,如 [^0-9] 等同于出数字以外所有字符[…]并[…]也可…

BlueOS安装与DVL插件安装

我的blueos端又进不去了,查了查原因SD卡竟然裂开了!故重新下载附步骤: 官方网址:BlueOS Documentation DVL插件安装参考:Water Linked DVL A50 Support - Third Party Products / Sonar and Acoustics - Blue Roboti…

学者观察 | Web 3.0生态治理及其安全——北京交通大学副教授李超

导语 李超教授认为Web 3.0中无论是链上治理还是链下治理都有其优劣。链下治理机制更侧重于社区广泛参与和讨论,过程较为繁琐,但能够形成广泛的社区支持和参与,增强决策的合法性和接受度;链上治理机制通过直接在区块链上执行决策&…

C++实现排序算法:冒泡排序

目录 前言 冒泡排序性质 C代码实现冒泡排序 冒泡图解 第一趟排序 第二趟排序 第三趟排序 排序结果 结语 前言 冒泡排序的基本思想是通过从前往后&#xff08;从后往前&#xff09;两两比较&#xff0c;若为逆序&#xff08;即arr[i] < arr[i 1]&#xff09;则交换…

二叉树节点相关算法题|双分支节点个数|所有左叶子之和|每一层节点平均值(C)

双分支节点个数 假设二叉树采用二叉链表存储结构存储&#xff0c;试设计一个算法&#xff0c;计算一棵给定二叉树的所有双分支节点个数 算法思想 计算一棵二叉树中所有双分支节点个数的递归模型 若树为空&#xff0c;结果为0 若当前节点为双分支节点&#xff0c;递归左右孩子…

交互开发---测量工具(适用VTK或OpenGL开发的应用程序)

简介&#xff1a; 采用VTK开发应用程序时&#xff0c;经常需要开发各种各样的测量工具&#xff0c;如果沿用VTK的widgets的思路&#xff0c;绘制出来的的控件不够漂亮&#xff0c;且交互不太灵活&#xff0c;并且随着测量工具的增强&#xff0c;渲染的效率也会有所降低。基于上…

【LEAP模型建模】能源需求/供应预测、能源平衡表核算、空气污染物排放预测、碳排放预测、成本效益分析、交通运输碳排放、电力系统优化等专题应用

采用部门分析法建立的LEAP&#xff08;Long Range Energy Alternatives Planning System/ Low emission analysis platform&#xff0c;长期能源可替代规划模型&#xff09;是一种自下而上的能源-环境核算工具&#xff0c;由斯德哥尔摩环境研究所和美国波士顿大学联合研发。该模…

HarmonyOS-中级(三)

文章目录 合理使用动画和转场Web组件和WebView给应用添加通知和提醒 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;HarmonyOS专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年12月08日12点12分 合理使用动画和转场 动效场景设计&#x…

GC常见垃圾回收算法,JVM分代模型

如何判断是垃圾&#xff1f;引用计数器和Root可达性算法 如何进行清除&#xff1f;标记清除、复制、标记整理 堆分代模型&#xff1f;Eden&#xff0c;Surevivor&#xff0c;Tenuring 一个对象从创建到消亡的过程&#xff1f; 对象什么时候进入老年代&#xff1f; 一、GC&a…

win11 恢复任务栏copilot图标, 亲测有效

1、修改C:\Windows\System32\IntegratedServicesRegionPolicySet.json&#xff0c;解除中国不能使用copilot的限制。 使用Notepad搜索copilot全文搜索&#xff0c;将下面两处的“CN,”删除&#xff0c;删除后如下&#xff1a; {"$comment": "Show Copilot on t…

nginx生成自签名证书

nginx生成自签名证书 openssl genrsa -out server.key 2048 openssl req -new -subj "/CCN/STJiangSu/LSuZhou/Oldap/OUldap/CN10.20.24.101" -key server.key -out server.csr openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt …

【sgUploadImage】自定义组件:基于elementUI的el-upload封装的上传图片、相片组件,适用于上传缩略图、文章封面

sgUploadImage源码 <template><div :class"$options.name"><ul class"uploadImages"><liclass"uploadImage"v-loading"loadings[i]"v-for"(a, i) in uploadImages":key"i"click"click…