电池管理系统软件设计.doc

上传人:阿宝 文档编号:2414025 上传时间:2020-03-21 格式:DOC 页数:9 大小:39.50KB
返回 下载 相关 举报
电池管理系统软件设计.doc_第1页
第1页 / 共9页
电池管理系统软件设计.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《电池管理系统软件设计.doc》由会员分享,可在线阅读,更多相关《电池管理系统软件设计.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、电池管理系统软件设计本电池管理系统的软件主要包括三个部分:数据采集与控制部分、中央处理单元的管理部分、整个系统的CAN 通讯部分。从软件载体上分为:控制器程序和与之相配套的监视软件。1.1 数据采集与控制部分1.1.1 数据采集程序数据采集系统在硬件上由片外独立A/D(TLC2543)和S12 片内A/D 模块组成,数据采集统程序需要分两块处理。数据采集的频率是每10ms 一次刷新一次数据。1)片外独立A/D(TLC2543)采集程序。该部分负责对电流、电压模拟量的转换,考虑到硬件上采用浮地技术,故需要I/O 口控制电子开关矩阵,以配合TLC2543的通道选择,完成电流、电压数据的采集。2)S

2、12 片内A/D 模块采集程序。该部分负责对温度模拟量的转换,由于温度模拟量物理信号直接与S12 的端口连接,程序上只需要对A/D 模块的相关寄存器配置好(如位数、时钟频率、数据对齐方式等),便完成初始化,随后启动转换,查询转换结束标志位,即可完成一次A/D 转转。1.1.2 热量管理控制程序由于充、放电过程中,电池本身会产生一定热量,从而导致温度的上升。温度会影响电池的很多特性参数,故对电池组进行热量管理是非常重要的。采用并行通风散热方式,可以获得均匀的电池箱内的温度场分布,从而保证电池组各单体电池的温度平衡。热量管理的方式是通过分析采集的温度数据,采用一定的控制策略,控制冷却风扇控制的开启

3、,维持电池工作的最佳环境温度。1.2 中央处理单元的管理部分中央处理单元主要执行以下工作:电压、电流与温度测量数据滤波;计算电池SOC;计算电池放电深度DOD;计算最大允许放电电流;计算最大允许充电电流;预测蓄电池寿命指数和SOH;故障诊断。1.2.1 电池状态参数计算流程电池状态参数计算包括测量和计算部分:滤波电压、电流与温度测量数据;计算电池SOC;计算电池放电深度DOD;计算最大允许放电电流;计算最大允许充电电流;预测蓄电池寿命指数和SOH;故障诊断;1.2.2 电池状态故障诊断故障诊断功能是BMS 的重要组成部分,本课题故障诊断可以在动力电池组工作过程中,实时掌握电池的各种状态,甚至在

4、停机状态下也能将电池故障信息定位到动力电池系统的各个部分(包括电池模块)。故障级别分为:一般故障、警告故障和严重故障。BMS 根据故障的级别将将电池状态归纳成尽快维修、立即维修和电池寿命警告等三类信息传递到仪表板以警示驾驶者。从而保护电池不被过分使用。1) BMS 的重要诊断内容如下:(1)启动过程的BMS 硬件故障诊断;(2)启动过程的传感器信号的合理性诊断;(3)启动过程的电池组电压信号合理性诊断;(4)启动过程电池模块电压的合理性诊断;(5)启动过程电流信号的合理性诊断;(6)启动过程温度信号的合理性诊断; (7)电压波动诊断;(8)无模块电压诊断;(9)无电池组电压诊断;(10)无温度

5、信号诊断;(11)电流故障诊断;(12)流量传感器故障诊断;(13)模块电压一致性故障诊断;(14)过流故障诊断;(15)通讯系统故障诊断;(16)通风机故障诊断;(17)高压电控制故障诊断;(18)模块电压的过充诊断;(19)电池组电压的过充诊断;(20)模块电压变化率的过充诊断;(21)电池组电压变化率的过充诊断;(22)SOC 的过充诊断;(23)传感器温度的过充诊断;(24)平均温度的过充诊断;(25)传感器温度变化率的过充诊断;(26)平均温度变化率的过充诊断;(27)模块电压的过放诊断;(28)电池组电压的过放诊断;(29)模块电压变化率的过放诊断;(30)电池组电压变化率的过放诊

