Category: 实践笔记

  • CAN总线在储能系统中的应用笔记

    从BMS到PCS,一条总线的“统治力”从何而来

    一、为什么储能系统离不开CAN

    储能系统内部的信息交互,有几个鲜明的特点:

    • 实时性要求高:BMS(电池管理系统)需要在毫秒级时间内上报电压、温度、电流,PCS(储能变流器)才能在过压、过温时及时响应
    • 节点数量多:一个集装箱储能系统,电池簇×电池包×BMU,节点数轻松上百
    • 电磁环境恶劣:大电流、高频开关、强磁场——对通信抗干扰能力要求极高
    • 成本敏感:每个节点都要加通信芯片,成本必须可控

    在这些约束下,CAN总线几乎是“唯一解”。

    对比几种常见总线:

    总线实时性抗干扰节点数成本储能适用性
    CAN高(事件触发)高(差分信号)110+✅ 最合适
    RS485中(轮询)32❌ 节点数受限
    Ethernet中(需屏蔽)❌ 成本高、布线复杂
    无线❌ 可靠性不足

    结论:在电芯级、模组级、簇级通信中,CAN是目前最成熟、最经济、最可靠的选择。


    二、储能CAN网络的典型架构

    一套完整的储能系统,CAN网络通常分为三层:

    第一层:电芯级(BMU → 电芯)

    每个电池模组内,BMU(电池管理单元)通过CAN采集各个电芯的:

    • 单体电压(精度要求±5mV)
    • 单体温度(精度要求±1℃)
    • 均衡状态

    这一层的通信特点是:节点多、数据密集、实时性要求高。常见配置是一个BMU管理12-24个电芯,CAN总线以250kbps或500kbps运行。

    第二层:模组级/簇级(BMU → BSU)

    多个BMU通过CAN汇集到一个BSU(电池系统单元)。BSU负责:

    • 计算簇级SOC、SOH
    • 检测簇级总压、总电流
    • 执行簇级保护(过压、欠压、过温、过流)
    • 控制簇级接触器、均衡开关

    这一层的特点是:数据汇总、逻辑判断、保护执行。CAN总线通常以500kbps运行,通信周期50-100ms。

    第三层:系统级(BSU → BAMS)

    BAMS(电池阵列管理系统)是整个储能电池的“大脑”,通过CAN与各个BSU通信,同时还要与PCS、EMS、消防系统交互。

    这一层的通信特点是:跨系统交互、协议复杂、可靠性要求最高。CAN总线以500kbps或1Mbps运行,通常配置冗余CAN通道(CAN A / CAN B)。

    text

    典型拓扑结构:
    
            [ EMS ]
               │ (CAN/Modbus/Ethernet)
            [ BAMS ]
               │ (CAN)
        ┌──────┼──────┐
        │      │      │
      [BSU]  [BSU]  [BSU]   (每个BSU管理一个电池簇)
        │      │      │
       CAN    CAN    CAN
        │      │      │
     [BMU]  [BMU]  [BMU]   (每个BMU管理一个电池模组)
        │      │      │
       电芯    电芯    电芯

    三、CAN通信的关键协议

    储能CAN通信虽然物理层是标准的CAN 2.0,但应用层协议各家厂商差异很大。主流的有几种:

    1. 自定义协议(最常见)

    大部分国内BMS厂商(如亿能、高特、科列)使用私有CAN协议。优点是灵活、高效,缺点是不同厂家设备不互通

    典型的私有协议格式(以某主流BMS为例):

    字节内容说明
    Byte0帧头固定0xAA
    Byte1长度后续数据字节数
    Byte2-3命令码如0x1001=读取电压
    Byte4-N数据具体数据内容
    ByteN+1校验XOR或CRC

    2. Modbus over CAN

    将Modbus协议运行在CAN物理层上,主要优点是标准化程度高、调试工具丰富。缺点是Modbus的查询-响应机制天然比CAN的事件触发机制效率低。

    3. CANopen

    起源于工业自动化,在储能领域应用较少,但在某些出口项目中会被要求(尤其是欧洲市场)。优点是标准化程度最高,缺点是协议栈开销大、学习成本高。

    4. 国标GB/T 34131

    国内储能BMS的国家推荐标准,对CAN通信的物理层、数据链路层、应用层都有规定。值得关注的是,GB/T 34131-2023版对通信协议做了较大更新,增加了对无线通信、云边协同的支持。


    四、实践中的几个“坑”

    在实际调试储能CAN网络时,有几个常见问题值得记录:

    坑一:终端电阻去哪儿了?

    CAN总线要求在总线两端各加一个120Ω终端电阻。但在储能系统中,多个BSU级联时,终端电阻的位置容易被忽略。常见故障现象:通信不稳定、丢包率上升、偶尔有错误帧。

    排查方法:断开所有节点,用万用表测量CAN_H和CAN_L之间的电阻。正常应为60Ω左右(两个120Ω并联)。如果测得120Ω,说明只有一个终端电阻;如果测得无穷大,说明一个都没有。

    坑二:总线冲突率过高

    储能系统节点多、数据量大,如果所有节点都按固定周期发送数据,总线负载率可能超过30%,导致冲突率飙升、实时性下降。

    优化方法

    • 事件触发:只在数据变化时发送,而非固定周期
    • 分级优先级:保护类数据(如过温告警)用高优先级ID,状态类数据用低优先级
    • 数据打包:多个相关数据合并到一个CAN帧中,减少帧数

    坑三:地电位漂移

    储能系统中,电池簇之间的地电位可能存在差异(尤其是长距离布线时)。当CAN收发器的地参考点不同,共模电压可能超出CAN收发器的容忍范围(通常为-2V~+7V),导致通信错误。

    解决方法

    • 使用隔离CAN收发器(如ADM3053、ISO1050)
    • 确保各节点地电位差不超过规格
    • 在长距离通信时,增加CAN中继器或使用光纤转换

    坑四:协议不兼容

    这是最常见的“软坑”——不同厂家的BMS、PCS、EMS之间CAN协议不兼容。明明是同一套物理网络,但A厂发的数据B厂解析不出来。

    应对策略

    • 在项目前期就明确CAN通信协议表,作为技术协议附件
    • 使用CAN网关(协议转换器)做“翻译”
    • 要求各厂家提供CAN DBC文件,方便解析和仿真

    五、CAN总线的未来:会被替代吗?

    关于“CAN已死”的说法,每隔几年就会出现一次。但在储能领域,短期内看不到替代的可能。

    候选技术现状替代可能性
    CAN FD正在普及,兼容CAN 2.0,速率可达5Mbps✅ 会逐步取代传统CAN
    CAN XL刚发布,速率可达20Mbps⚠️ 长期看有潜力
    Ethernet(100BASE-T1)车载以太网在汽车领域已应用,成本仍高❌ 5-10年内难普及
    无线可靠性不足❌ 不适用于关键控制

    最可能的演进路径

    • 电芯级、模组级:CAN FD逐步替代CAN 2.0
    • 簇级、系统级:CAN + Ethernet并存,CAN负责实时控制,Ethernet负责大数据上传

    六、一点个人思考

    CAN总线在储能领域的“统治力”,本质上是工业系统的工程选择逻辑——不追求最先进,只追求“够用且可控”。

    • 成本可控:一个CAN收发器几块钱,一个带CAN的MCU几十块钱
    • 可靠性已知:三十年的应用历史,所有坑都被踩过了
    • 生态成熟:从调试工具到分析软件,从芯片到协议栈,完整且便宜
    • 人员熟悉:绝大多数嵌入式工程师都会调CAN

    对于研究者而言,CAN总线本身已经不是技术热点,但基于CAN的协议设计、数据挖掘、故障诊断仍然有很多值得深入的方向。比如:

    • 如何从CAN数据中识别电池老化特征?
    • 如何在不增加总线负载的情况下,提高SOC估算精度?
    • 如何检测CAN通信的异常模式(如伪装节点、重放攻击)?