首页 > 其他分享 >电池管理系统(BMS)系列—状态估计之SOC(二)拓展卡尔曼滤波法

电池管理系统(BMS)系列—状态估计之SOC(二)拓展卡尔曼滤波法

时间:2024-05-31 19:03:06浏览次数:19  
标签:端电压 SOC EKF 卡尔曼滤波 方程 BMS 电压 模型

大家好,这里是“电动札记”,一个坚持原创的新能源汽车知识共享与热点分析平台。很高兴再次见面!

在上期电池管理系统(BMS)系列—状态估计(一)之SOC中,我们介绍了在实际应用中估计SOC时常使用开路电压法+安时积分法的组合,但存在受初值影响大、误差随时间累积等缺点。于是基于拓展卡尔曼滤波(EKF)进行SOC估计的方法逐渐进入大众视野,本文将针对该方法进行介绍。

要想了解“基于拓展卡尔曼滤波(EKF)进行SOC估计”的方法,其中有两个绕不开的知识点。一个是“动力电池模型”,一个是“拓展卡尔曼滤波算法原理”。说实话,这俩不论哪一个单拎出来,想要完全搞透都不是件简单事,其中伴随着各种眼花缭乱的公式推导、矩阵变换,很容易让人从“准备开始”到“光速放弃”。所以小编不打算在本文呈现那些纷繁复杂的公式,而只“浮于表面”,讲解脉络,以期读者对“基于拓展卡尔曼滤波(EKF)进行SOC估计”的方法有个基本认知。

首先来看第一个知识点“动力电池模型”。

当前对动力电池进行建模的模型主要有等效电路模型、电化学模型、分数阶模型等。它们虽然建模原理不同,但起到的作用是类似的。此处以一阶等效电路模型(Thevenin模型)为例进行介绍。

图片

该模型描述了动力电池的外特性,各部分组件含义如下:

(1)电压源:使用UOC表示动力电池的开路电压。

(2)欧姆内阻:使用Ri表示动力电池电极材料、电解液、隔膜电阻及各部分零件的接触电阻。

(3)RC网络:通过极化内阻RD和极化电容CD来描述动力电池的动态特性,包括极化特性和扩散效应等。

Ri,RD和CD为模型参数,可通过某些方法辨识得到。iL为电池充入/输出电流。模型对外输出电压Ut叫端电压,是可以直接采集到的电压值。UD为RC并联环节的电压降,用于模拟动力电池的极化电压。UOC表示动力电池的开路电压。

/**复习一下:还记得我们在上期文章中提到的开路电压法估计SOC吗?开路电压UOC与SOC间往往存在一一对应的关系(OCV曲线)。当电池经过充分静置平衡时,可近似认为端电压Ut值与开路电压UOC值相等,读取端电压值即可查表得到SOC。当电池内部状态不平衡时,端电压Ut值与开路电压UOC值不相等,开路电压法也就不适用了。**/

通过该模型,可以输出两个方程式,在后面还会用到。方程(1)描述了极化电压UD和电池电流iL间的关系。方程(2)描述了端电压Ut、极化电压UD、开路电压UOC和电流iL之间的关系。

图片

图片

这是对于一阶等效电路模型输出的两个方程式。对于其它电池模型输出的方程式个数、形式会有所不同,但一般都会有描述端电压、开路电压和电流间关系的相关方程。

有了电池模型的方程式输出,现在我们可以来看第二个知识点“拓展卡尔曼滤波算法(EKF)原理”和其在电池SOC估计中是如何应用的了。

EKF的基本思想是通过融合系统的先验估计测量值得到对系统状态的最优估计。在这句话中,有三个关键词:“先验估计”,“测量”和“融合”。当“先验估计”中的“状态方程”和“测量”中的“量测方程”确定后,可以得到最优估计值的“融合”过程也就基本确定了。所以若想使用EKF,关键是确定状态方程量测方程

下面我们来看在EKF中对应的状态方程和量测方程是怎样的,以及在使用Thevenin模型预估SOC时对应的具体方程。或者可以直接转到文末总结,略过此部分。

—————————————我是分界线————————————

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

先验估计与状态方程

图片

式中,下标k表示当前时刻,k-1表示上一时刻;x为n维状态向量;u为r维系统输入变量。

Wk-1为过程噪声,算法中与其相关的值常做常量处理。

基于Thevenin模型的EKF预估SOC中:

x为二维状态向量,由我们想要预估的变量构成,由电池极化电压UD和电池SOC构成。(ps:实际上我们只需要预估电池SOC就行了。但对Thevenin模型,为保证EKF算法的进行,此处带上极化电压UD也是必需的)。

u为一维系统输入变量,此处为动力电池电流iL。

对应电池极化电压UD和电池SOC两个预估变量,先验估计过程包含两个预估方程。一个用于描述极化电压UD和输入电流iL间的关系,由前文提到的方程1变形得来;一个用于描述电池SOC和输入电流iL间的关系,由安时积分法得到(所以本质上EKF预估SOC就是安时积分法的改进)。接着可将两个方程合并写成方程3状态方程的矩阵形式

测量与量测方程

图片

式中,y为m维系统输出向量(或观测值);Vk-1为测量噪声,算法中与其相关的值常做常量处理。

基于Thevenin模型的EKF预估SOC中:

