付诗意,吕桃林,闵凡奇,罗伟林,3,罗承东,吴 磊,解晶莹
(1空间电源国家重点实验室,上海空间电源研究所;2上海动力与储能电池系统工程技术研究中心,上海200245;3上海动力储能电池系统工程技术有限公司,上海200241;4哈尔滨工业大学化工与化学学院,黑龙江 哈尔滨150001)
随着《新能源汽车发展规划》的通过,其明确了车用操作系统、动力电池等关键技术的开发创新,同时指出要实现“2035 年使新能源汽车核心技术达到国际先进水平”的目标,推进了新能源汽车的发展。
锂离子电池以其比能量高、效率高、寿命长等优点被广泛应用于新能源汽车中,为了进一步提高其使用效率和延长其使用寿命,有效的电池管理系统(battery manage system,BMS)是关键[1],而SOC 的准确估算是保证电池管理安全可靠的关键因素之一[2,3]。本文针对电动汽车锂离子电池SOC估算方法展开综述,重点分析了基于卡尔曼滤波族算法的SOC估算方法设计与实现。
SOC 的作用与内燃机汽车的燃油表类似,准确的估算SOC 可以避免对电池过充电/过放电,从而延长电池的使用寿命。同时SOC 的准确估算还将有利于电池组的均衡策略,即有助于避免因电池组中各电池单体电量不一致运行导致的风险。锂离子电池的SOC 通常定义为一定温度和充/放电倍率下电池当前容量与最大容量的比值,如式(1)所示。
式中,Qt为电池当前时刻的容量;Qmax为电池的最大容量。
SOC的估算方法可分为安时积分法[4]、开路电压法[5]、基于模型的滤波法[6]、数据驱动法[7]。
安时积分(AHI,Ampere-Hour Integration)法是最简单的SOC 估算方法,根据电量的定义,直接对电流积分便可得到电池在一段时间内消耗的电量,如式(2)所示。
式中,SOC0为荷电状态的初始状态;η为库仑效率,通常取值为1[8];ibatt为锂离子电池充/放电的电流;Qmax为锂离子电池的最大容量;t 为当前时刻。
AHI 法的缺陷在于它是一个开环的估算系统,而这一类系统往往不具备对初始值误差的校正能力和对由噪声、测量偏差导致的误差的调整能力。一种改进方法是使用自适应卡尔曼滤波法进行初值校准,并利用设定的阈值使估算在AHI法和滤波法之中切换[9]。这种方法能够克服初始值带来的估算误差并使计算加快,但由于长期处于AHI 法的计算中,仍然难以克服噪声和测量偏差带来的误差。
开路电压(open circuit voltage,OCV)是指外电路没有电流流过,电池达到平衡时正负极之间的电位差[10]。在一定温度下,电池的SOC 与OCV 呈现一一对应的数值关系,因此可以通过获取OCVSOC 的曲线来估算SOC[11]。由于OCV 数据的获取往往需要长时间的静置,这使得OCV法在在线估算SOC中难以开展。在电池处于动态运行工况的条件之下,一种动态平衡电压(dynamic equilibrium voltage,DEV)的概念被提出[12]。基于等效电路模型,利用电池的激励与响应数据结合滤波方法可以实现DEV 的实时提取,依靠历史数据可以建立DEV-SOC关系,进而运用到SOC的在线估算中。
OCV-SOC曲线的特殊性导致单独使用OCV进行SOC 估算具有一定局限性。如磷酸铁锂电池的OCV-SOC 曲线有明显的平台,如图1 所示。在此范围内即使SOC 出现较大范围的变化,反映在OCV 的数值变化却很小,这导致即使很小的OCV误差也会造成较大的SOC估算误差。
图1 磷酸铁锂电池的OCV-SOC曲线Fig.1 OCV-SOC curve of LiFePO4 battery
在基于滤波法估算SOC 的方法中,卡尔曼滤波(Kalman filter,KF)法是最为常用的一种方法。KF是由美国数学家Rudolf Emil Kalman在1960年所提出的一种新型滤波算法,中心思想是在已知系统状态空间模型、噪声统计特性及初始状态值的前提下,依据最小均方误差原则,利用实际的输出观测数据对系统的状态变量进行修正,实时地获得被估计状态量的最优估计值[13]。
经典的KF 法需要满足如式(3)和式(4)的线性模型
式中,xk为系统的状态变量;zk为系统的观测变量;uk为系统的输入变量;wk和vk分别为系统的过程激励噪声和观测噪声。式(3)被称为状态方程,A为状态转移矩阵,反映上一时刻状态对当前时刻状态的影响;B为参数矩阵,反映系统输入对状态量的影响。式(4)被称为观测方程,H为测量系统的参数矩阵,反映状态变量xk(和输入变量uk)对测量变量zk的影响。
根据KF 法的定义,将AHI 中的公式设为状态方程,即令SOC 为状态变量,电流为输入变量。基于电池的外特性,令电池的端电压为观测变量。然而电池的端电压与状态变量SOC 通常没有显式的关系,因此需要借助模型来描述电池各参数变量之间的关系。
2.3.1 电池模型建立
锂离子电池的模型可分为电化学模型和等效电路模型两种[14]。
电化学模型从电池内部反应的机理出发,以偏微分方程的形式描述反应过程中锂离子的行为及状态,最早为Doyle 等建立的准二维(pseudo-twodimensional,P2D)模型[14]。模型的表达式包含固相、液相的扩散方程和欧姆定律方程、电荷守恒方程和Butler-Volmer 动力学方程。模型能够很好地仿真电池的内部特性和外部特性,但其包含的微分方程太多,辨识较为麻烦。对P2D模型的简化工作主要从固液相扩散过程、几何结构、数学算法变换开展[15-16]。简化后的模型因其对电池特性描述的高保真度在实验室环境下有着良好的应用,但仍包含大量微分方程导致以何种算法才能保证模型辨识的快速性、收敛性和可靠性成为难点,进而限制其在工程实际中的应用。
等效电路模型以理想电气元件描述电池的电压响应,通常包含用于描述OCV 的电压源、用于描述电压变化的电阻和RC 环节。常见的等效电路模型有Rint 模型、Thevenin 模型、二阶RC 模型、PNGV 模型和分数阶模型[14,16]。不同的等效电路模型具有不同的精度和复杂度:Rint模型仅含一个电阻,对电压模拟能力较差;PNGV模型精度高,对电池的动态特性模拟的更好,不过该模型参数辨识相对复杂,不适合工程上使用[17];分数阶模型考虑了电化学阻抗谱的测量,以常相位角元件替换RC模型中的电容元件,在电压仿真和SOC 估算的精度上优于其他等效电路模型,但分数阶微积分的引入使计算量大大增加;RC 环节的增加能够增加模型的精度,但模型会变得更加复杂,计算量也随之增大[18],因此并不是RC 环节的阶数越高越好。目前的研究中以Thevenin 模型为基础居多,Thevenin模型如图2所示。
Thevenin 模型的外特性关系如式(5)和式(6)所示。
图2 Thevenin模型Fig.2 The model of Thevenin
式中,Ubatt为电池的端电压;Ibatt为电池的电流;U1为RC 环节的电压;R0为电池的欧姆内阻;Uoc(SOC)为电池OCV与SOC的函数。
式中,R1为RC 环节的电阻;C1为RC 环节的电容。
由于RC 环节的电压无法直接测得,通常可令U1为状态变量,即与SOC 一同参与到估算中,将式(6)离散化之后可得到如式(7)所示的递推公式。
式中,U1,k为k时刻的RC环节电压值;Δt为采样步长;Ibatt,k为k时刻的电流值。
为了完成对电池外特性的准确描述,还需对等效电路模型中各元件的参数值进行辨识。参数的辨识方法包括离线辨识与在线辨识[19]。脉冲电流法是一种经典的模型参数离线辨识方法,通过在固定SOC点对脉冲放电过程与静置过程中的电池电压曲线进行拟合来获取模型参数,该方法简单易行,应用广泛[20]。
在实际应用中模型参数会随着电池的容量改变,而电池的老化对参数改变的影响是最大的。由于参数的离线辨识工作往往是在固定电池状态下进行的,当电池发生老化之后原有参数将难以匹配当前电池的状况,这将导致模型在模拟电池外特性时会产生误差,进而影响SOC 的估算[21]。因此有必要进行实时的模型参数辨识,以保证SOC 估算的准确性和可靠性。在线辨识方法有遗传算法[22]、递推最小二乘法[23]、KF法[24]等。因为递推最小二乘法与KF 法在收敛速度和对噪声的抑制能力上具有一定优势,目前模型参数的在线辨识工作通常基于这两种方法以及它们的变式展开。
2.3.2 卡尔曼滤波及其衍生方法
经典KF 法的递推过程包含对状态估计值的更新、修正环节,其递推过程如式(8)~(12)所示,流程图如图3所示。
图3 KF法流程图Fig.3 The flow fhart of Kalman Filter
KF 法通过AHI 法对电池的SOC 进行一步预测,将此预测值代入式(5)得到当前时刻的端电压模拟值,与实际测量得到的端电压值进行比较,并根据两者的误差与卡尔曼增益Kk的乘积结果对一步预测值进行修正,得到最终的SOC估算值。
经典KF法的局限在于其仅适用于线性系统[25]。锂离子电池模型中包含OCV与SOC之间的非线性关系和非线性元件电容,直接使用经典KF 法会带来非线性误差,因此在使用KF法进行SOC估算时需要在滤波过程中增加线性化步骤以减少误差。常用的方法包括扩展卡尔曼滤波[26](extended kalman filter,EKF)、无迹卡尔曼滤波[27](unsented kalman filter,UKF)和容积卡尔曼滤波[28](cubature kalman filter,CKF)。EKF 通过在每个采样点进行系统方程的一阶泰勒展开得到近似的线性系统方程来实现局部线性化,称此过程为雅克比矩阵的求解,其缺点是会增加算法的运算量,同时若系统的非线性函数不可导,EKF将无法展开;UKF通过含有均值和协方差的sigma点集对非线性函数的概率密度分布进行近似,可避免EKF中雅克比矩阵的求解,不受限于系统非线性的表现形式,同时相比EKF,UKF具有更高的线性化精度;CKF基于三阶球面径向容积准则,并使用一组容积点来逼近具有附加高斯噪声的非线性系统的状态均值和协方差[17],可有效解决非线性系统状态估计问题。EKF、UKF 和CKF 的递推过程如表1所示。除基本的EKF、UKF和CKF外,他们的改进方案也被用于SOC 的估算中,如将EKF扩展至分数阶[29]、采用更多时刻的观测误差和卡尔曼增益来修正UKF的一步估计结果[30]、以模糊控制器来修正CKF中的卡尔曼增益[31]和将sigma点卡尔曼滤波(SPKF,sigma-point Kalman filter)改进为直接传播协方差平方根的SR-SPKF[32]等。
在KF 族算法中,除系统参数之外,估算精度还易受到状态方程及观测方程噪声协方差的影响。Matthew 等[33]利用随机稳定性引理,引入不同参数对在线KF 算法的性能进行评估,指出减小过程激励噪声协方差Q和增大观测噪声协方差R都能提高算法的估算精度,但随着R的增大,会导致算法的收敛速度下降。在利用KF 族算法进行SOC 估算时,通常认为过程和观测的噪声都是高斯白噪声,即将Q和R设为定值。然而实际复杂的电池系统并不满足这一假设,这种处理方式忽略了噪声变化对估算结果的影响,会造成SOC 估算的误差。针对这一问题的改进方法是使KF 算法的噪声自适应,即根据测量值与估算值之间的误差来调整Q值与R值,改善因其值不合适引起的估算误差和发散等问题[34]。通常可用Sage-Husa 自适应方法[35-36]和利用开窗估计构造新息矩阵更新噪声的自适应方法[37,34],以自适应算法改进的KF族算法具有良好的鲁棒性,在噪声复杂的工况下具有更好的适应性。
表1 EKF、UKF和CKF的递推过程Table 1 Recursive process of EKF、UKF and CKF
综合以上分析,基于KF族的SOC估算方法可按如图4所示的流程展开。
图4 基于KF族的SOC估算方法Fig.4 SOC estimation method based on KF family
KF族等基于模型的SOC估算算法的局限在于需要对相关领域内的专业知识进行深入的研究和消耗大量的时间进行实验来开发精确的电池模型[38-39]。当目标系统的数学模型未知或难以描述时,数据驱动方法具有巨大的优势[40],其无需考虑系统内部的实际反应情况,依靠输入与输出间的映射关系即可建立预测模型。
2.4.1 人工神经网络
人工神经网络(artificial neural network,ANN)是一种通过模拟人脑神经元和神经系统运作进行数据及信息处理的数学模型,典型的ANN由输入层、隐藏层和输出层组成,利用包含输入与输出的数据集对神经网络进行训练,可以形成输入与输出之间的非线性映射,从而精确地模拟出两者之间的关系[41]。在SOC 的估算应用中,通常由电池的电流、电压和温度等实时量测数据构成网络的输入,SOC作为输出[42-43]。ANN 具有结构简单、参数可调性强、可靠性高等优点,然而对初始权值和阈值的敏感性使ANN容易陷入局部最小值[44],这使得单一的神经网络难以满足高精度估算SOC的要求。
利用优化算法改善ANN 的结构可有效解决这一问题。人工鱼群算法[44]、遗传算法[45]、动量梯度法[46]等具有全局搜索目标最优值的功能。在优化算法有限次迭代的前提下,拥有最优权值与最优阈值的ANN可以使SOC的估算精度大大提高。
2.4.2 支持向量机
支持向量机(support vector machine,SVM)是一种针对二分类任务设计的数据驱动模型,其核心思想是将输入向量映射到高维空间并构造最优分离的超平面[47]。由于其求解通常是借助凸优化技术,求得的解必定是全局最优的[48],因此相比于ANN,SVM具有更好的泛化能力。
标准的SVM 局限在于当面对的数据样本较大时,其规划问题会变得复杂,连续迭代后会导致模型精度下降,同时计算速度也会有所降低[49]。李嘉波等[50]采用最小二乘支持向量机(least squares support vector machine,LSSVM)对标准SVM进行改进,该方法用等式约束替代了标准SVM 中的不等式约束,使SOC 的估算精度得到提升。除此之外,文献[48]中指出SVM的最终性能由核函数直接决定,而核函数的选择是一个未决问题。王语园等[51]采用自适应粒子群算法对LSSVM 的正则化系数和核函数进行优化,相比于SVM 的结果,SOC的估算精度得到大幅提升。
2.4.3 融合算法
除建立输入变量与SOC 的非线性映射关系进行直接估算外,数据驱动的方法还被用于与其他估算方法结合,从而实现对原有算法的优化。如Xu等[52]利用长短期记忆神经网络与滤波算法结合,消除磷酸铁锂电池的迟滞现象造成的负面影响而进一步提高SOC 估算精度;田东东等[53]利用神经网络对EKF 线性化过程造成的误差进行补偿而优化SOC估算;Zhang等[54]利用高斯回归过程结合容量增量实现了充放电初期的SOC 标定,为AHI 法提供了准确的初值。数据驱动方法有很强的数据综合能力和非线性拟合能力,与现有的其他SOC 估算方法结合具有良好的发展前景。
随着大数据的兴起和数据挖掘技术的发展,数据驱动方法的体系日益成熟。然而在SOC 的估算应用中,仍然有不少局限:在数据量不足的情况下,由于缺乏电池模型的约束,数据驱动方法存在欠拟合或过拟合的风险;电池在使用的过程中伴随着自身的衰老,衰老后的电池在同样工况下的SOC 变化趋势将发生改变,若不及时更新估算模型,将造成较大的估算误差;获取大量的测试数据进行数据库的建立后,还需再从这些数据中提取出与SOC 相关性最强的特征因子来进行估算模型的搭建与训练,这无疑是耗时且费力的。
在实际应用中,除了复杂多变的工况外,电池在运行过程中还伴随温度的变化和电池的老化,目前的大多数研究都是在设定温度和一定老化状态下基于特定工况的算法开发,因此将温度考虑到SOC 等电池状态的耦合关系中是必要的;数据驱动的方法可以避开电池模型的限制而只关注输入与输出的关系,因此利用数据驱动的方法修正现有的估算算法从而使其具有更好的适应性也是解决此问题的方向。
受限于实际使用中的成本、复杂度和可靠性等因素限制,往往只能在估算精度与成本之间选择折中的方案。因此在实际硬件如基于STM32 的实现中,电池SOC 估算的方法主要集中在AHI 法与OCV 法[55-56],丁镇涛等[57]硬件在环仿真(hardwarein-the-loop,HIL)测试平台中实现了无迹卡尔曼滤波与安时积分结合的SOC 估算研究;Tian 等[58]开发了基于FPGA 的BMS,并使用基于系统在环平台的双扩展卡尔曼滤波算法进行SOC 估算,且具有微秒级的快速性。高级算法已经在实验室环境中得到了较好的验证,而在实际硬件环境中的探索仍较为缺乏。
本文综述了目前常用的几种锂离子电池SOC估算方法和其在工程实际中的挑战。AHI法简单快捷但难以克服积累误差和量测造成的误差;OCV法需要长时间静置,难以应用在在线估算环境中;滤波法具有更新、修正的特性,实时性好,但仍需要建立精确的电池模型和为算法设置合适的参数初始值;数据驱动方法可避免建立电池模型,然而数据库的建立、特征因子的选取以及估算模型的更新同样是巨大的挑战;实际硬件应用中仍以AHI法和OCV法为主,高级算法目前还较难实现。
《新能源汽车发展规划》的发布将进一步推进我国新能源汽车产业的发展,其提出的以实施“电池技术”、“智能网联技术”和“新能源汽车基础技术”的突破与创新为主导的新能源汽车核心技术攻关工程为今后相关领域研究指明了方向,作为整车能源管理核心的BMS及其SOC估算技术必然是发展的重点之一。结合本文的综述与分析,现有的SOC 估算方法应该做出以下几点改进:①为更好模拟电池的特性,应进一步开发精度与复杂度兼优的电池模型;②SOC估算方法各自具有独特优势,采用多种方法综合实现互补以进一步提高估算精度;③建立数据库及云平台,为SOC 估算模型的更新提供途径以适应电池的老化及更复杂工况;④在保证估算精度的前提下简化现有算法,为工程实际硬件中的应用提供更多选择。