电动汽车电池管理系统软件设计
2010-08-24包敏
包 敏
BO Min
(长沙市电子工业学校,长沙 410008)
0 引言
电动汽车引领着汽车技术的发展方向,具有低排放甚至零排放、热辐射低、噪音低且环境友好等特点,是节能、环保和可持续发展的新型交通工具,具有广阔的发展前景[1]。在产业过程中,蓄电池及其管理系统作为主要的动力源部件是其中最为重要的一个环节。电池管理系统能够实现实时监测电池参数并估计其荷电状态(SOC),为驾驶员提供剩余电量、续驶里程等信息;能防止电池过充、过放、过压、过流、过高温,其优劣直接决定着动力电池组的使用寿命,一个合适的电池管理系统能够在充分发挥电池优越性能的同时,给予电池最佳的保护,保证电池性能,延长电池寿命,降低电动汽车运行成本[2]。本文给出了一种基于CAN总线的电动汽车电池管理系统的软件设计。
1 电动汽车电池管理系统的功能
电池管理系统的主要原理可归纳为[1]:数据采集电路采集电池的相关重要数据,如:母线电压,电流,温度等,再发送给中央控制单元进行分析和处理,由系统内的控制 模块发出控制指令,记录实时数据,对应的执行单元作出动作,进行调控。现在主流的电池管理系统一般是采用分布式结构,包含以下的主要功能部分:数据采集、剩余电量(SOC)估计、控制部分、安全管理和数据通讯[3]。
1)数据采集。数据采集是电池管理系统中最重要和最基本的功能,SOC估计,控制执行,安全管理等等都是以采集到的数据为依据的。
2)剩余电量(SOC)估计。电池管理系统的一个核心就是电池剩余电量的估计。现有的SOC估计方法有安时计量法、开路电压法与电动势法、内阻法、神经网络、卡尔曼滤波法、模糊预测法等[4,5]。
3)控制部分。控制部分要实现的功能有:控制充电过程等。
4)安全管理。安全管理包括了热管理,单体电池压力检测等等。
5)数据通讯。在现有的电池管理通信方式中主要还是采用CAN总线通信方式。
2 电池管理软件系统设计
2.1 软件系统总体流程图
电池管理系统的主要功能是检测电池包的电流、电压、过电流、漏电流、温度等数据,同时在运行过程中估计电池的剩余容量并做出各种错误报警。如图1所示为系统的主程序流程图:
各子模块测量所在电池包的单体电压和温度,将数据通过CAN总线报送母控制器,母模块完成电压、电流、过电流、漏电流等数据测量,同时控制热管理风机的启停,将重要数据信息整车通过CAN总线报送至整车控制器。
2.2 温度测量软件设计
这里的温度传感器DS18B20与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。函数说明,本程序多个功能函数,分别是:
1)端口初始化函数,设置各端口的初始工作状态。
2)串口通信相关函数:
图1 系统软件流程图
3)DS18B20操作相关函数:
如表1所示是利用“匹配ROM”指令实现对指定DS18B20的操作。先对DS18B20进行复位初始化操作,然后发送“匹配ROM”指令,紧跟着就要发送指定DS18B20的ROM序列号,DS18B20对ROM序列号进行比较,如果与自己的相同,则执行下面的指令,如果不同,则不再执行后面指令。
在程序中本文对指定DS18B20操作的步骤是:
1)复位;
2)发送跳过ROM指令;
3)发送温度转换命令;
4)延时1S,等待DS18B20完成温度采集;
5)复位;
6)发送“匹配ROM”指令;
7)发送指定ROM的64位序列号;
8)发送读内部RAM命令;
9)将采集到的温度值进行处理;
表1 对指定DS18B20进行操作的控制流程
10)延时4S,然后跳到步骤1),重复步骤1)-8),完成下一次温度测量。
2.3 电流、电压测量软件设计
数据采集程序使用定时器中断,周期为30ms,每采集一次数据计算变量加一,采集对象为电流和,电压,数据采集控制程序将采集到的数据存放在数据缓冲区,在下一个采集周期结束后,有主程序处理数据。如图2所示为数据采集流程图。
图2 母线电压、电流采集流程图
3 CAN通信模块软件设计
3.1 通信协议的制定
系统的每个采集子板周期性采集底层数据,并作出处理,然后定时向主板发送数据。工作状态可以分为[6]:
1)上电诊断状态:系统上电后,完成初始化,发送网络初始化信息,同时随时接收其它节点的网络初始化信息。通过网络初始化信息的交换,主控制器判断整个网络是否完成初始化过程,同时启动命令则进入正常工作状态。
2)正常工作状态:在正常工作状态下,个单元之间通过以CAN总线进行通信,以实现传感器测量数据的共享、控制指令的发送和接收等。当休眠条件满足时,控制模块从正常工作状态转入休眠状态;当CAN模块故障计数器的计数值满足条件后,各模块从正常工作状态转入总线关闭状态。
3)休眠状态:该状态下,系统处于低功耗模式。一旦接收到唤醒信号或远程唤醒信号,就从休眠状态转入正常工作状态其间需要使用网络初始化信息。
4)总线关闭状态:关闭状态的系统复位CAN模块,重建连接;如果几次连接失败,则转为看门狗复位,并向主控制器请求重新进入工作状态。
5)掉电状态:关闭电源时,控制单元所处的状态。
CAN控制器有6种工作方式:配置方式、关闭方式、正常工作方式、监听方式、自检方式和错误方式。
3.2 CAN模块子程序流程图
CAN模块通讯部分主要由初始化子程序,报文接收子程序和报文发送子程序组成,各子程序流程图如图3和图4所示:
图3 CAN报文收发流程图
图4 CAN通信初始化流程图
4 结论
本文首先分析了电池管理系统的主要功能,在此基础上对系统总体流程图及其各个分块予以了描述,并描述了CAN通讯的程序设计,CAN通讯还给出了协议的制定依据和报文设置。
[1] 陈清泉,孙逢春,祝嘉光,等.现代电动汽车技术[M].北京:北京理工大学出版社,2002
[2] 陈思忠,林程.电动汽车开发的关键技术及前景[M].北京:北京理工大学,2002
[3] 成涛,王军平,陈全世.电动汽车SOC估计方法原理与应用[J].电池,2004,34(5):34-45
[4] 杨朔,何莉萍,钟志华.电动汽车蓄电池荷电状态的卡尔曼滤波估计[J].贵州工业大学学报(自然科学版),2004,33(1):99-102
[5] Pritpal Singh, Craig Fennie, Jr David Reisner.Fuzzy Logic Modelling of State-of-charge and Available Capacity of Nickel/metal Hydride Batteries[J].Journal of Power Sources, 2004, 136(2):123-134
[6] 阙子扬.混合动力汽车电池管理学的研究[D].哈尔滨:哈尔滨工业大学,2007,28-33