疫情虽然在国内有好转,但国外的确诊病例却一路飙升,友情提醒:出门戴口罩,不聚集,勤洗手,房间多通风。
大家好!转眼又过了一周,很高兴又跟大家见面啦!本篇文章是【BMS 算法设计】系列文章的第五篇,也是最后一篇。本期主要内容是对前几篇介绍的电池SOC 估算方法做一个小结。以后会开启新的话题,比如SOH算法等。我们一起来学习吧!
先放一张各种SOC算法估算的优势和局限性的对比图。
定性分析
为了优化我们的电池关系系统,我们需要给电池找到一个精确的模型。由于具有灵活的性质和表述动态情况的能力,等效电路模型已经被很多的科研人员改编了。考虑到电池动态响应的能力和较少的复杂性模型,我们可以认为二阶RC等效电路模型是最合适的。前面的文章提到过二阶RC等效电路模型(见下图),通常可控电压源表示随SOC非线性变化的OCV,RC并联网络代表极化响应,Rq欧姆电阻代表电解液的电阻。RC 网络的增加改进了电池动态行为的表示,但模拟起来也更复杂了。
由于二阶ECM 中的OCV 随着SOC 非线性变化,因此在确立上述参数时,我们有必要把电池SOC看做仿真过程的输入。所以电池系统的建模要包含适当的SOC 估算方法。当我们选好其中一种方法后,随之的电池动态建模也必须要保留。采用基于模型的SOC 估算方法来估算SOC 并在同一过程中更新OCV,或者采用非模型法估算SOC并将估算的SOC作为ECM的输入,都可以实现采用适当的SOC估算方法来更新ECM中的OCV(可控电压源)。最常用的基于模型的SOC技术就是卡尔曼滤波算法,包括 EKF, UKF, CKF 以及PF 算法。该算法由估算器和电池模型组成。前几篇文章中提到的其他算法是非ECM基础方法,通常使用物理参数,数学或者人工智能算法。
我们要考虑的最重要的因素是锂离子电池的热性能以及它如何影响电池的性能。从电池寿命退化或者电池性能方面来看,电池的内阻和电池容量受到温度分布的影响。此外,温度还影响往返的效率、电化学反应操作和电荷的接受度。因为电池的SOC和ECM参数随着温度的变化而变化,因此我们也要考虑那些变异。有一种方法是把温度作为估算SOC的一个输入,但是仅仅是环境温度是不够的,因为我们有必要去建立一个热生成和热传递(传导,对流,辐射)的模型来精确的代表电池的热行为。最广泛使用的热模型就是集成电容模型(见下图)。
此模型中,Pth代表了电池内部生成的热。Rth,Rgen,Cth代表电池内阻,对流换热和热电容。由于热行为用与电有关的元素表示,因此这三个因素同样也取决于电池的电流,SOC 和电池内部的温度。因此,我们也可以用下面的图片来表示上述提到的二阶RC等效电路。
当热模型和ECM模型联合时,电池模型的复杂度就增加了。为了实现此目标,本篇文章中推荐大家使用比较简单的SOC估算算法。
由于KF 算法适用于线性系统,EKF, UKF 和CKF 可以被认为是最佳的估算非线性系统的状态估算器,比如锂离子电池系统。KF 方法的优点是不需要在意初始化的SOC误差,但是缺点也很明显——高计算成本和高复杂度。因为这些方法都包含了复杂的矩阵运算,所以我们很难在普通的MCU 中实现此种算法。同时,他们也有自身的限制,比如:线性化的误差和由于测量噪声导致的不确定性。尽管在考虑ECM时候将温度作为输入来进行估算,但是KF 方法没有考虑到热生成和热传递。因此电池的电热模型运用KF方法来估算SOC和更新OCV 需要考虑时间成本和计算成本。
神经网络方法表现出的局限性,比如由于过度训练而导致的错误先前样本数据集对当前数据集的影响以及存在太多的神经元。由于过度的神经元的存在而导致过度拟合的风险增加,而有限的神经元将会没有办法拟合数据。神经网络算法需要大量计算以及要训练的大量数据;
模糊逻辑算法要求很高的计算成本,专业知识和明确的模糊规则;
支持向量机算法展示了优于神经网络算法的优势,包括不需要去选择神经元的数量,不需要识别神经元的网络拓扑和较少的拟合过程。此外,两个神经网络方法和支持向量机方法只在很定电流下才会有一个很好的结果。在动态的情况下,估算出的结果比较差,甚至误差在不可接受的范围内。
因此基于非模型(直接测量)的方法更合适,其中包括OCV 和库仑计数法被广泛采用。但是这些估算方法会产生不准确的结果。因此,建议大家采用库伦计数法和OCV方法结合的办法来估算电池SOC。库仑计数法的局限性可以通过采用高精度的电流传感器来克服,并且计算初始化的SOC可以采用OCV-SOC方法来得到初始化的SOC值。下图是一个展示所建议的估算方法的框图:
输入参数是环境温度、电流和OCV。初始化SOC 值通过OCV-SOC方法(SOC值用三维表格来存储)估算。计算的SOC值是电池电热模型的输入。在之前的电热模型中电流,SOC,OCV,和内部的温度是二阶RC模型的输入;内阻,电流,热参数和熵系数是热模型的输入。
定量分析
我们对使用间接方法(以库仑计数法为参考)计算出的SOC估算值的误差为参考。当我们使用库仑计数法计算SOC的值时,为了消除积分误差,需要使用高精度的电流传感器。为了执行定量分析,我们可以对锂离子电池(比如磷酸铁锂)在不同的温度下(0~60℃)和电流曲线下进行测试。
在神经网络方法中,强调RMS(均方根)误差在4%以内,但是在某些温度下(10~50℃)的最大误差可能大于10%。一般误差呈现在SOC的中间范围(30%~80%)。最重要的事实是,由于神经网络的过度拟合,我们是无法通过增加神经元或者隐藏层的数量解决这个问题的。作为不同的方法,将神经网络法得到的SOC曲线与库仑计数法得到的SOC曲线进行比较,得到了电流扰动响应项。在没有电流扰动的正常处境下,小于0.006%的RMS误差是可接受的,但是在有电流扰动的动态处境下,即使估算的SOC 收敛到一段时间后的参考值,但在扰动时刻的偏差仍然处于比较大的水平。
在支持向量机的方法中,正常条件下,RMS误差超过5%时,最大的误差大约是15%。对于动态处境来说,误差大约是2.5%的时候最大误差差不多是13%。
在模糊逻辑方法中,RMS的误差大约是5%。
在EKF 的方法中,RMS误差根据采用的电池模型的不同而变化。以戴维南模型为例子,小于0.6%的误差是可接受的。对于二阶RC等效电路来说,RMS值接近于0.75%时,最大误差接近于2%。
结语
本系列文章主要介绍了锂电子电池SOC的各种估算方法。综合上述各种方法的优势和局限性,建议在算法实现的过程中还是采用两种间接测量方法的组合——OCV和库仑计数法。
以上就是本期对SOC 估算算法的总结,关于BMS算法设计之SOC估算方法的所有介绍到这里就告一段落了。下期开始,将为大家讲述下SOH算法的基本知识,我们下期再见啦!
参考资料:知网、Energy期刊、相关书籍等