ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Battery Pack Monitor:多节锂电池组监控方案与均衡保护实践

Battery Pack Monitor:多节锂电池组监控方案与均衡保护实践 前面做储能BMS调试的时候手里的12串磷酸铁锂电池组出现过一次险情三串电芯因为长期不均衡电压差拉到接近300mV其中一串已经顶着过充保护线在跑。要不是监控板上独立的二级保护IC兜底那组电池大概率要鼓包报废。从那时候起我对电池组监控的重视程度就完全不一样了。今天想聊的正是多节锂离子电池组里那块容易被忽略、却又关键时刻救命的电池组监控方案也就是标题里说的Battery Pack Monitor。它解决的核心问题很直接通过电压、电流、温度三路采样、均衡管理和保护动作让每一节电芯都待在安全区间内避免整组电池因为单体失效而报废甚至出事。这个内容适合所有做电池包、储能、电动车或者自己DIY电池组的工程师和电子爱好者参考。多节锂电池的监控和保护听起来像是一个“加几个芯片、写几行配置”就能搞定的事但真正做过一轮完整的选型、设计、调试、认证之后你会发现里面的门道远比想象中多。尤其是从“能测电压”到“能可靠保护”这个跨越中间隔着的不是一两个坑而是一整套工程方法论。这篇文章我会从设计思路、核心架构、实操流程、常见排错四个维度展开把我自己踩过的坑和验证过的方案一次性讲透。1. 多节锂电池组为什么必须配监控先算一笔安全账1.1 一致性问题的本质木桶效应不只是短板很多人第一次接触电池组监控时都会有个疑问整组电池的电压都能量到为什么非要一节一节去测答案就藏在“一致性”这三个字里。串联电池组在充放电回路里电流是相同的看起来每节电芯“经历”完全一样的状况。但电芯出厂时容量有偏差、内阻有偏差、自放电率有偏差使用中还有温度梯度带来的额外差异。这就像一队人抬水虽然大家步调一致往前走但每个人的体力消耗并不一样走一阵之后有人已经快扛不住了队伍表面还是整齐的。放到电池组里这个“扛不住”的电芯就是最先过充或者最先过放的单体。整组电压到14.4V时4串磷酸铁锂充满可能其中三串已经3.7V、某一串还在3.3V也可能反过来某一串已经顶到3.75V另外三串只有3.55V。如果只看整组电压你永远不知道哪一串正在危险边缘。所以多节电池组监控的第一要务是做到电芯级cell-level采样。没有这个基础后面谈均衡、谈保护、谈寿命预测都是空中楼阁。1.2 从“能用”到“好用”监控与保护是两个层面的问题标题里有两个关键词Monitor和Protects。这两个词看着相近实际是两个层面的设计。监控是“看”保护是“做”缺一不可。监控做的事情包括采集每串电压、回路电流、多点温度计算荷电状态SoC和健康状态SoH控制均衡开关把数据通过通信接口上报给主控。这一层是“感知层”负责让你知道电池组现在是什么状态。保护做的事情则要直接得多一旦检测到过压、欠压、过流、短路、过温等故障直接切断充放电通路把故障电芯和外部回路隔离开。这一层是“执行层”不需要等MCU处理也不依赖软件逻辑复杂判断越快越好。我做项目时有一个原则监控芯片可以做得智能但保护链条必须有独立硬件兜底。什么意思就是主控MCU死机了、监控IC通信异常了最坏情况下还有一级独立的纯硬件保护IC在盯着每串电压一旦超过安全阈值直接拉断回路。这个设计的思想叫“纵深防御”本质是接受“任何单点都可能失效”的现实然后在关键路径上多留一道保险。1.3 失效场景速览过充、过放、过流、过温既然要建保护就得先搞清楚要防什么。多节锂电池的主要失效模式我用一张表汇总异常类型典型危害监控保护策略过充析锂、正极结构破坏、内短路风险过压保护切断充电MOS过放铜枝晶析出、容量不可逆衰减欠压保护切断放电MOS过流/短路发热、连接件熔断、热失控过流/短路保护快速断开过温SEI膜分解、热失控温度保护降功率或断开这里面过放导致铜枝晶的机理很多人容易忽略。负极电位被拉到铜溶解电位以下时负极集流体上的铜会开始溶解进入电解液下次充电时铜离子又会沉积回负极表面形成针状枝晶。这些枝晶一旦刺穿隔膜就是内短路后果非常严重。所以“过放之后充满继续用”这种操作实际是在给电池埋雷。这些失效场景不是单靠某一个电路就能全部覆盖的它们分别涉及电压采样、电流采样、温度采样三条链路以及对应的执行机构。这也是为什么一个看似简单的监控板做深了之后会牵扯出非常多细节。2. 监控板的核心架构采样、保护与控制怎么分工2.1 电压、电流、温度三路采样的工程细节先说电压采样为什么不能拿普通ADC直接测。多节串联电池组的最高点对地电压可能高达几十伏甚至上百伏普通单片机的ADC输入范围只有3.3V或者5V直接接上去芯片直接烧掉。而且你要量的是每一节的电压不是对地电压。实际方案有两种。低端做法是用精密电阻分压把每串电压分到ADC能接受的范围再用模拟开关切换通道逐节测量。这个方案便宜但精度受分压电阻温漂影响大而且切换速度慢抗干扰能力一般。高端做法是用专用的模拟前端芯片内部集成高压多路开关和高精度Sigma-Delta ADC芯片引脚直接接电池串联节点内部逐节完成差分采样精度可以做到±1mV以内。滤波环节也特别容易翻车。每路采样输入对地放置的滤波电容我一般用100nF到1μF的MLCC位置要尽量靠近芯片采样引脚。这个电容的作用有两个滤除开关切换时产生的毛刺以及滤除电源线上的高频噪声。如果你把电容放在离芯片很远的地方中间走线绕了一大圈等效串联电感会直接毁掉滤波效果采样数据还是会跳。电流采样方面最常见的两种拓扑是低边采样和高边采样。低边采样电阻串联在电池负极和系统地之间因为共模电压低可以用便宜的运放进行放大电路也简单。但代价是系统地会被动态抬高如果PCB布局没做好容易出现地弹噪声影响其他模拟电路。高边采样电阻放在正极侧共模电压高需要专用的高边电流检测放大器成本更高但不会扰动系统地信号质量更干净。还有一个很多新手忽略的点SoC估算依赖的库仑计本质上也是在电流采样基础上做时间积分。因为积分会累积误差所以库仑计不能永远只靠自己算需要定期用开路电压法OCV做校准。这个我们到排错部分再细说。温度采样看起来简单就是NTC热敏电阻配分压电阻接ADC读电压。真正的坑在探头布置位置。我之前有过一次教训把NTC贴在PCB上、靠近功率MOS的位置结果测到的温度比电芯实际温度高了20多度。后来才意识到NTC要贴到电芯表面最好是极耳附近或者电芯最热的区域而不是贴在板上测板温。温度采样点的数量也要跟串数匹配8串以下建议至少2个采样点串数越高采样点要越多同时最好有一个环境温度传感器做基准参考。2.2 均衡算法被动均衡为什么依然是主流均衡是所有电池组监控方案里“看起来简单、做起来纠结”的部分。多节串联后电芯之间的容量差、自放电差、内阻差会让电压慢慢拉开如果放任不管整组可用容量会被最低那一节卡死这就是木桶效应。均衡就是为了把电芯电压重新“拉齐”。被动均衡的原理最简单粗暴把电压偏高的电芯通过一个并联电阻放电把多余的能量以热量形式耗散掉直到它跟最低电芯接近。优点是电路简单、控制逻辑清晰、不涉及磁性元件和高压开关成本非常低可靠性也高。缺点是能量被白白浪费而且均衡电流不能太大否则发热扛不住。主动均衡则把能量从高电压电芯搬运到低电压电芯效率更高理论上能实现“无损均衡”。但问题在于实现主动均衡需要电感、电容或者变压器拓扑复杂控制算法难调任何一路开关时序出错都会导致能量回流或短路。我做过一版主动均衡的评估板从画图到调稳定花了将近两个月最后还是因为成本和故障率问题放弃了。所以现实项目中被动均衡依然是绝大多数BMS方案的默认选择。它确实不完美但它在“够用、便宜、可靠”这个三角里找到了一个很好的平衡点。均衡电流怎么选这里给一个可以照抄的计算思路。假设电芯最高电压3.6V目标均衡电流50mA那么均衡电阻R 3.6V / 0.05A 72Ω标称选75Ω。电阻功耗P 0.05A × 3.6V 0.18W如果PCB散热条件一般建议直接选1/2W的电阻留足降额空间。均衡电流不是越大越好50mA到100mA是常见区间小了起不到收敛效果大了发热严重板子局部温度会飙升反而影响采样精度。均衡开启的时机也很关键。我的经验是在充电末期和静置阶段做均衡效果最好。充电末期电芯接近满电电压差最能反映容量差静置阶段电流小、干扰少均衡动作不会和充放电电流叠加。放电阶段不建议均衡因为此时低压电芯本来就危险还把高压电芯的能量放掉只会让整组可用容量进一步缩水。均衡不是直接把所有电芯拉到同一个电压值而是把最高单体降到合理区间尽量避免做无用功。2.3 保护触发链路的可靠性设计保护电路是整个监控方案里“平时用不上、用上必须救命”的部分。我习惯把保护链路拆成两级来看。第一级是监控IC内部的主动保护。芯片在采集到异常电压或电流后通过内部的比较器和延时逻辑直接驱动外部MOS管关断。这一级是可以配置的比如过压保护阈值设多少、延时几百毫秒、是否需要自动恢复。它的优点是灵活可以根据电芯类型随时调整参数缺点也很明显它依赖监控IC本身正常工作。如果芯片坏了、程序跑飞了、配置寄存器被改乱了这级保护就形同虚设。第二级是独立于主控和监控IC的硬件保护。常见方案是单独用一颗纯硬件比较器型保护IC不跟MCU通信只盯着关键电压阈值。一旦触发直接驱动一次性的熔断器比如化学熔断器或者第二组MOS把回路彻底断开。这级保护一旦动作往往需要人工干预才能恢复但这也正是它存在的意义宁可系统停机也不能在故障状态下反复通电扩大风险。保护MOS的驱动设计有个常见的坑。充放电MOS不能简单用一个开关信号控制因为电池充放电需要双向导通控制充电过压时应该断开充电MOS但放电通路可以保留放电过流时应该断开放电MOS但充电通路可以保留。实现上有两种做法一是用背靠背串联的两个MOS管利用体二极管极性实现双向开关二是用逻辑控制两个独立MOS。前者在电动工具、便携设备里很常见后者更多见于大功率储能场景。延时参数的设计也需要仔细权衡。过流保护延时设太短电机和感性负载启动瞬间的大电流会误触发保护延时设太长真正的短路故障会烧毁线束和连接器。我一般把持续过流保护设到1.5倍额定电流、延时2秒短路保护设到4倍以上额定电流、延时小于100微秒。前者抗浪涌后者保命两套参数分开配置不能混为一谈。3. 从选型到调试一个多节电池组的完整实操流程3.1 芯片选型对比从TI到ADI的一次梳理市面上的电池组监控芯片方案说多不多说少不少真正用得多的基本就是几款。我自己在不同项目里用过TI、ADI和国产方案选型时的对比维度主要看串数支持、采样精度、通信接口、保护集成度和资料丰富程度。芯片方案串数支持通信接口电压采样精度集成保护典型场景TI BQ7695216串I2C/SPI中等±5mV级完整保护均衡驱动储能、两轮车、便携设备ADI LTC681112串SPI菊花链高±1mV级需外置保护IC配合汽车BMS、高串数储能国产SH367系列16串I2C中等完整保护均衡驱动电动工具、小储能BQ76952的优势是集成度高保护、均衡、ADC都做进去了外围器件非常少尤其适合时间紧、人手少的项目。而且TI的文档、应用笔记、参考设计非常全遇到问题基本都能在社区里搜到答案。缺点是精度不算顶级对SoC估算要求极高的场景会有点吃力。LTC6811的优势是采样精度高、支持菊花链通信可以通过一根隔离线把多个芯片串联起来特别适合几十串甚至上百串的场景。缺点是保护功能需要额外搭配保护IC设计复杂度更高成本也上去了。如果你做的是车规级项目或者大储能这颗很合适。还有一个国产替代方向像中颖电子SH367系列胜在成本低、交期好很多电动工具和消费级产品在用。性能上完全够用但文档相对简单遇到问题更多时候得靠自己对芯片手册的理解。选型这件事我给一个实操建议按串数留出20%的余量。比如现在做8串方案优先选能支持10串甚至12串的芯片。等你想把8串升级到10串的时候不用重新画板省下的时间和打板成本非常可观。3.2 硬件调试流程含参数配置要点选完芯片、画完板子、贴好板回来调试的时候千万不要一上来就接真电池组。我见过太多同行的失误第一次上电就把采样板烧了原因基本都出在接触不良打火和接错线序上。我自己的标准流程是这样的第一步光板验电。不接任何电池用稳压电源给监控板单独供电检查所有电源轨电压是否正常芯片的待机电流是否在合理范围。这个时候可以用万用表量一下芯片的VREF基准电压跟规格书比对确认芯片基本工作状态没问题。第二步采样链路自检。很多监控IC会提供自检功能芯片内部可以生成一个已知的测试电压注入到ADC输入端你只需要通过寄存器把自检模式打开然后读取转换结果就能确认ADC通道是不是好的。这一步能帮你快速排除焊接虚焊的问题省去逐个通道排查的功夫。第三步通信联调。用MCU或者USB转I2C适配器连接监控芯片读芯片的ID寄存器和版本号确认通信地址、时序和电平都正常。如果读不到ID优先检查通信引脚的上拉电阻、电平转换电路和芯片供电。第四步用可调电源模拟电池组。把多路可调电源串联起来分别设置成不同的电压值模拟电池组各串的电压差异然后逐一比对寄存器读出的数据和万用表实测值。这一步是整板校准的关键环节。第五步保护动作验证。用可编程电子负载拉电流或者用可调电源直接输出超压值触发保护条件用示波器同时抓取保护信号和MOS驱动波形确认保护响应时间符合设计预期。保护阈值的配置不同电芯体系差别非常大。磷酸铁锂平台电压低过充保护一般设3.65V过放保护设2.5V三元锂电池平台电压高过充保护设4.25V过放保护设2.8V。这个参数只能做参考方向具体数值一定要按电芯规格书来定不同厂家同一体系电芯的耐受极限也有明显差异。保护参数磷酸铁锂典型值三元锂典型值过充保护电压3.65V4.25V过充释放电压3.45V4.05V过放保护电压2.5V2.8V过放释放电压2.9V3.0V持续过流保护1.5倍额定延迟2s1.5倍额定延迟2s短路保护4倍额定延迟100μs4倍额定延迟100μs除此之外还有一个经常被忽略的配置释放阈值。保护触发之后电压恢复到什么程度才允许重新接通。这个参数不能设得太低避免保护后在故障电压附近反复“触发—恢复—触发”形成振荡。一般过充释放电压要比保护值低0.2V左右过放释放电压要比保护值高0.2V以上。3.3 功能验证与校准出厂前必须做的测试如果你只是给自己DIY做一块板子校准可以手动量一量、改一改。但如果是做批量产品校准流程必须自动化否则几十片板子靠人手根本忙不过来。校准的核心是把ADC读数映射到真实物理量。每串电压通道因为PCB走线电阻、芯片内部增益偏差会引入固定偏移和增益误差。校准方法很直接用高精度电压源给每一串输入标准电压比如3.000V、3.600V、4.200V三点读取芯片ADC转换值通过线性拟合得到每个通道的增益和偏移系数写回芯片的校准寄存器。电流采样校准同样要拉固定电流。用电子负载分别拉额定电流的25%、50%、75%、100%记录电流采样值拟合出电流转换系数。如果电流采样电阻的温漂比较大建议在常温和高温度点分别做一次标定生成温度补偿曲线运行时按实测温度查表插值。SoC初始校准也是一定要做的。新组装的电池组在出厂前至少要做一次完整的充满、放空循环以此校准库仑计的初始容量和自放电补偿系数。不做这一步的话SoC显示不准的问题会在用户那边持续暴露而且后面校正起来非常麻烦。下线测试EOL环节我建议把过压保护、欠压保护、过流保护、短路保护、过温保护、均衡功能六项全部做成自动化测试脚本。用一个工装夹具把电池组和监控板连接起来由PC通过程控电源和电子负载模拟各种故障状态判定是否在设定时间内产生正确保护动作测试结果自动记录到条码系统。这个前期投入不小但能显著降低客诉率。4. 常见故障与排查实录这些坑我替你踩过了4.1 电芯电压跳变先别怀疑芯片电压采样读数无规律跳变是我在项目里遇到最多的“疑难杂症”。表现为某几串电压每几百毫秒跳一下幅度几十毫伏严重时直接触发虚假的过压保护。排查这问题的时候我见过太多人上来就怀疑芯片坏了或者软件滤波没写好。实际上绝大部分电压跳变都出在采集链路的物理层采样线束的端子压接不良、连接器针脚氧化、PCB焊盘虚焊、采样线走线过长且没有做滤波。我的排查顺序是先用万用表直接在电池极柱上量电压确认电芯本身电压稳定然后在板端连接器处量确认电压是否在线束传输过程中被干扰最后再读AFE寄存器值跟万用表读数对比。这样能快速定位问题出在电芯端、线束端还是芯片端。如果是采样线过长引入的干扰最直接的解决办法是缩短走线或者把采样线做双绞处理。同时在每一路采样输入对地加100nF电容也能明显改善。这里有一个细节电容要靠芯片采样引脚放不要放在连接器附近否则滤波效果大打折扣。4.2 菊花链通信不稳的排查思路串数比较多的系统会用菊花链把多颗监控芯片串起来比如LTC6811的菊花链隔离通信。这个方案在大规模BMS里很好用但也容易出通信问题。典型的现象是上位机偶发丢帧有时候隔几分钟报一次通信超时。排查菊花链问题我一般按四个方向去查。第一是用示波器抓通信波形看信号边沿是否陡峭、有没有明显的过冲或者振铃如果波形畸形先解决布线问题。第二是尝试降低通信速率如果速率降下来就稳定那基本是信号完整性不足需要优化板间连接。第三是检查隔离电源的纹波如果隔离电源输出纹波超过50mV会给通信信号造成很大干扰。第四是检查板间连接排线的质量我之前用了一款劣质排线通信频繁丢帧换了一款带屏蔽的排线之后问题直接消失。这里特别提醒一句菊花链板间通信的地参考必须通过隔离芯片建立不能图省事直接共地。否则串联电池组高压侧的共模电压会直接冲击低压侧系统轻则丢帧重则烧芯片。4.3 保护误触发的典型场景与参数修正保护误触发最常出现在感性负载场景比如电机、电磁阀、泵等设备启动瞬间的浪涌电流。我有一个客户的项目12串电池组带一个直流电机电机启动瞬间电流是额定电流的3倍左右持续约50毫秒。如果过流保护阈值恰好比这个值低就会导致一启动就被保护断电设备完全没法用。这个问题的解决思路不是简单调高阈值而是要区分“持续过流”和“瞬时浪涌”。我的做法是把过流保护做成两段式持续过流保护阈值设1.5倍额定电流、延时2秒短时过流保护阈值设3倍额定电流、延时100毫秒到500毫秒。这样电机正常启动不会被误切而电路真正出现持续过载或短路时保护依然能在合理时间内动作。还有一类误触发来自温度保护。前面提到NTC位置影响很大如果NTC布置错误导致温度读值偏高会造成频繁的过温保护。这个问题的排查也很直观用点温枪实测NTC处的实际温度再对比芯片读的换算温度看偏差有多少。偏差超过5度就要检查NTC分压电阻是否焊错、NTC型号是否和配置一致。4.4 均衡开启但压差不见收敛均衡功能看起来是最不会出问题的模块就是通过MOS把电阻并联到电芯上嘛。但实际项目中均衡“开了等于没开”的情况我遇到过好几次。第一种情况是均衡MOS的驱动配置没生效。很多芯片的均衡驱动通道默认是关闭的需要在寄存器里单独使能而且每个通道是独立控制的。如果只写了一个总开关没把对应通道的使能位打开均衡根本不会工作。第二种情况是均衡电阻虚焊或者PCB散热焊盘短路。如果均衡功耗在小范围发热经常会把电阻焊盘的焊锡吸走形成虚焊。排查时用热像仪或者点温枪扫一遍每个均衡电阻的温度正常工作的电阻应该明显比周围环境热。第三种情况是均衡窗口电压设置有问题。有些芯片会设定一个均衡窗口只有电芯电压落在这个窗口内才允许均衡。如果电芯整体电压偏低或者窗口设置得太窄均衡就会一直无法进入工作状态。我在批量测试时会专门把均衡测试做成一个独立工步用调压源让某一串电压比其它串高150mV然后手动强制打开该串均衡2分钟后检查电压是否回落。这个测试能快速暴露驱动、MOS、电阻和算法四层的问题。最后再分享一个自己后来一直保留的习惯任何一块监控板从第一版打样开始就坚持把校准流程做成脚本化。手动调一次两次可以同一批板子如果每片都手工校准既慢还容易出错。我后来用一个小脚本配合程控电源和万用表20分钟就能把一片16串板子的所有采集通道校准完还能自动生成报告。这个投入在批产时省下的时间非常可观。采集线束的端子压接也值得多说一句。建议用专用的压线钳按厂家扭矩要求压不要随手用老虎钳捏一下。端子松动引发的采样跳变排查起来真的要命。多节电池组的监控看似就是一块小板子实际上从选型、布局到校准每个环节都是坑希望这篇文章能帮你少走点弯路。
返回列表