新能源汽车电池管理系统软件设计Word下载.docx
《新能源汽车电池管理系统软件设计Word下载.docx》由会员分享,可在线阅读,更多相关《新能源汽车电池管理系统软件设计Word下载.docx(6页珍藏版)》请在冰豆网上搜索。
即可完成一次A/D转转。
5.1.2热量管理控制程序
由于充、放电过程中,电池本身会产生一定热量,从而导致温度的上升。
温度会影响电
池的很多特性参数,故对电池组进行热量管理是非常重要的。
采用并行通风散热方式,
可以获得均匀的电池箱内的温度场分布,从而保证电池组各单体电池的温度平衡。
热量
管理的方式是通过分析采集的温度数据,采用一定的控制策略,控制冷却风扇控制的开
启,维持电池工作的最佳环境温度。
47
5.2中央处理单元的管理部分
中央处理单元主要执行以下工作:
电压、电流与温度测量数据滤波;
计算电池SOC;
计
算电池放电深度DOD;
计算最大允许放电电流;
计算最大允许充电电流;
预测蓄电池寿
命指数和SOH;
故障诊断。
5.2.1电池状态参数计算流程
电池状态参数计算包括测量和计算部分:
滤波电压、电流与温度测量数据;
计算电池放电深度DOD;
预测蓄电池
寿命指数和SOH;
故障诊断;
5.2.2电池状态故障诊断
故障诊断功能是BMS的重要组成部分,本课题故障诊断可以在动力电池组工作过程中,
实时掌握电池的各种状态,甚至在停机状态下也能将电池故障信息定位到动力电池系统
的各个部分(包括电池模块)。
故障级别分为:
一般故障、警告故障和严重故障。
BMS根
据故障的级别将将电池状态归纳成尽快维修、立即维修和电池寿命警告等三类信息传递
到仪表板以警示驾驶者。
从而保护电池不被过分使用。
1)BMS的重要诊断内容如下:
(1)启动过程的BMS硬件故障诊断;
(2)启动过程的传感
器信号的合理性诊断;
(3)启动过程的电池组电压信号合理性诊断;
(4)启动过程电池模
块电压的合理性诊断;
(5)启动过程电流信号的合理性诊断;
(6)启动过程温度信号的合
理性诊断;
(7)电压波动诊断;
(8)无模块电压诊断;
(9)无电池组电压诊断;
(10)无温
度信号诊断;
(11)电流故障诊断;
(12)流量传感器故障诊断;
(13)模块电压一致性故障
诊断;
(14)过流故障诊断;
(15)通讯系统故障诊断;
(16)通风机故障诊断;
(17)高压电
控制故障诊断;
(18)模块电压的过充诊断;
(19)电池组电压的过充诊断;
(20)模块电压
变化率的过充诊断;
(21)电池组电压变化率的过充诊断;
(22)SOC的过充诊断;
(23)传
感器温度的过充诊断;
(24)平均温度的过充诊断;
(25)传感器温度变化率的过充诊断;
(26)平均温度变化率的过充诊断;
(27)模块电压的过放诊断;
(28)电池组电压的过放诊
断;
(29)模块电压变化率的过放诊断;
(30)电池组电压变化率的过放诊断;
(31)SOC的
过放诊断;
(32)传感器温度的过放诊断;
(33)平均温度的过放诊断;
(34)传感器温度
变化率的过放诊断;
(35)平均温度变化率的过放诊断。
2)BMS的上述诊断内容分充电过程、放电过程进行,诊断策略与失效处理的基本策略
是:
(1)根据各故障原因,对各种故障诊断分别设置了诊断程序的进入与退出条件;
(2)
采用分时诊断流程,节约CPU时间资源;
(3)根据电池充电倍率,动态调节充电诊断过
程参数;
(4)根据电池放电倍率,动态调节放电诊断过程参数;
(5)故障诊断分三种不同
级别进行(报警、故障与危险);
(6)故障诊断结果通过CAN总线送至VMS;
(7)故障诊
断结果参与电池实际工作电流的控制;
(8)故障诊断结果参与高压电控制。
5.3CAN通讯系统部分
5.3.1CAN的底层驱动设计
底层软件的CAN编程主要针对MC9S12DP512的msCAN模块进行。
msCAN的数据缓冲区分
为发送和接收缓冲区,两者分开定义,占用不同的地址空间。
数据缓冲区可以定义成标
准桢格式也可以定义成扩展桢格式,区别主要在ID标识符寄存器内容的设定上。
相同
之处在于:
若RTR=0则为数据桢;
若RTR=1则为远程桢。
本系统根据需要,只使用了扩
展桢格式。
每个缓冲区在数据成功地传送完成后都可以产生中断。
这里接收时使用了中
断,每次成功地接收了一组数据后,将接收到的数据复制到指定的全局变量中。
1)初始化。
初始化过程只有在msCAN进入初始化模式(设置CANCTL0和查询CANCTL1)
才能进行,初始化主要包括工作方式的设置(CANCTL1)、波特率的设置(CANBTR0和
CANBTR1)、接收滤波方式的设置(CANIDAC)、接收代码寄存器(CANIDAR)和接收屏蔽
48
寄存器(CANIDMR)的设置,之后退出初始化模式(设置CANCTL0和查询CANCTL1)。
1)报文接收。
接收的数据储存在一个5级的输入FIFO中,背景缓冲RxBG始终与msCAN
相连,前景缓冲RxFG始终与CPU相连,这种处理方便了应用软件。
接收缓冲满RXF标
志表示了RxFG的状态,当正确接收且通过标识符验收的数据到达RxFG时,RXF置位,
接收子程序可以通过查询或中断的方式来接收数据。
接收时每帧信息都要接受标识符验
收滤波,其原理是把标识符验收寄存器的每一位与接收到的标识符对应的位异或取反后
再与标识符屏蔽寄存器的对应位取或,最后所有结果进行与运算得出验收结果。
本电池
管理程序采用中断方式接受报文,可减轻CPU负载,提高实时性。
2)报文发送。
本系统CAN模块的发送采用定时方式来控制,按照整车CAN应用层协议同
其他车载控制器交换信息,同时具备事件触发控制功能,以满足电池管理系统标定接口
的要求。
这里最好把CAN中断优先级设为高优先级。
发送时,CPU检查CAN模块的发送
缓冲区,若有发送缓冲器处于“释放”状态,标志(TXE[2:
0])置位,则CPU将发送的信
息传送到该发送缓冲器,然后将该标志(TXE[2:
0])清零,启动发送,发送期间,TXE[2:
0]
处于“锁定”状态,此时CPU不能访问发送缓冲器。
发送成功结束时,TXE[2:
0]处于“释
放”状态,这时CPU就可以访问发送缓冲器,进行下一次发送操作。
5.3.2基于CAN的监视软件设计
基于CAN的监视软件的是针对USBCAN开发的,PC通过USBCAN可与车载CAN网络连接,
实现对电池管理系统的在线实时访问,完全满足车载动态实时监测的要求。
USBCAN针
对不同的应用提供了其开发接口文件ControlCAN.h、ControlCAN.lib、
ControlCAN.dll。
对于本系统,需要将ControlCAN.h、ControlCAN.lib添加到工程,同
时将ControlCAN.dll拷贝到系统目录。
这里涉及到数据的发送和接收。
数据发送调用
接口里面的VCI_Transmit函数便可。
数据接收是通过回调函数进行的。
只要定义了接
收队列,而且准备USBCAN时,则在队列接收到报文时,回调函数会自动被调用。
只需
在回调函数中把数据存储到特定的缓冲区便可。
监视软件实现的功能有:
(1)监测动力
蓄电池的单体或模块电压;
(2)监测动力蓄电池组总电压;
(3)监测电流;
(4)电池组SOC;
(5)电池组工作平均温度;
(6)模块电压极大值;
(7)模块电压极小值;
(8)温度传感器极
大值;
(9)温度传感器极小值;
(10)监测最大允许充电电流和最大允许放电电流;
(11)
监测蓄电池组故障码状态;
(12)显示工况运行时间;
(13)存储数据,采用office软件
进行后处理分析