摘要:构建了基于单片机芯片MC9S12DG128与FpGA的电池管理系统,实现了数据监测、电池均衡、安全管理、荷电状态(SOC)估计、局域网(CAN)通信等功能。具体解析了使用该系统模块的电池组的分布式结构特点,电池管理模块的CAN总线接口及硬件和软件功能设计。
关键词:电动汽车;电池管理系统;FpGA
车用动力锂离子电池的安全性、使用成本以及续航里程一直是影响电动汽车推广使用的紧要因素。在现有电池技术的基础上,一个有效的电池管理系统能对车用动力锂离子电池进行保护、延长其使用寿命、提高续航里程并降低其使用成本,是加速电动汽车发展的一项非常关键的技术。电池管理系统的核心荷电状态SOC(StateofCharge)估计则是重中之重[1]。本文利用现场可编程门阵列FpGA改进了现有的模拟多路开关采集电池信息,提高了采集速度,并扩展了采集电池的个数。
1电动汽车电池包管理系统办法
动力锂离子电池包是由400个3.2V标称电压、容量11A的单体锂离子电池,采用4并100串的方式组成的动力锂离子电池包。电压测试采用分布式测试法,即将电池分为几组,采用多套测试电路分时测试每4个并联单体电池。这种测试技术比较直观,为了测试每个电池的电压,要将每个电池的电压信号引入测试设备,采用多通道切换技术,即通过开关器件把多节单体电池的电压信号切换到同一个信号解决电路。开关爱换动态地改变了参考点,保证每次测量都是一个单体电池的端电压;而差分输入则保证了电池包与测试电路不共地,虽然没有做到全隔离,但比共地连接要安全[2]。利用CAN总线进行通信。整个电池管理系统的设计采用模块化设计思路,按功能可以分为控制电路和信号采集电路两大部分,如图1所示。
1.1控制电路设计
控制电路综合采集到的电压、电流、温度信息,对电池进行SOC估算,通过CAN总线接口与上位机及整车控制系统进行通信。
MC9S12DG128属于高性能的16bit微控制器HC12系列,中央解决单元为16bitHCS12CpU。具有2通道SpI,2通道SCI,一个8通道16bit加强型捕捉按时器,一个8通道8bit或4通道16bitpWM,两个8通道10bitADC,两个MSCAN模块和一个I2C总线。另外MC9S12DG128还包括29个独立的数字I/O口,其中20个I/O口具有中断和唤醒的功能。
因此,采用MC9S12DG128芯片作为主控制器可以充足利用其片上资源丰富、采集和解决数据速度快的优势,从而可以实现复杂的算法及准确的估算SOC,有效处理基于传统单片机的电池管理系统资源有限,算法简单的问题。
1.2通信接口设计
在本系统中,CAN总线智能节点电路由MC9S12DG128内置模块CAN控制模块,CAN总线驱动器pCA82C250和高速光耦6N137,可实现数据在CAN总线的通信。其设计图如2所示。
pCA82C250作为CAN协议控制器和物理总线间的接口,满足汽车中高速通信速率1Mb/s[3]的设计要求。具有对总线供应差动发送能力,及对CAN控制器供应差动接收的能力,符合ISO11898[4]标准。pCA82C250还具有抗汽车环境中的瞬间干扰、保护总线能力,其斜率控制可降低射频干扰(RFI)。作为差分接收器,能够抗宽范围的共模干扰和电磁干扰(EMI)。
1.3均衡模块的设计
当电动汽车电池包由多个单体电池串联使用时,即使单节电池的性能优良,但由于配组使用的各单体电池特性不一致,会导致电池包内部各单体电池过充和过放情况的严重不一致,从而影响整个电池包的品质[5]。
为处理上述问题,典型的办法是利用发热电阻旁路分流均衡法。即为每节单体电池配备一个放电平衡电阻,当某电池电压高于其他电池超过设定值时,MCU控制的多路开封闭合,此节通过放电平衡电阻分流,使电池电压下降,如此反复循环使得电池包各单体电池能平衡充电。
1.4安全模块的设计
电动汽车动力锂离子电池包的总电压一般在300V以上,因此安全控制模块是必不可少的[6]。
图3所示中安全管理器紧要有4个参数:bAT+、bAT-、HV+、HV-,管理着三个继电器S1、S2、S3,R为预充电电阻。此系统紧要通过测量以上4个参数的变化来判断电池安全情况,通过开关继电器进行管理。利用正负母线对地的接地电阻出现的漏电流,来测量母线对地的接地电阻大小,从而判别母线的接地故障。这一技术无需在母线上重叠任何信号,对直流母线供电不会有任何不良影响,并且可以彻底根除由母线对地分布电容所引起的误判与漏判。
2SOC的预测
电池荷电状态SOC是描述电池状态的紧要参数。进行SOC预测的办法紧要有开路电压法、负载电压法、Ah法及直流内阻法等。倘若有足够的数据,还可以用自适应的控制计算办法建立电池模型[7]。本设计以Ah法为主,配合负载电压法和内阻法对SOC进行估测。电池充放电容量与充放电电流i的关系为:
其中C0s为标准温度下标准放电电流释放的总电量;C?驻s为实际使用电量折合为标准温度下标准放电电流放电时的电量;K=ωii为电流修正系数,ωi代表标准温度下,标准电流I放电放出的电量与不同放电电流i放电电流放出的电量之比,i代表温度修正系数。由于电池老化对剩余容量的影响,C0s不等于蓄电池标称容量q,它们的关系: