动力电池系统介绍(十)——电压采样

一、采样概述

BMS的采样一般说的是对电压、温度、电流的采样,所以我们说的采样模块一般包含电压温度采样模块和电流采样模块(图片来源于网络)。

电池管理系统的组成

  • 电压温度采样模块的数量和位置一般根据实际电池模组情况去设置,基本的功能是完成对电池电压和温度的采集,通常是通过电池采样芯片(AFE)完成的;
  • 电流采样模块一般是一个或两个(如果有功能安全要求的话一般设置至少两个),负责对电流的采集,通常是通过霍尔传感器和分流器完成的。
    由于采样包含的内容比较复杂,所以这次我们以电压采样作为切入点简单讲一下大致的原理。(由于水平有限,难免有错,烦请帮忙指出纠正,共同进步!)

二、采样精度

在实际应用中,国家标准和主机厂都会对采样芯片的采样精度有一定的要求。在GB/T 38661-2020 《电动汽车用电池管理系统技术条件》中,对于锂离子电池的精度要求如下:

参数精度要求
总电压±1%FS
总电流±2%FS
单体电压±0.5%FS,且最大误差的绝对值应不大于10mV
温度±2℃(-20℃ ~ 65℃)、±5℃(-40℃至-20℃、65℃ ~ 125℃)
绝缘电阻相对误差-20% ~ +20%(总标称电压≥400V)、-30% ~ +30%(总标称电压<400V)
SOC5%(可外接充电的纯电动汽车)、20%(不可外接充电的混动汽车)

一般来说,主机厂的要求都会比标准的严格不少,比如单体不超过3mV/5mV,电流不超过±1%FS之类,一般能量密度越高的电池,对于采样精度要求越是严格,就需要采样精度更高的采样芯片。

三、采样芯片

3.1 采样芯片选取

在BMS里面,AFE(analog front end)专指电池采样芯片,用来采集电芯电压和温度等。
不同系列的芯片硬件资源不同,最主要的不同点在于采样通道的数量、内部ADC的数量、类型和架构。
目前可供选择的一些AFE如下表(图片来源于微信公众号“新能源BMS”)。
采样芯片
选择AFE需要考虑到需求,而需求主要来源于两个部分:国内外标准以及客户;我们需要根据项目的实际情况去选择合适的AFE。之前我们的项目中比较常见的是LTC系列的AFE,它们的单体采样误差能做到5mV以内。
目前可以参照的标准是上面第二节提及的GB/T 38661-2020 还有行标QC/T 897-2011。标准规定的要求不是很严苛,基本都是必须满足的条件。在GB/T 38661-2020中还对测试条件做了说明:
在这里插入图片描述
来自客户的需求就比较琐碎了,其中影响AFE选择的主要就是电池模组的配置。例如一共几个模组,一个模组几串几并,采样精度需要多高,温度点数量需要几个,功能安全需求等级等等。
由于采样芯片的最大电压通道数是不连续的分布(6/12/18),所以需要选择合适的通道数量进行匹配,做到既不浪费也不勉强。
如果采样通道数量不够,还可能会涉及到跨模组采样,会把铜牌上的压降一起采回来,这需要采样通道可以承受住负压,并且需要做额外的电压补偿,根据项目不同采取的补偿方式也有可能大相径庭。

3.2 采样芯片中的电压采样原理

3.2.1 采样频率选择

以采样芯片LTC6811为例,简单说明一下ADC相关的内容:
LTC6811中有两个16位的ADC芯片,需要通过设置寄存器参数,去选择合适的过采样频率(一般由软件工程师去设置相关底层寄存器参数,normal mode是7kHz):
采样模式选择
采样频率

3.2.2 采样原理介绍

LTC6811中的采样芯片是Delta-Sigma(Σ-Δ)型 ADC。
常见的ADC有Σ-Δ与SAR型,关于他们的区别可以参考: SAR ADC和sigma delta ADC的区别
Delta-Sigma(Σ-Δ)ADC可以达到很高的精度,通过过采样、数字滤波器消除量化噪声实现高分辨率,适用于低频模拟信号的高速率高精度采样。
下图是芯片手册中截取的调解过程图:
采样芯片原理图
以上的调制过程与以下的模型对应:通过Delta Sigma调制器把输入信号Vin(模拟)调制成方波形式的PCM信号。
Delta Sigma调制器拓扑图
关于这种类型的ADC,推荐两个个人感觉相对比较容易理解的链接:
采样调制过程可参考: Σ-Δ ADC的高精度数模转化,是如何实现的?
采样原理方面可参考: 模拟IC设计——sigma delta ADC原理分析

除了基本的采样功能,一般来说采样芯片还能进行采样故障诊断,芯片手册中比较详细地介绍了一下诊断的原理。目前因为接触得比较少,怕误导大家,所以这部分就先不展开说明了,如果有兴趣可以多跟底软的同事多请教学习。

3.2.3 采样芯片中推荐的电压采样电路

电池单体通过串联的方式依次叠加,采样芯片的采样通道也按照次第的顺序往上叠加,然后通过经典的RC滤波电路来实现电池单体电压采样。以下是LTC6811芯片手册中推荐的电路及其推荐RC值。
LTC6811推荐电路

四、电压采样偏差

