4、电池管理系统(BMS)与并网协同

各位工程师朋友,咱们今天聊聊BMS与并网协同这件事。说实话,很多刚入行的朋友觉得BMS就是管电池充放电的,跟并网关系不大。这个想法其实挺危险的。我见过不少项目,BMS和PCS各干各的,结果并网测试时频频跳闸,最后查出来是BMS的保护逻辑跟电网侧没对齐。

BMS在并网系统里,扮演的是"电池管家"的角色。它不仅要管好电池本身,还得跟PCS(储能变流器)打好配合。说白了,电网要功率,BMS得告诉PCS"电池现在能出多少力";电网出故障了,BMS得第一时间让PCS切断连接。这个协同做不好,整个储能站就是一颗定时炸弹。

核心观点: BMS与并网的协同,本质上是"电池状态感知"与"电网接口控制"的深度耦合。BMS提供决策依据,PCS执行控制指令,两者缺一不可。

4.1 BMS的核心功能

BMS的核心功能,我习惯归纳为三个维度:SOC估算、SOH评估、均衡管理。这三个功能看似独立,实际上环环相扣。

4.1.1 SOC估算——电池的"油量表"

SOC(State of Charge,荷电状态)就是电池还剩多少电。听起来简单,做起来可不容易。为什么?因为电池是个非线性系统,电压、电流、温度、老化程度都会影响SOC的准确性。

我常用的SOC估算方法有三种:

  • 安时积分法: 最简单,对电流积分算电量。但误差会累积,时间长了就不准了。
  • 开路电压法: 电池静置时,电压和SOC有对应关系。但并网系统里电池很少静置,实用性有限。
  • 卡尔曼滤波法: 把安时积分和电压修正结合起来,动态调整。我个人最推荐这种方法,精度高,但计算量也大。

我在一个50MW/100MWh的储能项目里,遇到过SOC跳变的问题。电池从99%突然跳到92%,调度中心直接报警。后来查出来是电流传感器零点漂移,安时积分累积了误差。从那以后,我要求所有项目必须加装高精度电流传感器,并且每24小时做一次SOC校准。

实战技巧: SOC估算不能只靠一种方法。我习惯用"安时积分+开路电压修正+卡尔曼滤波"的组合方案。平时用安时积分,电池静置时用开路电压修正,动态工况用卡尔曼滤波平滑输出。

4.1.2 SOH评估——电池的"健康体检"

SOH(State of Health,健康状态)反映电池的老化程度。新电池SOH是100%,用到80%通常就该退役了。SOH评估的意义在于:它决定了电池还能承受多大的充放电功率。

SOH评估的核心指标包括:

指标 计算方法 并网影响
容量衰减率 当前容量/额定容量 决定可用能量
内阻增长率 当前内阻/初始内阻 影响充放电效率
自放电率 静置电压下降速率 影响待机损耗

嗯,这里要注意:SOH评估不能只看容量。我遇到过电池容量还有90%,但内阻已经翻倍的情况。这种电池充放电时发热严重,并网时功率响应也慢。所以我的做法是:综合容量、内阻、自放电三个维度,给每个电池簇打一个"健康分"。

4.1.3 均衡管理——让电池"步调一致"

电池串联成组后,每个电芯的电压不可能完全一样。时间长了,电压高的电芯过充,电压低的电芯过放,整个电池组的可用容量就下降了。均衡管理就是解决这个问题的。

均衡分两种:

  • 被动均衡: 通过电阻把高电压电芯的能量消耗掉。简单便宜,但效率低,还发热。
  • 主动均衡: 通过电容或电感把高电压电芯的能量转移到低电压电芯。效率高,但成本也高。

我个人建议:大容量储能系统(MWh级别以上)一定要用主动均衡。为什么?因为被动均衡的发热量太大了,散热系统扛不住。我曾经在一个项目中,被动均衡导致电池簇内部温度升高了8℃,直接触发了高温保护。

避坑指南: 均衡策略不能太激进。我曾经把均衡开启阈值设得太低(5mV),结果BMS一直在做均衡,反而增加了系统功耗。现在我的经验是:磷酸铁锂电池,电压差超过20mV再开启均衡;三元锂电池,电压差超过30mV再开启。

4.2 BMS与PCS的通信协议

BMS和PCS之间怎么说话?靠通信协议。目前主流的有两种:CAN和Modbus。选哪个?看场景。

4.2.1 CAN协议——实时性优先

CAN(Controller Area Network)是工业控制领域的老牌协议。它的优点是实时性好、抗干扰能力强。BMS和PCS之间用CAN通信,数据刷新周期可以做到10ms以内。

CAN协议的数据帧结构是这样的:

