一文入门BMS(电池管理系统)

1.前言

本文章是基于曾师兄的文稿《具有组网扩展功能的新能源汽车电池管理系统》而写的文章。该文章主要是对BMS(Battery Management System,电池管理系统)做一些简要的介绍,借此助各位也助我入门BMS。

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

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


2.为什么需要BMS?

在解决问题时,我最喜欢用的思路是,为什么->是什么->怎么做。

具体在本文章,我们需要解决的第一个问题是,为什么需要BMS?直接用个超大号的电池,或者把电池芯串联起来,不经过管理系统,直接给用电设备用,存在哪些问题?

文献[1]指出,锂离子电池以其输出电压高、循环寿命长、能量密度大、自放电率低、工作温度范围广等优点广泛应用于消费电子、电动汽车等领域。但同时,单个锂离子电池也存在安全和可靠性方面的问题,体现在:

1)能量大、电压高、且电解液大多为有机易燃物,应用不当时可能导致电池温度升高、着火甚至爆炸;
2)过充电、过放电会导致电池内部材料特性发生变化,造成不可逆的容量损失,从而导致性能下降,寿命缩短。过放电还会使电池内部的锂离子金属化,以致引起短路甚至爆炸;
3)由于工艺的差异性,电池内阻往往不一致,随着充放电的循环进行,电池组内单体电池的性能失衡,使电池组的寿命缩短。

ChatGPT对于为什么需要BMS的回复如下:

首先,没有BMS的电池使用过程中,如果电压、温度等参数不受到监测和控制,容易导致电池过充、过放、过热等情况,从而增加了电池发生安全事故的风险;其次,由于每个电池芯的性能和寿命都不同,使用时间不同步,因此在串联的过程中,电池芯之间需要进行均衡充电,否则会导致电池寿命缩短,影响整个电池组的性能和寿命;再者,准确地估算电池电量可以帮助我们及时安排充电或更换电池,保证设备正常运行,也避免过度充电或者过度放电的情况。

我个人对于为什么需要BMS的总结如下:

①锂电池能量高电压大存在诸多危险

②电池的过充或过放会导致性能下降

③单体电池各项参数存在差异,随着充放电循环,有些老得快,有些更持久

④估算电量,避免过充过放来保护电池,帮助安排充电或更换电池

解决了为什么需要BMS的问题,接下来要回答的问题是,BMS是什么,有哪些功能?


3.BMS是什么,有哪些功能?

BMS电池管理系统作为电动汽车能量的控制核心,有关IEC和QC / T897-2011对BMS都制
定相关标准功能要求。
IEC 制定BMS功能标准包含:电池数据采集、SOC 估算、电池循环寿命、告警保护。QC / T 897-2011对 BMS 功能标准包含:电池单体电压采集、电池温度采集、剩余电量估算、安全预警和控制、信息处理、信息交互。综合以上标准和实际汽车要求,电动汽车BMS 必须具备的基本功能:均衡管理功能、热管理功能、CMU通讯功能、SOC 估算、寿命估算、电池信息监控、充电和放电过程控制、数据显示和备份。

前面已经介绍了为什么需要BMS,再跟读者说BMS有以上这些功能,大家可能印象就深刻些。那么需求和方案就对应如下:

其一,锂电池温度高时会爆炸,那么BMS就需要有一个信息采集系统来监测当前电池信息,如电流、电压、温度等,当存在异常参数时,需要对做出相应的操作,如过压、欠压保护,关闭电源,降温等等。

其二,电池的过充或过放会导致电池性能下降,那么BMS就需要估算电池电量SOC(State of Charge,充电状态,取值通常是0%~100%),将采集到的电池数据提供给主控芯片,它根据算法来估算动力电池组剩余电量SOC,提供续驶里程参考。常用电流积分法、开路电压法、卡尔曼滤波等及其组合来估算。

