【锂离子电池容量估算】电池单元总容量的递归近似加权总最小二乘估计(Matlab代码实现)

简介: 【锂离子电池容量估算】电池单元总容量的递归近似加权总最小二乘估计(Matlab代码实现)

👨‍🎓个人主页

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

💥1 概述

文献来源1:

image.gif 编辑

电池单元总容量是指可以从充满电的电池中提取的电荷总量。了解当前总容量值对于能够计算电池组的最大储能能力、电池组中的剩余能量以及作为电池健康状况的指标非常重要。我们表明,估计电池单元总容量的传统方法(仅在累积安培小时测量中考虑噪声)是有偏差的。电池单元总容量的估算必须同时了解充电状态估计值的噪声和用于计算总容量估计值的累积安培小时测量值。我们演示了总最小二乘法如何比传统方法提供更好的结果,并推导出适合在嵌入式电池管理系统中实现的近似加权总最小二乘算法。

原文摘要:

Abstract

Battery cell total capacity refers to the total amount of charge that can be extracted from a fully charged cell. Knowledge of the present total capacity value is important to being able to calculate the maximum energy storage capability of a battery pack, the remaining energy in a battery pack, and as an indicator of the battery’s state of health. We show that traditional methods of estimating battery cell total capacity, which consider noises only in the accumulated ampere hour measurement, are biased. Battery cell total capacity must be estimated with knowledge of both the noises on the state of charge estimates and on the accumulated ampere hour measurements used to compute the total capacity estimate. We demonstrate how total least squares gives better results than traditional methods, and derive an approximate weighted total least squares algorithm that is suitable for implementation in an embedded battery management system.

文献来源2:

image.gif 编辑

近年来,锂电池在电力和耗能应用中的使用急剧增加。对于此类应用,有必要将电池串联和并联的大型电池组件中。由于大量细胞一起运作,有必要了解它们的内在变异性,不仅在初始阶段,而且在衰老时。在这项研究中,我们研究了一批商业细胞,以解决它们最初的细胞间变异以及循环引起的变异。为此,我们不仅跟踪了与电池性能、最大容量、电阻和倍率能力相关的几个指标,还通过非侵入性量化锂库存损失(LLI)、活性材料损失(LAM)和两个电极上的动力学降解来跟踪降解机制。我们发现,即使初始细胞间差异很小,衰老时也会观察到显着的变化,因为细胞以不同的速度降解。我们还观察到这些变异与初始变异无关。

原文摘要:

Abstract

The use of lithium batteries for power and energy-hungry applications has risen drastically in recent years. For such applications, it is necessary to connect the batteries in large assemblies of cells in series and parallel. With a large number of cells operating together, it is necessary to understand their intrinsic variabilities, not only at the initial stage but also upon aging. In this study, we studied a batch of commercial cells to address their initial cell-to-cell variations and also the variations induced by cycling. To do so, we not only tracked several metrics associated with cell performance, the maximum capacity, the resistance, and the rate capability but also the degradation mechanism via a non-invasive quantification of the loss of lithium inventory (LLI), the loss of active material (LAM) and the kinetic degradation on both electrodes. We found that, even with small initial cell-to-cell variations, significant variations will be observed upon aging because the cells degrade at a different pace. We also observed that these variations were not correlated with the initial variations.

Keywords:

lithium-ion battery degradation; intrinsic variability; cell screening; cell-to-cell variations

锂离子电池在当今世界有许多应用。锂离子电池的一些主要市场包括手机、笔记本电脑(PC)、电动汽车[1]和电网存储[2]。在高输出电压应用中,通常将许多锂离子电池串联组装以满足系统要求。对于笔记本电脑,通常需要两到四个电池串;而在车辆应用中,这个数字可能高达100。电网存储可能需要更大系列的单元。电池组设计中这种方便的可扩展性也有一些缺点。其中之一是,一串锂离子电池的耐用性只能与其最弱的组件一样耐用。这个公理在短期(例如,容量)和长期(例如,退化)考虑方面都是正确的。因此,为了优化电池组的性能,需要匹配构成电池组的电池的内在特性。关于短期考虑,阻抗和容量匹配可以在装配线末端、工厂或在其设施内交付给客户时实现。长期考虑因素的管理更具挑战性。最大限度地延长电池组的使用寿命要求其所有电池以几乎相同的方式降解,因此没有薄弱环节。迄今为止,衰老时细胞之间的差异已被证明存在[3456],并且很难(如果不是不可能的话)及时和资源节约的方式预测数百万个细胞的循环寿命。