第四章节内容摘取自微信公众号“新能源BMS”,侵删。
在下面的采样电路简图中,r代表电芯的内阻和电芯铜排连接阻抗之和;Rc代表连接器的接触阻抗与外部采样线束的阻抗之和;Rm代表厂家推荐的采样通道串联电阻;Ri代表AFE内部的等效电阻。r一般是µΩ级别,Rc一般是mΩ级别,Rm是100Ω到10KΩ,Ri是MΩ级别。
采样电路简图

4.1 Rc造成的采样偏差

Rc是采样线阻抗与连接器的接触电阻之和,它最恶劣的情况是开路,但一般AFE都有断线检测机制,可以识别出来此故障;另外一种情况就是连接不良,此时阻抗可能很大,需要格外注意。当Rc可以和Ri比拟时,就会对电芯进行分压,进而造成电压采样结果出现偏差。
Rc
这种情况在日常测试中也经常出现,比如在使用电池模拟工装时,如果工装上同一个通道,并联接入很多采样线束的话,就很容易出现采样偏差,原因就是接触不良。
另外,即使Rc接触良好,我们也要注意一种情况,就是AFE的供电线内与采样线公用问题。具体如下图,因为AFE需要由电芯供电,电流大概为10mA左右,如果它与采样线共用一根线,就会在Rc上面呢有个压降,可能会造成采样偏差。
电源分压
所以很多产品实际单独走了一条线,用来供电,如下图;除此之外还有一条供电地线。这样操作可能会引入另外一个问题,就是断线检测正确识别问题,需要特别确认。
单独走线

4.2 Rm造成的采样偏差

Rm是采样通道上的串联电阻,一般厂家会有推荐范围;厂家的推荐值可能是从三方面进行考虑的:
(1)设置固定的滤波截止频率,匹配AFE内部的滤波采样电路与时间,实现高精度;例如ADI推荐的Rm为100Ω,TI推荐的是100Ω~1KΩ,NXP推荐的更大。
(2)AFE通道的漏电流问题,如果漏电流大的话,Rm一定不能太大,否则会在Rm处产生足以影响采样精度的压降
(3)热插拔防护。

4.3 Ri造成的采样偏差

Ri是指AFE采样通道内部的等效电阻,厂家可能还会以通道漏电流的形式给出。它的大小直接影响采样精度,因为它与Rm乘积就是通道上面的压降;
下图分别是TI/ADI /NXP规格书中漏电流的标称值,如果想在电路中加稳压管进行热插拔防护的话,一定要选择好稳压管的漏电流。
AFE通道漏电流

### BMS单体电压检测故障的原因及解决方法 #### 故障原因分析 BMS单体电压检测故障可能由多种因素引起,主要包括硬件和软件两方面的问题。以下是常见的故障原因: 1. **传感器连接问题** 如果电压采集线路存在松动、断裂或接触不良的情况,则可能导致无法正确获取单体电压数据[^3]。 2. **采样电路故障** 由于BMS中的ADC(模数转换器)或其他信号处理元件损坏,可能会导致单体电压读取不准确或完全失效[^2]。 3. **初始化错误** 在系统上电初期,如果未能成功完成自检流程,某些单体电压的数据可能被标记为无效,从而触发故障报警。 4. **外部干扰** 高频电磁场或其他电气噪声可能影响电压采样的准确性,进而引发误报[^1]。 5. **软件算法缺陷** 软件逻辑设计不合理也可能造成对正常工作状态下电池参数的错误判断。例如,在极端条件下未充分考虑边界情况下的数值波动范围。 #### 解决方案 针对上述提到的各种潜在成因,可以采取以下措施来排查并解决问题: 1. **检查物理接线状况** - 对所有涉及电压测量的相关导线进行全面细致地审查,确保无任何破损现象发生; - 利用万用表验证各节点间的实际连通性以及阻抗值是否处于合理区间内。 2. **更换受损元器件** - 若发现特定通道对应的模拟前端芯片确实已经损毁,则需及时替换新的合格产品; - 同时也要注意重新校准新安装设备的各项性能指标以满足整体系统精度需求。 3. **优化启动过程配置** - 修改固件代码使得即使个别单元初次未能通过检验也能给予一定次数重试机会而非立即判定失败; - 增加额外的时间延迟以便让整个回路达到稳定后再做最终决定。 4. **增强抗噪能力** - 添加滤波网络降低外界杂散信号对于内部精密运算的影响程度; - 应用屏蔽技术减少临近强功率源带来的串扰效应。 5. **改进程序架构** - 定期更新现有版本修复已知漏洞的同时还要不断测试新增功能是否存在隐患; - 引入更先进的预测模型辅助评估当前健康水平有助于提前预防可能出现的风险事件。 ```python def check_voltage_fault(voltage_readings): """ Function to detect and handle voltage faults based on readings. Args: voltage_readings (list): List of individual cell voltages Returns: str: Diagnostic message indicating fault status or normal operation """ threshold_low = 2.0 # Example low limit value [V] threshold_high = 4.2 # Example high limit value [V] if any(v < threshold_low for v in voltage_readings): return "Single Cell Voltage Too Low Fault Detected" elif any(v > threshold_high for v in voltage_readings): return "Single Cell Voltage Too High Fault Detected" else: return "All Single Cell Voltages Within Normal Range" # Example usage with hypothetical data points voltages = [3.7, 3.8, 3.9, 4.3] # Simulated battery pack measurements including one out-of-range reading result = check_voltage_fault(voltages) print(result) ```
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ca_mille

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值