【关于锂电池状态估计的一些总结】

  • Post author:
  • Post category:其他




关于锂电池状态估计的一些总结

接触这一块儿内容也将近一年时间了,这个期间,断断续续看了无数的论文。从中文到英文,从好的期刊到一般的期刊,对这个课题有了较为深入的了解,目前研究成果是撰写了一篇小论文正在投稿。今天根据自己的学习经历做一个总结。这篇博客将从以下几个方面进行。



1.电池模型

目前,常用的电池模型有:数据驱动模型、等效电路模型以及电化学模型。

  1. 数据驱动模型

    所谓数据驱动模型就是利用大量的数据训练神经网络,进而获得满意的精度,再利用训练好的模型对电池状态进行估计。目前了解到的SOH估计、RUL估计多采用数据驱动模型

  2. 等效电路模型

    利用电路元器件连接成的模型去近似模拟电池的电化学特性。因为我们知道,等效电路模型最后是转换为传递函数的。其传递函数的系数就是我们要辨识的模型参数。当我们辨识出了模型参数,则该传递函数就是已知了。画其Bode图,可以和电池的电化学阻抗谱结果做对比,来验证模型的精确性。当然,这样做肯定很麻烦,所以一般通过模型输出端电压和电池实际输出端电压的误差值验证模型精确性。

    但是有的时候,端电压误差小并不代表模型参数估计符合理论值。在研究过程中,有的时候辨识出的模型参数会出现负数的情况,但是模型误差却不大,这显然不符合常理。

  3. 电化学模型

    由于电化学模型需要辨识的参数很多,因此在实际应用的时候会特别麻烦。

    我在学习过程中采用的是等效电路模型,接下来我会着重讲这一块儿的内容。
    



2.等效电路模型参数辨识

之前一直不理解什么是离线辨识和在线辨识,后来慢慢发现,当你做参数辨识的时候,假如不是采用递推形式获取的模型参数是离线辨识,而采用递推形式获取的是在线辨识。

  1. 离线辨识

    我个人理解的是有两种方法可以进行离线辨识:一种是采用最小二乘法(LS),把电流和电压的值一下子全部代入算出模型参数;一种是利用取点法计算,每多少SOC间隔算出一组数据,最后将算出的结果与SOC进行拟合用于后面的SOC估计。第二种方法多采用HPPC数据进行拟合。

  2. 在线辨识

    在线辨识是利用递推形式,并最终获取模型所有参数。比较常见的是递推最小二乘法(RLS)及其变种以及滤波器算法,例如卡尔曼滤波、H无穷滤波和粒子滤波算法等等。

目前关于参数辨识的主流做法是在线辨识。当然,选择的等效电路模型不同,计算复杂度也会不一样。前几年用的比较多得是整数阶模型,这几年很多人转向了分数阶模型。不过CSDN上关于分数阶模型的讲解文章很少,后期有时间我会再写一篇博客着重讲分数阶模型推导过程以及如何编写分数阶模型参数辨识程序。其实分数阶模型参数辨识程序比较难处理的是两部分内容:一个是历史数据怎么处理,一个是分数阶阶次怎么辨识。



3.电池状态估计

这一块儿研究比较多的是SOC估计以及电池容量估计。

  1. 在线估计

    关于电池状态在线估计一般采用的RLS+滤波器算法联合估计或者滤波器+滤波器联合估计。反正自己组合就好,具体用什么方法可以多看看别人写的文章。

  2. 离线估计

    用于电池状态估计的电池模型参数不是在线辨识得到的。

关于电池状态估计,开始学习可以先尝试复现别人的论文方法,然后在这基础之上进行修改。打个比方,甲的文章用的是A模型,辨识方法是B方法,状态估计是C方法。那在研究过程中,把模型改一下,辨识方法改一下,一篇论文就出来了。当然这是水论文的一种手段,想在这上面有深入创新的老铁们可以忽略哈。

我目前状态估计多采用卡尔曼滤波算法(EKF、UKF、CKF)以及自适应的卡尔曼滤波算法。方法好是好,程序也不难,但是调参实在是太痛苦了。在阅读论文的时候,我发现很多人初始的参数都没有给出来,比如误差协方差矩阵,状态噪声协方差矩阵以及量测噪声协方差矩阵。不经令人怀疑其算法的可靠性和鲁棒性,是不是效果真的有这么好。

比如在利用自适应算法做状态估计的时候,也是会严重依赖初始值,那这不就是鸡肋嘛。既然是自适应,按照我的理解应该是有较强的鲁棒性,不应该是初始值给得不好,就特别容易发散。可能这也是算法的缺陷所在。



版权声明:本文为WJR__w原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。