1181|1

933

帖子

15

TA的资源

纯净的硅(高级)

 

储能应用中的BMS系统设计 [复制链接]

储能电站一般由成千上万的单体电池串并联而成,为了确保这些单体电池能够安全有效运行,需要采用专门的电池管理系统(BMS)对电池进行监控和管理。

现有的BMS系统主要是针对电动汽车设计的,与电动汽车相比,储能系统中含有的串并联单体电池数量更多,导致储能系统结构更加复杂,对BMS系统的处理能力要求也大大提高。

因此为了更好地满足储能系统的实际需求,需要对储能中BMS系统的功能和结构进行分析,并在此基础上设计一款适用于储能应用的BMS系统。

640?wx_fmt=png

为此,基于对储能中BMS系统功能需求的分析及各主流电池管理芯片参数的对比,选择NXP公司生产的MC33771作为BMS系统中的模拟量采样芯片,并设计了3层系统结构,实现电池电压、温度、电流等模拟量的采样,并完成系统其他功能设计。

640?wx_fmt=png

钛酸锂电池组为测试对象,结果表明,所设计的BMS系统能够准确采样各种信息并以此为基础实现其他设定的功能,能够满足储能系统的使用需求。

640?wx_fmt=png

 

 

对比目前常见的几种主流电池模拟量采样芯片,MC33771具有更多的电压采样通道以及宽温范围内最高的测量精度,并且采用菊花链通信的方式省去了昂贵的数字隔离器,因此采用MC33771作为模拟量采样芯片。

640?wx_fmt=png

采用菊花链通信的方式1次最多可挂接15个MC33771,而每个MC33771可管理14串电池,所以1个控制器通过1条菊花链最多可实现对210节电池的管理。

而每个控制器之间则可通过1个主控制器完成系统整体的运行和协调,实现管理更多电池的功能,并且采用主从控制器结合的方式能够避免单个控制器任务量过大,影响系统实时处理能力的问题。

为此,本文采用3层结构的方案,具体结构框图如图1所示。

640?wx_fmt=png

底层是: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所示。

640?wx_fmt=png

2.BCU与BMU硬件设计

BCU与BMU采用相同的硬件结构,根据功能需求焊接不同器件,其硬件结构主要分为主控制器、电流测量电路、CAN通信电路以及继电器驱动电路等。

(1)主控制器设计

主控制器采用ST公司生产的STM32F405RGT6。它是一种32位的ARM架构处理器,主频高达168MHz,内部具有1M的Flash容量,外部采用64引脚的封装,集成了3路SPI总线、2路CAN总线,可以满足系统的需求。

0?wx_fmt=png

STM32F405RGT6

(2)CAN总线通信电路

BMU和BCU之间通过CAN总线传输信息,采用TJA1040T作为CAN总线收发芯片。

640?wx_fmt=png

TJA1040T

鉴于系统中串联了大量单体电池,为防止地电位不同导致的共模干扰以及对CAN收发芯片造成的损坏,在单片机CAN通信接口与CAN总线收发芯片之间串入ADUM1201BRZ双向磁隔离器实现信号的隔离,并在CAN收发器输入端并联120Ω电阻抑制回波反射。CAN总线通信电路如图4所示

640?wx_fmt=png

(3)充放电控制电路

BMU负责根据外部相应的请求和BMS系统内部状态控制充放电过程,采用继电器作为充放电主回路的开关。以MOSFET驱动电路控制继电器的吸合,完成相应的动作,具体的驱动电路如图5所示。

640?wx_fmt=png

其中,PIN1和PIN2是与继电器相应触点连接的端点;IO为单片机的控制引脚;串联反二极管的作用是吸收MOS管关断时继电器线圈上的电流。

(4)电流测量电路

本文基于分流器的方式测量回路电流,采用的分流器规格为500A/75mV。由于直接使用单片机的AD引脚测量分流器的电压会导致巨大的测量误差,因此本文采用亚德诺半导体生产的ADUCM331作为电流采样芯片。

640?wx_fmt=png

分流器

ADUCM331是一款基于ARMCortex-M3架构的32位处理器,采样电压范围为-200~+300mV,电流采样精度为20位,最大采样频率可达8kHz.

640?wx_fmt=png

ADUCM331

通过SPI总线或UART方式实现与外部通信,并可通过SWD引脚完成程序下载。为了保护ADUCM331的电流采样引脚,接入必要的限流和限压电路,具体的电流采样保护电路结构如图6所示。

640?wx_fmt=png

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所示。

640?wx_fmt=png

3.电流采样电

流采样是通过Aducm331电流采样芯片完成的,需要对Aducm331的相关寄存器进行配置,具体流程如图8所示。

640?wx_fmt=png

结语

本文通过对储能应用中BMS系统功能和结构的分析,完成了相应的软硬件设计并对设计的系统进行了实际测试,结论如下:基于3层结构的BMS系统可以实现管理多节单体电池的功能,适用于大容量的储能系统;

所设计的BMS系统能够精确采集电池电压、电流、温度等数据,并在此基础上有效完成如故障检测与保护和电池组SOC估算等功能,满足实际的应用要求。

参考资料:储能应用中的BMS系统设计,作者:陆 凡,刘 东

此帖出自电源技术论坛

最新回复

可以提供原理图吗?   详情 回复 发表于 2023-4-26 15:04
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

 

可以提供原理图吗?

此帖出自电源技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
Protel 99se快速入门 中文教程

推荐程度 ★★★★★ 资料类别 电子教程 资料语言 简体中文

几个毕业设计【一起学习】

本帖最后由 paulhyde 于 2014-9-15 09:26 编辑 发几个毕业设计上来。。。大家一起学习学习吧。。。

申领EE_FPGA V1.0板啦!(已结束)

FPGA板块一直酝酿的 DIY FPGA板子终于结果了,感谢chenzhufly的坚持不懈!54967chenzhufly愿为论坛网友贡献6块FPGA空板,大家可 ...

神器系列-艾刷做开发板

本帖最后由 dcexpert 于 2016-2-29 00:16 编辑 前几天发了一篇《神器拆机-艾刷》的帖子,发现里面使用了STM32F401CC单片机, ...

迅为-iMX6开发板-设备树内核-sys方式控制GPIO

本文档主要讲解迅为-iMX6 开发板,通过 sys 文件的方式来控制 GPIO。 要通过 sys 控制 GPIO,需要做以下几步操作: 1 开启内核 ...

通过功耗计算实用程序实现电源故障的状态复原

CTPL是用于超低功耗 MSP430FRxx FRAM 微控制器的软件实用程序,它能让应用程序在系统断电或进入类似 LPMx.5 的深度睡眠模式 ...

sd/tf卡片使用问题

在嵌入式系统设计中,偶尔会使用SD/TF卡来存储一些历史数据,用起来非常方便,在设计上遇到以下困惑 系统是5分钟存储一次 ...

[ESP32-Audio-Kit音频开发板测评]之二vs code环境下ESP-ADF踩坑之旅

本帖最后由 wo4fisher 于 2021-9-5 21:22 编辑 adminFish@DESKTOP-TF1T2RT MINGW64 ~/.espressif/esp-gitee-tools (master) ...

buck开关电源 mos管栅极有pwm信号,但是不能正常导通

本人电源小白,最近老师让做一个数字buck电路。pwm信号我是用信号发生器给的,做完了发现pmos管栅极有正常的pwm信号,但是源极和 ...

请问,谁那里有新旧bom对比工具啊?

请问,谁那里有新旧bom对比工具啊? 能分享一下吗

关闭
站长推荐上一条 1/8 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表