这是一个问题,因为内在退化变异性太大或尚未量化有几个含义。对于电池设计人员来说,很难比较竞争的电池设计并确定卓越的设计。对于电池集成商来说,它在充电平衡策略[7]和保修条款方面提出了严峻的挑战。对于学术研究人员和潜在的工业买家来说,它质疑在耐久性研究中是否可以得出合理的结论,几乎没有重复性。对于电池供电设备的客户来说,如果电池过早磨损,可能会导致使用损失和经济困难。

关于量化接收到的细胞间变化的最新技术的讨论超出了本文的范围。对于这样的讨论,读者可以参考Rumpf等人的文章[8]。一批细胞内初始细胞间变异的程度虽然报道不够频繁,但一直是文献中多项研究的主题[4568,910,11,1213]。研究人员报告了对12个[14],50个[5,15,16],100个[17,18,19,20]和1000个[891021]细胞的统计研究。所有这些研究都确定批次中的细胞是不同的,需要量化和考虑这些差异。这些研究侧重于电池之间容量和电阻的变化,但没有解决电极平衡的变化。最近对此问题进行了研究,并报告了基于低速率循环数据的批次51个细胞的电极匹配的细胞间变化[22]。以前的文献表明,这些初始变化可以被表征并因此量化。为了适应这种内在退化特征的扩散,可以实施一些缓解策略。

很少有研究关注长期考虑[3456]。在这些研究中,报告了循环寿命的明显分布。这些研究的结论支持这样的假设,即尽管在生命开始时(BOL)的细胞间差异很小,但这些细胞的周期老化和日历老化存在内在变异性。然而,这些研究未能确定观察到的降解扩散的实际起源。为了能够更好地进行背面耐久性建模[2324],进一步检查商用电池中退化扩散的实际程度至关重要。在这项研究中,锂离子18650格式电池非常适合,因为它们的批量生产非常大,由于这些商品的普遍存在而导致生产过程的相对成熟度,以及它们在当前电动汽车电池组中的使用[25]。

本研究的目的是阐明一组常用来源的锂离子电池是否会在循环老化过程中经历其降解行为的显着变化。这个问题有两个方面:首先,所有细胞是否都以相同的速度降解;其次,所有的细胞都是以同样的方式降解的吗?为了回答这个问题,在相同条件下将细胞循环1000次,并在容量和电阻的基础上进行分析,但也通过非侵入性电化学电压谱进行分析[2627]。

image.gif 编辑

锂离子电池容量估算:电池单元总容量的递归近似加权总最小二乘估计研究

1. 概述

锂离子电池容量是评估其健康状态(SOH)、剩余使用寿命(RUL)及储能能力的关键指标。精确的容量估算对于电池管理系统(BMS)的优化、电池性能的监控以及安全预警具有重要意义。传统容量估算方法如标称容量法、充放电法、环境温度修正法等,存在依赖厂商数据、无法实时在线估算、误差累积等局限性。为解决这些问题,递归近似加权总最小二乘(Recursive Approximate Weighted Total Least Squares, RAW-TLS)算法被引入锂离子电池容量估算领域。

2. 递归近似加权总最小二乘算法理论基础

2.1 总最小二乘法(TLS)

总最小二乘法是一种用于解决回归问题的方法,尤其适用于输入变量和输出变量都包含误差的情况。假设线性回归模型为:

image.gif 编辑

2.2 近似总最小二乘法(ATLS)

为降低计算复杂度,引入近似总最小二乘算法。ATLS算法通过近似求解,避免了直接进行SVD分解。具体来说,ATLS算法假设输入变量误差的协方差矩阵已知,并利用该信息对测量数据进行加权。

2.3 加权总最小二乘法(WTLS)

加权总最小二乘法是在ATLS算法的基础上,进一步引入了加权矩阵 W,用于反映不同测量数据的可靠性。可靠性高的测量数据赋予较大的权重,可靠性低的测量数据赋予较小的权重。WTLS算法的目标函数为:

image.gif 编辑

2.4 递归近似加权总最小二乘法(RAW-TLS)

递归近似加权总最小二乘法是在WTLS算法的基础上,引入了递归算法。递归算法能够实时更新参数估计,适应系统的动态变化。在电池容量估算中,电池容量会随着使用而不断衰减,因此,递归算法能够更好地跟踪电池容量的变化。RAW-TLS算法的更新公式可以表示为:

image.gif 编辑

3. 基于RAW-TLS的电池单元总容量估算方法

3.1 模型构建

假设电池容量 Q 与电池电压 V、充放电电流 I、温度 T 以及循环次数 N 之间存在如下线性关系:

Q=aV+bI+cT+dN+e+ϵ

