第4章:BMS深度解析:电池采样与核心算法

各位同学,今天我们聊BMS。说实话,BMS是储能系统的“大脑”,也是我入行时啃得最久的一块硬骨头。你想想看,几百节电池串在一起,任何一节出问题,整个系统都可能崩掉。所以,这一章我们重点拆解三个核心模块:采样、估算、均衡。

4.1 电池采样:电压、电流、温度

采样是BMS的“眼睛”。数据不准,后面所有算法都是白搭。我个人习惯把采样分成三个维度来讲。

4.1.1 电压采样

电压采样有两种主流方案:

  • 分立式电阻分压:成本低,但精度受温度影响大。我早期在48V系统上用过,温漂能到±5mV,后来再也不敢用了。
  • 专用AFE芯片:比如TI的BQ79616、ADI的LTC6811。这些芯片内部集成了高精度ADC和隔离电路,精度能做到±1mV以内。
我的经验: 采样线一定要用差分走线,远离大电流回路。我曾经因为布线不当,导致采样值跳变,排查了整整两天。

4.1.2 电流采样

电流采样直接关系到SOC估算的准确性。主流方案有两种:

方案 原理 精度 成本
霍尔传感器 磁电效应 ±1%
分流器 欧姆定律 ±0.1%

分流器精度高,但存在功耗和发热问题。霍尔传感器无接触损耗,但零点漂移是个坑。我建议:大电流系统用霍尔,小电流系统用分流器

4.1.3 温度采样

温度采样看似简单,其实最容易出问题。NTC热敏电阻是主流选择,但要注意:

  • 采样点位置:电芯正负极、模组中心、散热风道口
  • 采样频率:至少1Hz,热失控时需提升到10Hz
  • 滤波处理:滑动平均滤波,窗口大小建议5-10个点
避坑指南: 我曾经遇到NTC引线过长导致采样延迟,热失控报警晚了3秒。后来规定采样线长度不超过30cm。

4.2 SOC/SOH估算算法

SOC是电池的“剩余电量”,SOH是电池的“健康状态”。这两个参数,说白了就是BMS的核心输出。我见过太多项目因为SOC不准,导致系统提前停机或者过放。

4.2.1 安时积分法

安时积分法是最基础的方法。公式很简单:

SOC(t) = SOC(0) - ∫(I(t) / Q) dt

其中Q是电池容量,I(t)是实时电流。但这里有个致命问题:积分误差会累积。电流采样误差、时间漂移、容量衰减,都会让SOC越来越偏。

我记得有一次做储能电站调试,安时积分跑了3天,SOC从100%漂到了120%。嗯,这就是典型的“积分漂移”。

4.2.2 卡尔曼滤波

卡尔曼滤波是解决积分漂移的利器。它本质上是一个“预测+校正”的过程:

  1. 预测阶段:根据电流积分预测SOC
  2. 校正阶段:用电压测量值修正预测值

核心代码实现如下:

// 卡尔曼滤波核心步骤
// 1. 状态预测
x_pred = A * x_est + B * u;
P_pred = A * P_est * A' + Q;

// 2. 卡尔曼增益计算
K = P_pred * H' * inv(H * P_pred * H' + R);

// 3. 状态更新
x_est = x_pred + K * (z - H * x_pred);
P_est = (I - K * H) * P_pred;

这里Q是过程噪声协方差,R是测量噪声协方差。调参是个手艺活,我一般先用仿真数据跑一遍,再在实际系统上微调。

关键点: 卡尔曼滤波对计算资源要求较高。在嵌入式MCU上实现时,建议用浮点运算单元(FPU),或者用定点数近似。

4.2.3 SOH估算

SOH估算相对简单,主要看容量衰减和内阻增加:

  • 容量法:SOH = Q_current / Q_initial × 100%
  • 内阻法:SOH = (R_eol - R_current) / (R_eol - R_initial) × 100%

我建议两种方法结合使用。容量法需要完整的充放电周期,内阻法可以在线估算。实际项目中,我们通常以容量法为主,内阻法作为辅助验证。

4.3 均衡策略:被动均衡 vs 主动均衡

均衡是BMS的“平衡木”。电池串联使用,容量最小的那节决定了整个系统的可用容量。均衡的目的,就是让所有电芯“齐步走”。

4.3.1 被动均衡

被动均衡的原理很简单:把高电压电芯的能量通过电阻放掉

  • 优点:电路简单、成本低、可靠性高
  • 缺点:能量浪费、发热严重、均衡速度慢

被动均衡的电流通常在50mA-200mA之间。我见过一个项目,均衡电阻温度到了85℃,差点烧了PCB。后来我们加了散热片和温度保护。

4.3.2 主动均衡

主动均衡是把高电压电芯的能量转移到低电压电芯。常见方案有:

方案 原理 效率 成本
电容飞渡 电容作为能量中转 70-80%
电感式 电感储能转移 85-90%
变压器式 多绕组变压器 90-95%

主动均衡效率高,但控制逻辑复杂。我建议:小系统(12-16串)用被动均衡,大系统(16串以上)用主动均衡

我的经验: 均衡策略不要一直开着。我一般设置均衡启动阈值:电压差>20mV时启动,<5mV时停止。这样可以减少不必要的能量损耗。

4.4 本章知识体系

下面这张图总结了BMS的核心逻辑:

BMS核心功能架构图 采样模块 电压采样(AFE芯片) 电流采样(霍尔/分流器) 温度采样(NTC) 估算模块 SOC估算(安时积分+卡尔曼) SOH估算(容量法+内阻法) 状态预测与校正 均衡模块 被动均衡(电阻放电) 主动均衡(电容/电感) 均衡策略控制 数据 控制 输出与保护 SOC/SOH上报 | 均衡指令 | 故障报警 反馈校正 注:三个模块通过CAN/SPI总线通信,采样频率≥1Hz,均衡周期≥10s 经验总结:采样是基础,估算是核心,均衡是保障。三者缺一不可。

这张图把BMS的三个核心模块串起来了。采样模块提供原始数据,估算模块算出SOC/SOH,均衡模块根据结果执行动作。三者通过总线通信,形成一个闭环控制系统。

总结一下: BMS设计没有银弹。采样精度、算法复杂度、均衡效率,三者需要权衡。我建议初学者先从被动均衡+安时积分入手,跑通后再逐步升级到卡尔曼滤波和主动均衡。

好了,这一章的内容就到这里。下一章我们聊PCS变流器的控制策略,那是另一个有意思的话题。


公众号:蓝海资料掘金营,微信deep3321