×
嵌入式 > 技术百科 > 详情

基于单片机的电池管理系统设计

发布时间:2020-06-20 发布时间:
|

    混合动力汽车的整车性能很大程度上依赖于动力蓄电池。高性能、高可靠性的电池管理系统(Battery Management System,BMS)能使电池在各种工作条件下获得最佳的性能。电池管理系统不仅要监测混合动力电动汽车电池的充放电电流、总电压、单体电压和剩余电量SOC,还要预测电池的功率强度,以便监控电池的使用状况,在汽车启动和加速时提供足够的输出功率,刹车时电池组能回收更多的能量,即提供足够的输入功率,并且不对电池组造成伤害。当电池出现过充或过放、温度过高等异常情况时,电池管理系统会记录电池号、诊断电池故障并报警,同时整车控制系统对充电机和用电设备给出控制信号。因此,电池管理系统是混合动力汽车的重要电子控制单元之一,对保障电池的可靠性和安全性起到重要作用。

1 电池管理系统的功能
    电池管理系统的主要功能包括:电池状态参数的采集、电池状态的预测、电池组故障诊断、均衡保护以及通信等。
1.1 电池状态参数采集
    电池管理系统的所有算法都是以采集到的电池状态参数为基础的,因此必须保证数据的精确度。采用Freescale集成的10位A/D转换模块完成对单体电压、温度、总电压以及充放电电流的采集。
1.2 电池状态的预测
    电池状态预测包括两个方面。一方面是以安时积分法为基础的电池荷电状态的预测;另一方面是以电流、电压、温度为输入完成最大充放电功率的预测。整车控制器以这两个参数为参考,正确地进行功率分配。
1.3 电池组故障诊断
    能够根据采集到的参数,实时诊断电池温度过高、过低故障,电池过压、欠压故障,发出电池充放电电流过大、电池组绝缘故障警告。这是保证动力电池系统可靠、车辆行驶安全、满足用户驾车需求的重要技术手段。
1.4 均衡保护
    单体电池的差异性,不仅会导致电池组的使用寿命比单体电池短很多;同时,对于锂离子电池而言,由于其对充放电要求很高,当过充、过放、过电流及短路等情况发生时,锂离子电池压力与热量大量增加,容易产生火花、燃烧甚至爆炸。为确保安全性和稳定性,必须采取均衡措施。
1.5 通信功能
    主要指整车与电池管理系统的CAN通信。

2 分布式电池管理系统硬件组成
    目前,常用的电池管理系统设计方式主要有两种:分布式设计和集中式设计。分布式电池管理系统是将电池管理系统分为若干个子模块和一个主控制模块。每一个子模块能单独完成电池信息测量、电池能量均衡、通信等功能,每一个子模块都分别与一个电池模块连接在一起,各个子模块之间以及子模块与主控制模块之间通过总线进行通信。主控制模块完成电池信息的处理、荷电状态估算、电池故障诊断、电池组热管理、电池组与整车通信等功能。
    主控制模块和子模块分别采用Freescale 9S12系列的DP512和DG128作为处理器。系统硬件框图如图1所示。

[page]

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所示。


    如图3所示,设电池总电压为U,电阻R2两端的电压为U2,当求得R2两端的电压U2,即可反求U。为了提高U2的采样精度,抑制高频干扰,在R2两端增加由电阻R3和电容C1组成的低通滤波器,再经光藕AQW214隔离后,将U2传给线性光电隔离放大环节ISO124,最终传给DP512的A/D,经处理,求得U。

[page]

    图4中利用二极管单向导电性,将正负电流分别经过电阻和运算放大器组成的网络,最终转换为电压信号,进入A/D模块。


    图5中,虚线框内的RV,为热敏电阻,R2为低温漂精密电阻。5 V经R2分压,即可求得RV的阻值变化,查表进而得到对应的温度值。与测量其他信号一样,温度转换的电压信号也经过一个低通滤波器进入A/D模块。
2.3 均衡模块
    根据实时采集的数据,当电池管理系统认为某一单体电压BATn需要均衡时,给出均衡控制信号EQ_CTRLn,光耦闭合,MOS管导通,均衡电路启动,如图6所示。

[page]

2.4 CAN通信模块
    CAN通信是整车与BMS之间、BMS主控制模块和子模块之间的信息桥梁。子模块将采集到的单体电压和温度值通过CAN总线上传给主控模块,主控模块通过CAN总线给子模块下达均衡命令;主控模块将电池参数发送给整车,整车控制器通过判断决策能量分配。Freescale 9S12系列单片机已经集成CAN模块MSCAN,外扩引脚CANTX和CANRX。还需要PCA82C250来作为驱动芯片,如图7所示。

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。
3.2 子模块
    子模块的任务主要有:A/D转换与数据处理任务、内部CAN接收任务、内部CAN发送任务、以及均衡执行任务。中断有:A/D采集中断、定时器下溢中断。


    如图9所示,软件以模/数减法计数器的下溢中断来确定系统的执行周期,计数周期为2.5 ms。在模/数计数器前一次下溢中断程序中,选择电压采集通道,并查询内部CAN接收;经2.5 ms在本次下溢中断到来后,中断服务程序进行A/D转换的启动,转换完成进入A/D中断,开启其他任务的执行,如此循环交替进行。其中,根据协议,内部CAN发送任务为保证周期为10 ms,要间隔一次A/D转换后才启动,其他任务执行周期则为5 ms。

4 结论
    基于Freescale单片机的分布式电池管理系统,用集成A/D转换模块实现实时数据采集,同时均衡控制功能还解决了电池单体电压不均衡造成的过充问题。Freescale 9S12系列单片机强大的数据处理功能,丰富的外围接口和良好的电磁兼容性满足了混合动力汽车电池管理的所有要求,在实际中得到了良好的效果。

 

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
洪荒之力+无比专注=国内首款机器人离线编程软件