6、断;(31)SOC 的过放诊断; (32)传感器温度的过放诊断;(33)平均温度的过放诊断;(34)传感器温度变化率的过放诊断;(35)平均温度变化率的过放诊断。2) BMS 的上述诊断内容分充电过程、放电过程进行,诊断策略与失效处理的基本策略是:(1)根据各故障原因,对各种故障诊断分别设置了诊断程序的进入与退出条件;(2)采用分时诊断流程,节约CPU 时间资源;(3)根据电池充电倍率,动态调节充电诊断过程参数;(4)根据电池放电倍率,动态调节放电诊断过程参数;(5)故障诊断分三种不同级别进行(报警、故障与危险);(6)故障诊断结果通过CAN 总线送至VMS;(7)故障诊断结果参与电池实际工作

7、电流的控制;(8)故障诊断结果参与高压电控制。1.3 CAN 通讯系统部分1.3.1 CAN 的底层驱动设计底层软件的CAN 编程主要针对MC9S12DP512 的msCAN 模块进行。msCAN 的数据缓冲区分为发送和接收缓冲区,两者分开定义,占用不同的地址空间。数据缓冲区可以定义成标准桢格式也可以定义成扩展桢格式,区别主要在ID 标识符寄存器内容的设定上。相同之处在于:若RTR=0 则为数据桢;若RTR=1 则为远程桢。本系统根据需要,只使用了扩展桢格式。每个缓冲区在数据成功地传送完成后都可以产生中断。这里接收时使用了中断,每次成功地接收了一组数据后,将接收到的数据复制到指定的全局变量中。

8、1)初始化。初始化过程只有在msCAN 进入初始化模式(设置CANCTL0 和查询CANCTL1)才能进行,初始化主要包括工作方式的设置(CANCTL1)、波特率的设置(CANBTR0 和CANBTR1)、接收滤波方式的设置(CANIDAC)、接收代码寄存器(CANIDAR)和接收屏蔽寄存器(CANIDMR)的设置,之后退出初始化模式(设置CANCTL0 和查询CANCTL1)。1)报文接收。接收的数据储存在一个5 级的输入FIFO 中,背景缓冲RxBG 始终与msCAN相连,前景缓冲RxFG 始终与CPU 相连,这种处理方便了应用软件。接收缓冲满RXF 标志表示了RxFG 的状态,当正确接收

9、且通过标识符验收的数据到达RxFG 时,RXF 置位,接收子程序可以通过查询或中断的方式来接收数据。接收时每帧信息都要接受标识符验收滤波,其原理是把标识符验收寄存器的每一位与接收到的标识符对应的位异或取反后再与标识符屏蔽寄存器的对应位取或,最后所有结果进行与运算得出验收结果。本电池管理程序采用中断方式接受报文,可减轻CPU负载,提高实时性。2)报文发送。本系统CAN 模块的发送采用定时方式来控制,按照整车CAN应用层协议同其他车载控制器交换信息,同时具备事件触发控制功能,以满足电池管理系统标定接口的要求。这里最好把CAN 中断优先级设为高优先级。发送时,CPU 检查CAN 模块的发送缓冲区,若

10、有发送缓冲器处于“释放”状态,标志(TXE2:0)置位,则CPU 将发送的信息传送到该发送缓冲器,然后将该标志(TXE2:0)清零,启动发送,发送期间,TXE2:0处于“锁定”状态,此时CPU 不能访问发送缓冲器。发送成功结束时,TXE2:0处于“释放”状态,这时CPU 就可以访问发送缓冲器,进行下一次发送操作。1.3.2 基于CAN 的监视软件设计基于CAN 的监视软件的是针对USBCAN 开发的,PC 通过USBCAN 可与车载CAN 网络连接,实现对电池管理系统的在线实时访问,完全满足车载动态实时监测的要求。USBCAN 针对不同的应用提供了其开发接口文件ControlCAN.h 、Co

11、ntrolCAN.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 软件进行后处理分析

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 标准材料 > 车辆标准

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