SOC算法初探 一

news/2024/11/7 18:33:03/

一、算法类别

        BMS中所采用的算法类别主要有:安时积分、开路电压测量、人工神经网络、卡尔曼滤波四中方案。其中安时积分法是主体算法,但是由于器件精度、采集误差、计算误差、累积误差、电池充放曲线非线性等各种原因,需要一些辅助修正算法(后三种),才能将SOC计算得相对准确一些。

二、安时积分估算原理

        SOC:表示电池的剩余容量占比,即SOC = \frac{Q}{Qmax} * 100%

           其中Qmax是电池系统的标称容量,Q是电池剩余电量。

Qmax作为标称容量,初始值是定死的,但在后续电池使用中也不是一成不变的,主要因为电池受到温度、老化等影响,容量会衰减变化。故有几种修正策略:

1、依据电池实验数据,查表得出当前电池经历了多少循环,对应的实际标称容量是多少。

2、如果有SOH(可以通过检测电池内阻再查表得出SOH),标称容量*SOH =实际容量。

3、充放守恒,例:充电量+剩余电量 =放电量。

4、每次充满或放完都要对Qmax进行修正。

5、以上都要结合温度情况进行参数修正。

Q是电池剩余电量,通过 SOC(init)*Qmax +\int_{0}^{t}I dt得出,一般充电为正,放电为负。

SOC(init)是初始SOC值,出厂前可根据电池剩余容量比进行初值标定,之后就按照实际剩余容量进行赋值。

1、安时积分算法本身依赖SOC的初始值,故SOC(init)一定要正确。--标定、修正

2、要尽量保证充放首末端的SOC变化趋势不突兀。--SOC变化速率分段式线性化。

3、会受电流采样精度、温漂等因素影响结果。--EKF

4、计算误差和采样误差等会越来越大,这些累积误差要通过修正策略弥补。-OCV+EKF+策略

三、安时积分基础部分的实现

       先来个积分的例子,在没有发现圆面积公式之前,巨人们都是这样计算的:把一个圆沿圆心切割成多个扇形,每个扇形近似看作一个等腰三角形,把这些三角形面积累加起来就是圆的面积,分割的扇形越多,计算出来的圆面积越接近真实。

        安时积分估算SOC和求圆面积的原理是一样的,例如有一组容量为100Ah的电池,即能够以100A的电流放电1小时,假如50A电流放电一小时,那么SOC就是50%,但是电流不可能恒定,所以把电流按时间轴分割成若干份,每一份的时间宽度根据硬件采样频率来设定,那么,采样时间越快,SOC估算精度就越高。

        实现方式 : 包含3个参数:SOC初值、电池系统额定设计容量、电流采样值。

 

           Current是采样的电流值,DesignCapacity 是电池的初始容量,暂不考虑老化温度等因素,此处采用常数代替。增益代表时间,由于这里是0.5S的定步长,所以1小时采样7200次,可以根据实际电流采样频率去设定。

       举例:100Ah的电池,电流采样频率2HZ,假如某一时刻采样值100A,那么它占了整个放电时间的 \frac{100A}{100A*3600s*2Hz} .

        之后是用求和模块和延时模块组成的累积和,最后用初始的比例值减去累积的比例就是剩余电量的比例。

        简单仿真一下:

 

 

 生成代码测试一下:

 

 将生成的文件拷贝进C工程里:

 找到里面的主功能函数,建模的时候采用原子子系统,生成代码的时候就有一个主功能函数,把它添加进500mS的调用程序中,再将模型的输入变量赋值,可以做个接口层,我这里直接赋一个测试值常量。

 方便起见,电流按1C设定,初始SOC=50%,这样如果放电状态下,15分钟的时间,SOC理论应该由50%下降至25%。

 

 初始计算出的SOC=0x31,即49%,实际上是49.9几。

15分钟后,SOC=0x1B,即27%。基本功能实现。

 

三、结果

       通过验证发现计算的误差还是比较大的,取决于MCU的算力,尤其是浮点运算这块,对于低串小容量设备来说,增加一些查表修正基本可以满足使用要求了。

     至此万里长征迈出了第一步,接下来还有9999步。~~!

    


http://www.ppmy.cn/news/497989.html

相关文章

手把手教你如何建立考虑温度影响的锂离子电池二阶RC模型

众所周知,影响锂离子电池性能的因素有很多,其中温度的影响一直以来是研究的热点,锂离子电池能否在低温环境下保持良好的性能也成为了评价电池好坏的标准之一。今天就来分享一下我是如何使用simulink来建立考虑温度影响的二阶RC模型的。话不多…

带你认识什么是BMS(电池管理系统)

文章目录 概述BMS的硬件拓扑BMS的电气架构BMS的功能BMS的总压采集(主板功能)BMS的电流采集(主板功能)BMS的电芯电压和温度采集(从板功能)BMS的SOC、SOP和SOH(ASW计算)BSM的绝缘检测B…

SOC估算

由于SOC受充放电倍率、温度、自放电、老化等因素的影响,使得动力电池在使用过程中表现出高度的非线性,这为准确估算SOC带来困难。 目前较常采用的方法有放电试验法、安时计量法、开路电压法、负载电压法、内阻法、神经网络法、卡尔曼滤波法。 1.放电试…

电池管理系统(BMS)-SOC算法

原文:电池管理系统(BMS)-SOC算法概述 - 知乎 大家好,经过前面几个文章,大家对电池管理系统大概有了一个了解,下面着重介绍以下电池管理系统中核心的SOX算法中的核心SOC的算法,文章介绍以实际商用…

【操作系统】生产者消费者问题实现

目录 实验原理: 实验内容: 实验器材(设备、元器件): 实验步骤: 实验数据及结果分析: 实验原理: 考虑n个缓冲区的缓冲池作为一个共享资源,当生产者进程从数据源—文…

基于开路电压+安时积分法估算锂电池SOC

上一章节有说到开路电压校准的SOC初始值,本章介绍怎么利用这个SOC初始值在电池处于动态时,通过安时积分法去估算实时的SOC。 安时积分法即通过采集的电流,实时累积AH,通过累积的AH容量去估算当前的SOC值。笔者是通过采用模拟前端B…

代码生成 | 安时积分法模型搭建

安时积分法是电池电量计量最基础的方法,今天我们用simulink建模的方式做一个安时积分模型,从而更好地理解安时积分的思想也掌握建模的基础操 ​新建文件 打开MATLAB启动simulink新建一个模型文件 定义变量 和手写代码一样,先定义几个后面…

BMS-SOC算法——安时积分法

安时积分法是一种电池电量计量的基础方法,它采用AH累积的方法,对动态的锂电池进行实时的SOC估算。安时积分法的计算公式如下: SOC(t)SOC0​CE1​∫0t​I(τ)dτ 其中,SOC0​是电池电荷状态的初始电量值;CE是电池的额…