找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[电源技术] 基于CAN总线的电动汽车动力电池组采集系统设计

[复制链接]
admin 发表于 2014-4-3 12:00:48 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
关键字:CAN总线 电池
  电池是电动汽车的能量来源,电动车发展的主要技术瓶颈就是电池技术的发展。目前全世界汽车厂商纷纷开发使用电动车,电动车的蓬勃发展及远大前景,促使了电池技术的发展,国内外各大电池厂商投巨资来发展电池技术。而对电池性能的研究就离不开大量的实验数据,动态采集电动车电池组的参数是研究电池性能的重要途径。本系统对电池组的动态工作过程的参数变化进行实时采集并存储分析。通过建立电池模型来预测电池的容量状态与电池健康状态,建立电池组的基础数据库,为研究电池性能提供可靠的数据参考。
      1 基于CAN 总线的系统硬件设计
      CAN 总线是目前世界上最流行的汽车控制与测试间的一种串行数据通信协议,具有实时性强、抗干扰能力强、结构简单、应用方便、价格低廉等特点[4],通信速率可达1 Mbps,使得CAN 总线在电动汽车应用上成为发展趋势。
      图1 为一般电动车CAN 总线网络框图。CAN 总线接口电路的核心是使用8 位高性能的片内含CAN 控制器的P87C591 作为CAN 通信控制器,以完成CAN 的通信协议,而CAN 总线收发器的主要功能是增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI)等。
     
    图1 一般电动车CAN 总线网络框图
      本系统中共有16 组,每组有10 节电池串联,每1 个电池组配置1 个测量单元。每个单元采用一种设计非常简化的电池测量方法,由一个IC 集成了大部分电池参数的采集任务,结构简单,精度高,可靠性高。本设计采用电池管理芯片LTC6802,它通过一个1 MHz 串行接口进行通信,并包括温度传感器输入、12 位ADC 和一个精准的电压基准。每个LTC6802 能测量12 只单独电池,实现了0.12%(在室温条件下)和0.22%(在-40 ℃至+85 ℃的温度范围内)的准确度,能够承受60 V 的共模电压,完全适合在电池组高共模电压的要求。LTC6802 采用串行外部设备接口(SPI) 进行命令和数据通信, 本论文使用P87C591 的IO 模拟SPI 工作方式与LTC6802 进行数据通信,此方法可以更充分地使用硬件资源(见图2 所示)。
    20121112050545336172036.jpg
    图2 基于CAN总线的电池组ECU采集系统的结构
      每个测量单元的控制器均采用内部集成了CAN控制器SJA1000和A/D模数转换模块单片机P87C591芯片,其主要功能是提供电池组的电压和温度信息,并将采集的信号通过CAN总线发送给电池管理ECU,其中CAN通讯接口电路如图3所示。
    20121112050545961152037.jpg
    图3CAN通讯接口电路
      电池组的ECU 与电池管理ECU 组成一个CAN 总线网络,网络拓扑结构为总线形,传输介质为双绞线,传输协议为CAN2.0B。电池管理ECU 为双CAN 控制器结构,一个CAN控制器与电池组ECU 组成电池管理系统内部的CAN 网络,另一个CAN 控制器与汽车中其他控制系统组成整车光纤CAN 总线网络,能实现多机通信,并达到上位机控制和电池组状态信息的采集。
      2 系统软件设计
      本系统采用8051 系列的C 语言进行软件编程,按照模块化设计思想进行编写,包括主程序、CAN 初始化程序、CAN发送数据程序、CAN 接收数据程序、A /D 转换及定时中断程序等。CAN初始化程序用来实现CAN 工作时的参数设置,主要包括工作方式的设置、时钟输出寄存器的设置、接受屏蔽寄存器和接收代码寄存器的设置、总线定时器的设置、输出控制寄存器的设置、中断允许寄存器的设置和总线波特率的设置。系统主程序流程设计如图4 所示,主要包括初始化和主循环部分。
    20121112050546008032038.jpg
    图4 系统主程序流程图[next]
      
    3 基于USB-CAN的数据采集
      LabVIEW主要用于仪器控制、数据采集、数据分析等领域,是一个功能强大、方便灵活的虚拟仪器开发环境,它提供了大量的连接机制,通过DLLs、共享库、ActiveX等途径实现与外部程序代码或软件系统的连接。
      本系统的上位机设计采用USB-CAN模块与电池管理系统BMU进行数据通信,通过USB-CAN模块对CAN总线上的数据进行实时采集。Virtual CAN Interface(VCI)函数库是专门为ZLGCAN设备在PC上使用而提供的应用程序接口。库里的函数从ControlCAN.dll中导出,在LabVIEW中可以通过调用动态链接库的方法直接使用这些库函数实现对电池组数据的实时显示、存储与分析,更好的记录电池组动态的各个参数。上位机主要功能是对电压、电流、温度数据实时曲线显示,数据记录与历史数据显示,并且对电池组参数进行统计分析,包括动态运行过程中单节电池最高电压、最低电压、最大输出电流、最大反向制动电流、瞬时功率、累计消耗能量等参数。VCI 函数的使用流程如图5 所示。实践证明此方法高效可靠,能够很好地满足数据采集的要求。
    20121112050546117402039.jpg
    图5 VCI 函数的使用流程图
      图6 与图7 是电池组实时采集的单节电池电压与总电流实时曲线,可以看出电池在工作过程中电压会有一定差别,这也是由于电池特性不一致所引起的。从图7 中可以看出,电池组在运行过程中最大放电电流可达到300 A,电流负值表示电动车在反向制动时的充电电流,最大可达-200 A。由于电池总是工作在充电放电过程中,所以对于电池动态数据的采集与分析是必不可少的一个环节。通过数据的采集、存储与分析,可以准确地判断电池的实际状态,为建立电池数据库提供数据资源。
    20121112050546523642040.jpg
    图6 单节电池电压实时曲线
    20121112050546820512041.jpg
    图7 总电流实时曲线
      此外,本系统还有一个自动生成运行报告的功能,通过实际路况的数据采集对数据进行统计分析。运行报告内容包括:电池组动态一致性、最高电压、最低电压、平均电压、输出最大电流、最大制动电流、输出能量、反向制动能量、最高温度、最低温度等。
      4 结论
      根据锂离子电池车载系统的特殊环境及对电池参数的测试要求, 本系统采用CAN和光纤通信技术,使用电池管理专用IC,使系统的实时性、可靠性和抗干扰能力大大增强, 而且系统易于扩展,灵活性好,能够准确采集电池的各个参数,准确地采集数据并预测电池的运行状态,从而提高了电池组的使用寿命。此外,本文还对系统进行上位机的软件设计与开发,能够采集并存储大量的测试数据,为建立完善的电池组数据库提供了可靠的数据资源,对电池技术的发展与完善作出可靠的实验数据。本系统还可以通过打开保存的数据文件,经分析计算电池组一致性、电池组容量、电池组内阻等重要参数,统计分析电池状态,打印电池运行报告。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-25 23:40 , Processed in 0.061081 second(s), 13 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表