ARTICLE DETAIL

资讯详情

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

多节锂电池组监测器设计实战:从原理到量产全解析

多节锂电池组监测器设计实战:从原理到量产全解析 1. 电池包最大的风险从来不是电池本身而是木桶效应先说个我实际遇到的案例。之前帮一个做户外储能的朋友排查故障一组4串的磷酸铁锂电池包才用了不到四个月客户就投诉说容量衰减得厉害原来能跑3个小时的设备现在一个小时就报警。拆开一测四节电芯的开路电压分别是3.31V、3.29V、2.95V、3.30V。三节正常就第三节明显偏低。问题就出在这一节上。4串电池包是串联结构放电电流流经所有电芯容量受限于最弱的那一节——这就是典型的木桶效应。那三节状态还好的电芯不是不能放电了而是被这节掉队的电芯拖住了。如果你不做任何监控继续用它情况会更糟每次放电这节2.95V的电芯会被进一步过放电解质在低电压下发生不可逆分解铜集流体甚至可能溶解并析出枝晶最终导致微短路。而每次充电它又因为容量低先充满其它三节还没满它就进入过充区。过充、过放反复叠加这节电池很快就报废还会拖累整个电池包。这就是为什么单节锂离子电池可以用很简单的保护板而多节串联电池包必须上专门的多节电池组监测器Battery Pack Monitor。单节保护管好自己就行多节串联系统要管的是一致性和状态追踪——你不仅要保证每一节都不越界还要知道整个串联支路里谁在拖后腿谁有提前失效的苗头然后在失控之前把它掐掉。锂离子电芯的化学体系决定了两条硬性红线充电电压上限通常三元锂是4.2V/节磷酸铁锂是3.65V/节和放电电压下限通常三元锂2.5V~3.0V磷酸铁锂2.0V~2.5V。超出这个窗口轻则容量永久损伤重则引发热失控。更麻烦的是这个窗口会随温度、充放电倍率、循环次数动态变化。你要做的不是给它圈一个死板的边界而是要实时监测每一节的电压、温度、电流再把这三路数据综合起来判断电池包处于什么状态。很多人会问我那我把每一节电芯的正负极都引出来用MCU的ADC直接采集电压再用MOS管做保护不也一样吗原理上没错但实操中问题多得多。首先是精度MCU内置ADC一般是12位量程3.3V时分辨率约0.8mV听着还行但参考电压温漂大、采样时序不可控实际误差能做到±10mV就算不错了。而给电芯做均衡和SOC判断需要的是±1~2mV级别的测量一致性。其次多节串联时共模电压很高4串就有16.8V16串能到67V你不可能直接把采集引脚接到MCU上去需要电平转换或隔离。最重要的是单靠MCU软件保护一旦程序跑飞、看门狗失效电池包就裸奔了。而专用监测芯片内置硬件比较器反应时间在微秒到毫秒级不依赖软件就能关断充放电MOS管。这层硬件保护是最后一道防线不是可有可无而是必须冗余存在。所以这篇文章我想从我的角度把这套Battery Pack Monitor系统的原理、选型、设计和实测踩坑完整过一遍给正在做多节锂电方案的朋友一个可参考的路线。2. 电池组监测器的核心职责不只是报警而是四路数据联动很多人以为电池监测器就是一个电压表超压了就叫一声欠压了就切断。如果只是这样那直接用比较器电路就够了根本用不着专门芯片。真正合格的Monitor要做四件事测电压、测温度、测电流、算状态。四条数据缺了任何一条你看到的都只是局部事实而不是电池包的真实处境。2.1 电芯电压采样所有判断的地基电压采样是整个系统的地基。SOC估算、均衡触发、过充过放保护全部依赖电压数据的准确性。所以工业级监测芯片都会把ADC做成专用的高精度逐次逼近型SARADC典型分辨率16位配合内部精密基准源把整组电压测量误差控制在±1mV以内。这里有个容易被忽视的点芯片采的是单节电芯电压但这个电压从哪里取很有讲究。正规做法是每个电芯的正负极都单独引一根采样线到监测芯片而且采样线最好从电芯极柱根部或汇流排的焊接点引出不要从电池连接的螺丝孔引——因为接触电阻在电流通过时会带来压降导致你采到的电压比电芯真实端电压偏低或偏高。高电流工况下几百毫欧的接触电阻就能产生几十毫伏误差这个误差足以干扰均衡判断。还有一个细节是滤波。电芯电压不是纯净的直流充放电时电流纹波、MOS管开关噪声都会叠加在上面。监测芯片输入端通常会要求加RC低通滤波器典型值是100Ω100nF截止频率约16kHz用来滤除高频噪声。但RC时间常数又会影响ADC内部采样电容的充电稳定时间导致测量值偏低。所以很多芯片提供了内部滤波选项实质是修改ADC采样窗口时长。实测中我发现如果PCB上滤波电容取大了比如1uFADC读数会明显偏小需要等足够长的采样时间去补偿。这个坑后面我会专门讲。2.2 温度监测锂离子电池最怕的其实不是高压是高温电压超标是急性病温度超标则是慢性病叠加急性风险。锂离子电池在高温下SEI膜会加速分解并重新生长消耗活性锂导致容量不可逆衰减。温度超过60°C以后正极材料释氧、电解液分解、隔膜收缩这些放热副反应会被逐个激活一旦放热速率超过散热速率就是热失控的起点。绝大多数监测芯片都带NTC热敏电阻接口直接内置一个恒流源给10kΩ NTC供电然后测其分压或压降查表得到温度。问题在于一个电池包十几节电芯你不可能每节都贴传感器通常4~6节共用一个NTC。放在哪里就很关键。我的习惯是三处必放电池包正极侧温度最高的区域通常在正极耳附近、电池包中心区域、以及充电口附近的汇流排。另外监测芯片本身也会测芯片内部温度用于自保护。别小看这个内部温度它能帮你排查PCB布局问题——如果芯片温度比电芯温度高20°C以上说明你的采样电阻或均衡MOS管布局离芯片太近热场耦合严重。2.3 电流采样SOC估算和过流保护全靠它电压只能告诉你静态状态电流才能告诉你动态行为。SOC荷电状态估算里最常用的库仑积分法本质就是对电流按时间积分来跟踪电荷的进出量。如果电流采样不准即使电压测到误差±1mVSOC也会在几十个循环后漂移得不可信。电流采样有两种主流方案低边采样电阻和高边电流检测放大器。电池包监测器一般内置高精度电流放大器配合一个毫欧级的锰铜或合金采样电阻常见5mΩ或1mΩ。采样电阻的选择是系统工程问题阻值大信号幅度大、分辨率高但自身功耗大大电流工况下发热明显阻值小功耗低但信号微弱对噪声和失调更敏感。以100A持续电流为例用1mΩ电阻功耗就是10W这个热量必须被认真对待用0.2mΩ功耗降到4W但满量程信号只有20mV对放大器的要求就上去了。电流信号还有一个关键用途是保护——过流保护和短路保护。硬件比较器把放大的电流信号和阈值比较一旦超限立刻触发保护。响应时间通常在几十微秒这是软件轮询做不到的。短路时电流上升率极高每微秒几安培到几十安培必须靠硬件链路完成关断所以这类芯片的电流比较器链路延迟会被重点标注。2.4 状态计算与均衡控制监测器的大脑部分芯片把电压、温度、电流数据采集上来以后烧录在内部的状态机会自动运行一些基础算法是否触发了过压/欠压/过流/过温/低温保护是否需要开启均衡以及是否允许充电或放电FET导通。这里我要强调一下很多监测芯片内置的自动保护逻辑是可以配置的你可以选择让它自动执行保护动作也可以选择把状态上报给主控MCU、由MCU决定如何处理。设计上我强烈建议涉及安全的立即动作过压、过充电流、短路全部交给芯片硬件自动执行MCU只做记录和人机交互而工况相关的策略动作比如均衡触发、放电功率限制由MCU处理。均衡是多节串联电池包绕不开的话题。被动均衡是目前99%量产方案的选择每节电芯旁边放一个均衡MOS管和放电电阻检测到某节电压偏高时打开对应的MOS管把多余的能量以热量形式泄放掉。放多少、什么时候放这是策略问题但硬件基础就是这一路均衡开关的耐压、最大电流和散热。比如1A均衡电流3.6V电芯电压单节均衡功耗就是3.6W这个热量如果集中在PCB某一点局部温升会非常明显。所以大电流均衡一定要在PCB上铺铜散热或者用多路分时轮询来均摊热量。3. 方案选型实战从BQ769系列到LTC6804到底怎么选确定了要做什么之后就是用什么做。多节电池监测监测前端简称AFE芯片的主流供应商不多TI和ADI原Linear是两大主力。我这些年用下来感觉选型本质上是几组矛盾之间的取舍电芯节数范围、测量精度、通信架构复杂度、成本预算、以及生态工具的成熟度。3.1 TI BQ769系列上手快的均衡派BQ769系列是TI的拳头产品线从经典的BQ769203~5串、BQ769306~10串到BQ769409~15串再到新一代高精度型的BQ76952最高16串铺开了一条相当完整的路线图。这个系列最大的优点是把供电/稳压、测量、保护、均衡、通信集成得很完整外部器件很少一个芯片加几个电阻电容再配一个MCU就能跑起来。对我来说BQ76952是近几年做中低串数8~16串的首选。它改进了ADC架构电芯电压测量精度号称可以达到±2mV以内配合校准内部集成了一次性可编程OTP存储可以把过压、欠压阈值直接烧录进芯片让它在完全没有主控的情况下自己独立保护。这是很多产品做安规认证时必须的特性——你的安全功能不能依赖一颗随时可能跑飞的主控芯片。BQ76952的均衡电流可以配置到几十毫安到几百毫安内部集成了均衡MOS管外部只要加放电电阻。TI还提供了配套的EVM评估板和BQStudio上位机软件配置过程基本是图形化点击对新手非常友好。这套开发体验让TI方案成为从零开始做一个电池包管理板的最快路径。3.2 ADI LTC6804系列高链路的隔离艺术家ADI的LTC6804则是另一条路线。它单颗支持最多12节电芯精度同样是顶尖水准整体测量误差在±1.2mV左右。它的优势场景是超高串数——比如电动车、储能机柜那种几十节到上百节串联的包。LTC6804的杀手锏是菊花链Daisy-Chain通信。多颗芯片首尾相接通过隔离变压器isoSPI接口串成一条链路主控MCU只需要一对双绞线就能访问几百节电芯的电压和温度数据。因为有变压器隔离链路两端没有电气连接不存在地环路和共模干扰问题这也让它在电机驱动、大功率变换器这类电磁环境恶劣的场景里表现得非常稳。代价是配置链路、写驱动、做通信冗余会复杂很多开发板级的调试门槛明显高于TI单芯片方案。3.3 我的选型建议矩阵我没有永远用哪家的习惯更倾向于按项目约束条件来选。下面这张表是我最近几个项目的选型思路供参考项目特征推荐方案理由8~16串、开发周期紧、需要快速量产BQ76952 MCU生态成熟、配置工具好、独立硬件保护16串以上、储能或车辆高电压平台LTC6804/LTC6811菊花链隔离通信天然抗干扰、链路可扩展低成本小家电、4~6串BQ76920 低端MCU外围最少、价格低、够用多串且需要片上诊断断线检测等BQ79616系列内置诊断功能强、AEC-Q100车规这里我特别想提醒的一点是不要只看芯片单价一定要把整体物料成本开发成本认证成本算进去。BQ76952芯片确实比老一代贵一点但它的内部稳压器简化了电源设计OTP省掉了外置EEPROM高精度ADC省掉了校准工序这些都是隐性成本。我见过不少团队选了一个便宜的芯片结果在外围电路、校准软件开发上多花了几倍的时间和人力。工程选型永远是总拥有成本最优而不是BOM价格最低。4. 从原理图到量产搭建多节锂电池监测系统的实操细节选好芯片画好原理图这只是开始。我做了几个项目以后发现这套系统真正的坑全在细节里。下面把我认为对量产影响最大的几个环节逐一拆开讲。4.1 电压采样线的滤波参数一个决定精度的小环节先看监测芯片的典型数据手册推荐电路每节电芯采样脚串联一个电阻如100Ω对地接一个电容如0.1μF这个RC构成的低通滤波器把电芯引线上的高频纹波滤掉。但很多人不知道这个RC的取值会直接影响ADC的采样精度。为什么因为ADC是采样型器件采样瞬间它内部的采样电容会从RC电路抽取电荷。如果外部滤波电容太小采样电容抽走的电荷就会让引脚电压瞬间下降ADC读到的是一个被拉低的电压。增大外部电容可以缓解这个问题但过大的电容又会让充电时间常数变长——在某个采样窗口内电容电压还没充到稳态就被读走同样导致读数偏低。所以这个RC的取值本质上是在滤波效果和采样建立时间之间做权衡。我的实测做法是先用数据手册推荐值打样再用精密电压源逐节校准。正常情况下BQ76952在默认配置下每节电芯测量误差应该在±2mV以内。如果你发现某一节误差明显偏大优先检查该节对应的滤波电容是否虚焊、容值是否贴错其次检查采样线是否被充电电流的强磁场耦合出感应噪声。还有一个容易被忽略的点采样电阻和电容必须就近放在芯片引脚旁边如果放远了会引入寄生电感在高频噪声下产生振铃。4.2 充电和放电MOS管的驱动与闩锁问题电池包的功率通路通常是电池组正极→充电/放电共用或分立的MOS管→负载/充电器接口。监测芯片只输出低电平/高电平的控制信号真正的功率开关是外置MOS管。MOS管选型和驱动电路设计直接决定了保护动作是否可靠。很多初次做电池保护的人会忽略一个现象MOS管的寄生体二极管。如果充电MOS和放电MOS共用一组背靠背连接那么在某一个方向体二极管是自然导通的——这意味着即使你关断了MOS管电流还是能通过体二极管流过去保护失效。所以商用电池保护板必然采用背靠背拓扑两个MOS管的源极相对连接这样无论哪个方向都有一个MOS管的体二极管处于反向阻断状态真正实现了双向关断。驱动方面监测芯片给出的驱动信号通常要经过一个推挽三极管或专用栅极驱动芯片才能带动大功率MOS管。这里有个实际的坑当电池电压很低比如欠压保护前接近放空驱动电压不足MOS管不完全导通工作在线性区导通电阻变大发热急剧增加。如果你用栅源极耐压只有±20V的MOS管而电池组满电电压超过20V比如6串满电25.2V驱动电路的稳压或分压设计就必须特别注意。我见过一次冒烟事故就是设计者直接拿电池组电压去驱动栅极结果高压下栅氧化层击穿MOS管瞬间短路整组电池直接通过负载短路成了烤炉。这个细节在我心里是绝不能犯级别的问题。4.3 电流采样电阻的开尔文连接电流采样电阻只有几个毫欧姆它两端的电压信号在几十到上百毫伏级别。如果你的PCB走线直接把大电流路径和采样走线混在一起铜箔的电阻每平方英尺约0.5mΩ就会叠加到采样信号上产生严重的测量误差。正确做法是开尔文四线连接大电流走线从采样电阻的两端焊盘经过而电压采样信号从靠近电阻本体的专门采样焊盘引出两条采样线尽量平行贴近走线形成电压采样不流经大电流路径的布局。这样采样线路上没有电流流过理想情况下测到的电压就纯净地等于采样电阻上的压降。我在实际项目中还发现采样电阻的焊盘布局对称性也很重要。如果两个功率焊盘不对称电流在电阻体内分布不均等效电阻会随电流变化——这会导致SOC库仑积分在大小电流交叉工况下出现系统偏差。高精度方案甚至会用两个采样电阻并联加均流铜条来保证一致性。对大多数应用来说做到PCB走线对称、开尔文采样精度已经足够。4.4 断线检测与连接器可靠性经常被忽视的最后一米多节电池包的采样线通常通过连接器连接到监测板连接器端子数量动辄十几二十个。振动环境下端子接触不良、采样线折断是现场故障高发区。如果某节电芯的采样线断了监测芯片读到的是什么往往是0V或者一个随机的悬空电压如果软件没有做断线检测就会把它误判为电芯严重欠压进而触发错误保护——电池包直接停摆。幸好现代监测芯片都内置了断线检测功能原理是往采样线灌一个已知的小电流然后测量电压是否在合理范围内。如果线路断开了电压会明显异常。BQ76952内部就有关键测试模式可以通过周期性地开启诊断板载恒流源检测采样线上的压降从而识别断线故障。这个功能必须在固件里周期调用而不是只在开机时测一次——因为断线很多是运行过程中出现热胀冷缩、振动、氧化都可能让接触逐渐劣化。5. 实测踩坑记录四个让我印象深刻的雷区这一节不按教科书顺序就按我真实项目里踩到的坑来回忆。有些问题是我花了几天才排查出来的写出来希望大家能提前避开。5.1 上电时序先接电池还是先接主控第一次做BQ76952方案时我以为这块芯片耐造直接把整块板子焊接好接上8串电池电压就上电调试。结果芯片发热严重电流异常。排查了半天发现问题是上电顺序电池采样线先接入芯片芯片的供电轨REGIN还没建立此时芯片处于完全未初始化的意外状态内部ESD保护二极管或寄生通路导通了电流从高压采样脚倒灌进内部电路。正确做法是先保证主控和芯片的电源域正常建立再接入电池采样线或者至少设计成芯片的REGIN输入电阻从电池组直接取电保证芯片自身先上电。以后我在所有原理图里都会特意加一个上电时序设计芯片供电从第一串电芯最低一节取电这样只要接了电池芯片就有电而采样线通过连接器后接保证电池接入时芯片已经完成初始化这样才能避免倒灌。5.2 采样读数的漂移不是芯片坏是电路自热一次高低温测试中我发现室温下校准好的电压测量在持续大电流放电30分钟后某几节读数明显偏大误差从±2mV漂到了±8mV。起初怀疑是电芯真实电压因为内阻和极化上升了但用高精度万用表并联测量发现万用表读数正常芯片读数偏大。最后定位到是电路自热问题采样电阻在大电流下升温它的阻值温漂锰铜约±50ppm/°C铜镍合金更低一些导致实际压降改变了而芯片内部的增益校准还是按室温下的阻值算的。另外PCB上铜箔温度升高也会改变参考地的等电位造成共模误差。这个问题的根解是要么选用温漂更低的采样电阻合金要么在固件里做温度补偿——把NTC测到的采样电阻温度代入修正公式。很多高端监测芯片支持外接温度传感器做采样电阻补偿这是量产方案里值得开启的选项。5.3 均衡功能的假触发电压测量噪声导致动态均衡被动均衡的工作原理是对比各节电压找出最高的一节把它放掉。如果电压测量本身带噪声比如±3mV的随机波动均衡策略就会在相邻两节之间来回切换这节高了放这节过一会儿那节高了又放那节。结果是均衡MOS管频繁开关放电电阻反复冷却加热均衡效率极低还白白消耗电池能量。解决思路有两个层面。硬件上把均衡触发的滞回区间设大一点比如电压差大于10mV才开启均衡小于5mV才关闭软件上用滑动平均或中值滤波把电压读数平滑后再送入均衡决策。我自己在固件里用的是一阶低通滤波filtered alpha * raw (1-alpha) * filteredalpha取0.2效果很好均衡动作变得干净利落。如果你用了硬件自动均衡模式优先检查芯片配置寄存器里的均衡迟滞参数是否合理。5.4 过流保护的误动作电机启动瞬间的假短路电池包给直流电机、变频器这类感性负载供电时启动瞬间会有数倍于额定电流的浪涌持续时间几十毫秒。如果你把过流保护阈值设得太贴近额定值负载每次启动都会触发保护电池包反复重启客户体验极其糟糕。正确设计是让保护链路具备两级响应硬件快速比较器负责极短时间内的短路保护比如电流超过300A立即关断响应微秒级而软件或芯片内部的另一个慢速比较器负责持续过流保护比如电流超过150A但持续时间超过2秒才触发保护。这本质上是幅度-时间二维保护曲线和保险丝的I²t特性思路一致。很多监测芯片的电流保护寄存器里有一个保护延迟参数就是干这个用的。实测中我的经验是先测清负载在启动、堵转、锁死等工况下的真实电流波形再设计保护阈值用示波器电流探头记录比拍脑袋设参数可靠得多。6. 校准、产测与长期可靠性的工程化经验实验室里跑通只是第一步真正决定项目成败的是量产阶段怎么保证每一块板子的测量精度都合格、每一组电池包出厂状态都一致。6.1 电压校准产线上的最小二乘拟合即使是16位ADC芯片与芯片之间的失调电压和增益误差依然存在。数据手册上的精度指标通常是校准后的所以产线必须做校准。校准流程并不复杂用一个高精度可编程直流源模拟不同电压状态比如每节3.0V、3.7V、4.2V三个点对每节电芯通道读取ADC原始值然后做两点或三点最小二乘拟合把增益和偏移系数写入芯片的OTP或外部EEPROM。我特别提醒校准要在接近实际工作温度的环境下进行。25°C校准的板子在-20°C环境可能出现几十毫伏的偏差因为电阻、基准源的温漂都会叠加进去。如果成本允许做高低温两点校准效果会好很多。6.2 产测项目不能只测能不能开机电池管理板的产测项目应该包括各节电压采样精度与标准源比对、温度读取用标准电阻盒模拟NTC阻值、电流通道偏移零输入时读数、均衡MOS管开关功能通过外部负载电流检测、保护触发点逐步加压/加流直到动作、通信链路I2C/SPI读写回环。这些项目每项都要有明确的上限/下限判据自动化测试脚本直接标红标绿。我在产测里踩过一个印象很深的坑一块板子所有功能测试都通过但客户装机后反馈电池显示不充电。最后发现是充电MOS管的驱动信号在特定电压下被内部稳压器拉低导致MOS关断但芯片状态位没上报。这个bug只在充电器接入、同时电池电压在某一区间时才会触发普通产测根本覆盖不到。从那以后我的产测项里增加了边界电压扫描——把电压源调到充电阈值上下各100mV区间验证保护逻辑的迟滞区间是否正常。这类边界问题往往是量产可靠性的大敌。6.3 长期可靠性睡眠电流与老化策略电池包在储能产品里是长期待机的监测板和主控的静态功耗会直接影响电池的自放电速度。好的监测芯片在深度睡眠模式下耗电可以压到几微安但主控MCU如果一直在跑整个系统的静态功耗就不可能低。工程上通常让MCU大部分时间处于停机模式通过监测芯片的唤醒中断或低功耗定时器周期性醒来采集一次数据、刷新一下状态、再睡回去。长期可靠性的另一个关键是老化筛选。电池包出厂前做24~48小时的充放电老化不仅是验证容量更是利用监测数据挑出掉队电芯——那些在老化过程中容量衰减明显偏快的电芯应该直接剔除否则装到客户手里迟早出问题。有了监测芯片的全过程数据记录这个筛选就能自动化看每节电芯的满充电压、放空电压、内阻增量这几个参数用统计方法做异常检测。7. 最后聊聊我现在的方案取舍习惯把前面这些经验沉淀下来以后我现在的做法很固定凡是8~16串的锂电项目默认走BQ76952加一颗低功耗MCU的路线电压采样用RC滤波加固件滤波均衡电流按0.5A设计并做好散热铺铜保护阈值按幅度-时间二维曲线整定产测覆盖边界电压扫描。凡是超过16串的储能或车辆平台认真评估LTC6804菊花链方案把通信诊断能力和隔离设计做足。对于刚开始做电池包监测的开发者我的建议是先别急着上高串数。拿一块4-6串的板子练手把电压精度、均衡逻辑、保护响应和校准流程全部跑通再往高串数扩展。这套系统的复杂性不在芯片本身而在于电池是一个非线性、时变、强耦合的化学对象——你得学会尊重它的物理规律而不是只盯着寄存器里的数字。另外想说一句不管你的量产成本压力多大保护链路上该花的钱不能省。采样电阻、功率MOS管、隔离器件、连接器这些直接关系到安全的东西选便宜的往往会在现场事故里把省下的钱加倍赔回去。电池包这东西一旦出事不是设备损坏那么简单是实实在在的安全隐患。这是我做了这么多项目以后最想强调的一点。
返回列表