摘要

电动车由原来续航400公里到300公里就歇菜,手机由原先的两天一充到一天两充,这里面究竟发生了什么?本文试图以浅显的语言讲述一下电池管理系统中的SOC,SOH等状态预估。如有谬误,请直接留言区拍砖。

前面两期介绍了电池相关的基本概念,本期开始聊聊SOC预测。

SOC预测存在哪些难题

1. 电池开路电压(OCV)特性。电池开路电压指的是电池在静置状态下,正负电极之间的电位差。以下图为例,图中展示的是两种锂电池的OCV-SOC曲线。一般通过充电或者放电到特定SOC后,电池进行静置一段时间(通常为两个小时或者更长时间)测量得到的电池电压,以此得出OCV-SOC曲线(注:一般而言,即便对于同一SOC,充电后和放电后静置得到的OCV也是不一样的)。对于三元类电池,SOC与OCV对应关系还好,严格单调,且不同SOC的OCV差异比较明显。但是对于磷酸铁锂而言,有一段相当长的SOC区间很平坦,OCV差异很小,而且并非严格单调的,表现为同一个OCV值对应多个SOC点。所以单纯用SOC-OCV对应关系来预估SOC,存在静置时间难以满足,精准度不够等难题。

图片来源网络。侵删。

2. 充放电倍率与端电压对应关系特性。电池动态情况下,我们测量到的电池电压,实际上电池的端电压。下图为一个简单的电池一阶RC模型,其中左侧的电压源代表OCV,R表征内阻,R1C1表征极化,右侧输出为端电压。所以一旦电池进行充放电,则端电压与OCV相差甚远。

选取某个电流倍率,让电池以该倍率进行恒流充电或者放电(注:同一电流下充和放,得到的曲线也是有差异的),可以得到一组端电压与SOC的对应关系。下图为某一个温度下,磷酸铁锂电池不同倍率的端电压曲线。那能否以这一曲线进行SOC预估呢?实际上,除了电池恒流充电阶段,电池的工况电流很少有长时间恒流充放电阶段,只要有不同电流切换存在,那么电池极化的差异就会让端电压偏离预测曲线。

图片来源网络。侵删。

3. 温度特性。前面两期有提到不同材料体系的电池,表现出来的温度特性是不一样的。以磷酸铁锂为例,下图为不同温度下电池表现出的SOC与内阻关系。总体而言,电池的内阻随着温度和SOC的变化而变化,且对于低温很敏感。同理,OCV,极化等参数,也会随着温度的变化而变化。这无疑进一步加剧了预测的难度。

图片来源网络。侵删。

4. 电池的成组效率。上述的特性是以单个电芯表现出来的特性。在实际整包应用中,由于电芯的串并联组合,会使情况变得更加复杂。不同电芯间难免存在欧姆内阻、极化内阻、自放电率、初始容量等差别。如下图为一个最简单的例子:一个电池包由三个电芯串联而成,额定容量为50Ah,不考虑均衡。由于额定容量和初始容量存在差异,实际在放电过程中,电量少的先放空,充电时电量多先充满。这就造成了成组后的效率降低,也让成组后的SOC预估更加困难。

5. 除此之外,其实还有很多因素会造成SOC预估困难,如实际BMS的MCU或者AFE测量精度,采样频率,日历/循环寿命的影响等等。

总结:实际的多电芯串并联组合的应用场合,是上述所有因素加权,共同影响着SOC的预估准确性,因此想要电池全生命周期范围内都能准确预估SOC,依旧是一个世界性的难题。一般而言,对于电动车或者储能领域,能保证全质保阶段内,SOC精度控制在8%以内就相当不错了。

SOC预估常用方法

1. AH积分法。安时积分法是在初始时刻 SOC0的基础上估算电池的 SOC。通过计算一定时间内充放电电流和对应时间的积分,从而计算变化电量的百分比,最终求出初始 SOC 和变化的 SOC 之间的差,即剩余电量。

缺点:首先初始时刻的 SOC0不易确定且精度存在一定误差,而且随着时间的增加,误差也会累计增加,所有对电流测量的准确度要求很高。另外在电流波动剧烈的工况下误差会增大。在实际应用中,通常将安时积分法结合别的方法一起使用来提高预测精度

2. 开路电压法。即通过上面提到的OCV特性,以静置后的电压作为SOC预估依据。开路电压法简单易行,在电池静置足够长时间的情况下精度较高,但在实际工况下不适用,因此一般也将开路电压法与其他方法结合起来,共同进行 SOC 的预测。业界用得最多的方法为开路电压+安时积分法:在OCV-SOC线性化比较好的区域进行OCV校准,其他区域使用AH积分预估SOC。

3. BP神经网络法。BP 法原理为将电池当做一个黑盒子,提炼出输入参数(如电流、电压、温度等)和输出参数(SOC)之间的映射数据,然后在训练中反复试验确定。神经网络优点是适用于各种电池;但是建立好模型后,需要大量的数据,并且要对数据进行训练,因此该方法是建立在大数据基础上的,估算结构受训练数据和方法的影响较大。同时,网络的学习和记忆不稳定,如果增加了新的样本,需要重新对数据进行训练。在实际中,由于算法复杂度导致硬件要求极高,所以要想将该方法应用到嵌入式类的BMS产品中还是有一段距离的。

4. 电池等效电路模型法。该方法首先对电池进行充放电实验,通过实验来获得电池工作电压以及充放电电流等数据来建立电池模型,然后系统辨识的方法来获得电池动态模型的参数, 利用实验所建立的电池模型来对电池SOC估算进行修正。常用的电池模型有Thevenin模型, PNGV模型, 二阶RC模型等。优点是能够较好的反应出动态特性,缺点与BP神经网络法类似,需要大量的数据去提取出不同工况下的模型等效参数。以一阶Thevenin为例,可以通过脉冲充电和放电的电压变化才确定等效的欧姆内阻和极化电阻。

5. 卡尔曼滤波法。卡尔曼滤波法是匈牙利数学家 Kalman 将数字滤波算法进行改进后提出的一种滤波方法。卡尔曼滤波(Kalman Filtering,KF)算法的核心是:对动态系统的状态做出最优估计,评判标准是协方差最小。应用到电池方面,首先得建立状态和观测方程,SOC便是状态分量,这里可以用 KF 算法进行 SOC 估算,利用 KF 算法估算模型中的未知状态,其精度和鲁棒性相对较高。KF 算法在经过多次更新后可以使估计结果很好的趋近真值,并且可以很好的修正容量初值,抗干扰能力强,利用这种方法理论上可以实现系统的动态估计,因此在研究领域,也被认为是可靠有效的方法之一。不过前提是建立的状态和观测方程要很准确,类似方法4,也要先得出等效的关系式以及参数,一起参与计算。因此运算量也比较大。

具体该选用哪种方法,需要结合实际应用情况进行选取。推荐使用开路电压+AH积分法,或者卡尔曼滤波方法。

往期链接:

“为什么电池越来越不耐用了?”-- 浅谈BMS中的SOC与SOH等状态预估(一)

“为什么电池越来越不耐用了?”-- 浅谈BMS中的SOC与SOH等状态预估(二)

本期先到这,欢迎扫描关注本公众号。

