基于DSP的电动汽车电池管理系统建立及SOC精准估计
2020-11-09陈天英侯仰军栗会峰杨少波董靓媛严敬汝
陈天英侯仰军栗会峰杨少波董靓媛严敬汝
(1.国网河北省电力有限公司电力科学研究院,河北 石家庄 050021;2.河北华电石家庄热电有限公司,河北 石家庄 050041)
电动汽车磷酸铁锂电池作为当前电动汽车主流配给电源,是影响电动汽车整体性能的关键因素,为确保电池的安全,延长电池的使用寿命和调节电池充放电的控制策略,可靠的电池管理系统尤为重要[1]。
针对目前电池管理系统(Battery Management System,BMS)的应用需求,主要设计实现三大功能:实时监测电池状态,采集单体电池电压,电流和温度等信息;建立有效的算法与模型,对电池荷电状态(State of Charge,SOC)进行准确的估计,从而对电池组采取合适的充放电控制策略;在正确获取电池的状态下提供给车主剩余电量预警提示,以及过放电保护策略。
1 系统硬件设计
1.1 电池管理系统结构框架
文中电池管理系统主要有四大部分组成:串联电池组部分、系统控制部分、保护执行部分、上位机信息采集部分。其结构示意见图1。
串联电池组由7 节5 Ah 标称电压为3.2 V的磷酸铁锂动力电池串联组成。系统控制部分以TMS320LF2407作为主控制器,外设包括电压、电流、温度检测模块,键盘模块,显示模块,报警模块及CAN总线驱动等。保护执行部分为主电路驱动 模 块、51 单 片 机、8255 组 成 的I/O 口 扩 展、CAN 控制器及其驱动和过冲过放保护电路等。PC机作为上位机,从主控DSP采集监测数据,以便对控制系统进行矫正[2]。其中,系统控制电路和保护执行部分通过CAN 总线通信实现信息交换;系统控制电路和上位机信息采集部分通过SCI总线通信实现上位机与下位机间信息交换。
图1 电池管理系统结构示意
1.2 主要电路设计
1.2.1 主控芯片的选择
由于串联电池组单体电池数量较多,系统需要采集信息的种类和数量较多,处理数据量较大,数据类型较多,运算复杂,而且还需要与其他模块进行大量的信息交换[3]。因此,应当尽量选取集成度高、数据处理速度快、精度高的处理器作为系统主控制器[4]。考虑以上几个方面,选取DSP芯片TMS320LF2407作为本系统的主控制器。
1.2.2 电池电压采集电路设计
由于串联电池组由多节单体电池串联而成,每节单体的负极不共地,所以用一个控制器采集所有电池电压时,会有一定的困难,但经过长期的研究也出现了许多不同的方法,目前应用较多的方法有:直接检测;光耦隔离检测[5];运算放大器和模拟器件转换抑制共模电压检测。选用一款专门用于串联电池组的单体电压测量芯片LTC6802,其每片可以检测12节单体电池电压,可以通过菊花链的结构串联使用,最高可以测量1 000 V 的系统,这种方法设计简单,成本较低,便于实现。
1.2.3 电流检测电路设计
电流采集选用高精度闭环霍尔电流传感器SO1TC2.52V1,电流经霍尔传感器转换为电压信号后,需将模拟信号转换为数字信号才可以由DSP读取[6],为了提高转换精度,系统选取ADI公司的16位AD 转换器AD7988。
由于DSP 的SPI通信波特率在电压检测已以初始化为1M,而此处的通信波特率相对较低,所以此处用DSP的通用I/O 模拟SPI通信,实现DSP与AD 的连接。
1.2.4 主通信电路设计
系统主通信包括两部分:主控制器DSP 与电脑之间的SCI通信、主控制器DSP与均衡执行控制器51单片机之间的CAN 总线通信。DSP与电脑之间,从两者集成的硬件资源以及现有的上位机软件资源考虑,选取了SCI通信[7];而DSP 与51单片机之间,则考虑控制系统的运行工况,选用CAN 总线通信具有更高的可靠性。
2 系统软件设计
对于一个完整的硬件控制系统,必须要有完善的软件系统作为支撑。本文的重点工作是电池SOC的估计,而且SOC估计分为动态估计和静态估计。
2.1 主控制流程设计
主控制流程从整体上看是一个循环执行的程序,实时检测电池的信息并实现对电池SOC 状态的估计。主控制流程如图2所示。
图2 主控制流程
系统上电后,首先要对系统内所有模块进行初始化,包括各个检测模块、通信模块、定时器以及SOC估计参数的初始化,并检测各模块是否工作正常[8]。初始化完毕后进入主循环部分,第1步,检测系统主电路的电流(即串联电池组的电流)是否正常,如果出现过电流,则进行报警提示,严重时系统会自动断开主电路,使电池组停止放电;第2步,检测每个单体电池的温度,看是否有出现单体电池温度过高现象,如果有也会先给出报警信号,当温度超过最高允许值时,系统也会自动断开主电路;第3 步,检测每个单体电池的电压;第4步,根据检测的单体电池的电压判断单体是否有单体过电压或低电压,如果有则根据过电压或低电压的程度给出报警信号或直接断开主电路;第5步,是系统的核心部分,即根据以上检测的电池信息对电池进行SOC 估计;第6步,在估计完成后,将以上检测的电池信息、报警信息和SOC估计信息传给上位机系统,同时通过液晶显示器显示出来。
2.2 电池SOC状态估计
2.2.1 电池SOC状态估计算法与模型的选择
准确的电池SOC 状态估计不仅需要完整的硬件系统做支持,还需要可靠的算法和电池模型去完善[9]。电池的内部状态成非线性变化,因此选择卡尔曼滤波法的加强版——拓展卡尔曼滤波法(EKF)。该方法可以很好的适应非线性系统,而且加入Thevenin电池模型,通过对DSP进行C语言编程实现软硬件的结合。如图3所示为Thevenin电池模型,E(t)是电池电动势,i(t)是流经R1内阻的电流,U C(t)是极化电容C两端电压。
图3 Thevenin 电池模型
式(1)、(2)表示了Thevenin电池模型的电气关系,其中,S(t)为t时刻电池的荷电状态;F[S(t)]为电池SOC 与电动势在同一温度下的函数关系;ΔE(T)为电池在不同温度下电动势相对于参考条件下的变化量,一般可忽略不计。
EKF滤波算法计算过程。
a.式(4)和(5)作为其状态方程和输出方程
式(4)和(5)中:电流i(k)为输入量;端电压V(k)为输出量;矩阵不可测量量对系统状态变量的干扰;v(k)为电池端电压的测量噪声。
b.模型参数选定。
需要对式(5)进行线性化处理,便可以得到
c.算法状态量初始化
d.迭代计算
如图4所示为EKF滤波过程。
图4 EKF滤波算法流程
2.2.2 电池SOC状态估计软件设计
电池SOC 动态估计是指电动汽车正在运行时的检测[10],具体流程如图5所示。
图5 SOC状态估计流程
这个过程电池内部变化很复杂,为准确估计电池实时SOC 动态,以Thevenin电池模型为基础,并添加了拓展卡尔曼滤波法(EKF)为核心算法。电池SOC静态估计是指电动汽车在静止时对电池状态的估计。
3 试验验证
为检验此方法的准确性,以标准容量5 Ah磷酸铁锂电池为实验对象,在搭建的试验平台上进行模拟工况试验。因为硬件设备局限性,为了能和真实值进行对比,这里只做了恒流间歇性放电试验。然后把试验数据通过matlab处理之后,可以得到真实值和EKF 滤波法估计值之间的对比曲线图。图6为搭建的电池管理系统硬件平台。
图6 电池管理系统硬件平台
电池管理系统硬件平台采用电阻来模拟电动汽车电量的消耗,通过改变电阻值大小和利用键盘控制主电路继电器,实现以0.7 A 恒流间歇性放电,放电时间为5 000 s,如图7所示。DSP通过处理电流、电压等采集到的电池信息,得到所需要的电池SOC状态估计值,并且最终结果将显示在液晶屏上和上位机的串口调试页面中。
图7 放电电流
如图8所示,先通过开路电压法确定电池SOC初始值为80%。因为EKF状态方差系数P 初值大小选取非最优值,导致了试验初始阶段误差较大,但是随着试验时间的增加,EKF滤波估计值会很好的收敛到理论真实值左右,精准的完成的对电池SOC状态的估计。由此可知状态方差系数P 初值的选取对最终收敛结果无很大影响。
图8 SOC估计值与理论实际值对比
如图9所示,EKF 滤波法得到估计值的相对误差基本都在5%以内,并且随着试验时间的增长,相对误差也会越来越小。由此可以说明,所用到的电池管理系统硬件平台的可靠性和EKF 滤波算法的准确性。
图9 EKF估计值的相对误差
4 结论
通过对电池管理系统硬件平台的搭建,实现了系统的动态检测、安全报警、实时计算SOC、CAN 通信和显示信息等5项主要功能。并结合EKF滤波算法,成功的对电池的动态与静态进行准确实时估计。但是,由于硬件条件的局限性,未能针对复杂的工况条件去做验证,下一步工作是完善硬件系统,以满足实际需要。