什么是BMS算法?加减乘除,最小二乘法,安时积分,卡尔曼滤波等都是算法。
BMS算法中SOC是重要项,但优秀的BMS绝不是把SOC当作核心,而是要把每个模块做到极致并完美配合。本篇文章主要讲解SOC方法,重点SOC估算方法推倒和建模。
SOC即电池荷电状态,反应电池剩余容量,可定义如下:
汽车运行工况复杂,使锂电池的参数不断变化,电池SOC估算困难。由于电池的化学反应复杂,不能直接计算SOC,现在多数是根据电池外特性参数(开路电压、内阻等)间接估算SOC,常见估算方法有如下几种:
①安时积分法
安时积分法也简称为安时法(Ampere Hour,AH)是最常使用的SOC估算法,如果定义电池SOC初始状态为SOC(0),t时刻电池SOC为:
安时积分法简单易懂,在BMS中运算占用资源少,适用于所有电池。但是安时积分法未进行电池内部结构和外部电气特性考虑,将充入电池的电量等同于从电池放出的电量,忽略电池内部电化学反应效率,造成误差。安时积分法初始SOC选取要求较高,初始值误差大了整体估算误差增大,通过对负载电流积分计算估算放出电量,容易造成误差累积。电流互感器自身就存在误差,容易增大SOC估算误差。为提高安时积分法SOC估算精度,通常在安时积分法中加入温度、放电倍率、充放电循环次数等因素来提高安时积分法精度。
②开路电压法
电池充放电过后经长时间静置,其开路电压可近似看成电动势。前文有描述电池SOC与开路电压之间存在对应关系,可以通过测量不同温度下SOC值与电池开路可得到SOC-OCV关系矩阵。采用开路电压法估算电池SOC需要做大量实验找出电池OCV与电池SOC之间的对应关系,前期准备工作需测量不同温度下开路电压与SOC关系,准备工作繁重。电池存在迟滞效应,需要静置一个小时或更长时间才能恢复真正电压。该方法适用于长期静置离线状态估计,也可以作为安时积分法或其他算法初始SOC计算,不适合实时电池SOC估算。
③内阻法
在充放电过程中,电池阻抗中的部分参数随SOC变化而变化,根据该特性可通过内阻进行SOC估算。根据内阻获取方式可将内阻法分为直流内阻法和交流内阻法。内阻与SOC之间关系受充放电电流、温度等因素影响,并且测量内阻需要专业设备,测量精度取决于测试设备,测量精度越高,设备成本越高。测量电池内阻时需要断开负载,不适合电动汽车实时测量,该方法只能应用在特定车型或实验室做理论研究。
④神经网络法
在电池SOC估算时可将温度、电流、电压等相关数据作为神经网络输入,将SOC值作为神经网络输出,通过样本数据训练,可以得到较为精确的SOC值。采用神经网络进行SOC估算可以在不清楚电池内部结构下,只要通过足够多的样本就可以实现对非线性系统的精确估算。采用神经网络估算SOC值主要有两种方法:BP神经网络法和径向基函数神经网络法。这两种方法在网络结构中具有高度的相似性,高斯函数用于处理径向基函数神经网络中的隐层单元操作。在神经网络训练中,径向基函数神经网络需要校正神经元之间的权重系数和算术单元的输出阈值,并且还要校正算术单元的高斯函数的均值和方差,因此计算量大于BP神经网络,培训网络融合需要更多时间。
⑤卡尔曼滤波
卡尔曼滤波是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。广泛应用于雷达跟踪、石油勘探、追踪导航、无线通讯。数据滤波通过过滤真实数据中的噪声得到纯正数据,是一种数据处理方式。Kalman滤波可在含有已知测量方差的测量噪声的数据中,进行动态系统状态估算。Kalman可通过计算机编程方式实现且编程难度较低,能够对实时采集的数据进行处理,处理数据时占用计算机内存较少,适合在汽车中运用。卡尔曼滤波算法计算公式主要为状态方程组和测量方程组两部分,具体公式如下所示:
线性Kalman滤波结构如图1所示。
⑥扩展卡尔曼滤波
通过Kalman滤波递推过程可以看出,状态估计量和观测量与状态变量为线性关系,但是电池状态为非线性关系,使用Kalman滤波估算电池状态并不适合。扩展卡尔曼滤波算法采用泰勒(Taylor)展开并略去高阶项,可将非线性模型近似为线性模型,再通过卡尔曼滤波算法的过程形式完成滤波。
非线性系统的状态方程与观测方程可用下面的式子表示:
其中和为非线性系统的状态方程与观测方程,其余参数与Kalman中相同。为得到递推计算中所需要的矩阵,在最优估计点附近时,通过一阶泰勒展开式对上述方程进行线性化。设在各选取的采样点时刻可微:
⑦无迹卡尔曼滤波(UKF)
UKF算法的核心是UT变化,是一种计算非线性函数传输随机变量的统计值(均值,方差等)结果的方法。以表征随机变量概率密度分布通过Sigma点进行表征作为其主要原理。为保证Sigma点被估计量具有相同的概率统计特征,在进行Sigma点选取时要注意其均值和方差与待传递量的一致性。为得到系统状态值和协方差,可以通过对经非线性系统变换的Sigma点进行加权处理。图2为UT变化原理。
在进行Sigma点选取时应考虑被估计量的统计特性,为得到精确地计算全值,应采用合适的采样方法。Sigma点采样方法主要包括对称采样、单形采样、3 阶矩偏度采样等,最常采用的采样方法为对称采样。不管采用对称采样法还是采用单形采样法,的维数与Sigma点到均值之间的距离成正比关系。
建立电池模型结合无迹卡尔曼滤波算法进行SOC值估算。
模型
本片采用m脚本编写UKF算法,减少模型搭建时间,工程中还是需要用基础模块搭建,易于测试、仿真、代码生成。