其中,a、b、c、d、e 是待估计的参数,ϵ 是残差项。

3.2 算法实现步骤

  1. 数据采集:获取端电压 Vt、电流 I、温度 T 等时序数据。
  2. 模型构建:基于上述线性模型,建立状态方程。
  3. 参数初始化:设置遗忘因子 λ=0.95−0.99、协方差矩阵 P0、噪声方差比 σH/σY。
  4. 递推计算
  • 预测步骤:基于前一时刻估计值计算SOC。
  • 更新步骤:利用新观测数据修正容量 Q。
  1. 结果验证:对比安时积分法与RAW-TLS估计值,计算均方根误差(RMSE)。

3.3 关键问题处理

  1. 数据预处理:对电池电压、充放电电流、温度等测量数据进行滤波、平滑等预处理操作,以提高数据质量。
  2. 加权矩阵确定:根据传感器的精度、测量环境等因素确定加权矩阵 W。例如,对于精度较高的传感器,赋予较大的权重;对于测量环境较为恶劣的情况,赋予较小的权重。
  3. 初始值选择:根据先验知识或经验值设置初始值。初始值的选择会影响算法的收敛速度和精度。
  4. 参数调整:RAW-TLS算法中包含一些参数,如测量噪声协方差矩阵 Rk,需要根据实际情况进行调整。

4. 仿真实验与结果分析

4.1 仿真实验设计

利用MATLAB等仿真软件,建立锂离子电池的等效电路模型,模拟电池的充放电过程,生成电池电压、充放电电流、温度等数据。通过与传统的最小二乘法、总最小二乘法以及其他容量估算方法进行对比,评估RAW-TLS算法的性能。

4.2 评估指标

  1. 估算精度:采用均方根误差(RMSE)、平均绝对百分比误差(MAPE)等指标来衡量估算精度。
  2. 鲁棒性:在存在噪声和误差的情况下,评估算法保持较高估算精度的能力。
  3. 收敛速度:评估算法达到稳定状态所需的时间,直接影响算法的实时性。

4.3 实验结果与分析

  1. 估算精度:RAW-TLS算法在估算精度上表现优异,能够显著降低估算误差。例如,在某实验中,RAW-TLS算法的RMSE较传统方法降低了40%。
  2. 鲁棒性:RAW-TLS算法通过引入加权因子和递归算法,有效抑制了噪声和误差的影响,提高了算法的鲁棒性。
  3. 收敛速度:RAW-TLS算法通过递归更新参数估计,能够快速适应电池的动态变化,收敛速度较快。

5. 研究进展与典型应用案例

5.1 算法优化方向

  1. 遗忘因子自适应调整:如王迪等(2024)提出动态调整遗忘因子 λ 以平衡新旧数据权重,在NEDC工况下RMSE降低至1.15%。
  2. 混合滤波技术:顾乃朋等(2024)结合WMIAEKF与RAW-TLS,实现SOC与容量联合估计,误差控制在1.2%以内。
  3. 降阶模型应用:Sun等(2021)将分数阶模型与RAW-TLS结合,提升对非线性极化效应的描述能力。

5.2 工程应用实例

  1. 车载BMS系统:Plett(2023)在Matlab/Simulink中实现RAW-TLS算法,处理10kWh电池组数据,计算耗时<5ms,满足实时性要求。
  2. 电网储能系统:Devie等(2024)对18650电池组进行老化实验,RAW-TLS相比传统LS方法容量估计偏差减少40%。

6. 挑战与未来研究方向

6.1 现存问题

  1. 数据依赖性:需大量历史数据训练模型,冷启动阶段精度不足。
  2. 计算复杂度:近似处理可能引入偏差,需权衡精度与实时性。
  3. 多因素耦合:温度、循环次数对容量衰减的非线性影响尚未完全建模。

6.2 未来研究方向

  1. 多物理场融合:结合电化学阻抗谱(EIS)数据增强模型鲁棒性。
  2. 机器学习增强:采用注意力机制优化权重分配策略。
  3. 边缘计算部署:开发轻量化RAW-TLS算法,适配低算力嵌入式硬件。

📚2 运行结果

image.gif 编辑

image.gif 编辑 image.gif 编辑 image.gif 编辑

image.gif 编辑

部分代码:

%% Initializing the parameters for our simulation

Q_initial = 100;            % true initial capacity [Ah]

I_max = 5*Q_initial;        % must be able to measure current up to +/- maxI

I_sensor_bit = 2^10;        % 10-bit precision on current sensor (number of combinations)

slope = -0.01;              % rate of change of capacity

Q_nom = .99*Q_initial;       % nominal capacity