// BMS发送给PCS的CAN报文示例
// 报文ID: 0x1810F456
// 数据长度: 8字节
// 数据内容:
// Byte0-1: SOC (0-10000, 对应0.00%-100.00%)
// Byte2-3: SOH (0-10000, 对应0.00%-100.00%)
// Byte4:   ���池状态 (Bit0: 充电允许, Bit1: 放电允许, Bit2: 故障)
// Byte5-6: 总电压 (0-65535, 单位0.1V)
// Byte7:   总电流 (0-255, 单位1A, 有符号)

我在项目中遇到过CAN通信丢包的问题。排查了很久,发现是终端电阻没匹配。CAN总线两端必须各加一个120欧姆的终端电阻,否则信号反射会导致数据错误。这个细节,很多新手会忽略。

4.2.2 Modbus协议——兼容性优先

Modbus是另一种常用协议,尤其是跟PLC、上位机通信时。它的优点是兼容性好,几乎所有工业设备都支持。但实时性不如CAN,数据刷新周期一般在100ms以上。

Modbus的寄存器地址分配,我习惯这样设计:

寄存器地址 数据类型 描述
0x0000 UINT16 SOC (0-10000)
0x0001 UINT16 SOH (0-10000)
0x0002 UINT16 总电压 (0.1V)
0x0003 INT16 总电流 (1A)
0x0004 UINT16 最高单体电压 (mV)
0x0005 UINT16 最低单体电压 (mV)
0x0006 UINT16 最高温度 (0.1℃)
0x0007 UINT16 最低温度 (0.1℃)
选型建议: 如果PCS和BMS距离近(同一柜体内),用CAN;如果距离远(不同房间或不同楼栋),用Modbus转RS485。我见过有人用CAN跑100米,结果通信时断时续,最后全换成Modbus才解决问题。

4.3 BMS在并网中的保护逻辑

并网保护是BMS最重要的职责。电网不是永远稳定的,电压波动、频率偏移、谐波干扰都可能发生。BMS必须第一时间感知到异常,并通知PCS切断连接。

我总结了三层保护逻辑:

  1. 一级保护(预警): 参数接近阈值,BMS发出预警,PCS开始降功率运行。
  2. 二级保护(告警): 参数超过阈值,BMS发出告警,PCS在指定时间内(如100ms)切断连接。
  3. 三级保护(故障): 参数严重超标,BMS直接触发硬件继电器,物理断开电池与PCS的连接。

具体保护参数,我列一个典型值供参考:

保护项目 预警值 告警值 故障值
单体过压 3.65V 3.70V 3.75V
单体欠压 2.80V 2.70V 2.50V
总压过压 额定电压×1.05 额定电压×1.08 额定电压×1.10
总压欠压 额定电压×0.95 额定电压×0.92 额定电压×0.90
过温 50℃ 55℃ 60℃
过流 额定电流×1.1 额定电流×1.2 额定电流×1.5
重要提醒: 保护参数不能照搬厂家手册。我经历过一个项目,厂家给的过压保护值是3.70V,但实际运行时,电网电压波动导致电池电压瞬间冲到3.68V,BMS频繁告警。后来我们把预警值放宽到3.72V,问题才解决。保护参数一定要根据实际运行数据来调整。

最后,我画了一张BMS与并网协同的逻辑图,帮助大家理解整个流程:

BMS与并网协同逻辑图 电池组 电压/电流/温度 BMS SOC估算 SOH评估 均衡管理 保护逻辑 PCS 功率控制 并网逆变 保护执行 电网 电压/频率 功率需求 故障信号 采集数据 CAN/Modbus SOC/SOH/保护指令 并网功率 调度指令/故障信号 功率需求/状态反馈 图例: 数据流 控制/反馈流 注:BMS通过CAN/Modbus将电池状态发送给PCS,PCS根据电网需求控制功率,同时将电网故障信号反馈给BMS。

这张图展示了BMS与并网协同的核心逻辑。电池组把电压、电流、温度数据传给BMS,BMS算出SOC和SOH,再通过CAN或Modbus发给PCS。PCS根据电网的调度指令,决定充多少电、放多少电。如果电网出故障,PCS会立刻通知BMS,BMS启动保护逻辑,切断电池连接。

整个流程环环相扣,任何一个环节出问题,都可能导致系统停运甚至安全事故。所以,做BMS与并网协同设计时,一定要把通信可靠性、保护冗余、故障隔离都考虑进去。嗯,这些内容我们后面还会详细展开。

本章小结: BMS的核心功能(SOC、SOH、均衡)是并网协同的基础;CAN和Modbus是BMS与PCS通信的两大主流协议;保护逻辑分三级(预警、告警、故障),参数需根据实际运行数据调整。记住一句话:BMS是电池的"大脑",PCS是电池的"手脚",两者协同好了,储能系统才能安全高效地并网运行。

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