电池SOC预估存在哪些难题以及常用方法相关推荐

  1. 电池SOC预估玄学:有时侯电池与电池的差距,比电池与狗之间的差距都大

    (图片摘自某米日历封面,侵删) 新年,春节,元宵可以不给祝福,但是劳动节不给,我良心会痛. 祝全世界劳动人民们节日快乐. 1 SOC定义的玄学 SOC,State of charge,译为荷电状态,表 ...

  2. 【Matlab】如何使用Simulink进行电池建模和SOC预估

    "通过Simulink电池建模进行SOC预估,其实挺容易!"  1 声明 本文只描述一般性电池建模方法,文中出现的电池相关数据来自一些论文或者外文文献,对数据的真实性不做任何保证. ...

  3. java电池soc算法实现,BMS算法设计之电池SOC介绍(一)

    大家好!今天给大家带来的是[BMS 算法设计]系列文章的第一篇.本期主要介绍的是电池SOC的基本常识,后续会给大家介绍各种SOC的估算方法及其优劣势的对比,让我们一起来学习吧! 电池的SOC通常被定义 ...

  4. 电池SOC仿真系列-基于遗忘因子的最小二乘法电池参数辨识(二阶RC)

    基于遗忘因子的最小二乘法电池参数辨识   最小二乘法是系统辨识中最常用的一种估算方法.为了克服最小二乘法存在"数据饱和"的问题,我们通常采用含有遗忘因子的递推最小二乘法(Forge ...

  5. ## ***电池SOC仿真系列-基于扩展卡尔曼(EKF)算法的SOC估计(内含代码等资料)***

    ## ***电池SOC仿真系列-基于扩展卡尔曼(EKF)算法的SOC估计(内含代码等资料)*** ## 1 研究背景 电池的荷电状态(SOC)代表的是电池当前的剩余容量,数值定义是电池剩余电量与电池额 ...

  6. 电池SOC仿真系列-基于UKF算法的电池SOC估算研究

    基于UKF算法的电池SOC估算 1.UKF算法   无迹卡尔曼滤波是将数据变化(UT变换)与卡尔曼滤波结合起来的一种算法,通过UT变换将一个状态点转换为多个状态点,依据一定的权重传递给后面观测值,再根 ...

  7. 光伏储能并网发电模型,根据储能电池SOC的工作区间,光伏有MPPT、恒功率输出两种控制方式,在电池健康工况下光伏处于MPPT模式

    光伏储能并网发电模型,根据储能电池SOC的工作区间,光伏有MPPT.恒功率输出两种控制方式,在电池健康工况下光伏处于MPPT模式,在电池处于极限工况下,光伏处于恒功率模式,通过boost连接到公共点, ...

  8. ekf估计电池soc过程推导(一)状态方程列写及离散化

    SOC是什么 SOC(State of Charge)即电池的电荷状态,通常用百分比表示.它表示电池目前已经存储了多少电量,是电池容量的一个比例. 例如,如果一个电池的额定容量为1000mAh,而目前 ...

  9. 总结几种流行的电池SOC估算方法

    一.什么是SOC? 电池的SOC(State-of-Charge)指的是电池剩余电量的状态,这里的"剩余电量"很好理解,就是电池中还剩多少电量:那么这个状态该如何表示呢??? 一款 ...

  10. 使用扩展卡尔曼滤波(EKF)估计电池SOC(附MATLAB程序及详解)part1主函数篇

    一.数据导入 这个脚本的主要目标是提供一个使用扩展卡尔曼滤波器(EKF)的电池荷电状态(SOC)估计的程序.使用二阶RC等效电路模型来分析电池在使用中的SOC和端电压(Vt),并考虑到电池表面温度的影 ...

最新文章

  1. javascript 编码规范 用更合理的方式写 javascript
  2. localstorage的应用,对js进行缓存
  3. Top 10 Security Risks for 2014
  4. ListView设置EmptyView之后不显示
  5. matlab guidata两个,Matlab
  6. [POI2008]STA-Station
  7. 管理节点连接不上sql节点_质量成本管理:成本控制、成本分析、费用使用流程与节点说明...
  8. PostgreSQL 配置内存参数
  9. 科学计算机计算内插法,线性插值计算器
  10. 数模3—Matlab线性规划、非线性规划、多目标规划(超全解法合集)
  11. x,y直角坐标系转经纬度WGS-84坐标系
  12. sonar扫描前端代码,解决CSS files were not analyzed Node.js version could not be detected using command:node-v
  13. 【办公常用软件】万彩办公大师教程丨PDF转HTML工具帮助文档
  14. [博弈论]移棋子游戏
  15. 标准日本语第二十三课
  16. OpenGL BRDF和IBL渲染
  17. 哈佛体系结构 哈佛体系结构
  18. 宏基因组学数据分析在生物医学领域的应用
  19. 青少年python一级考试试题,青少年python一级考试
  20. 苹果手机怎么解屏幕锁_小米手机刷机第1步:解BL锁教程

热门文章

  1. Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap
  2. qq 能上但是打不开网页
  3. 前端(html[5],css[3])学习总结+参考手册下载
  4. dnspod.cn 动态域名客户端
  5. php阴历阳历互转类(1900~2100年)
  6. xlsx的python处理
  7. 重装系统显示“安装程序正在应用系统设置“静止不动
  8. 单相全桥逆变电路工作过程
  9. 如何解决Access denied for user ''@'localhost' (using password: NO)错误
  10. 带你走进多媒体世界:视频文件是怎么播放出来的