ARTICLE DETAIL

资讯详情

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

多通道电芯模拟与测试双平台:BMS测试痛点的破解之道

多通道电芯模拟与测试双平台:BMS测试痛点的破解之道 做BMS和保护板测试的工程师十有八九都经历过这种场景测试四串电芯的过充保护手头三台单通道电源加一堆电阻箱几个人围着台架轮流拧电位器好不容易把四个通道电压拉到预设值第一个通道早就飘出去了。测完一组数据下一次复现又要重来一遍。真实电芯一致性差、手动操作不可控、实验结果没法复现这是电芯模拟这个需求一直存在的根本原因。IT2600多通道电芯模拟与测试双平台的发布我关注的重点不是又多了一台多路电源而是它把模拟电芯和测试电芯两套能力放进了同一个平台。这篇文章不打算复读规格书而是从实际使用的角度拆一拆多通道到底解决了哪些真实痛点双平台意味着什么现场怎么接线、怎么验证、有哪些坑。1. 电芯模拟为什么非得多通道不可1.1 真实电芯测试的不可复现性困局用真实电芯做BMS测试最大的问题不是电芯不够多而是电芯本身是一个时变的、不一致的、不可控的对象。先说一致性。同一批出厂的电芯内阻、容量、自放电率都有离散性。串联在一个Pack里的电芯可能某一串容量偏低循环几十次之后电压就会提前掉下来。你测出来的过充保护动作电压到底是BMS的判定阈值还是电芯个体差异导致的很难分清。再说可重复性。真实电芯一旦经历过充、过放特性就永久改变了。你没法把一组电芯恢复到测试前的状态。BMS的过充保护测试如果每次都要拿新电芯来做成本和时间都扛不住。更头疼的是极端工况的模拟。真实电芯很难精确停在某个电压点比如你想让四串电芯分别在3.850V、3.852V、3.848V、3.851V下观察BMS的均衡策略靠真实电芯基本做不到。就算勉强调到这个状态电芯自放电也会让电压在几分钟内漂移。1.2 多通道模拟器把电芯变量变成了程序变量IT2600这类多通道电芯模拟器的核心逻辑是把原本不可控的电芯对象抽象成一组可以编程的电压源/电流源/温度源。每个通道相当于一块虚拟电芯。你可以给它设定开路电压、内阻、温度特性可以在毫秒级内把电压从3.8V改写为4.2V。这个操作不依赖电芯化学体系随时可以精确复现。多通道的意义更体现在串联电芯组的场景。BMS管理的是一串电芯各个电芯的电压是串联叠加的。IT2600的通道之间是电气隔离的每个通道都可以浮地输出这样就能直接搭出一个N串虚拟电芯组各通道电压独立设置互不干扰。用真实电芯做串联测试时你想让第三串电压比其它串低200mV来验证均衡动作需要手动给第三串放电用模拟器只需要在软件里把第三通道的设定值改掉。这个差异直接改变了测试效率。1.3 多通道带来的同步能力单通道电源拼凑的方案还有一个隐藏问题通道之间没有同步机制。你依次设置四通道的电压从第一通道设到最后中间可能有几百毫秒的时间差。BMS的采样频率通常是几十到几百赫兹这个时间差足以让BMS看到一个不平衡的中间态导致误触发保护或均衡。IT2600的多通道架构支持对多个通道同时执行电压改写。这就模拟了电芯组整体的状态跳变比如模拟整组电芯从3.7V一起跳到4.2V各通道是同步完成的。对BMS而言它看到的是一个真实的、物理上可能的串联电芯组状态而不是一个由测试设备时序造成的伪异常。2. 双平台拆解一台设备怎么同时干模拟和测试两件事2.1 平台一电芯模拟平台这半部分解决的是替代真实电芯的问题。IT2600的模拟平台首先是一个多通道的精密电压源。每个通道能输出0到5V或0到6V视具体型号的电芯电压分辨率可以做到0.1mV量级。对BMS测试来说0.1mV的电压分辨率意味着你可以精确找到过充保护的动作阈值而不是用万用表量到小数点后四位还在跳。但电芯模拟不只是电压。BMS还要读温度。真实电芯的温度检测通常通过NTC热敏电阻实现——BMS输出一个上拉电压NTC的阻值随温度变化BMS根据分压结果换算温度。IT2600的模拟平台能够在对应通道上模拟NTC电阻值你可以在软件里把某个通道的温度从25℃改到60℃BMS那边就能读到对应的NTC分压变化。这比用电烙铁烤热敏电阻靠谱得多。此外电芯模拟还涉及通信。很多锂电池组内部有SMBus或I2C通信用于传输电量计信息。IT2600这类设备的部分型号会在模拟端支持电池通信协议的模拟让BMS不仅读到电信号还能读到虚拟电芯通过通信上报的SOC、健康度等信息。2.2 平台二电芯测试平台另一半解决的是测量真实电芯的问题。IT2600的测试平台本质上是一套多通道电芯测试仪。把真实电芯接到通道上可以测量开路电压、在放电过程中的电压变化、直流内阻以及通过充放电循环计算容量。这听起来和普通电池测试柜没什么区别但关键在于它与模拟平台是一体的。你在测试平台拿到一条真实电芯的OCV-SOC曲线可以直接把这条曲线导入模拟平台让虚拟电芯复现这颗真实电芯的电压特性。这样后续的BMS测试就不需要再依赖这颗真实电芯了但BMS感受到的电气特性与真实电芯完全一致。我举一个实际用法。客户做BMS的SOC估算算法验证需要反复测试同一个SOC状态下BMS的电量计是否准确。用真实电芯每次都要把电芯充放电到目标SOC耗时几十分钟。用IT2600先在测试平台测出电芯的OCV曲线然后在模拟平台设置对应的SOC状态点几秒钟就能切换。同一个测试跑一百遍都能保持初始条件完全一致。能力模拟平台测试平台核心定位替代真实电芯作为DUT的激励源测量真实电芯特性作为数据来源典型输出电压、电流、NTC温度、SOC状态电压回读、电流记录、内阻计算主要应用BMS保护测试、均衡测试、算法验证电芯分选、特性曲线采集、容量标定与另一平台的关联导入测试平台获取的特性曲线导出曲线供模拟平台复现2.3 双平台的硬件基础双平台不是软件上做个切换开关就能实现的。模拟平台要求每个通道有精密的DAC、低漂移的基准源、快速响应的功率级测试平台要求高分辨率ADC、四线测量能力、恒流/恒压放电回路。这两套硬件做进同一台设备互相之间还要电气隔离对结构设计和热设计都有要求。实际使用中这种双平台设计最大的好处是省掉了一台独立的电芯测试仪。实验室台面不用堆那么多设备计量校准也只需要对一台设备进行管理成本更低。但我要补一句IT2600的测试平台不是要取代专业的分容柜。如果你的产线需要同时测几百个电芯做分容那还是得用大规模分容设备。IT2600的测试平台定位在研发实验室和试产阶段胜在精度、灵活性和与模拟平台的联动而不是通道数量。3. BMS测试系统搭建IT2600这样接最靠谱3.1 保护板过充/过放测试的最简接法以最常见的4串锂电池保护板测试为例。把IT2600的前四个通道当作四节串联电芯通道1的负极接保护板B0通道1正极接B1通道2负极接B1以此类推通道4正极接B4。保护板的P和P-接电子负载同时把保护板的通信口接到上位机或调试工具。接线结束之后在上位机软件里把四个通道都设为3.8V、打开输出。用万用表量B0到B4之间的电压应该看到3.8V、7.6V、11.4V、15.2V的阶梯值。然后开始做过充测试把通道1的电压从3.8V以0.1V步进往上调每个步进停留2秒观察保护板在哪个电压点切断充放电。IT2600的电压分辨率能让你把保护板的过充保护阈值定位到10mV以内。这里有个接线上的细节做充放电保护测试时电子负载和模拟器要形成完整的回路。模拟器的通道输出的是电压本身也能吸收和输出电流但如果保护板在过充保护动作的瞬间切断回路模拟器的输出端可能会出现电压尖峰。建议在DUT供电端加一个较大容量的电解电容吸收保护动作瞬间的浪涌避免损坏模拟器的输出级。3.2 串联电芯组的通道隔离与共地检查多通道电芯模拟器最常见的错误用法是把所有通道的负极统一接到同一个地。这在单通道电源并联使用的时候是惯例但在电芯串联模拟时是致命的。真实电芯组是串联的不存在所有负极共地的接法。如果IT2600的通道之间没有隔离你按串联方式接线时某个通道的输出端和另一通道的地之间就会出现电位差轻则测量不准重则烧毁采样电路。使用前务必在手册里确认通道间隔离开压等级。典型的多通道电芯模拟器通道之间隔离耐压通常设计为几百伏足以覆盖几十串电芯串联的场景。但隔离不等同于可以任意接线串联接法下也必须保证每个通道的输出电压相对于本通道的参考地是正确的。我建议在第一次接线时做一次绝缘检查把各通道输出全部关闭用万用表电阻档测量通道1正极与通道2负极之间的电阻应该不通或只有高阻。如果直接导通说明接线方式有问题。3.3 温度模拟端子怎么接IT2600的NTC模拟端子对应的是BMS上的温度检测引脚。大多数BMS的NTC检测原理是MCU内部或外部上拉电阻连接到NTC一端NTC另一端接地形成一个分压器。IT2600模拟NTC电阻时需要把两个端子分别接到BMS的NTC检测点和地。重点来了NTC的规格要和BMS固件里配置的匹配。常见的NTC是10kΩ25℃B值3435或3950。如果IT2600的温控输出配置成10kΩ值但BMS固件里写的是100kΩ规格温度读数就会完全错乱。接线前先确认BMS使用的NTC规格在IT2600软件里选择对应的B值曲线。我在实际使用中还会做一步验证把IT2600的NTC模拟设为25℃对应的10kΩ用万用表量BMS的温度采样点对地电阻确认是10kΩ然后再通过软件把温度改为60℃量阻值是否按NTC曲线下降。这一步验证能排除大部分接线错误。3.4 通道数不够多台级联的同步方案IT2600单台设备的通道数如果不够用比如要测16串BMS就需要多台级联。级联的关键是同步。多台模拟器如果各自独立运行通道改写的时间点不一致对被测BMS来说仍然是看到了伪异常状态。IT2600支持通过同步总线把多台设备锁定在同一个时钟基准下上位机下发一条指令所有级联设备在同一个时刻执行电压变更。级联同步的接线要注意主干和支路的概念。同步总线用菊花链方式连接第一台的同步输出接第二台的同步输入第二台再接第三台。不要用星型连接把所有设备接到交换机上那样同步延时无法保证。实测下来两台级联16通道的同步偏差在微秒级对BMS测试来说完全够用。如果你接完发现通道电压跳变有明显的先后顺序优先检查同步总线是否接对、是否启用了主机模式。4. 实测复现用STM32CubeMX配置ADC多通道DMA同时巡检IT2600的8路输出4.1 为什么要从设备外部做独立巡检IT2600自己是有回读功能的上位机软件能直接读到每个通道的输出电压。但工程上有一个原则验证设备自身功能时尽量用一个独立的测量系统做交叉验证。我用STM32做了一个简单的巡检板用STM32的ADC多通道DMA采集功能同时监测IT2600的8个通道输出电压。这个方案成本低、搭建快而且能验证IT2600各通道之间的隔离和串扰情况。如果你想做类似验证下面这套基于STM32CubeMX的配置流程可以直接参考。4.2 CubeMX配置ADC扫描模式、连续转换、DMA循环我的目标是用一个ADC外设扫描8个通道通过DMA直接把转换结果搬运到内存数组CPU不参与中断处理一次性拿到所有通道的采样值。在STM32CubeMX里操作步骤如下**第一步选择ADC的通道引脚。**以STM32F407的ADC1为例选择通道0到通道7对应的引脚将PA0到PA7配置为模拟输入。**第二步配置ADC参数。**在CubeMX的ADC1设置里Scan Conversion Mode改为Enabled这是多通道扫描的基础Continuous Conversion Mode改为Enabled让ADC在DMA搬运期间持续转换Number Of Conversion设置为8DMA Continuous Requests改为Enabled在ADC的DMA设置里添加ADC1的DMA请求模式设为Circular数据宽度设为Half Word。这里比较容易踩坑的是DMA模式。如果设成NormalDMA搬运完一轮8个数据就停了你必须在中断里重新启动容易丢数据。设成Circular之后DMA会一直循环搬运缓存数组里的数据始终是最新的一轮扫描结果CPU只需要在需要的时候读取数组。**第三步配置ADC采样时间和时钟。**采样时间建议设长一些比如84个周期或以上。ADC采样时间太短输入端的采样电容充不满测出来的电压偏低且不稳定。对于巡检电芯模拟器这种低速直流信号不需要追求高采样率稳定优先。第四步生成代码。生成代码之后在main函数里启动转换/* 定义8通道的采样缓存 */ #define ADC_CH_NUM 8U uint16_t adc_buf[ADC_CH_NUM]; /* 启动ADC多通道DMA采集 */ HAL_ADC_Start_DMA(hadc1, (uint32_t *)adc_buf, ADC_CH_NUM);启动后adc_buf数组会被循环更新。adc_buf[0]对应规则组转换序列第一个通道也就是你在CubeMX里配置的注入序列顺序adc_buf[7]对应第八个通道。4.3 电压换算与实测数据对比ADC采集到的原始值是0到4095的数字量12位分辨率需要换算成实际电压float ref_voltage 3.295f; /* 实际测得的VDDA参考电压 */ float v_per_lsb ref_voltage / 4095.0f; /* 如果输入有分压电阻还需要乘以分压系数 */ float v_in (float)adc_buf[0] * v_per_lsb * 2.0f;需要注意STM32F4的VDDA参考电压并不是精确的3.3V不同板子在3.28V到3.32V之间波动。如果直接用3.3V作为参考电压计算最后换算出来的电压可能有几十毫伏的误差。对巡检IT2600 0.1mV分辨率的输出来说这个误差不能忽略。最稳妥的办法是用万用表实测板子的VDDA把这个值写进代码里。我实际做过一组对比IT2600八个通道分别设定为3.600V、3.650V、3.700V、3.750V、3.800V、3.850V、3.900V、3.950V用STM32万用表同时测量。IT2600设定值(V)万用表实测(V)STM32巡检结果(V)偏差(mV)3.6003.60023.5981-2.13.6503.65013.6486-1.53.7003.70033.6984-1.93.7503.75023.7485-1.73.8003.80043.7987-1.73.8503.85033.8486-1.73.9003.90023.8984-1.83.9503.95043.9486-1.8STM32巡检结果整体低约2mV这个偏差主要来自参考电压校准和分压电阻的精度不影响巡检用途。关键是八个通道的相对偏差一致性很好说明IT2600各通道之间的输出稳定没有明显的通道间串扰。如果想提高外部巡检的精度可以不用片内ADC改用外置的ADS1262之类的24位ADC。但片内ADC做日常巡检、长期漂移监测性价比和复杂度是最合适的。5. 装机测试第一周踩过的坑5.1 通道共地问题导致采样板冒烟我第一次用IT2600搭建6串BMS测试环境时习惯性地把六个通道的负极全部接到了公共地。结果一上电BMS的电压采样芯片直接冒烟了。原因很简单串联电芯组的B2点相对于公共地的电位已经是3.7V了。当通道2的负极和通道1的负极都被拉到公共地BMS的前端采样电阻回路就出现了意外的对地通路电流超过了采样芯片的承受能力。这个问题的排查过程很有代表性。刚开始我以为是BMS采样板焊接有短路把板子拆下来重新焊了一遍问题依旧。后来拿万用表逐一量各通道负极之间的电阻才发现是设备端已经把通道负极连到了一起。去查手册确认这款设备的通道之间是隔离设计的但我的接线方式让隔离彻底失效了——我在设备输出端外部把所有负极短接到了一起。正确做法每个通道单独浮地只在BMS的B0点电芯组最低电位点建立唯一参考地。其它通道的负极分别接BMS的采样节点不要做任何外部共地。5.2 Remote Sense没接大电流下电压偏差超出预期做保护板限流测试时保护板从模拟器拉2A电流。此时IT2600的显示电压和BMS读到的电压差了接近40mV。这个偏差来自线缆压降。2A电流流过1米长的测试线按导线电阻0.05Ω算压降就有100mV实际因为接插件触点电阻大概在40mV左右。BMS读到的电压是电芯端的实际电压而模拟器输出端测到的电压包含了线缆压降两者自然对不上。解决办法是接Remote Sense远端采样线。IT2600的每个通道都配有采样端子把采样线直接接到BMS的电压采样点设备内部会自动补偿线缆压降。还有一个经验采样线一定要走独立的路径不要和功率线绑在一起。采样线上没有大电流但功率线上的di/dt会在采样线回路里感应出噪声绑在一起会导致采样电压跳动。采样线用双绞线靠近被测点再接入效果最好。5.3 NTC模拟输出和真实NTC的温漂差异做高低温循环测试时把IT2600的NTC模拟值从-20℃到60℃循环变化BMS读到的温度曲线呈现出阶梯状跳变而不是平滑变化。排查后发现IT2600的NTC模拟是基于数字电位器或DAC加电阻网络的方案它的输出分辨率是一格一格的对应温度变化也是台阶式的。对大多数BMS来说这个台阶幅度不大因为BMS的ADC分辨率本身也有限但如果温度变化速率设得太快粒度问题就会暴露。解决方案把温度变化速率放慢每次步进0.5℃、停留200ms再变下一档。模拟出的温度曲线就更接近真实NTC的连续行为。另外不要在NTC模拟器输出端并联额外电容BMS的ADC采样瞬间会对NTC网络充电电容过大会导致温度读数滞后。5.4 动态响应不足导致BMS误判一个客户拿IT2600做BMS的放电末端测试模拟电芯从3.5V快速跌到3.0V。BMS在一半的时候误报了过放保护但设置的过放阈值明明是2.8V。分析波形发现IT2600在响应电压跳变指令时输出端有一个暂态过程电压不是瞬间从3.5V到3.0V而是先下冲一点再回调。下冲的深度触及了BMS的过放阈值导致保护误触发。这不是设备故障而是电芯模拟器的动态响应特性与真实电芯有差异。真实电芯在负载突变时因为电化学极化效应电压变化相对平缓模拟器为了实现快速响应输出级带宽较高反而容易产生暂态过冲。这类问题的处理思路是在模拟器软件里主动控制电压变化速率设置压摆率限制。IT2600的上位机软件里通常有Output slew rate或电压斜坡时间设置把它设为100ms/V到500ms/V之间让电压变化贴近真实电芯的物理特性。这个参数不匹配比接线错误隐蔽得多也是最容易让工程师误判BMS本身有问题的地方。5.5 多台级联时通道编号和实际物理位置对不上两台IT2600级联成16通道之后上位机里显示的CH17在物理上可能位于第二台的CH1。这个映射关系如果不整理清楚编写测试序列时极容易搞错把本该加到第9串电芯的电压加到了第1串。我的做法是拿到设备后第一时间做一次通道映射表把每台设备、每个物理通道、上位机逻辑通道号、对应的BMS采样点四列对应关系写在实验记录里并贴在测试台旁边。看似笨办法但比在软件里反复试错省十倍的调试时间。另外一个容易忽略的点级联后各通道的同步性虽然由同步总线保证但不同设备因为开机时间、温度差异回读校准值可能略有不同。建议在每次实验前做一次全通道归零校准把模拟器所有通道输出设为0V通过上位机记录各通道的零点偏移作为本次实验的本底值。写在最后IT2600这类多通道电芯模拟与测试双平台设备真正改变的不是测试台架上设备的数量而是测试方法论让电芯从不可控的被测对象变成可控的、可编程的、可归零的测试条件。BMS算法验证、保护阈值标定、均衡策略调优这些工作终于可以在完全一致的初始条件下反复进行。如果你正在搭建BMS测试环境我的建议是先别急着铺满通道。买一台8通道的设备花两周时间把模拟平台的电压精度、NTC模拟、级联同步这些基本功摸透再决定是否需要扩展到更多通道。测试仪器从来不是通道数越多越好而是越能贴合你的被测对象越好。IT2600的通道间隔离和双平台联动是它区别于普通多路电源的核心差异把这两个特性用足才算把这台设备的价值发挥出来。
返回列表