其三,锂电池的实际容量会受到环境温度、放电电流(放电倍率)、自放电及电池老化等因素的影响。那么此时就需要监测电池的健康程度SOH(State of Health),SOH表征电池相对于新电池存储电能和能量的能力,是定量描述电池性能状态的指标。随着充放电的进行,SOH呈不断下降趋势。估算SOH需要通过长期监测和统计电池的使用情况、充放电特性以及温度等参数来进行评估。在实际应用中,通常采用多种算法来进行估算,如Kalman滤波算法、移动平均法等。

其四,单体电池各项参数存在差异,如电阻、容量、自放电等不同,对应到实际中就是电池充放电发热不一样,长时间不用剩余电量不同,有些可以用很久有些是弱鸡。那么BMS就需要做到均衡控制。

其五,需要把电池各项参数信息采集到,交给主控处理,那么这里就需要数据采集、传输、处理、显示,及最重要的控制。

BMS的主要功能

几十块的小电扇,算不上BMS?我拆开了我的小电扇,里面的功能非常简单,一个18650电池和控制板。

有刷直流电机的电源板及其电池
有刷直流电机的电源板及其电池

 在控制板的电容下面的芯片是一块TP4056芯片(立创商城单个近0.1元)。其功能如下:

TP4056 由于采用了内部PMOSFET 架构,加上防倒充电路,所以不需要外部隔离二极管。 热反馈可对充电电流进行自动调节,以便在大功率操作或高环境温度条件下对芯片温度 加以限制。充电电压固定于4.2V,而充电电流可通过一个电阻器进行外部设置。当充电电流在达到最终浮充电压之后降至设定值1/10 时,TP4056 将自动终止充电循环。

TP4056 当输入电压(交流适配器或USB 电源)被拿掉时,TP4056 自动进入一个低电流状 态,将电池漏电流降至2uA 以下。TP4056 在有电源时也可置于停机模式,以而将供电电流降至55uA。TP4056 的其他特点包括电池温度检测、欠压闭锁、自动在充电和两个用于指示充电、结束的LED 状态引脚。

电池管理芯片
对于前面提及的电池存在的问题,这款芯片可以解决过充过放、欠压保护及温度检测。但是没有解决电量估算SOC,健康检测SOH等问题。
有些容量高一些的消费级电子产品,需要用多节锂电池,这时就需要高级一点的电池管理芯片了,如英集芯的IP2368,立创商城单个近15元。

输入过压、欠压保护
输出过流、短路保护
电池过充、过放、过流保护
IC 过温保护
充电电池温度 NTC 保护
IP2368 是一款集成 AFC/FCP/PD2.0/PD3.0 等输入输出快充协议和同步升降压转换器的锂电池充放电管理芯片; IP2368 的高集成度与丰富功能,只需一个电感实现同步降升压功能,在应用时仅需极少的外围器件,有效减小整体方案的尺寸,降低 BOM 成本。 IP2368 支持 2/3/4/5/6 节串联电芯,可通过外接电阻选择电池串联节数;IP2368 支持外接电阻选择普通锂电池还是磷酸铁锂电池,外接电阻可设置充满电压,锂电池充满电压可设置为:4.15V/4.2V/4.3V/4.35V/4.4V,磷酸铁锂电池充满电压可设置为:3.5V/3.55V/3.6V/3.65V/3.7V。 IP2368 的同步开关充放电系统,提供高达 100W 的充放电功率,可通过外接电阻设置最大充放电功率。IP2368内置IC 温度、电池NTC 温度和输入电压控制检测环路,可以根据不同功率充电器,智能调节充电电流。 IP2368 内置 14bit ADC,可以精确测量充电输入电压和电流,电池电压和电流。IP2368 内置电量计算法,可通过 IIC 获取电池电量、充电电压、充电电流等信息。 IP2368 支持 4 个电量指示灯,定制可支持 188 数码管。
对于前面提及的电池存在的问题,这款芯片可以解决电池信息采集(电压、电流、温度),还有通过4个灯指示当前电量,也可以用188数码管显示当前剩余的百分比电量(我推测应该是通过电压估计电量),过充过放、过压欠压保护、过温保护。IP2368明显比TP4056高级很多。但是当汽车级电池需要几百几千个电池时,IP2368明显不够用,无法解决电池均衡管理。
更高级的BMS芯片目前国产还比较低,因本文章只是入门作用,在此不提,以后可能会涉及(给自己挖个坑)。

 明白了BMS是什么,有什么用,最重要的是解决如何做的问题。


