基于Freescale单片机的电池管理系统设计
扫描二维码
随时随地手机看文章
摘 要:为了实现电动汽车电池的实时监控,在研究了锂离子电池特点的基础上,提出了一种用于混合动力汽车的分布式电池管理系统。其中,硬件系统包括电源模块、基于Freescale 系列单片机的主控制模块和子模块、均衡模块以及CAN 总线通信模块等; 软件系统包括基于下溢中断的数据采集与处理、SOC 估算、均衡处理和CAN 通信等任务。
0 引言
混合动力汽车的整车性能很大程度上依赖于动力蓄电池。高性能、高可靠性的电池管理系统( Bat ter yManag ement Sy stem,BMS) 能使电池在各种工作条件下获得最佳的性能。电池管理系统不仅要监测混合动力电动汽车电池的充放电电流、总电压、单体电压和剩余电量SOC,还要预测电池的功率强度,以便监控电池的使用状况,在汽车启动和加速时提供足够的输出功率,刹车时电池组能回收更多的能量,即提供足够的输入功率,并且不对电池组造成伤害。当电池出现过充或过放、温度过高等异常情况时,电池管理系统会记录电池号、诊断电池故障并报警,同时整车控制系统对充电机和用电设备给出控制信号。因此,电池管理系统是混合动力汽车的重要电子控制单元之一,对保障电池的可靠性和安全性起到重要作用。
1 电池管理系统的功能
电池管理系统的主要功能包括: 电池状态参数的采集、电池状态的预测、电池组故障诊断、均衡保护以及通信等。
1. 1 电池状态参数采集
电池管理系统的所有算法都是以采集到的电池状态参数为基础的,因此必须保证数据的精确度。采用Fr eescale 集成的10 位A/ D 转换模块完成对单体电压、温度、总电压以及充放电电流的采集。
1. 2 电池状态的预测
电池状态预测包括两个方面。一方面是以安时积分法为基础的电池荷电状态的预测; 另一方面是以电流、电压、温度为输入完成最大充放电功率的预测。整车控制器以这两个参数为参考,正确地进行功率分配。
1. 3 电池组故障诊断
能够根据采集到的参数,实时诊断电池温度过高、过低故障,电池过压、欠压故障,发出电池充放电电流过大、电池组绝缘故障警告。这是保证动力电池系统可靠、车辆行驶安全、满足用户驾车需求的重要技术手段。
1. 4 均衡保护
单体电池的差异性,不仅会导致电池组的使用寿命比单体电池短很多; 同时,对于锂离子电池而言,由于其对充放电要求很高,当过充、过放、过电流及短路等情况发生时,锂离子电池压力与热量大量增加,容易产生火*、燃烧甚至爆炸。为确保安全性和稳定性,必须采取均衡措施。
1. 5 通信功能
主要指整车与电池管理系统的CAN 通信。
2 分布式电池管理系统硬件组成
目前,常用的电池管理系统设计方式主要有两种:
分布式设计和集中式设计。分布式电池管理系统是将电池管理系统分为若干个子模块和一个主控制模块。
每一个子模块能单独完成电池信息测量、电池能量均衡、通信等功能,每一个子模块都分别与一个电池模块连接在一起,各个子模块之间以及子模块与主控制模块之间通过总线进行通信。主控制模块完成电池信息的处理、荷电状态估算、电池故障诊断、电池组热管理、电池组与整车通信等功能。
主控制模块和子模块分别采用Freescale 9S12 系列的DP512 和DG128 作为处理器。系统硬件框图如图1 所示。
图1 系统硬件框图
2. 1 电源模块
整车为BMS 提供的电压是12 V,管理系统需要的电压有: 5 V,单片机及驱动芯片用; ! 15 V,运放及电流传感器用。采用DC/ DC 模块将12 V 电压转成5 V或者15 V。
2. 2 A/ D 转换模块
Frescale 16 位系列芯片集成10 位的A/ D 转换模块,满足整车的采样精度要求。A/ D 采样电路包括电压采样、电流采样与温度采样。子模块中用CPLD 控制光耦阵列开关,实现模块电压巡检采样,主模块中直接对总电压周期采样; 采用霍尔传感器实现电流采样;采用热敏电阻实现温度采样。
DG128 通过I/ O 向CPLD 实时发送电池模块选通信号,CPLD 根据传送过来的信号经由内部与非逻辑组合的运算,向高压光电隔离开关阵列发出控制信号,控制光电开关固态继电器分时导通; 被选中的模块电压信号再经过线性隔离放大和低通滤波预处理,最后进入DG128 的A/ D 转换模块。开关阵列控制隔离滤波电路如图2 所示。
图2 模块电压采集电路
如图3 所示,设电池总电压为U,电阻R2 两端的电压为U2 ,当求得R2 两端的电压U2 ,即可反求U。为了提高U2 的采样精度,抑制高频干扰,在R 2 两端增加由电阻R 3 和电容C1 组成的低通滤波器,再经光藕AQW214隔离后,将U2 传给线性光电隔离放大环节ISO124,最终传给DP512 的A/ D,经处理,求得U。
图3 总电压采集电路
图4 中利用二极管单向导电性,将正负电流分别经过电阻和运算放大器组成的网络,最终转换为电压信号,进入A/ D 模块。
图4 电流采集电路
图5 中,虚线框内的RV 为热敏电阻,R2 为低温漂精密电阻。5 V 经R2 分压,即可求得RV 的阻值变化,查表进而得到对应的温度值。与测量其他信号一样,温度转换的电压信号也经过一个低通滤波器进入A/ D 模块。
图5 温度采集电路
2. 3 均衡模块
根据实时采集的数据,当电池管理系统认为某一单体电压BATn 需要均衡时,给出均衡控制信号EQ _CT RLn ,光耦闭合,MOS 管导通,均衡电路启动,如图6 所示。
图6 均衡电路
2. 4 CAN 通信模块
CAN 通信是整车与BMS 之间、BMS 主控制模块和子模块之间的信息桥梁。子模块将采集到的单体电压和温度值通过CAN 总线上传给主控模块,主控模块通过CAN 总线给子模块下达均衡命令; 主控模块将电池参数发送给整车,整车控制器通过判断决策能量分配。Freescale 9S12 系列单片机已经集成CAN 模块MSCAN,外扩引脚CANTX 和CANRX。还需要PCA82C250 来作为驱动芯片,如图7 所示。
图7 CAN 通信接口电路
3 分布式电池管理系统的软件设计
电池管理系统软件以CodeWarrior for HCS12V4. 7 为开发环境,采用C 语言编写,包括了主控制模块和子模块两个部分的软件设计。
3. 1 主控制模块
主控制模块的任务主要有: A/ D 转换与数据处理任务、整车CAN 接收任务、整车CAN 发送任务、系统监控任务、SOC 与能量估算任务以及均衡处理任务。中断有:A/ D 采集中断、定时器下溢中断、CAN 接收中断。
如图8 所示,系统初始化工作完成后,软件以模/ 数减法计数器的下溢中断来确定系统的执行周期,计数周期为5 ms。在模/ 数计数器前一次下溢中断程序中,选择电压采集通道,并查询整车CAN 接收; 经5 ms 在本次下溢中断到来后,中断服务程序进行A/ D 转换的启动,转换完成进入A/ D 中断,开启其他任务的执行,如此循环交替进行。根据整车控制策略,CAN 上的电池状态数据每帧的刷新周期为10 ms,因此设置下溢中断的时钟节拍为5ms,相应地,以上所有任务的执行周期均为10 ms。
图8主控制模块软件时序图
3. 2 子模块
子模块的任务主要有: A/ D 转换与数据处理任务、内部CAN 接收任务、内部CA N 发送任务、以及均衡执行任务。中断有: A/ D 采集中断、定时器下溢中断。
如图9 所示,软件以模/ 数减法计数器的下溢中断来确定系统的执行周期,计数周期为2. 5 ms。在模/ 数计数器前一次下溢中断程序中,选择电压采集通道,并查询内部CAN 接收; 经2. 5 ms 在本次下溢中断到来后,中断服务程序进行A/ D 转换的启动,转换完成进入A/ D 中断,开启其他任务的执行,如此循环交替进行。其中,根据协议,内部CAN 发送任务为保证周期为10 ms,要间隔一次A/ D 转换后才启动,其他任务执行周期则为5 ms。
图9 子模块软件时序图
4 结 论
基于Freescale 单片机的分布式电池管理系统,用集成A/ D 转换模块实现实时数据采集,同时均衡控制功能还解决了电池单体电压不均衡造成的过充问题。Freescale 9S12 系列单片机强大的数据处理功能,丰富的外围接口和良好的电磁兼容性满足了混合动力汽车电池管理的所有要求,在实际中得到了良好的效果。