储能电站一般由成千上万的单体电池串并联而成,为了确保这些单体电池能够安全有效运行,需要采用专门的电池管理系统(BMS)对电池进行监控和管理。
现有的BMS系统主要是针对电动汽车设计的,与电动汽车相比,储能系统中含有的串并联单体电池数量更多,导致储能系统结构更加复杂,对BMS系统的处理能力要求也大大提高。
因此为了更好地满足储能系统的实际需求,需要对储能中BMS系统的功能和结构进行分析,并在此基础上设计一款适用于储能应用的BMS系统。
为此,基于对储能中BMS系统功能需求的分析及各主流电池管理芯片参数的对比,选择NXP公司生产的MC33771作为BMS系统中的模拟量采样芯片,并设计了3层系统结构,实现电池电压、温度、电流等模拟量的采样,并完成系统其他功能设计。
以钛酸锂电池组为测试对象,结果表明,所设计的BMS系统能够准确采样各种信息并以此为基础实现其他设定的功能,能够满足储能系统的使用需求。
储能应用中的BMS结构
对比目前常见的几种主流电池模拟量采样芯片,MC33771具有更多的电压采样通道以及宽温范围内最高的测量精度,并且采用菊花链通信的方式省去了昂贵的数字隔离器,因此采用MC33771作为模拟量采样芯片。
采用菊花链通信的方式1次最多可挂接15个MC33771,而每个MC33771可管理14串电池,所以1个控制器通过1条菊花链最多可实现对210节电池的管理。
而每个控制器之间则可通过1个主控制器完成系统整体的运行和协调,实现管理更多电池的功能,并且采用主从控制器结合的方式能够避免单个控制器任务量过大,影响系统实时处理能力的问题。
为此,本文采用3层结构的方案,具体结构框图如图1所示。
底层是:MC33771及其附属电路构成的BSU,负责采集电池各项信息;
中间层:是从控制器组成的BCU,主要负责通过菊花链的通信方式控制各自的BSU完成数据采集的功能,并将相应数据上传;
上层是BMU:负责系统内部的整体协调以及与外部信息交互,根据外部请求控制整个BMS系统的运行过程。
BMS系统硬件设计
BMS系统硬件主要分为BSU、BCU和BMU。为了节省设计时间,将BCU和BMU的硬件结构统一,只需根据不同功能焊接相应器件即可。
1.BSU硬件设计
BSU主要由MC33771及其附属电路组成,其中MC33771主要完成电池的电压、温度采集以及各种故障检测和均衡功能。其中,电压采样与均衡电路如图2所示,温度采样则通过计算热敏电阻阻值的方式实现。
MC33771采用菊花链完成信息的上传下达,通过控制内部相应MOS管的通断实现最大通态电流为300mA的被动均衡功能。采用菊花链通信无需额外的高速光耦以及配套的隔离电源,只需1个隔离变压器HM2012NL即可实现2片级联的MC33771之间的信息传递,节省了成本。
菊花链采用差分信号传输数据,为了能够实现MC33771与控制器(单片机)的正常通信,需要采用MC33664信号转换芯片将差分信号转换为SPI信号。菊花链通信的结构示意图如图3所示。
2.BCU与BMU硬件设计
BCU与BMU采用相同的硬件结构,根据功能需求焊接不同器件,其硬件结构主要分为主控制器、电流测量电路、CAN通信电路以及继电器驱动电路等。
(1)主控制器设计
主控制器采用ST公司生产的STM32F405RGT6。它是一种32位的ARM架构处理器,主频高达168MHz,内部具有1M的Flash容量,外部采用64引脚的封装,集成了3路SPI总线、2路CAN总线,可以满足系统的需求。
STM32F405RGT6
(2)CAN总线通信电路
BMU和BCU之间通过CAN总线传输信息,采用TJA1040T作为CAN总线收发芯片。
TJA1040T
鉴于系统中串联了大量单体电池,为防止地电位不同导致的共模干扰以及对CAN收发芯片造成的损坏,在单片机CAN通信接口与CAN总线收发芯片之间串入ADUM1201BRZ双向磁隔离器实现信号的隔离,并在CAN收发器输入端并联120Ω电阻抑制回波反射。CAN总线通信电路如图4所示
(3)充放电控制电路
BMU负责根据外部相应的请求和BMS系统内部状态控制充放电过程,采用继电器作为充放电主回路的开关。以MOSFET驱动电路控制继电器的吸合,完成相应的动作,具体的驱动电路如图5所示。
其中,PIN1和PIN2是与继电器相应触点连接的端点;IO为单片机的控制引脚;串联反二极管的作用是吸收MOS管关断时继电器线圈上的电流。
(4)电流测量电路
本文基于分流器的方式测量回路电流,采用的分流器规格为500A/75mV。由于直接使用单片机的AD引脚测量分流器的电压会导致巨大的测量误差,因此本文采用亚德诺半导体生产的ADUCM331作为电流采样芯片。
分流器
ADUCM331是一款基于ARMCortex-M3架构的32位处理器,采样电压范围为-200~+300mV,电流采样精度为20位,最大采样频率可达8kHz.
ADUCM331
通过SPI总线或UART方式实现与外部通信,并可通过SWD引脚完成程序下载。为了保护ADUCM331的电流采样引脚,接入必要的限流和限压电路,具体的电流采样保护电路结构如图6所示。
BMS系统软件设计
BMS软件功能主要包括电压、电流、温度采样,均衡功能,充放电控制,故障预警和SOC估算等。其中电池电压、温度、电流精确采样是实现其他功能的基础。
1.初始化MC33771
执行采样功能之前,首先要对MC33771初始化。初始化流程如下。
(1)通信初始化。对STM32F405的SPI1和SPI2分别初始化,因为通过MC33664转换后的通信速率高达2Mb/s,直接使用SPI接收中断无法正常读取返回信息,所以采用DMA的方式接收返回的数据。
(2)MC33771初始化。SPI初始化后,BCU对所有MC33771发送复位指令,将每个MC33771的INIT寄存器都设置为0x00,使所有的MC33771的ID号都为0。复位完成后按菊花链级联的顺序重新依次赋予不同的ID。
(3)初始化MC33771中系统控制寄存器SYS_CFG1和SYS_CFG2以及需要配置成温度测量功能的GPIO端口。
(4)故障预警设置。MC33771中自带有过压欠压、过温欠温、均衡开路和短路等相关预警功能,对于需要用到的预警功能,使能FAULT_MASKx寄存器中相应数据位即可,对于不需要用到的预警功能则进行屏蔽。
(5)将设定的过压、欠压阈值写入TH_ALL_CT寄存器中,将过温、欠温阈值写入相应的TH_ANx_OT和TH_ANx_UT寄存器里。
2.电压温度采样
完成初始化流程后,即可对MC33771下达信号采集命令,MC33771主要采集各节电池的电压以及温度数据。
首先将转换命令写入ADC_CFG寄存器中使得相应MC33771启动转换,等待转换完成后,读取对应的MEAS_CELL或MEAS_AN寄存器中的数值并通过公式计算出真实的电压和温度信息。具体的采样流程如图7所示。
3.电流采样电
流采样是通过Aducm331电流采样芯片完成的,需要对Aducm331的相关寄存器进行配置,具体流程如图8所示。
结语
本文通过对储能应用中BMS系统功能和结构的分析,完成了相应的软硬件设计并对设计的系统进行了实际测试,结论如下:基于3层结构的BMS系统可以实现管理多节单体电池的功能,适用于大容量的储能系统;
所设计的BMS系统能够精确采集电池电压、电流、温度等数据,并在此基础上有效完成如故障检测与保护和电池组SOC估算等功能,满足实际的应用要求。
参考资料:储能应用中的BMS系统设计,作者:陆 凡,刘 东
原文始发于微信公众号(艾邦储能与充电):储能应用中的BMS系统设计