当前位置: 首页 > news >正文

利用AFE+MCU构建电池管理系统(BMS)

前言

实际BMS项目中,可能会综合考虑成本、可拓展、通信交互等,用AFE(模拟前端)+MCU(微控制器)实现BMS(电池管理系统)。

希望看到这篇博客的朋友能指出错误或提供改进建议。

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

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


    单纯电池管理保护芯片构建的BMS

    以IP3264为例

    以英集芯的4~5 节锂离子/聚合物电池保护器IP3264为例,其具有如下功能。

    IP3264具有的功能

    这个电路为充放电同口电池管理保护电路

    在异常情况下,控制两个NMOS,起到保护作用

    通过采集每一节电芯电压,起到过充、过放、断线保护功能;

    通过外接NTC,检测电芯温度,起到低温、过温保护功能;

    通过采集Rsense压差,起到充放电过流保护功能;

    IP3264不具有的功能

    由于BMS架构已经被芯片定死了,IP3264后续的可拓展性比较差,无法像AFE+MCU架构那样根据具体需求进行灵活选择和优化。

    IP3264主要提供电池过充、过放、过流等基本保护功能,其数据处理和算法运行能力相对有限。

    IP3264无法支持复杂的电池管理算法和高级功能,如精确的SOC估算、SOH评估等。

    IP3264无法进行高效的数据处理和算法运行能力,使得BMS系统无法准确地监测电池状态、预测电池寿命并采取相应的保护措施。

    IP3265无法做到电芯均衡功能,监控和故障诊断能力相对有限,主要依赖于预设的保护阈值和延时设置。


    AFE+MCU构建电池管理系统的优势

    一、更高的灵活性和可扩展性

    • 组件选择多样性:设计师可以根据具体的应用场景、性能需求、成本预算等因素,从市场上众多不同型号、性能的AFE和MCU中选择最合适的组件进行搭配。这种灵活性使得BMS系统能够更精确地满足各种定制化需求。
    • 系统升级便捷性:随着电池技术的不断进步,BMS系统可能需要进行相应的升级以适应新的电池特性。采用AFE+MCU架构的BMS系统可以更容易地进行硬件和软件升级,以适应未来的电池技术和市场需求。

    二、优化系统性能并降低成本

    • 性能优化:通过精心挑选AFE和MCU组件,设计师可以构建出性能卓越的BMS系统。例如,选择高精度、低噪声的AFE可以确保电池参数的准确测量;选择高性能、低功耗的MCU可以提高数据处理速度和系统响应能力。
    • 成本降低:通过合理搭配组件和优化设计,AFE+MCU架构的BMS系统可以在保证性能的同时降低成本。例如,对于某些特定应用场景,可能无需采用最昂贵的电池管理保护芯片,而是可以通过选择合适的AFE和MCU来实现相同的功能并降低成本。

    三、数据处理和响应速度提升

    • 高效数据处理:AFE负责将电池的模拟信号转换为数字信号,并传输给MCU进行处理。MCU具有强大的数据处理能力,可以迅速对接收到的数据进行处理和分析,从而实现对电池状态的实时监测和精确控制。
    • 快速响应:由于MCU具有高速运算能力,因此当电池出现异常情况时,BMS系统可以迅速响应并采取相应的保护措施,如切断电池供电或发出警报,以确保电池组的安全运行。

    实际AFE+MCU项目

    AFE+MCU构建BMS的挑战

    由于AFE无法像电池管理保护芯片那样,做到电压、电流、温度的保护,所以只能靠MCU进行数据采集,通过软件进行异常保护。

    同时,数据采集在很大程度上,依赖MCU的ADC采集精度,所以数据采集的准确性也是一大挑战。

    另外,AFE+MCU架构,需要考虑到低功耗设计,MCU在静态下,需要做到100uA以内的静态功耗。

    电池均衡控制、放电电流多级保护,SOC、SOH算法全部依赖软件,所以需要一定的项目开发周期,软件测试也比较困难。


    DEMO原理图

    PT6105作为AFE

    这里我选用了华润微的PT6105作为AFE,其核心功能就三个:内置LDO、利用跟随器输出单节电芯电压供给MCU采集、MCU控制其进行电芯被动均衡。

    AFE外围

    总电芯电压采集

    温度检测

    TL431提供高精度基准电压

    按键唤醒、电量显示

    充电MOS控制

    放电电流检测

    电池ID识别、唤醒、单总线串口通信


    软件控制策略

    硬件特性
    *PT6105内置5V的LDO,给MCU及外围电路供电
    *用精度为0.5%的TL431作为MCU基准电压

    模拟量检测
    *MCU可检测电池包总压
    *MCU控制PT6105的VOUT输出单节电芯电压,从而监测每一节电芯电压
    *MCU可检测电池包温度
    *MCU可检测放电电流

    充电控制策略
    *MCU可控制MOS管来控制是否进行充电
    *休眠后O-CHG-CTRL为低电平,也就是只能特定的充电器才能对电池包进行充电

    唤醒策略
    *可通过按键唤醒
    *可通过充电器或者工具设备,ID、S脚提供的5V上拉进行唤醒

    低功耗策略
    *进入休眠后,O-GND为高电平,NTC、TL431回路不消耗电流
    *进入休眠后,O-AD-VBAT为低电平,总压检测回路不消耗电流
    *进入休眠后,O-LEDx为高电平
    *进入休眠后,O-AFE-EN为低电平,AFE进入休眠,减小模拟前端的功耗

    被动均衡策略
    *充放电时不可进行均衡
    *同一时刻只能均衡一节电芯电压
    *当充电器/工具拔出10S后,若无其他异常,最高节电芯电压比其他任何一节电压高0.1V,则进行均衡(例如4.25、4.15、4.14、4.13、4.12,最高电芯电压4.25,剩余电芯电压均值4.135),均衡到最高那一节电芯的电压小于其他节电芯电压均值/均衡超时,则均衡停止,进入休眠状态。
    *均衡电流由限流电阻控制,例如电压4.2V,限流电阻200Ω,则均衡电流为21mA

    SOC估算测量
    *采用OCV-SOC、安时积分法融合估算
    *在系统启动/更换电池/均衡完成时/充满电后/被唤醒时,此时电池一般为弛豫或静置状态,单纯通过OCV-SOC估算(线性插值法),获取SOC初始值,对于三元锂电池来说可行性较高
    *在放电时,采集放电电流,通过安时积分法,计算SOC

    温度保护
    *NTC悬空/短路
    *充电时,高温大于50℃置充电高温flag,低温低于-5℃置充电低温flag;温度低于45℃清除充电高温flag,温度高于0℃清除充电低温flag
    *放电时,高温大于75℃置放电高温flag,低温低于-20℃置放电低温flag;温度低于50℃清除放电高温flag,温度高于-10℃清除放电低温flag
    *温度在0-45℃清除所有温度异常flag

    充电过压保护策略
    *总压超过21V或单节最高电压超过4.25V时充电截止,总压低于20.5且所有电芯电压低于4.15V充电恢复

    放电保护策略
    *总压低于14V或单节最低电压低于2.6V时放电保护,总压高于15V且所有电芯电压高于2.8V放电恢复
    *对于2Ah电池包,放电电流大于2*10A且时间超过4S进入放电保护,放电电流大于2*20A且时间超过1S进入放电保护

    硬件故障
    *电芯最高与最低节压差超过1V时为电芯电压严重失衡,为故障状态;压差在0.5V以内恢复
    *当检测到电池总压低于5V,判定为保险丝烧坏/电压检测回路异常;总压高于10V恢复
    *当检测到任何一节电芯电压低于0.5V,为断线状态;所有电芯电压高于2V恢复
    *NTC悬空/短路为异常;温度在0-45℃恢复


    无情的AI生成结束语

    通过AFE(模拟前端)PT6105与MCU的紧密协作,我们成功实现了一个功能全面、性能卓越的电池管理系统(BMS)。该系统充分利用了PT6105的硬件特性,包括其内置的5V LDO为MCU及外围电路提供稳定供电,以及使用高精度TL431作为MCU的基准电压,确保了系统的高精度和低噪声性能。

    在模拟量检测方面,MCU能够准确检测电池包的总压、单节电芯电压、温度和放电电流,为电池状态的实时监测提供了可靠的数据支持。同时,充电控制策略、唤醒策略和低功耗策略的制定,进一步提升了系统的灵活性和能效。

    特别是在充电和放电过程中,系统采用了精细的控制策略,包括充电控制、休眠唤醒、低功耗管理以及被动均衡等,确保了电池的安全、稳定和高效运行。其中,被动均衡策略的实施,有效避免了电池组内部电芯之间的电压失衡,延长了电池的使用寿命。

    在SOC估算方面,系统采用了OCV-SOC和安时积分法相结合的估算方法,提高了SOC估算的准确性和可靠性。同时,温度保护、充电过压保护和放电保护策略的制定,为电池的安全使用提供了有力的保障。

    此外,系统还具备完善的硬件故障诊断功能,能够及时发现并处理电芯电压失衡、保险丝烧坏、电芯断线以及NTC异常等故障,确保了系统的稳定性和可靠性。

    综上所述,AFE+MCU实现的BMS系统具有高精度、高可靠性、高能效和低故障率等优点,为电动汽车、储能系统等领域提供了优质的电池管理解决方案。未来,我们将继续优化和完善该系统,以满足更多领域和场景的需求,推动电池管理技术的不断发展和进步。

    相关文章:

    利用AFE+MCU构建电池管理系统(BMS)

    前言 实际BMS项目中,可能会综合考虑成本、可拓展、通信交互等,用AFE(模拟前端)MCU(微控制器)实现BMS(电池管理系统)。 希望看到这篇博客的朋友能指出错误或提供改进建议。 有纰漏…...

    【教学类-89-06】20250220新年篇05——元宵节灯笼

    背景需求: 每年元宵、国庆都回带孩子做灯笼。用python对"对折灯笼“的纸模进行不同图案的填充(区分物权) 【教学类-39】A4红纸-国旗灯笼纸模(庆祝中华人民共和国成立74周年)_a4 打印 灯笼-CSDN博客文章浏览阅读1…...

    C++ Primer 类的静态成员

    欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...

    【UCB CS 61B SP24】Lecture 4 - Lists 2: SLLists学习笔记

    本文内容为重写上一节课中的单链表,将其重构成更易于用户使用的链表,实现多种操作链表的方法。 1. 重构单链表SLList 在上一节课中编写的 IntList 类是裸露递归的形式,在 Java 中一般不会这么定义,因为这样用户可能需要非常了解…...

    【科研绘图系列】R语言绘制小提琴图、散点图和韦恩图(violin scatter plot Venn)

    禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载画图1画图2画图3画图4画图5画图6画图7参考介绍 【科研绘图系列】R语言绘制小提琴图、散点图和韦恩图(violin & scatter plot & Venn) 加载R包 library…...

    Linux中POSIX应用场景

    Linux 提供了丰富的 POSIX(Portable Operating System Interface)标准接口,这些接口可以帮助开发者编写可移植、高效的应用程序。POSIX 标准定义了一系列系统调用和库函数,涵盖了文件操作、进程管理、线程管理、信号处理、同步机制…...

    量子算法导论

    重学了量子算法,不知道是温故而知新,还是之前的教材没有讲过这个概念。 如果把(图灵机)计算机比作一个查询机器,输入x通过f(x)作用得出结果,而查询的过程就是计算的过程。 中文解释…...

    nasm - BasicWindow_64

    文章目录 nasm - BasicWindow_64概述笔记my_build.batnasm_main.asmEND nasm - BasicWindow_64 概述 学习网上找到的demo. x64和x86的汇编源码还差挺多的。 x64的汇编代码不好写,细节整不对,程序就不运行。 如果要查为啥不运行,也要看和正向…...

    SpringBoot:SSL证书部署+SpringBoot实现HTTPS安全访问

    一、前言 SSL协议介于TCP/IP协议栈的第四层(传输层)和第七层(应用层)之间,为基于TCP的应用层协议(如HTTP)提供安全连接。它通过在客户端和服务器之间建立一个加密的通道,确保数据在传…...

    selenium爬取苏宁易购平台某产品的评论

    目录 selenium的介绍 1、 selenium是什么? 2、selenium的工作原理 3、如何使用selenium? webdriver浏览器驱动设置 关键步骤 代码 运行结果 注意事项 selenium的介绍 1、 selenium是什么? 用于Web应用程序测试的工具。可以驱动浏览…...

    Spark提交任务

    1、Spark提交任务到Yarn 1.1、DwKuduApp spark-submit --class com.io.etl.dwkudu.DwKuduApp \ --files /etl/etl-dwkudu/conf/doris.property,/etl/etl-dwkudu/conf/redis.property,/etl/etl-dwkudu/conf/log4j.property \ --master yarn --deploy-mode cluster \ --driver-…...

    游戏引擎学习第113天

    仓库:https://gitee.com/mrxiao_com/2d_game_2 黑板:优化的基本过程 在游戏编程中,优化是一个非常重要的学习内容,尤其是想要成为专业开发者时。优化的核心是理解代码的执行速度,以及如何提升其性能。在这个阶段,已经…...

    token是什么

    在自然语言处理(NLP)和机器学习的背景下,token 是指模型在处理文本时的最小单位。通常,这个单位可以是单词、字符,或者词的一部分。具体来说,token 的定义取决于你使用的模型和它的分词方式。 举个例子&am…...

    23. AI-大语言模型-DeepSeek赋能开发-Spring AI集成

    文章目录 前言一、Spring AI 集成 DeepSeek1. 开发AI程序2. DeepSeek 大模型3. 集成 DeepSeek 大模型1. 接入前准备2. 引入依赖3. 工程配置4. 调用示例5. 小结 4. 集成第三方平台(已集成 DeepSeek 大模型)1. 接入前准备2. POM依赖3. 工程配置4. 调用示例…...

    IPv6报头40字节具体怎么分配的?

    目录 IPv6报头结构 字段详解 示例代码:IPv6报头的Python实现 输出示例 IPv6协议是为了解决IPv4地址耗尽问题而设计的下一代互联网协议。与IPv4相比,IPv6不仅提供了更大的地址空间,还简化了报头结构,提高了网络设备的处理效率。…...

    驱动开发、移植

    一、任务明确:把创龙MX8的驱动 按照我们的要求 然后移植到 我们的板子 1.Linux系统启动卡制作, sd卡 先按照 《用户手册—3-2-Linux系统启动卡制作及系统固化》 把创龙的Linux系统刷进去。 2. 把TLIMX8-EVM的板子过一遍 把刚刚烧好系统的sd卡插入 创…...

    BFS与Flood Fill:算法原理、实现细节与复杂度分析

    目录 1. 概述 2. BFS 的基本原理 3. Flood Fill 算法 4. BFS 实现 Flood Fill 的步骤 5. C 实现 6. 代码解析 7. 复杂度分析 8. 应用场景 总结 1. 概述 Flood Fill 算法是一种用于填充封闭区域的算法,常用于图像处理、绘图工具和游戏开发中。BFS&#xff08…...

    计算机网络基础杂谈(局域网、ip、子网掩码、网关、DNS)

    目录 1. 简单局域网的构成 2. IP 地址 3. 子网掩码 4. IP地址详解自定义IP 5. IP 地址详解 6. 网关 7. DNS 域名解析 8. ping 1. 简单局域网的构成 交换机是组建局域网最重要的设备,换句话说,没有交换机就没法搭建局域网 交换机不能让局域网连…...

    雷龙CS SD NAND(贴片式TF卡)测评体验

    一、产品概述 近期获赠雷龙科技(Longsto)推出的CS系列贴片式SD NAND存储解决方案,包含两片工业级贴片式NAND芯片(CSNP16GCR01-AOW)及全兼容转接板。该方案支持TF卡形态扩展,实现高可靠性嵌入式存储应用。 …...

    【Alertmanager】alertmanager告警系统原理剖析与应用实战,应有尽有非常全面

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…...

    基础测试工具使用经验

    背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

    Python爬虫(一):爬虫伪装

    一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

    Ascend NPU上适配Step-Audio模型

    1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

    Windows安装Miniconda

    一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

    PHP 8.5 即将发布:管道操作符、强力调试

    前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

    华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

    题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...

    OCR MLLM Evaluation

    为什么需要评测体系&#xff1f;——背景与矛盾 ​​ 能干的事&#xff1a;​​ 看清楚发票、身份证上的字&#xff08;准确率>90%&#xff09;&#xff0c;速度飞快&#xff08;眨眼间完成&#xff09;。​​干不了的事&#xff1a;​​ 碰到复杂表格&#xff08;合并单元…...

    大数据治理的常见方式

    大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法&#xff0c;以下是几种常见的治理方式&#xff1a; 1. 数据质量管理 核心方法&#xff1a; 数据校验&#xff1a;建立数据校验规则&#xff08;格式、范围、一致性等&#xff09;数据清洗&…...

    网页端 js 读取发票里的二维码信息(图片和PDF格式)

    起因 为了实现在报销流程中&#xff0c;发票不能重用的限制&#xff0c;发票上传后&#xff0c;希望能读出发票号&#xff0c;并记录发票号已用&#xff0c;下次不再可用于报销。 基于上面的需求&#xff0c;研究了OCR 的方式和读PDF的方式&#xff0c;实际是可行的&#xff…...

    RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上

    一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema&#xff0c;不需要复杂的查询&#xff0c;只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 &#xff1a;在几秒钟…...