4、电池管理系统(BMS)与并网协同
各位工程师朋友,咱们今天聊聊BMS与并网协同这件事。说实话,很多刚入行的朋友觉得BMS就是管电池充放电的,跟并网关系不大。这个想法其实挺危险的。我见过不少项目,BMS和PCS各干各的,结果并网测试时频频跳闸,最后查出来是BMS的保护逻辑跟电网侧没对齐。
BMS在并网系统里,扮演的是"电池管家"的角色。它不仅要管好电池本身,还得跟PCS(储能变流器)打好配合。说白了,电网要功率,BMS得告诉PCS"电池现在能出多少力";电网出故障了,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校准。
4.1.2 SOH评估——电池的"健康体检"
SOH(State of Health,健康状态)反映电池的老化程度。新电池SOH是100%,用到80%通常就该退役了。SOH评估的意义在于:它决定了电池还能承受多大的充放电功率。
SOH评估的核心指标包括:
| 指标 | 计算方法 | 并网影响 |
|---|---|---|
| 容量衰减率 | 当前容量/额定容量 | 决定可用能量 |
| 内阻增长率 | 当前内阻/初始内阻 | 影响充放电效率 |
| 自放电率 | 静置电压下降速率 | 影响待机损耗 |
嗯,这里要注意:SOH评估不能只看容量。我遇到过电池容量还有90%,但内阻已经翻倍的情况。这种电池充放电时发热严重,并网时功率响应也慢。所以我的做法是:综合容量、内阻、自放电三个维度,给每个电池簇打一个"健康分"。
4.1.3 均衡管理——让电池"步调一致"
电池串联成组后,每个电芯的电压不可能完全一样。时间长了,电压高的电芯过充,电压低的电芯过放,整个电池组的可用容量就下降了。均衡管理就是解决这个问题的。
均衡分两种:
- 被动均衡: 通过电阻把高电压电芯的能量消耗掉。简单便宜,但效率低,还发热。
- 主动均衡: 通过电容或电感把高电压电芯的能量转移到低电压电芯。效率高,但成本也高。
我个人建议:大容量储能系统(MWh级别以上)一定要用主动均衡。为什么?因为被动均衡的发热量太大了,散热系统扛不住。我曾经在一个项目中,被动均衡导致电池簇内部温度升高了8℃,直接触发了高温保护。
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℃) |
4.3 BMS在并网中的保护逻辑
并网保护是BMS最重要的职责。电网不是永远稳定的,电压波动、频率偏移、谐波干扰都可能发生。BMS必须第一时间感知到异常,并通知PCS切断连接。
我总结了三层保护逻辑:
- 一级保护(预警): 参数接近阈值,BMS发出预警,PCS开始降功率运行。
- 二级保护(告警): 参数超过阈值,BMS发出告警,PCS在指定时间内(如100ms)切断连接。
- 三级保护(故障): 参数严重超标,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 |
最后,我画了一张BMS与并网协同的逻辑图,帮助大家理解整个流程:
这张图展示了BMS与并网协同的核心逻辑。电池组把电压、电流、温度数据传给BMS,BMS算出SOC和SOH,再通过CAN或Modbus发给PCS。PCS根据电网的调度指令,决定充多少电、放多少电。如果电网出故障,PCS会立刻通知BMS,BMS启动保护逻辑,切断电池连接。
整个流程环环相扣,任何一个环节出问题,都可能导致系统停运甚至安全事故。所以,做BMS与并网协同设计时,一定要把通信可靠性、保护冗余、故障隔离都考虑进去。嗯,这些内容我们后面还会详细展开。
公众号:蓝海资料掘金营,微信deep3321