BMS硬件系统设计(基于单片机) - SUSTC-XLAB/Battery GitHub Wiki
基本设计结构
电池管理系统一般由一个主控器以及若干个子控制器组成。主控器负责与上位机通讯,并连接子控制器。自控制器实时采集电池报的总电压、电流、温度、单体电池电压等参数,并对采集的数据进行实时处理,进而对锂电池进行管理等(如热管理,均衡管理等),构成一个较为完整的智能电池系统。
介绍几个别人做的系统结构:
1、基于CAN通讯的BMS平台设计(李顶根等人,华中科技大学,2018)
上图是一种基于CAN通讯的BMS测试平台设计。主控模块采用恩智浦公司的 MC9S12XDP512MAL 单片机芯片(具体信息可在主控模块一栏下查看)。从控模块采用 Microchip 公司的 PIC18F2580 单片机芯片(可在从控模块下查看)。从控模块负责接收来自主控板的命令,输出对应的标准信号量包括电压、温度、绝缘电阻、总电流、总电压、继电器驱动单元供给BMS检测。上位机管理模块负责下发命令给主控板操纵从控板输出,同时可以对BMS数据进行分析处理,实现综合管理。
主控模块负责解析转发来自上位机的指令,同时负责 BMS 的供电控制,以及总电压的模拟和 PWM 波输出,对整个 CAN 通讯进行控制。 主控模块采用恩智浦公司的 MC9S12XDP512MAL 单片 机芯片,该系列单片机是带协处理器 XGate 的双核单片机系列,主频最高可达 40 M,拥有丰富的片上资源,内部集成了 SCI、SPI、CAN、ATD、EEPROM、IIC、PWM 和 PIT。 BMS 的供电部分是通过 MC9S12XDP512MAL 芯片的第 一路 232 通讯控制一台程控电源 HSPY-40-5,从而实现对 BMS 的上电和下电操作。 总电压模拟部分是通过第二路 232 通讯控制另外一台程 控电源 HSOY-1000-002,从而实现 0 到1000V的电压模拟。
CAN 通讯部分利用了 MC9S12XDP512MAL 芯片上集成 的第一路和第二路 CAN,分别用于控制从控部分以及接收来 自上位机的通讯指令。 PWM 波输出部分利用了芯片内部的 PWM 波。由于这里 要求输出电压幅值能够达到 15 V,并且具有带负载的能力,所 以这里运用了功率放大芯片 TDA2030。
从控模块负责接收来自主控板的命令,从而输出对应的 电池模拟信号供 BMS 采集。这些电池模拟信号有电池的单体 电压、单体温度、绝缘电阻、总电流以及一些数字量。 从控模块采用 Microchip 公司的 PIC18F2580 单片机芯 片,该单片机内部集成了 A/D、PWM、CAN 控制器、USART 和 SPI 等功能。 单体电压模拟部分是通过 PIC18F2580 芯片的 SPI 通讯操 作 AD5640 芯片。AD5640 芯片是 Analog Devices 模拟器件公 司生产的 14bit 的数模转换芯片,这里的单体电压模拟就是通 过 AD5640 加上后一级的电压跟随电路,实现输出电压 0~5 V 可调。
单体温度的模拟是通过 PIC18F2580 芯片的数字 I/O 口和 后一级的 74HC138 多路开关依次选通各个通道实现多个温度点的模拟。
绝缘电阻的模拟和单体温度模拟实现方法相同。总电流模拟通过 AD5640 来实现。通过 AD5640 和后一级 的运放,实现电压输出在±75 mV 的连续变化。电流采集的传 感器就是分流器,分流器的输出就是±75 mV 的电压。通过模 拟这个电压输出,实现总电流的模拟。数字量的模拟是通过 PIC18F2580 芯片的数字 I/O 和继 器来实现。
2、基于 ISL78600 高精度 BMS 数据采集系统(胡青松等人,合肥国轩高科动力能源有限公司,2018)
本系统是基于高精度数据采集芯片ISL78600设计,对系统的电压采集电路、温度采集电路以及系统的通讯接口电路进行了详细的设计,同时大量的实验数据验证了该系统具有高采集精度和稳定性。
上图是采用电池管理系统的结构框图。整个系统由一个主控制器和若干个从电池管理芯片构成。每一个电池管理芯 片都可以完成对电池信息的采集和与相邻芯片或主控制器的数据通信。主控制器只与最低一级电池管理芯片相连并发送 和接收信息。从底部到顶部以此命名电池管理芯片为芯片1、芯片2、……、芯片n,对应采集的电池为电池1、电池2、……、电池n。
ISL78600 包含 4 个温度采集通道,温度采集首先是将外 接温度信号转化成电压信号,通过外接 NTC 将外接温度信号 转化成电阻信号,然后通过分压电路转化成电压信号。分压电 路设计时由 ISL78600 提供 2.5 V 基准电压,基准电压使用低 功耗模式,每采集一次温度值,ISL78600 维持基准电压 2.5 ms,不采集温度时基准电压没有电压输出,大大减少了系统的 功耗。选用 40.2 kΩ 的上拉电阻和 10 kΩ 的 NTC,同时为确保 电压采集时的准确性,并联一个电容。
电池管理系统数据采集芯片之间采用菊花链通讯如上图所示。菊花链接口同样利用一个片选信号和一个串联时钟信 号来控制多个从芯片,但是只有最低一级的芯片与主控制器 进行数据传输。芯片与芯片之间通过菊花链接口来进行通信, 即从芯片需要在一个给定的命令周期内在输入端口读取来自 前一级芯片(或主控制器)的数据,并在子命令周期内通过输出 端口发送数据给后一级芯片。对于芯片之间的传输,在 2 级芯 片之间肯定会存在延时,所以利用片选信号来控制输入和输 出。当片选信号为低电平时,每一级芯片从前一级芯片的输出 端口接收数据,当片选信号为高电平时,停止从输入端口接收 数据,并同时将需要发送的数据传输到输出端口。利用片选信 号来完成链上芯片在给定命令周期内完成数据的传输。
主控芯片选用英飞凌公司的 XC2267M,这是一款汽车级 的 16 位单片机,具有极强的抗干扰性,采用 C166 构, LQFP100 低引脚封装,时钟频率高达 80 MHz,具有多达 832 kB 的 Flash 存储器和 50 kB 的 RAM, 8 路串行接口 (USIC 通 道), 6 个 CAN 节点,集成了电压调节器和多种振荡器,具有超 低功耗的待机与操作模式,特别适合汽车车身应用。
温度采集:ISL78600 包含 4 个温度采集通道,温度采集首先是将外 接温度信号转化成电压信号,通过外接 NTC 将外接温度信号 转化成电阻信号,然后通过分压电路转化成电压信号。分压电 路设计时由ISL78600 提供 2.5 V 基准电压,基准电压使用低功耗模式,每采集一次温度值,ISL78600 维持基准电压 2.5 ms,不采集温度时基准电压没有电压输出,大大减少了系统的功耗。
电压采集:电压采集电路主要是应用内部集成的高速 AD 高精度的采集电压。
通讯:系统首片 ISL78600 数据采集芯片与主控制芯片采用传统的 SPI 通讯,两片 ISL78600 数据采集芯片之间采用菊花链链接,菊花链通讯电路设计主要是通过 ISL78600 采集芯片的 DHI10、DHO10 两个引脚进行数据传输。
3、基于单片机的纯电动汽车电池管理系统设计(辛喆,葛元月等人,农业工程学报,2014)
该系统基于飞思卡尔系列单片机的分布式结构,采用存电动汽车电池管理专用芯片bq76PL536.避免使用较多电子元件,实现电池温度、电流、电压数据的采集和绝缘检测等功能,在此基础上实现电池管理系统和上位机软件的通讯,同时利用变压器的能量传递设计均衡系统,实现集中式双向主动均衡功能,提升电池效率。
用分布式系统的成本过高且系统过于庞大。用集中式系统方案BMS中心处理单元负担过重,因此现有电池管理系统一般采用折中方案。本文将12个单体电池组成一个电池包(PACK),每个电池包配有一个电池模块监控单元BMU,BMS由多个BMU组成,整个系统如图所示:
整个系统可分为上层的主控模块和下层的监控模块,监控模块又可分为电池单体监控和电池组监控。监控模块和主控模块通过SCI总线进行内部通讯,主控模块通过CAN总线和外部进行通讯,如下图所示:
监控单元(BMU)与主控单元(CMU)分别采用飞思卡尔8位9S08DZ60和16位9S12DG128单片机最为处理器。BMU监控电池模块后将数据传给CMU,并对模块内的不均衡进行管理。经过处理后将数据传输给CMU。CMU接收BMU传来的数据信息,根据采集的电池数据估计电池组的荷电状态等,对电池组的充放电进行保护,并与汽车整车控制单元和充电机进行通讯。
汽车内部主要采用CAN通讯,本系统集成了CAN控制器。数据链路层的规定主要参考CAN2.0B的相关规定。本设计采用11位标准帧格式,报文分为数据帧、远程帧、错误帧和过载帧。
CMU实时获取各BMU的数据,对电池组进行保护,保存历史数据并与外部设备进行通讯。因此,BMS主控单元硬件结构包含:电源管理模块,单片机最小系统,CAN总线接口,SPI(single program initiation)总线接口,IIC(inter-integrated circuit)总线接口,SCI 总线接口,Flash(存放历史数据),继电器驱动接口单元。 本设计采用16 位9S12DG128单片机作为主控芯片,总线频率25MHz,128K字节Flash内存,2路MSCAN(motorola scalable controller area network)总线,2路SCI串行通讯接口,2路SPI串行外设通讯接口,1路IIC 串行总线接口,2个8通道10位ADC。主芯片及外围电路包括供电电路,总线通信电路和驱动电路,如下图:
电压检测
该设计采用可同时监控多节电池的监控芯片bq76PL536。该器件的专有设计能够把多节电池串 联起来,无需使用光电耦合器隔离,可实现串接电 池组中每节电池的精准电压监视。模数转换器具有 9 个 ADC(analog to digital converter)输入端口:6 个用于电池单体电压输入,1 个用于 6 个电池单体 的总电压输入,2 个用于温度输入,1 个用于通用 输入。本系统的电池组由 12 节锂离子电池单体串 联组成,一块电路板上采用 2 个 bq76PL536 芯片,每块芯片的可测量 6 节电池的电压。
温度采集
bq76PL536 芯片能够采用 ADC 来测量两路差分输入电压。差分输入由一个外部热敏电阻和普通电阻组成的分压网络来得到。这可产生一个比例式结果,并可消除温漂对电路的影响。该器件拟与一个标称值为 10 kΩ(在 25℃时)的 NTC(negative temperature coefficient)外部热敏电阻配合使用。应连接一个合适的外部阻容网络,以把热敏电阻的响应置于所关心的范围之内。
电流检测
电流参数是电池管理系统过流保护的重要依据,同时也是充放电模式的判断条件。本设计采用霍尔电流传感器。该传感器不与高压系统接触,不会带来共模干扰和高频噪声,传感器输出的电流信号通过精密的测量电阻变为电压信号,经过运放芯片(OP07CS)跟随后接入外扩的 A/D 芯片(TLC7135CN)。
韦克城,王宝锋,陈凯欣,司雨晨,肖仪卓.微型电动旋翼无人机电池管理系统设计与实现[J].国外电子测量技术,2018(10):109-112.
在无人机实际飞行过程中,系统电池剩余电量估算估算可分为离线与在线两种方式。即将无人机固定于地面的静态测试,将所采集数据存储后通过控制器发送请求指令后进行离线估算。与无人机在飞行状态下的动态测试,通过无线方式将数据实时发送至控制器进行在线估算。此系统是进行离线匀速测试。总体方案主要由3部分组成:电池管理系统和模拟无人机飞行负载单元和充电单元。其中,电池管理系统主要有参数检测单元、充放 电控制单元、均衡控制单元和通信单元组成。旨在电池充、放电过程中对系统进行实时监测与保护,实时监测、传输所检测数据,显示系统所处状态。模拟无人机负载单元用于模拟匀速与变速飞行状态,高精度模拟多种飞行状态下电池消耗情况。充电单元即给系统进行循环充电。如下图所示:
本系统选择凹凸科技公司的OZ8920芯片。具有多项电池管理功能。微型电动旋翼无人机BMS主要应具有以下功能:1)参数检测:实时采集电池充放电状态。采集的数据有电池总电压、电池总电流、单节电池电压、系统环境温度和芯片内部温度。2)剩余电量SoC估计。通过上述采集的数据,使用相应算法对SoC 进行估计。3)充放电控制。根据所采集的电池充放电过程中电流、电压和温度的变化。若某个参数超过或低于指定标准,控制相关开关,停止电池的充电或放电。4)均衡控制。因每节电池具有个体差异性。因此循环充放电使用后会导致电池剩余容量的不一致性。均衡控制系统能判断并自动进行均衡控制。5)通信单元。系统在使用过程中通过I2C 通信方式将电池数据发送至控制器并由液晶屏显示。电池管理系统总体设计方案如下图所示:
此设计将电流、电压检测与温度检测想分离。因采样电阻的选取对电流、电压精度影响较大,因此需要选择高精度的采样电阻进行电流电压采样。通过取样电阻两端电压差的检测,即可获取电池电流与电压值。电流电压采样电阻选用威世公司 VCS101 检测电阻。 阻值为0.005Ω,可满足高精度采集的要求。采用环境 温 度 采 用NTC热敏电阻进行温度采样,输出端通过滤波后通过串口进行 A/D 转换,接获取电池管理系统环境温度值。
本系统采用I2C 通信协议进行器件功能配置与数据传输。I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。通过所有接到I2C总线设备上的串行数据SDA 都接到总线的SDA 上,各设备的时钟线SCL接到总线的SCL上。为防止外借控制器管脚电平电压过高。因此电池管理器通信接口处均放置5.6V稳压器件。并将60h作为从机地址进行器件功能配置。
通讯总线
内部总线
内部总线是微机内部各外围芯片与处理器之间的总线,大多用于芯片一级的互连。
1.I2C总线
I2C(Inter-IC)总线10多年前由Philips公司推出,是近年来在微电子通信控制领域广泛采用的一种新型总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。
应答相应如下图:
I2C总线特点可以概括如下:
(1)在硬件上,I2C总线只需要一根数据线和一根时钟线两根线,总线接口已经集成在芯片内部,不需要特殊的接口电路,而且片上接口电路的滤波器可以滤去总线数据上的毛刺.因此I2C总线简化了硬件电路PCB布线,降低了系统成本,提高了系统可靠性。因为I2C芯片除了这两根线和少量中断线,与系统再没有连接的线,用户常用IC可以很容易形成标准化和模块化,便于重复利用。
(2)I2C总线是一个真正的多主机总线,如果两个或多个主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据破坏,每个连接到总线上的器件都有唯一的地址,任何器件既可以作为主机也可以作为从机,但同一时刻只允许有一个主机。数据传输和地址设定由软件设定,非常灵活。总线上的器件增加和删除不影响其他器件正常工作。
(3)I2C总线可以通过外部连线进行在线检测,便于系统故障诊断和调试,故障可以立即被寻址,软件也利于标准化和模块化,缩短开发时问。
(4)连接到相同总线上的IC数量只受总线最大电容的限制,串行的8位双向数据传输位速率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s。
(5)总线具有极低的电流消耗.抗高噪声干扰,增加总线驱动器可以使总线电容扩大10倍,传输距离达到15m;兼容不同电压等级的器件,工作温度范围宽。
2.SPI总线
串行外围设备接口SPI(serialperipheralinterface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。
(1)SDI – SerialData In,串行数据输入;
(2)SDO – SerialDataOut,串行数据输出;
(3)SCLK – Serial Clock,时钟信号,由主设备产生;
(4)CS – Chip Select,从设备使能信号,由主设备控制。
SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;SPI主模块和与之通信的外设时钟相位和极性应该一致。SPI接口时序如图3、图4所示。
3.SCI总线
串行通信接口SCI(serialcommunicationinterface)也是由Motorola公司推出的。它是一种通用异步通信接口UART,与MCS-51的异步通信功能基本相同。
SCI 的寄存器一般有四个,分别是
1.SCI波特率寄存器(SCI Baud Rate Register,SCBR)SCI波特率寄存器SCBR的作用是设置串行通信的波特率。通常情况下,选择内部总线时钟为串行通信的时钟源,此时利用SCBR对总线频率 fBUS 可以进行分频得到串行通信的波特率。
2.SCI控制寄存器(SCI Control Register ,SCC)SCI 控制寄存器共有 3 个,分别称为SCC1、SCC2、SCC3。对它们的写入,实现对SCI的设置
3.SCI状态寄存器(SCI Status Register ,SCS)SCI 状态寄存器共有 2个,分别称为SCS1、SCS2。对它们的读出,可以得到当前SCI 的状态。
4.SCI数据寄存器(SCI Data Register ,SCDR)SCDR为SCI系统最常用的寄存器。写入时,为要发送的8位数据,记为:T7~T0;读出时,为接收的8位数据,记为:R7~R0。不受复位影响。
4.CAN总线
属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性。只有2根线与外部相连,并且内部集成了错误探测和管理模块。
其特点为:
1 完成对通信数据的成帧处理
CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
2 使网络内的节点个数在理论上不受限制
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识符可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
3 可在各节点之间实现自由通信
CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数据通讯。CAN总线插卡可以任意插在PC AT XT兼容机上,方便地构成分布式监控系统。
4 结构简单
只有2根线与外部相连,并且内部集成了错误探测和管理模块。
5 传输距离和速率
CAN总线特点:(1) 数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,靠各个节点信息优先级先后顺序来决定通信次序,高优先级节点信息在134μs通信; (2) 多个节点同时发起通信时,优先级低的避让优先级高的,不会对通信线路造成拥塞; (3) 通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M);(4) CAN总线传输介质可以是双绞线,同轴电缆。CAN总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。
总线对比如下图所示:
系统总线
而系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连。
外部总线
外部总线则是微机和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备一级的互连。
主控模块(单片机)
主控模块是测试平台的核心,负责给BMS供电、管理从控模块的输出和上位通讯。
以下为整理的几款主控芯片:
1 恩智浦公司的 MC9S12XDP512MAL 单片机芯片
该系列单片机是带协处理器 XGate 的双核单片机系列,主频最高可达 40 M,拥有丰富的片上资源,内部集成了SCI、SPI、CAN(两路CAN,分别用于控制从控部分以及接收来自上位机的通讯指令)、ATD、EEPROM、IIC、PWM(波输出)和 PIT。
2 英飞凌公司的XC2267M
这是一款汽车级 的 16 位单片机,具有极强的抗干扰性,采用 C166 构,LQFP100 低引脚封装,时钟频率高达 80 MHz,具有多达832kB的Flash 存储器和50kB的RAM,8路串行接口(USIC 通 道),6个CAN节点,集成了电压调节器和多种振荡器,具有超低功耗的待机与操作模式,特别适合汽车车身应用。
3 飞思卡尔MC9S12DG128
采用16位MC9S12DG128单片机作为主控 芯片,总线频率 25 MHz,128 K 字节 Flash 内存, 2 路 MSCAN(motorola scalable controller area network)总线,2 路 SCI 串行通讯接口,2 路 SPI 串行外设通讯接口,1 路 IIC 串行总线接口,2 个 8 通道 10 位 ADC。主芯片及外围电路包括供电电路, 总线通信电路和驱动电路,如下图所示。
从控模块(采集模块)
从控模块负责接收来自主控板的命令,从而输出对应的 电池模拟信号供 BMS 采集。这些电池模拟信号有电池的单体 电压、单体温度、绝缘电阻、总电流以及一些数字量。
以下为整理的几款采集芯片:
1 德州仪器的 bq76PL455A-Q1 专业电池管理芯片
该芯片具备16 个 - 0. 3 ~ 5. 5 V 的差模模拟输入通道、8 个 0 ~5 V 的辅助( 模拟) 输入通道,模数转换器 ( analogto-digitalconverter,ADC) 分辨率高达 14 bit,电压测量精度可达 ± 1 mV,且具有菊花链接口,最多可级联 16 个芯片。
2 ISL78600 数据采集芯片
该芯片是 Intersil 公司最新推出的一款12 串单体电压采集芯片。内部集成 14 位的 AD,单体采集误差不超过±2.5 mV,总压误差不超过 100 mV;温度采集误差在±1 ℃,234 μs 内可实现一次 12 串单体电压扫描。同时支持2 Mbps 的 SPI 通讯。
3 Microchip 公司的 PIC18F2580 单片机芯片
该单片机内部集成了 A/D、PWM、CAN 控制器、USART 和 SPI 等功能。单体电压模拟部分是通过 PIC18F2580 芯片的 SPI 通讯操作 AD5640 芯片。AD5640 芯片是 Analog Devices 模拟器件公司生产的 14bit 的数模转换芯片,这里的单体电压模拟就是通过 AD5640 加上后一级的电压跟随电路,实现输出电压 0~5 V 可调。
软件设计
基于单片机的纯电动汽车电池管理系统设计,辛喆,葛元月等人,农业工程学报,2014
主控模块的任务主要有:通讯同步任务,数据采集任务、故障检测任务,故障 记录任务、故障处理任务,信息发布任务,如下图所示。
监控模块的任务主要有:通讯同步任务、A/D 转换与数据处理任务、通讯接收任务、通讯发送任务、以及均衡执行任务,如下图所示。
均衡模块的程序流程图下图所示。当需要均衡的电池单体接收到均衡执行的指令时,通过指令内容判断均衡模式,然后通过初级与次 线圈开关的相互配合完成一次均衡周期。
基于MCS D2P的动力锂电池管理系统主控软件,王秋霞,福建船政交通职业学院机械工程系,深圳大学学报理工版,2018
开发工具与平台 MCS D2P 快速控制原型开发平台的软件部分集 成了MotoTron 的ControlCore 底层操作系统,具有产品级的软件架构,主要包括建模软件 MotoHawk、刷写软件MotoTune及编译软件 Green hill。其中,MotoHawk 是基于Matlab/Simulink/Stateflow/RTW图形化的语言平台,可将底层相关软件、标定/监测 变量接口、诊断管理接口等进行封装管理,成为底层软件应用模型库,并在编程过程中被自由调用,生成基于该体系结构的应用软件。
**主程序设计:**作为主控模块的 MCS 112PIN 开发版 ECU 要周期性地完成数据采集、数据处理、状态分析和通信 等功能,因此采用定时中断的实现方式。主程序包括初始化程序和定时中断程序两部分,如下图所示。初始化程序用来初始化系统各个工作模块以及参数,包括校准参数和定时器等信息,并诊断系统工作状态。定时中断程序的主要任务是以循环方式进行实 时检测、分析和处理数据。
**数据采集程序设计:**如前所述,BMS 的数据采集包括对电池组电流和总电压的检测,以及对各电芯电压和温度的检测。使用电流传感器和电压传感器检测电池组电流和总电压,将采集到的数据送入 ECU 上12 bit 的模拟量输入通道,由 MotoHawk 中的模拟量输入模块进行读取。但是,由于该模块的输出值代表的是模拟资源的电压与参考电压的比值,而ECU的参考电压是5V,因此要对该模块的输出值做换算处理,才能直观地显示检测结果。换算程序如下图
使用德州仪器的 bq76PL455A-Q1 专业电池管理 芯片对各电芯的电压和温度进行检测。该芯片具备16个-0.3 ~5.5V的差模模拟输入通道、8个0 ~5V的辅助(模拟)输入通道,模数转换器(analogto-digital converter,ADC)分辨率高达14bit,电压测量精度可达±1mV,且具有菊花链接口,最多可 级联16个芯片,为后续扩容后电池组的监控提供便利条件. 采用无限循环方式进行数据采集。先对开发版 ECU 和 bq76PL455A-Q1 芯片进行初始化,对电池组总电压、电流及各电芯电压、温度有一个初步的检测值。之后,进入正式的数据采集阶段。芯片bq76PL455A-Q1完成1次数据采集后,向ECU发送数据,供 ECU 进行数据分析和处理。ECU完成SOC估算等工作后,先判断是否需要开启均衡管理。若需要开启,则ECU将数据发送给均衡电路,开启均衡管理,在均衡管理结束后再进入下一次数据采集; 若不需开启均衡管理,则程序直接进入下一次数据采集。
**soc的估计:**扩展卡尔曼滤波(extended Kalman filter,EKF)算法通过改进卡尔曼滤波器,使其适用于参数之间的非线性关系。其实质是根据上一个状态 和当前状态的测量值来估计当前状态,从而重新估计一个最接近真实状态的值,因此可得到较其他估算方法更高的精度。使用EKF算法估算电池的SOC,首先需要有一个合适的电池模型,受控电压源电路模型如下:
受控电压源电路模型属于综合电气模型,使用两个RC环节模拟电池的极化效应,抓住了电池包括非线性开路电压、电流、温度、循环寿命和暂态响应等多动态特征,模型结构简洁、精度高且易计算,被广泛用于电动汽车。受控电压源其中,Cb 为聚苯乙烯电容, 代表电池的剩余容量; RS表征电池自放电的电阻; IS为受控电流源的电流; UOC为受控电压源的电压,开路电压,与电池 SOC 相关; RO 为电池内阻。
根据已有的EKF方法的数学建模,SOC的EKF算法实现如下图,数学公式逻辑详情请见原论文。
韦克城,王宝锋,陈凯欣,司雨晨,肖仪卓.微型电动旋翼无人机电池管理系统设计与实现[J].国外电子测量技术,2018(10):109-112.
系统软件功能总体方案设计
系统软件所需完成功能如下图所示。全部用 C 语言编写。系统开始运行时。电池管理器与STM32控制器均需要初始化,电池管理器通过采集但电池电压、电流和环境温度参数。并将数据通过I2C发送至STM32控制器进行SoC估算。由于电池管理器时刻进行采集、处理数据。当控制器发出指令给控制器是,命令其将电流、电压和温度数据传输至控制器。这样使得系统具有较高的实时性。控制器对采集到的数据进行 SoC的实时估算并将结果实时显示在 LCD液晶屏上。
系统程序流程设计
本系统程序需要完成电池管理起的各功能实现,并完成在stm32控制器上SOC的估算。其中通过I2C将控制器配置为主动模式,将电池管理器配置为从动模式。为了及时相应系统数据收发请求,软件上采用中断方式。系统采用安时积分法与开路电压法相结合的方法对获取数据进行SoC估算。系统流程图如下图所示。
电路设计
1 贾利浦,郑帅,孙春峰.一种基于分布式电池管理系统的电路设计[J].科技风,2018(25):8-9.
电源电路设计了熔断器,具有过流保护作用,设计了TVS管,具有过压保护作用。同时设计了LC滤波器,可以滤除掉电源上产生的一些高频电压噪声信号。调压器采用一个固定电压为2V的TLV713。TLV713芯片特点:
(1) 输入电压范围:14V至55V;
(2) 极低压降:150mA时为230mV;
(3) 使用或不使用电容时均可稳定运行;
(4) 低IQ:50μA;
(5) 折返过流保护;
(6) 封装小:1mm × 1mm 4引脚X2SON。
电压采集和温度采集电路:由两个精准电阻器构成的电压分压器将电池电压降低至低于基准电压,如上图。MSP430FR2100 内部基准电压为15V,电阻分压后是电池电压的 1/4,大约为 0.5V-1.1V。两个电阻阻 值必须非常大,从而保证不会产生旁路电流。LPV802 是超低功耗运算放大器,适用于由电池供电的低功耗设备中的感测应用。LPV802 放大器的带宽为 8kHz,静态电流为320mA,可最大限度降低运行电池寿命至关重要的设备消耗的功率。除超低功耗特性外 LPV802 放大器还具有实现毫微微安偏置电流的 CMOS 输入级。LPV802 放大器还特有一个负轨感测输入级和一个相对于电源轨的摆幅为毫伏级的轨到轨输出级,从而尽可能保持最宽的动态范围 LPV802 设有电磁干扰(EMI)保护,可降低来自手机、 WiFi、无线电发射器和标签阅读器的无用射频信号对系统造成的影响。
电池管理系统对温度的采集精度要求并不高,更多的是考 虑温升所带来的安全性问题。因此考虑到单体电池电路的成 本,温度传感器采用价格低廉的热敏电阻作为温度传感器。通 过电阻分压的方式来获取热敏电阻的阻值。为了控制输入电压在微处理器 AD 参考电压(MSP430FR2100内部参考电压为 15V) 范围内,热敏电阻并联电阻后在进行分压。
均衡负载及状态显示:该系统设计中采用更加经济实用的被动均衡方式,使用大功率电阻作为被动负载,应用MOSFET对电池进行均衡控制。通过 LED 实现对单体电池电路板均衡状态及其他活动状态进 行视觉反馈。如下图
单体电池采集板与中央处理单元的通信:下图所示电路通过两个光电隔离器实现单体电池电路板和总线的隔离。其中一个光电隔离器用于前级单体电池电路 板与微处理器UART的RX输入之间,接收中央处理单元发出的数据;另一个则应用于微处理器UART的RX输出与后级单体电池电路板之间,用于向主控制器传送数据。
电流采集模块设计:在电池管理系统中,不必每个单体电池都采集电流数据,只需要每个串联支路安装一个电流采集器,这就大大节省了系统成本。在本系统中电流采集采用莱姆公司的HC2F80-S电流互感器,最大电流达 80A,并且以模拟电压量进行输出。 HC2F80-S供电电压为5V,为此设计了升压泵TPS61222 为其供电。HC2F80-S 输出滤波后,进行分压供 MSP430FR2100 的 AD 采集电流数据。电路图如下图所示。
基于深度网络的电池管理系统设计 冯绎铭, 王思源,丁雷
参数监测电路:监测电路指电压,电流和温度测量。在这里我们首先讨论有关于单体电池电压的测量问题,因为和其他两个参数的测量过程比较,电压所含的信息量是最多的,并且另一方面,电流和温度的测量方式也是将它们转化成电压信号来分析,因此首先要解决电压检测的问题。该系统中对电压采集采取一种基于继电器阵列的轮流采集方式如下图所示
为单体电池提供两个继电器,电池的正负极通过继电器之后分别连接到A/D转换的两个输入端,这种继电器通常采用光耦继电器,由MCU进行控制其通断,在电压采集的过程中,首先让单片机发出信号,随后继电器开关闭合,让选定的单体电池正负极电压差通过A/D转化模块由模拟信号转化成数字信号,最后把数字信号传送给单片机。相比于电压物理量,电流的检测相对而言显得没有那么复杂,因为电流所需要的采样通道少,只需对干路电流进行监测,需要使用的采样通道不像电压采集那么多。通过霍尔传感器测量电流。霍尔传感器不会带来高频信号噪声,其可以输出电流信号之后,把输出的电流信号接到精密电阻之上,电流信号也随之转变成电压信号,读取电压值之后经过换算即可获得电流大小
通讯电路:CAN通信连接底层硬件和上位机。电池的电压,电流和温度的测量功能都是由底层的硬件电路实现,硬件电路采集到了这些参数之后会将它们传给MCU,随后MCU内部根据我们设定的算法计算出电池的SOC值,最后再把这些所有的值都通过CAN 通信方式传输给上位机,同时上位机也会通过CAN 通信的方式把相应的指令传输给MCU来控制底层硬件
均衡电路:均衡控制管理是电池管理系统中一项不可或缺的重要功能,人们在大量的实践过程和在实验室中的实验数据都表明
了,加入了均衡控制管理的动力电池组,比没有加入均衡控制管理的动力电池组拥有更好的表现。均衡方式可以分为耗散型均衡和非耗散型均衡两种。耗散型均衡相当于“把长的部分砍掉,砍到和短的一样长度”,非耗散型均衡是能量转移的方式,相当于“取长补短”。
如上图,将电池组的正负极通过继电器接入到充电模块的输入端(在实际使用过程中可以加入多个充电模块以便同时对多个电池进行均衡,充电模块为DC/DC),转换完成后通过继电器接到单体电池上,继电器均由单片机控制,决定具体的电池号码,达到均衡的效果。
参考资料
[1] 胡青松, 吴定国, 胡攀攀. 基于ISL78600高精度BMS数据采集系统设计[J]. 电源技术, 2018.
[2] 李顶根,唐晓峰,刘士杰. 基于CAN通信的电动汽车BMS测试平台设计[J]. 电源技术, 2018.
[3] 辛喆, 葛元月, 薄伟, et al. 基于单片机的纯电动汽车电池管理系统设计[J]. 农业工程学报, 2014, 30(12):163-170.
[4] 邓长征, 赵侠, 张晓燕. 基于STM32的电池管理系统的研究与设计[J]. 科学技术与工程, 2018(21).
[5] 王秋霞. 基于MCS_D2P的动力锂电池管理系统主控软件[J].深圳大学学报理工版,2018.
[6] 仇士玉, 王娟. 基于单片机的纯电动汽车电池管理系统设计[J]. 电子测试, 2018.
[7] 对CAN、USART、SPI、SCI等常见总线的简单介绍
[8] 韦克城,王宝锋,陈凯欣,司雨晨,肖仪卓.微型电动旋翼无人机电池管理系统设计与实现[J].国外电子测量技术,2018(10):109-112.
[9] 贾利浦,郑帅,孙春峰.一种基于分布式电池管理系统的电路设计[J].科技风,2018(25):8-9.
[10] 基于深度网络的电池管理系统设计 冯绎铭, 王思源,丁雷