4.如何实现一个像IP2368的简单BMS

回答这个问题之前,需要了解BMS的层次结构:

 集成型的BMS,可以在电池模块(电池包)里数据就近采集,对模块进行监测、分析、管理、保护,最后将各个模块的数据传送到主控模块进行数据处理。

在这里,为了完成像IP2368功能的BMS子模块,需要对模块进行监测、分析、管理、保护。
其一,信息采集方面,电压、电流、温度,基本上都可以通过AD(Analog to Digital)的方式直接或间接得到,电流通过得到,温度可以通过一个NTC电阻(Negative Temperature Coefficient,负温度系数)反映为测量到的电压再对应当前温度。电压采集可以用亚德诺半导体的AFE采样芯片,可以覆盖12颗电芯电压的精确测量和均衡控制。

其二,信息传输方面,如果是小项目,距离短且干扰不强,可考虑直接用串口,如果距离远则需要用CAN总线,CAN总线是一种高性能、低成本的分布式总线标准,主要应用于汽车、工业等领域。现今还提出了一种无线BMS的方案。不需布线,节省空间,便于安装维护,可拓展性强。但是工业技术和市场一般惯性比较强,所以无线BMS目前也只处于验证及推广阶段。

其三,剩余电量估算方面,目前比较常见的有OCV-SOC法,随着电池的电量越放越少,电池的开路电压(Open Circuit Voltage,OCV)也会越来越低 ,OCV-SOC模型通常采用数学模型,如二次函数模型或分段线性模型等,来描述OCV与SOC之间的非线性关系。其基本原理是通过测量电池在不同SOC下的OCV,并将其与实际充放电数据进行比对,进而拟合出一个最优的模型参数,以实现较为精确的SOC估计。

 不过,OCV法还会受到多种因素的影响,因此电池电量SOC的估算实际上更为复杂。

 测量电压需要非常高的精度,车用BMS的精度达到了0.03%(普通万用表精度1%),可选用专用AD采样芯片,如亚德诺的AD芯片,AD6815。此外,这颗芯片还有电池均衡的功能。

ADBMS6815是一款多单元电池堆监控器,可测量多达12个串联电池单元,总测量误差(TME)小于1.5 mV。ADBMS6815具有0 V至5 V的电池测量范围,适合大多数电池化学应用。可在304 μs内测量所有12个电池单元,并选择较低的数据采集速率以便降噪。

电池均衡

 其四,电池健康状态SOH的估算,SOH等于当前电池容量与出厂电池容量的比值。SOH与RUL相互关联,故此处用RUL来表征。

 其五,如已经采集到信息并分析当前电池状态,就要对电池进行管理了:

        BMS可以根据电池的特性和工作负载需求,对电池的充放电进行精细控制,避免过充、过放和过流等情况的出现,从而保证电池的安全和稳定性。

        通过温度传感器监测电池的温度,对电池进行智能温控管理。当电池温度过高时,BMS会自动降低电池的充电速度或停止充电,防止电池过热导致安全问题。

        通过检测电池的异常状态,如过充、过放、短路等,自动启动保护机制,避免电池出现故障或安全问题。同时,BMS还可以记录电池的异常事件和故障信息,便于后期分析和排查。

至此,IP2368的功能(信息采集、电量指示、过充过放、欠压过压、过温保护)在前面五点都已提及,算是实现一个像IP2368的简单BMS。


有些图片来源于网络,侵删。

另外吐槽一下,CSDN的排版是真的拉跨!

参考文献/视频

