刘耿峰,张向文,2
(1.桂林电子科技大学电子工程与自动化学院,广西桂林 541004;2.广西自动检测技术与仪器重点实验室(桂林电子科技大学),广西桂林 541004)
动力电池组是电动汽车重要的能量来源,动力电池组由大量的单体通过串并联的方式组成,通过电池管理系统(battery management system,BMS)可以优化单体的充放电管理,延长电动汽车的续航里程。电池荷电状态估计(state of charge,SOC)作为BMS 最重要的任务之一,对电池的安全运行和智能充放电优化管理具有重要意义[1]。电池组在日常的使用中需要将电池SOC控制在正常范围内,防止电池过充过放,可以较大程度地确保电池的使用安全[2]。另外,通过温度控制可以防止电池过热爆炸起火,通过均衡管理可以降低单体电池之间的电压差,延长电池组的使用寿命。因此BMS 通过测量电池的电压、电流和温度,不仅需要进行电池组的充放电管理、均衡管理和热管理,而且要能够较精确地估计电池的SOC,同时实现对电池组运行状况的监控报警功能。
目前BMS 的研究重点主要集中在电池信息采集处理、电池均衡管理、SOC估算方法和上位机通信等几个方面[3]。尚丽平等[4]设计了一种锂电池组实时主动均衡BMS 健康管理系统,通过锂电池组总电压给单体充电的形式实现了供能过程中单体电压实时在线均衡调节,但是缺少对电池SOC的估算。李顶根等[5]设计了基于CAN 通信的BMS 系统并将检测结果在上位机上进行显示和记录,未涉及到温度管理与均衡控制等方面。汪阳雄等[6]设计实现了一款BMS 上位机模块,利用串口HMI 触摸屏实现充放电管理及对电池状态参数阈值的设定。张捍东等[7]设计的BMS 管理系统实现了参数采集、信息显示、安全报警等功能,但仅给出了SOC估算的仿真结果。罗勇等[8]提出一种基于容量修正的安时积分SOC估算方法,通过充放电实验得到不同倍率、库仑效率、温度等对电池容量的修正因子,最后使用带修正因子的安时积分法估算SOC。综上所述,目前的BMS 仍有待进一步完善其功能完整性,特别是提高SOC实时在线估算的精度。
本文针对电动汽车动力电池组的智能充放电管理需求,设计了一款由飞思卡尔MC9S12XEP100 控制并级联两片LTC6804 芯片作为多节电池监控器的锂电池充放电智能管理系统,实现对19 节磷酸铁锂电池的电压、电流和温度实时监控、电压均衡控制、数据存储、热管理和上位机显示等功能。同时,通过开路电压和安时积分融合方法实现SOC的实时在线估计。下文首先给出设计的BMS 整体结构,然后具体介绍各功能模块的设计以及SOC估计算法的实现,最后采用Arbin 电池测试设备对上述功能以及SOC估计算法进行测试和验证。
本文设计的BMS 整体结构如图1 所示。主要功能模块包括:主控制器模块,电压采集模块,电流采集模块,温度控制模块,均衡控制模块,数据存储模块以及人机接口模块。
图1 BMS 系统整体结构简图
图1中,主控制器模块由飞思卡尔单片机MC9S12XEP100及最小系统电路组成;通过SPI接口级联两片LTC6804-2 电池组监控芯片来采集电压和温度,并实现均衡控制;由霍尔电流传感器测量充放电电流,由ATD 功能送至主控芯片处理;数据存储模块SD 卡由SPI接口实现;通过GPIO 口控制继电器通断进行散热控制和充放电控制;人机界面通过SCI通信模块与主控芯片进行通信,实现电池状态的显示与报警功能。
本设计的控制器采用飞思卡尔16 位汽车级微控制器MC9S12XEP100,由标准的片上外设组成,包括串行通信接口(SCI)、串行外设接口(SPI)、增强捕获定时器(ECT)等众多扩展功能,具有低成本,低功耗与兼容性高等特点,在汽车工业领域广泛应用。同时,该控制器自带基于2.0B 标准和J1939 协议的CAN 总线通讯,可用于连接整车控制器做后续开发。图2 为主控制器的最小系统电路。
图2 最小系统硬件电路
电压采集模块选择凌力尔特公司的第三代电池组监视芯片LTC6804,每片可测量多达12 节串联电池的电压,常应用于电动汽车的电源系统或电网能量存储中。芯片内置isoSPITM接口,每个通道最大测量误差1.2 mV。本设计通过级联两片LTC6804 来采集19 节单体电池的电压,通过SPI 与主控制器进行通讯,电路原理图如图3 所示。两片LTC6804均采用ADUM1401 数字隔离器对主控制器的SPI 接口进行信号隔离。根据LTC6804S 芯片数据手册,ADCV 命令用于启动电池电压测量输入(引脚C0 至C12),芯片内部共有四组电池电压寄存器组CVAR-CVDR,每组电压寄存器组由六个八位寄存器组成(如CVAR0-CVAR5),采用轮询方式读出寄存器值,通过数据变换即可得到每个单体电池对应电压。
图3 LTC6804电压采集电路原理图
电动汽车电池组通常由大量的单体电池串联组成,但由于单体电池在内阻、自放电率、容量等参数上的不一致,易导致个别电池在充放电过程中过充电或者过放电,增加电池报废的风险。因此BMS 需要设计均衡管理来尽可能地消除各单体电池的差异性,提高各电池之间容量和电压的一致性,进而延长电池组的使用寿命。本文设计的BMS 系统利用外部MOSFET 和放电电阻进行电压平衡,每片LTC6804 的S(x)引脚能够充当一个适合于驱动外部MOSFET 的栅极的数字输出,将一个分立型PMOS 开关器件和合适的放电电阻器连接至电池,并将栅极端子连接至S(x)输出引脚。均衡模块的电路原理图如图4 所示。当第x节电池的单体电压低于19 节电池的最低电压时,通过配置寄存器组的DCC[x]存储位实现对电池x的放电控制。每片LTC6804 可独立控制12 节电池的电压均衡,当某节电池处于均衡放电时,对应的LED 会被点亮,直到达到均衡要求。
1.2.3 对照II组 2例患者,给予胰激肽原酶240 U/次,3次/d,甲钻胺0.5 mg/次,3次/d,疗程为持续 4周。
图4 均衡管理模块原理图
BMS 系统监控电池状态时也需要实时测量充电放电过程的电流变化,本设计采用霍尔电流传感器来检测电池组的总电流。该电流传感器采用±15 V 供电,测量输入输出电流的最大量程为100 A,误差可控制在1%以内,输出为0~4 V 电压,再通过LM358 双运算放大器电路将测量数据直接送入主控制器的模数转换通道(ATD)进行处理。
由于电池组充放电过程中都会伴随发热现象,过高的环境温度将严重影响电池的使用寿命。同时利用外部电阻进行电池均衡时,电阻发热也会导致主板温度过高,影响LTC6804 芯片的采集精度,因此整体系统的温度采集分为主板温度与电池温度两个部分。本设计采用单线接口方式的温度传感器DS18B20 监控主板温度,使用两片LTC6804 的10个通用GPIO 外接负温度系数NTC 热敏电阻组成外部温度探头,用于监控电池组环境温度。NTC 热敏电阻采用B值为3 470,25 ℃标称阻值为5 kW 的热敏电阻。本设计的散热系统采用风冷,将散热风扇安装在电池箱的散热点,当主板温度或者电池组温度超过设定阈值时,程序控制继电器来控制散热风扇进行降温。
由于对电池SOC进行估算时,涉及到当前电池的状态,因此需要考虑电池上一次断电前电池容量和测试数据的存储。本文采用单片机内部32KB 的D-FLASH 存储器用于存储系统断电前的电池容量和SOC等数据。同时设计了2 G 内存的SD 卡存储模块,将电池运行过程中的电压电流以及SOC的变化数据存入SD 卡中,存储的数据可通过PC 机读取并用于后续的电池健康状态(SOH)估算中。
电池组的充电方式采用恒流恒压[9](constant currentconstant voltage,CC-CV)充电方式。利用Arbin 电池测试设备对电池组进行充放电测试过程中,BMS 将实时获取每节单体电池的充电电压及充电电流。如果检测到单节电池充电电压上升到3.9 V(充电截止电压)或者下降到2.5 V(放电截止电压)时,程序控制继电器模块切断充放电电流,并通过蜂鸣器报警,防止电池被严重过充过放,造成不可逆的损害。
本BMS 设计的人机界面由7 寸增强型USART HMI 串口屏实现,主控制器与人机界面之间通过USART 串口进行通讯。通过自主设计的操作界面用于显示单体电池电压、充放电电流、主板及电池温度与估算的SOC,同时进行充放电控制,设置报警参数与信息存储等功能。显示屏界面如图5 所示。
图5 人机界面
对电池SOC进行准确估计,既是电动汽车估算续航里程的基本要求,也关系到电池的使用寿命及使用效率。常用的SOC估算方法有开路电压法[10]、安时积分法、卡尔曼滤波法[11]和神经网络法[12]等。其中开路电压法相对简单便捷,只需要构建开路电压(open circuit voltage,OCV)与SOC的函数曲线OCV-SOC,通过测量得到的开路电压即可得到当前电池SOC。但是电池需要经过长时间静置来使电压稳定,若电池使用频繁,开路电压短时间内难以达到稳定。安时积分法是通过累积充进和放出的电量来估算SOC,但电流采样的误差累积与充放电倍率等影响因素易导致估算误差。卡尔曼滤波法适用于各种类型不同老化阶段的电池,但是其精确性很大程度依赖于电池等效模型的建立,而且计算量比较大。而神经网络法需要大样本数据用于建立电池模型。综合以上方法的特点,本文采用开路电压法与安时积分融合的改进型SOC估算方法,首先获取电池组的开路电压,然后根据开路电压随SOC变化的曲线特征,确定SOC估算的初始值,结合该初始值,通过安时积分估算SOC的实时变化。下面对该估算方法的具体步骤进行介绍:
步骤一:获取电池组开路电压。
使用Arbin 电池测试设备对19 节额定容量为100 Ah 的磷酸铁锂电池组成的电池组进行充放电实验:恒流恒压方式将电池组充满电,标记满电状态电池组的SOC为1。然后以1C的放电电流对电池组进行放电,SOC每降低10%记录电池在静置状态下的开路电压,获取电池OCV与SOC的对应关系,结果如表1 所示。
表1 OCV 值和SOC 的对应值
使用Matlab 对表1 的离散点进行曲线拟合,得到开路电压与SOC的函数关系曲线如图6 所示。
图6 开路电压与SOC拟合曲线
由图6 可知,实验采用的磷酸铁锂电池组SOC大于20%时,电池组处于平台期[13]。当电池组开路电压处于62.4~63.3 V 之间时,SOC的变化比较大,开路电压与SOC的对应关系难以准确确定,因此本文采用两种方式获取SOC的值作为SOC估计算法的初始值SOC(t0)。
(1)BMS 系统开机后,先获取电池组开路总电压,若电压大于63.3 V 或者小于62.4 V,则通过OCV-SOC曲线估算SOC(t0)。
(2)若开路总电压处于62.4~63.3 V 之间,则采用上一次BMS 停机时存储的SOC作为当前的SOC(t0)。
步骤二:安时积分法。
获取SOC初始值之后,在电池组充放电过程中,结合安时积分法实现SOC实时在线估算。安时积分法的计算公式如下:
式中:SOC(t)为t时刻的SOC;i为测量的充放电电流,充电时为正,放电时为负;Q0为电池额定容量;η 为库仑效率,其定义为电池的充电容量与放电容量比值,本文按照充放电效率为1 进行计算;KT为温度系数,本文取室温(25 ℃)下KT=25℃=1,其他温度系数按式(2)进行计算:
式中:t为放电时的环境温度;k为温度系数,本文取温度系数k=0.005 进行计算。
使用安时积分法时电流的采样精度直接关系到电池SOC的估计结果。本设计采集的电流信号为离散信号,传输过程中易受到干扰导致信号失真。为了降低干扰的影响,采用递推平均滤波算法来处理采集的电流信号,如式(3):
式中:t为当前时刻;y(t)为当前滤波器输出;I(t)为当前电流采样信号;t0为递推滤波长度,本文选择t0=10 s。
为了验证设计的BMS 的可靠性,实验测试平台由BMS系统、电池组与Arbin 电池测试设备组成,以19 节额定容量为100 Ah、额定电压为3.7 V 的串联磷酸铁锂电池为测试对象,各设备连接图如图7 所示。
图7 各设备连接图
通过Arbin 设备连接电池组测试单节电池电压与电池组总电压,与设计的BMS 系统测得电压相比,实验结果如表2 所示。由实验数据可得,BMS 系统测量单节电池电压与Arbin设备测得的实际电压的误差在0.07 V 之内,符合设计要求。
表2 电池电压比较 V
当电池电压不一致时可开启被动均衡功能,同时将采集的电池温度与主板温度与Arbin 设备测量的温度作比较,实验结果如表3 所示。由表3 可知,电池温度的实际值与BMS 的测量值误差在1 ℃以内,主板温度的实际值与板子上DS18B20 的测量值误差约为0.5 ℃,满足实际应用的精度要求。
表3 温度比较 ℃
磷酸铁锂电池SOC在10%~90%之间时,其电池电压和内阻变化较为平稳,是电池运行的最佳区间。为了测试设计的SOC实时估算算法的精度,本文将电池组充电90%SOC,静置1 h 后,分四个阶段对电池组进行放电:(1)SOC为90%时,设置电池放电,当电池SOC降至70%时,停止放电并静置30 min;(2)SOC为70%时,设置电池放电,当电池SOC降至50%时,停止放电并静置30 min;(3)SOC为50%时,设置电池放电,当电池SOC降至30%时,停止放电并静置30 min;(4)SOC为30%时,设置电池放电,放电至SOC降至10%。
放电过程通过模拟NEDC 工况的曲线来设置变电流的循环放电工况,具体的变电流循环曲线如图8 所示。
图8 变电流循环放电曲线
放电过程中,BMS 系统处于运行状态,采用上述的改进型估算方法对SOC进行实时估算,人机交互界面上每1 s 更新一次显示数据,单片机每30 s 记录一次估算SOC数据存于SD卡中。同时使用传统的开路电压结合安时积分方法估算SOC,将两种方法估算的SOC与实际SOC进行对比。图9(a)描绘了改进型SOC估算方法和传统SOC估算方法在四个不同放电倍率阶段估算的SOC与真实SOC曲线对比,由图可以看出由于电池组OCV-SOC曲线存在平台期,若在停机后采用开路电压获取初始SOC,容易造成较大误差。而设计的改进型SOC估算方法可以根据上次停机时记录的SOC结合当前的开路电压获取电池组SOC,实现较好地跟踪实际SOC变化。估算的SOC与实际SOC之间误差如图9(b)所示,改进型算法的误差小于1.17%,而传统方法的误差超过2.1%。同时将改进型SOC估算方法、传统SOC估算方法与其他文献的不同SOC估算方法进行对比,误差对比结果如表4 所示。通过对比可以看出,本文提出的改进型SOC估算方法的误差要明显小于目前其他文献所设计的方法。因此,本文所设计的SOC估算算法具有更高的估算精度。
图9 真实SOC与两种方法估算的SOC对比及误差曲线
表4 改进型SOC 估算方法、传统SOC估算方法与其他文献的误差对比 %
本文设计了一款由MC9S12XEP100 单片机控制并以LTC6804 作为多节电池监控器的电动汽车动力电池组充放电管理系统,并实现对多节电池单体的电压、电流和温度实时监控、电压均衡控制、数据存储、热管理、充放电管理和上位机显示等功能。同时在该管理系统上实现一种开路电压与安时积分融合的改进型SOC实时在线估算方法。最后采用ARBIN 动力电池测试平台对设计的BMS 功能进行了功能测试,测试得到电压误差小于0.07 V,温度误差小于1 ℃,SOC估算可以较好地跟踪实际SOC变化,估算误差小于1.2%。另外,为了满足电动汽车安全需要,下一步将增加高压上下电控制和绝缘检测等功能,以建立更完善的电池管理系统。