利用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(…...
计算机网络基础杂谈(局域网、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全…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