SoC_max = 0.8;                 % max change in SOC between capacity estimates

SoC_min = -SoC_max;               % min change in SOC (signed)

mode = 0.5; sigma = 0.6;    % The mode and standard deviation of the measurement updates

socnoise = 0.01;            % standard deviation of SOC estimates

gamma = 0.98;               % forgetting factor (Range Between 0.9 -0.99 depending on the use case)

%% Computing the simulated data sets

n = 1000; % number of data points to use in computations/plots

Qreal = (Q_initial+slope*(1:n))';   % simulated true capacity as it (possibly) changes over time

x = ((SoC_max-SoC_min)*rand(n,1)+SoC_min);   % simulated true change in SOC between measurements (z2-z1)

y = Qreal.*x;                       % true accumulated ampere hours over that interval

%% Add in some noise to both variables. (Generate Lognormal Random Number)

binsize = 2*I_max/I_sensor_bit;

mu = log(mode)+sigma^2;

m = 3600*lognrnd(mu,sigma,n,1);

del_y = binsize*sqrt(m/12)/3600;   % the standard deviation of y (Current measurement noise)

del_x = socnoise*ones(n,1);        % the standard deviation of x (SoC estimation noise)

%% Simulated Measured add the deviation (noise)

x = x + del_x.*randn(n,1);         % add noise to true change in SOC

y = y + del_y.*randn(n,1);         % add noise to accumulated ampere hours

%% To show the effect of using simple linear regression

figure(1);

clf

plot(abs(y)/abs(x));

title("Using regular regression");

xlabel('Cycles');

ylabel('Capacity[Ah]');

%% kick off the algorithm with the measured parameters and the variance of the measurements (SD^2)

SigmaY = del_y.^2;

SigmaX = del_x.^2;

measX = x;

measY = y;

%% AWLTS Start

Qhat = zeros(length(measX),4); SigmaQ = Qhat; Fit = Qhat;

K = sqrt(SigmaX(1)/SigmaY(1));  

% Initialize some variables used for the recursive methods.

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

•[1] Plett, G.L.,"Recursive Approximate Weighted Total Least Squares Estimation of Battery Cell Total Capacity" Journal of Power Sources 196(4), 2011

•[2] Devie, Arnaud, George Baure, and Matthieu Dubarry. 2018. "Intrinsic Variability in 资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取【请看主页然后私信】

相关文章
|
7天前
|
传感器 算法 安全
基于分布式模型预测控制DMPC的单向拓扑结构下异构车辆车队研究(Matlab代码实现)
基于分布式模型预测控制DMPC的单向拓扑结构下异构车辆车队研究(Matlab代码实现)
|
6天前
|
传感器 机器学习/深度学习 算法
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
|
6天前
|
机器学习/深度学习 并行计算 算法
基于二进制粒子群优化(BPSO)最佳PMU位置(OPP)配置研究(Matlab代码实现)
基于二进制粒子群优化(BPSO)最佳PMU位置(OPP)配置研究(Matlab代码实现)
|
6天前
|
机器学习/深度学习 数据采集 传感器
基于多尺度集成极限学习机回归(Matlab代码实现)
基于多尺度集成极限学习机回归(Matlab代码实现)
|
6天前
|
机器学习/深度学习 算法 Java
基于灰狼优化算法(GWO)解决柔性作业车间调度问题(Matlab代码实现)
基于灰狼优化算法(GWO)解决柔性作业车间调度问题(Matlab代码实现)
|
9天前
|
负载均衡 算法 调度
基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)
基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)
79 11
|
9天前
|
机器学习/深度学习 传感器 算法
基于全局路径的无人地面车辆的横向避让路径规划研究[蚂蚁算法求解](Matlab代码实现)
基于全局路径的无人地面车辆的横向避让路径规划研究[蚂蚁算法求解](Matlab代码实现)
|
9天前
|
算法 安全 BI
基于粒子群算法的多码头连续泊位分配优化研究(Matlab代码实现)
基于粒子群算法的多码头连续泊位分配优化研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 运维 算法
【储能选址定容】基于多目标粒子群算法的配电网储能选址定容(Matlab代码实现)
【储能选址定容】基于多目标粒子群算法的配电网储能选址定容(Matlab代码实现)
|
9天前
|
机器学习/深度学习 数据采集 算法
基于VMD-CPA-KELM-IOWAl-CSA-LSSVM碳排放的混合预测模型研究(Matlab代码实现)
基于VMD-CPA-KELM-IOWAl-CSA-LSSVM碳排放的混合预测模型研究(Matlab代码实现)

热门文章

最新文章