[1]刘大同,周建宝,郭力萌,等. 锂离子电池健康评估和寿命预测综述[J]. 仪器仪表学报,2015,36(1):1-16.

[2]电动车快充,到底会不会伤害电池?

[3] 电动爹的续航,原来全靠猜?BMS如何让你的电池,续航更多一点?

[4]芯片选得好,续航能更长?无线BMS芯片原理解析与拆解实拍

[5]BMS电池管理系统项目实战 视频课程_哔哩哔哩_bilibili

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis数据结构

字节青训营后端打卡笔记,主题结构参照文章,以及网络上其它很多的资料所记录下来的笔记。 Redis数据结构一览 SDS(Simple Dynamic String) C语言字符串的缺陷 获取字符串长度函数strlen()时间复杂度为O(N) 字符串以\0结尾,意味着字符串里的…

手抖把Python2.7卸载了,导致了自己的yum不可用以及yum因python版本无法使用的问题

摘要: 从标题就能看到我有多心如死灰了,简单介绍下我是如何自残的过程. ①首先因为需要部署爬虫程序,然后安装Python3. ②Python3系列和Python2系列版本不向下兼容,所以我就卸载了机器自带的Python2.7,删的干干净净. ③然后我下载了Python3.8的包. ④我开始使用yum命令安装…

LangChain+LLM大模型问答能力搭建与思考

1. 背景 最近,大模型(LLMs,Large Language Models)可谓是NLP领域,甚至整个科技领域最火热的技术了。凑巧的是,我本人恰好就是NLP算法工程师,面临着被LLMs浪潮淘汰的窘境,决定在焦虑…

给AI挖坑 | 实测New Bing能否回答员工那些刁钻的问题?

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 之前玩ChatGPT,发现这玩意很擅长胡说八道,比如你让它写一段发言稿,并引用鲁迅名言&#xff0…

如何用Rosetta全家桶设计一个抗体?

新冠肆虐无药可医, 医护冒险奋战在前线。 实验室里抗体设计, 试管里混合液波光粼粼, 分子结构、细胞实验频频。 日以继夜,孜孜不倦, 只为破解疫情的难题。 我们紧密团结,努力前行, 心中不灭的信…

【ChatGPT 】《ChatGPT 后续:我开发了一个超级阅读器,免费分享给大家》- 知识点目录

《ChatGPT 后续:我开发了一个超级阅读器,免费分享给大家》 00:00 我们开发了超级阅读器 01:37 思路和开发过程 03:00 使用方式 03:43 AI 工具加持开发效率 04:14 更多可能性 04:57 局限性 1. 介绍:PandaGPT 上传文献聊天窗口提问 2. DALL…

搭建正版GPT4.0!不用ChatGPT账号,不要API!

手把手教你免费搭建正版GPT4.0!不用ChatGPT账号,不要API! 项目简介 项目地址:https://github.com/ramonvc/freegpt-webui优点: 完全免费且不需要任何 API 密钥 ❌🔑 该项目的特点是使用G4F API 的WebUI …

他做了一个「ChatGPT 杀手」,a16z 抢着投

比「GPT 侦探」更重要的是,AI 生成内容在不同行业的「容忍度」。 图片来源:由无界版图AI工具生成 作者 | 美漪编辑 | 靖宇 最近两个月,科技圈最热的话题,无疑是 OpenAI 推出的对话式 AI 应用 ChatGPT,不仅可以让它给你…

巴比特 | 元宇宙每日必读:ChatGPT「代码解释器」正式解禁,它补齐了ChatGPT的哪些短板?用户该如何使用?...

摘要:7月9日,OpenAI 的聊天机器人 ChatGPT 推出了新功能:代码解释器(Code Interpreter)。这个新功能已经对所有 Plus 订阅用户开放,其扩展了 ChatGPT 的功能,为用户带来了更好的交互式编程体验和…

ChatGPT应用组队学习来了!

Datawhale学习 联合主办:Datawhale、百度文心 Datawhale联合百度文心,五月为大家带来AIGC应用专题:大模型从入门到应用,学习大纲如下(文末整理了这次学习的所有资料): 参与学习 ▶ 活动时间&am…

