3. 电池管理系统(BMS):核心功能、均衡策略与SOC估算方法

聊到户用储能,BMS 绝对是灵魂部件。没有它,电池包就是一堆随时可能出问题的电芯。

我经常跟客户打比方:BMS 就像电池的贴身管家兼保镖。它既要管着电芯别过充过放,还得实时汇报还剩多少电。今天咱们就把它掰开揉碎了讲清楚。

3.1 BMS 的核心功能:不止是保护板

很多人以为 BMS 就是个保护板,其实远不止。我拆解过几十款户用储能产品,总结下来,核心功能就这四块:

  • 数据采集:实时监测每串电芯的电压、总电压、充放电电流、温度。精度要求很高,电压误差得控制在 ±5mV 以内。
  • 状态估算:核心就是 SOC(剩余电量)和 SOH(健康度)。这个后面细讲。
  • 安全保护:过充、过放、过流、短路、过温、低温,任何一个触发,BMS 必须毫秒级切断回路。
  • 均衡管理:让电芯之间电压保持一致,避免木桶效应。

我个人习惯:选 BMS 时,先看采样芯片的型号。比如用 TI 的 BQ76952 或 NXP 的 MC33771,基本靠谱。用国产通用芯片的,得仔细测一下温漂。

这里我画了一张功能架构图,帮你理清逻辑关系:

BMS 核心功能架构图 BMS 主控 数据采集 电压/电流/温度 状态估算 SOC / SOH 安全保护 过充/过放/过温 均衡管理 被动/主动 输出:充放电控制指令 + 通信数据 CAN / RS485 通信 继电器 / MOSFET 驱动

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

电芯天生就有差异。哪怕同一批次出厂,内阻、容量也不可能完全一样。充放电几百次后,差异会越来越大。

这就是为什么需要均衡。说白了,就是让强的等一等弱的。

3.2.1 被动均衡

这是目前户用储能的主流方案。原理很简单:电压高的电芯,通过一个电阻把多余的电量放掉,变成热量消耗掉。

我的经验:被动均衡电流一般设在 50mA~100mA。电流太小,均衡效果慢;电流太大,发热严重,PCB 扛不住。我见过有的厂家为了省成本用 30mA,结果根本压不住压差。

项目 被动均衡 主动均衡
成本 低(几块钱一个电阻) 高(需要电感或电容 + 控制芯片)
效率 低(能量以热形式浪费) 高(能量转移到低压电芯)
均衡电流 50~200mA 0.5~5A
适用场景 户用储能、小容量电池 大型储能、电动汽车

3.2.2 主动均衡

主动均衡就高级多了。它把高压电芯的能量,通过电感或电容,转移到低压电芯上。能量不浪费,效率高。

但说实话,户用储能用主动均衡的并不多。为什么?成本敏感。一个主动均衡芯片就要十几块,加上外围电路,整块 BMS 成本翻倍。

避坑指南:我曾经遇到一个项目,客户非要上主动均衡。结果装上去发现,均衡电流一大,电池温升明显,最后又改回被动均衡。我的建议是:16串以下的户用储能,被动均衡完全够用。别盲目追求技术参数。

3.3 SOC 估算方法:到底还剩多少电?

SOC 是用户最关心的参数。你想想看,手机还剩 20% 电就焦虑,储能系统也一样。但 SOC 估算,恰恰是 BMS 里最难的部分。

为什么难?因为电池是非线性系统。同样的电压,放电时和静置时完全不一样。温度一变,容量也跟着变。

3.3.1 开路电压法(OCV)

最简单的方法。电池静置足够长时间后,电压和 SOC 有对应关系。查表就能知道。

但问题来了:户用储能系统经常处于充放电状态,哪有时间静置?所以这个方法只能作为校准用。

// OCV-SOC 查表示例(磷酸铁锂 16串)
const float OCV_TABLE[101] = {
  [0] = 2.80,   // 0% SOC
  [10] = 3.00,  // 10% SOC
  [20] = 3.10,
  [50] = 3.20,  // 平台区
  [80] = 3.30,
  [90] = 3.40,
  [100] = 3.65  // 100% SOC
};

float getSOCByOCV(float voltage) {
  // 线性插值查表
  for (int i = 0; i < 100; i++) {
    if (voltage >= OCV_TABLE[i] && voltage < OCV_TABLE[i+1]) {
      return i + (voltage - OCV_TABLE[i]) / (OCV_TABLE[i+1] - OCV_TABLE[i]) * 10;
    }
  }
  return -1; // 异常
}

3.3.2 安时积分法(库仑计数)

这是目前最常用的方法。原理很简单:对电流做时间积分,充进去多少电,放出来多少电,一算就知道。

但有个致命问题:误差会累积。电流采样有误差,时间长了,SOC 越偏越远。

我的做法:安时积分法 + 定期 OCV 校准。每次电池充满电(达到 3.55V/串以上且电流小于 0.02C),强制把 SOC 修正到 100%。这样误差就不会累积。

3.3.3 卡尔曼滤波法

这是比较高级的方法。它把电池建模成一个动态系统,用电压、电流、温度多个维度去估算 SOC。精度高,但计算量大。

说实话,户用储能的主控芯片(一般是 STM32F103 级别)跑卡尔曼滤波有点吃力。我建议用扩展卡尔曼滤波(EKF),简化计算量。

3.3.4 综合对比

方法 精度 计算量 适用场景
开路电压法 中(需静置) 初始上电、静置校准
安时积分法 短期高,长期漂移 日常运行(主流方案)
卡尔曼滤波 高(5%以内) 高端产品、大型系统

实用建议:户用储能最稳妥的方案是「安时积分为主,OCV 定期校准」。既保证了实时性,又解决了累积误差。我经手的项目,SOC 误差都能控制在 3% 以内,用户基本感觉不到偏差。

嗯,BMS 这块内容确实不少。但核心就三点:保护要快、均衡要稳、SOC 要准。把这三点吃透了,户用储能的 BMS 选型你就心里有数了。


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