电池管理系统(BMS)系列—状态估计(一)之SOC

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

在BMS系列首期电池管理系统(BMS)系列—功能介绍中,我们提到BMS的一大功能——状态估计,需要基于实时采集的动力电池数据,运用既定的算法和策略,从而获得每一时刻的动力电池状态信息,具体包括动力电池的SOC、SOH、SOP以及SOE等。本文作为BMS功能——状态估计系列的首篇,将介绍动力电池系统SOC的概念及计算方法等。

在电动车辆的使用过程中,我们经常听到,“这台车还剩(XX)%的电”。这个(XX)%的电,指的就是荷电状态(SOC),以百分比(%)的形式出现。

首先我们需要明确SOC的定义:

SOC = 剩余的电量(Ah)/电池的容量(Ah)*100%

注意式中分子和分母都是以Ah为单位的电量存在的,而不是能量——我们平常说的多少度电(kWh)。

接下来让我们看下在实际应用中是如何实现SOC估计的。

假如把一桶水类比电池,水桶的容积就是电池的容量(通常为固定值),剩余电量就是里面装了多少水。我们该怎么知道桶里有多少水,继而求得水桶的“SOC”呢?

图片

最简单的方法就是在水桶上提前标好刻度!当液面完全静止时,通过读取刻度值即可知道现在桶里装了多少水。类似这种提前标好刻度的方法,在估计电池SOC时被叫做开路电压法

开路电压法

在某一具体温度下,电池的电压与SOC之间往往存在一一对应的关系,如下图的OCV曲线。这表示我们可以把电池的电压值当作SOC的刻度,为估计SOC只需要读取电池电压值即可。

图片

实现原理很简单,但是开路电压法也存在着诸多不足。

在我们通过水桶上的刻度值读取装了多少水的过程中,其实包含着一个隐藏条件——要求水面稳定。这需要没有水流入流出水桶,且水面经过静置已趋于稳定,否则水面来回波动就会造成读取误差。对电池系统而言就是要求其没有工作电流,电压充分回弹,电压值稳定。所以开路电压法仅适用于电池不工作后,等待一定时间进行SOC估计的场景

那么对存在电流(工作中)的电池系统,我们该如何估计SOC呢?

回到我们的水桶上,假设已知它初始装了多少水,现在正不断往外放水,如果能通过某些元件采集到放水的量,是不是就能算出桶里还剩多少水了?类似这种根据初始水量和放水/注水量计算的方法,在估计电池SOC时被叫做安时积分法

图片

安时积分法

如果充放电起始状态记为SOC0,那么当前状态的SOC则为:

图片

通过电流传感器测量电流,充放电电流对时间的积分就是充入/放出的电量,类似加入/放出的水量,根据上面的公式就能算出当前SOC。

但使用安时积分法估计SOC有一些问题存在。

第一,对初始值SOC0依赖较大。安时积分法只能解决一段时间内电荷量发生变化的情况,如果电池的初始SOC不准,将导致整体估计的误差。

第二,由于传感器存在采样误差,采集的电流值不准,该误差会随着时间逐渐累积,影响SOC估计精度。

第三,无法应对电池的自放电问题。这点类似于水桶里的水蒸发了,这部分量无法被计算。

综上,开路电压法适用于静态估计安时积分法适用于动态估计,两者各有所长。所以目前对电池SOC的估计常将二者结合使用。静态时,利用开路电压法估计SOC,并为安时积分法提供计算初始值,动态时使用安时积分法估计SOC,非常适用于三元体系的锂电池。

开路电压+安时积分法也可应用在磷酸铁锂(LFP)体系的锂电池,但会存在某些问题,原因主要在LFP电池的OCV曲线(SOC-开路电压)斜率上。对比NCM(下图左)的OCV曲线,LFP(下图右)的曲线在中间SOC区域非常平缓,这导致使用开路电压法,通过读取电压确定SOC值时会存在较大的误差。

图片

为有效解决上述SOC估计过程中的问题,类似基于Kalman滤波器的SOC估算等方法被提出,篇幅所限我们会在后续文章中进行介绍。欢迎感兴趣的小伙伴持续关注~

那么,本期就到这里,这里是“电动札记”,我们下次再见!

BMS电池管理系统源代码是指电池管理系统的程序代码,用于监控和控制电池状态和性能。BMS是Battery Management System的缩写,它是一种专门用于电池组的管理系统,用于监测电池状态、温度、电压、电流、剩余容量等关键参数,并采取相应措施以保护电池安全和延长使用寿命。 BMS电池管理系统源代码通常由多个模块组成,每个模块负责不同的功能,比如数据采集、状态诊断、保护控制等。源代码包含了这些功能模块的具体实现方法和算法。 典型的BMS电池管理系统源代码包括以下几个方面的内容: 1. 数据采集模块:负责从电池组中采集各种参数,如电压、电流、温度等,并将采集到的数据进行处理和存储。 2. 状态诊断模块:使用一系列算法和模型,对电池状态进行诊断和估计,包括容量估计、内阻估计SOC(State of Charge,电池剩余容量)估计等。 3. 保护控制模块:根据电池状态和诊断结果,采取相应的控制措施,如过充保护、过放保护、过温保护等,以确保电池的安全运行。 4. 数据显示模块:将采集到的数据和状态信息以图表、曲线等形式展示给用户,方便用户监测电池状态和性能。 BMS电池管理系统源代码的编写需要深入理解电池工作原理和特性,并结合具体电池类型和应用场景进行优化和调试。在编写源代码时,需要考虑系统的实时性、稳定性、安全性等方面的要求,并且通常还需要与其他系统进行数据交互和通信。 总之,BMS电池管理系统源代码是实现电池管理系统功能的实质内容,它是保证电池安全和性能的重要保障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心若赤子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值