阿尔法狗咬向ChatGPT七寸

图片来源:由无界AI生成 瞄准ChatGPT,谷歌的下一枚炮弹已经准备好,只待发射。而担负起发射任务的,是谷歌DeepMind。 昨天,谷歌DeepMind的CEO德米斯哈萨比斯(Demis Hassabis)在采访中放出豪言&…

谷歌版ChatGPT突然公测!上手实测结果在此,体验申请通过飞快

杨净 金磊 发自 凹非寺量子位 | 公众号 QbitAI 谷歌吃了大亏之后,这次一声不吭,放了大招: 对标ChatGPT的Bard测试版,刚刚正式对外发布。 而且这次用户在申请候补名单之后,无需经历漫长的等待时间。 没错,量…

对抗 ChatGPT 的创业武器:专注和紧密的反馈循环

ChatGPT 超越谷歌主导地位 在我的上一篇文章中,我探讨了 ChatGPT 超越谷歌主导地位的可能牛市案例。但我也对我认为是熊市的情况表示赞赏。正如我提到的,ChatGPT 的无界界面有点像,而不是 DoorDash 的重点推出策略,DoorDash 在美国所有城市和商品类别中同时推出,当你订购…

chatgpt赋能Python-python_queque

Python Queue模块实现队列的介绍 Python语言是一种通俗易懂、功能丰富的编程语言。它的标准库还包括许多有用的模块,用于实现各种数据结构和算法。其中,Queue模块是一种实现队列的模块。这个模块实现了多线程编程时所必需的队列数据结构。 什么是队列&…

ChatGPT已能操控机器人,工程师连代码都不用写,网友:微软在搞天网?

Alex 发自 凹非寺量子位 | 公众号 QbitAI 当我还在跟ChatGPT吹牛尬聊时,有人已经在拿它操控机器人了。 不是别人,正是OpenAI的金主爸爸、不久前刚拿ChatGPT“重新发明搜索引擎”的微软。 到目前为止,开发者调教机器人不仅技术门槛高&#xff…

火爆外网的ChatGPT,改Bug,敲代码不在话下

目录 前言 一、ChatGPT 是什么? 二、ChatGPT到底有什么用 1.可以回答问题 2.帮你创作文章和标题 3.调试代码和修复代码 4.检测安全漏洞,也许还能创建PoC 总结 前言 这几天ChatGPT AI 可谓是火的一塌糊涂,那么它到底是什么&#xff1f…

Python使用itchat库+图灵机器人(新手上路)

前不久有个朋友说,谁谁的男朋友写个机器人,然后聊天很嗨的样子,看下面图,然后今天下午闲着,就把整理了下思路,采用Python进行如下开发,具体步骤如下: 1、第一步,因为我是…

图灵 | 计算机器与智能

【“计算机器与智能”选自《Mind》,no.2236(1950.10),P433-460。牛津大学出版社允许重印。刘西瑞、王汉琦 翻译】 1. 模仿游戏 我建议来考虑这个问题 :“机器能够思维吗?” 这可以从定义 “机 器” 和 “思…

图灵奖得主LeCun评ChatGPT不算创新,被网友骂柠檬精

“ChatGPT并不算创新。” “OpenAI做的这个东西跟其他实验室相比,根本算不上什么进步。” 这两天,图灵奖得主LeCun公开和大热趋势“唱反调”,瞬间引发网友围观。 要知道,ChatGPT功能强大又好玩,火爆全网,任…

本地化部署大语言模型 ChatGLM

本地化部署大语言模型 ChatGLM 本地化部署大语言模型 ChatGLM前期筹备GitHub 基础包语言模型文件基础配置显存查看方法 Anaconda 模块ChatGLM-6B 网页部署Anaconda 环境创建根目录操作基础依赖加载transformers 和 protobuf 库加载Pytorch 源修改依赖库补充补充依赖 pypi 配置c…