y为测量的端电压Ut值,可将前文提到的方程2作为量测方程使用

实际上在这部分会有两个端电压值输出,一个是实际采样得到的端电压值,一个是根据量测方程计算得到的端电压值,两者之间的差异就是影响后续融合更新方程,计算状态向量x新预估值的部分因素。

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

—————————————我是分界线————————————

综上,对基于Thevenin模型的EKF估计SOC,暂且这样描述。1. 先验估计:通过电池模型得到的某些状态方程先计算一个变量A(极化电压UD)和变量B(SOC)的预估值(先验估计值);2. 测量比较:测量变量C(端电压)的实际值,同时计算根据量测方程应该得到的变量C值,两者的比较结果可作为融合的部分考量因素(注意此处要求变量C必须是与变量A和变量B之间存在方程式关系的变量,否则融合也就没有意义了);3.融合更新:借助一些方程,将测量过程的比较结果与先验估计的预估值组合,得到A和B(SOC)最新的预估值(后验估计值),至此SOC便确定了。重复以上过程持续计算。

那么本期就到这里,对SOC估计的相关内容也基本介绍完成了。

下期我们将会开始新的篇章——动力电池SOH的估计。欢迎感兴趣的小伙伴持续关注。

写在文后:本文为求简洁,省略了很多过程细节,对EKF算法的各部分也都做了简化,删掉了包括初值赋予、矩阵变换、融合更新等很多内容,难免会有描述不当之处。敬请包涵。如果大家对某一部分存有疑问,或者想要详细了解EKF算法及其对应的SOC估计时的话,欢迎后台留言、点赞、收藏,小编会酌情考虑是否开期新的文章。

这里是“电动札记”,我们下期再见~

标签:端电压,SOC,EKF,卡尔曼滤波,方程,BMS,电压,模型
From: https://blog.csdn.net/zxx52113140/article/details/139359719

相关文章

  • golang开发 gorilla websocket的使用
    很多APP都需要主动向用户推送消息,这就需要用到长连接的服务,即我们通常提到的websocket,同样也是使用socket服务,通信协议是基本类似的,在go中用的最多的、也是最简单的socket服务就是gorilla/websocket,它有21.1K的star,足以说明它的受欢迎程度,它的github地址是https://github.com/g......
  • 【QT】QHash键值对记录QTcpSocket客户端句柄
    第一步:.h文件代码#ifndefSOCKETMAP_H#defineSOCKETMAP_H#include<QHash>#include<QDebug>#include<QTcpSocket>#include<QException>classSocketMap:publicQObject{Q_OBJECTpublic:SocketMap();public:staticboolupd......
  • 在mysql上构建soctt库
    --1.创建部门表createtabledept(deptnoint(2)unsignedprimarykey,dnamevarchar(14),locvarchar(13));--2.添加部门数据insertintodept(deptno,dname,loc)values(10,'ACCOUNTING','NEWYORK'),(20,'RESEARCH','DALLAS')......
  • 揭开 SOCKS5 有哪些强大的功能?
    在在线隐私和安全领域,SOCKS5是一种多功能且功能强大的协议,为用户提供了一种无缝的方式来加密他们的互联网流量、绕过防火墙并以增强的匿名性和灵活性访问网络。无论您是担心在线监控、地理封锁还是数据隐私,了解如何利用SOCKS5的功能都可以让您控制您的互联网连接并保护您的......
  • 揭开 SOCKS5 有哪些强大的功能?
    在在线隐私和安全领域,SOCKS5是一种多功能且功能强大的协议,为用户提供了一种无缝的方式来加密他们的互联网流量、绕过防火墙并以增强的匿名性和灵活性访问网络。无论您是担心在线监控、地理封锁还是数据隐私,了解如何利用SOCKS5的功能都可以让您控制您的互联网连接并保护您的......
  • 【问题记录】Cause: java.sql.SQLRecoverableException: No more data to read from s
    异常说明:   当Oracle客户端(应用)接收数据库服务器发送的数据时,它会从套接字中读取数据。如果在读取数据的过程中,套接字中没有更多的数据可供读取,那么Oracle客户端就会报告“没有更多数据从套接字读取”错误。常见原因:应用使用了连接池,当从连接池取得的connection失效或者超......
  • 不同厂商SOC芯片在视频记录仪领域的应用
    不同SoC公司芯片在不同产品上的应用信息:大唐半导体芯片型号:LC1860C(主控)+LC1160(PMU)产品应用:红米2A(399元)大疆晓Spark技术规格:28nm工艺,4个ARMCortex-A7处理器,1.5GHz主频,2核MaliT628GPU,1300万像素摄像处理,1080P@30fps编解码Movidius芯片型号:Myriad2......
  • [Java EE] 网络编程与通信原理(三):网络编程Socket套接字(TCP协议)
    ......
  • WebSocket服务搭建
    1、在NuGet包管理工具安装websocket包 2、添加自定义中间件app.UseWebSockets();app.UseMiddleware<CustomWebSocketMiddleware>();3、编写websocket中间件privatereadonlyRequestDelegate_next;privateILogger<CustomWebSocketMiddleware>_Logger;publicList<Web......
  • websocket实现消息实时通信
    后端代码实现1、导入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><version>3.2.5</version></dependency>2、创建websocket客户端对象。@Getter@Set......