车载动力电池BMS技术要点解析及神经网络技术的应用
当前位置:首页>资讯
更新时间: 2023/03/14

电动汽车电池管理系统(BMS)是连接车载动力电池和电动汽车的重要纽带,将电池或电池组的监测及管理集于一体,确保电池或者电池组的安全可靠,以最佳状态输出动力。BMS可以实现对电池的实时监控、自动均衡、智能充放电等重要功能,在有效保障电池安全的同时,可以实现对电池剩余电量的监测,通过有效的电池管理,可以提高电动汽车续航里程,是动力电池组中不可或缺的重要部件,对于电动车的正常运行意义重大。


电池管理系统大致功能可分为,电池状态的检测,包括但不限于对电压、电流、温度三种物理量的检测,它是电池管理系统中最基本的功能,是其他各项功能中的前提和基础;


电池的众多安全保护,包括但不限于过流(动力电池都支持短时间段内的放载放电,在车辆起步和加速中提供较大电流满足动力要求)、过充过放(防止电池在满电时继续充电、没电时继续放电)、过温保护(面对温度接近危险值或突然快速上升,需要采取相应的保护措施);


电池的能量控制,包括但不限于充放电管理(在充电过程中对充电电压、电压进行实时优化控制,来达到调节充电时间、效率和程度;以及放电过程中适当的限制最大放电电流,来增加车辆续驶里程以及电池寿命)、电池均衡管理(电池PACK包有“木桶效应“,最终性能取决于“短板“的那块单体电池,现有主流电动汽车电池均衡管理采用被动均衡技术,为电池组中每个单体电池并联一个耗散器件进行放电分流,实现单体能量的均衡,在电池组中,某单体电池电压与平均电池电压相差到一定阈值时,连通分流电阻将单体电池部分电量以热能的形式消耗掉,把电压降到平均电压水平。);


电池的状态分析,有电池剩余电量SOC、以及电池剩余寿命SOH评估。电池SOH、SOC受到工作温度、放电流的大小等因素影响,需要在使用过程中不断的进行修正来确保驾驶员获得较为准确的信息。


以及电池的信息仪表盘显示及与其他控制器间的数据信息交互等。


动力电池荷电状态估算(SOC)是电池管理系统(BMS)的关键技术,是电池能量管理功能的基础,若无法准确地估算SOC,会减低电池的安全性能,无法有效地保护电池,大幅度降低电池的使用效率。SOC不能直接测量,传统的以端电压为测量对象无法得到精确的SOC值。目前有多种SOC估算方法,有开路电压法、安时积分法(现多数纯电车使用“安时积分法+开路电压法“来解决SOC估算,即在放电平台处使用开路电压法估算、平台前后段结合安时积分法估算SOC值)、各种卡尔曼滤波法和神经网络法等。


人工神经网络通过一定的结构将功能简单的神经元组织起来,实现数据群体的并行处理。根据连接方式的差异,神经网络可分为:分层神经网络和相互连接型神经网络。神经网络的学习基于对大量数据的训练,也是网络模型调整自身参数的过程。其可以通过对自身参数的调节,提高自身的学习能力,达到对环境的了解。学习方式有两种,有导师学习和无导师学习,学习算法一般有以下两种:


(1)Hebb学习算法:


同时兴奋的两个神经元会加强彼此之间的突触连接,即连接权值增大,其数学表达式为:


1.png


其中,r表示两个神经元之间连接权值的变化量,表示神经元 和 的输出,Ƞ为学习速率。


2)δ学习算法:


设网络的输入、输出样本数据对为(),网络实际输出为,其中:


2.png


则可用下列式子表示δ学习规则:


3.png


其中,r表示两个神经元连接权值的变化量,表示神经元i的输出,Ƞ为学习速率,为以下函数对神经元输入参数的偏导数:


4.png


本文根据动力电池数据采集及SOC估算特点,采取多层前向型神经网络,多层前向型神经网络的结构一般分为三层:输入层、隐含层和输出层,设计其结构如图:


5.png


下以三元锂电池为实验对象,具体参数为:标称电压为3.8 V,单体额定容量为74 Ah,充电上限电压为4.25 V,下限电压为2.75 V,最大放电电流为2 C(以148A电流放电)。外部的信号-以三元锂电池电压、电流、温度由输入层接入,各输入单元将输入信号传送给隐含层的各单元。隐含层作为神经网络结构内部的处理单元,根据不同的网络需求其层数也不同。输出信号估算SOC值经输出层输出。通过将准备好的4512组,每组63个数据作为样本,4303组数据作为训练样本,建立模型,导入训练数据,用于网络训练及测试网络的拟合性能,实现非线性函数的拟合,最终完成网络预测功能。本次实验209组数据作为测试样本,网络训练结束后,用于预测函数输出,最后对预测结果进行分析。


神经网络模型建立时,将单体电池电压、单体温度、总电流及总电压等数据导入模型,进行训练。总的数据导入为63组,故输入层节点数为63。SOC作为模型训练的唯一目标,所以输出层的节点为1。隐含层的节点数由下式确定:


6.png


h: 隐含层节点数,m:输入层节点数,n: 输出层节点数,a:1~10之间的调节常数


具体实现可以使用MATLAB中的神经网络工具箱,打开人工神经网络窗口,导入准备好的数据,设置训练样本80%,验证样本10%,测试样本10%。训练函数为trainlm(Levenberg-Marquardt BP训练函数),性能函数为mse(均方误差函数),学习函数为learngd(基于梯度下降法的学习函数),传递函数为tansig(S型的正切函数),迭代次数初始设置为100次。


建立好的神经网络模型为:


7.png


设置的隐含层个数为9层,根据训练结果进行隐含层个数的修改。


网络参数设置完毕,将建立好的模型进行数据训练。训练结果如下:


由回归图可以看出神经网络的训练、验证和测试的结果。对于一个好的拟合,其数据应该沿45°角线,表示输出等于期望。本次拟合输出结果的R值均大于0.99,表明拟合在理论是较优的,也表明所建立的神经网络模型是较优的。由性能图可以看到,本次函数拟合最佳迭代次数为86次。


8.png

回归图


9.png

性能图


为训练模型自动生成的部分误差数据值,前图为网络输出的估算值,后图为输入值与估算值的误差数据。由图8可以看出,误差稳定在0.2~0.3之间,最大误差为0.8,网络输出值与网络训练目标值基本一致,说明建立的网络模型是成功的。


训练好的神经网络模型,应用于实验数据的仿真。仿真结果如下:


10.png

 SOC仿真曲线


11.png

SOC误差曲线


SOC仿真曲线图中蓝色曲线为实际数值曲线,红色曲线为预测数值曲线。由仿真结果可以看出,在所测试的209组数据中,SOC的预测数值曲线基本沿SOC实际数值曲线变化。在实际的测试数据中,SOC数值是实时变化的,每秒的SOC都会产生轻微变化,但受采集精度影响,实际的SOC曲线并不是平滑的,而表现为阶梯状。在预测结果中,数据变化更平稳,曲线图也更平滑,函数预测效果较优。训练好的模型用于数据预测,如SOC误差曲线图所示,预测误差结果位于±0.8之间,由于放电末期电池的温度及内阻抗增大的影响,SOC的误差值波动范围较大。