当前位置: 首页 > 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全…...

    龙虎榜——20250610

    上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

    (十)学生端搭建

    本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

    生成 Git SSH 证书

    🔑 1. ​​生成 SSH 密钥对​​ 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​: -t rsa&#x…...

    【HTML-16】深入理解HTML中的块元素与行内元素

    HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

    UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

    UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

    Mac下Android Studio扫描根目录卡死问题记录

    环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

    如何在网页里填写 PDF 表格?

    有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据&#xff…...

    R语言速释制剂QBD解决方案之三

    本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

    Java编程之桥接模式

    定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

    08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

    C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...