知识 电池化成 如何在动态放电过程中以低内存实时跟踪极化电压?使用递归状态进行高效、稳健的跟踪。
作者头像

技术团队 · Kintek Solution

更新于 1 个月前

如何在动态放电过程中以低内存实时跟踪极化电压?使用递归状态进行高效、稳健的跟踪。


使用单状态递归而非存储电流历史记录来跟踪极化电压。 对于离散时间 RC Thevenin 电池模型,将累积电流状态更新为

[ M_k(k)=I_{\mathrm{Dch}}(k)+\alpha M_k(k-1), \qquad \alpha=1-\frac{T}{R_P C_P}, ]

然后通过下式估算极化电压

[ U_P(k)\approx \frac{T}{C_P}M_k(k). ]

这只需要存储 (M_k) 的前一个值,而无需存储完整的动态电流记录。在系数稳定的情况下,由初始状态引起的误差会呈指数级衰减,尽管实际模型参数的不确定性可能会产生持续的估计偏差。

核心要点: 该递归方法将 RC 极化计算转换为低内存、恒定计算量的更新,适用于动态电流测试和 BMS 执行。它对初始状态的不确定性具有很强的鲁棒性,但取决于稳定的采样配置以及 (R_P)、(C_P) 和相关模型参数的合理准确值。

低内存跟踪方法的工作原理

用递归状态代替电流历史记录

一阶 RC 模型中的极化电压取决于电池近期的电流历史。直接评估需要保留或重复处理该历史记录。

递归将相关的历史记录压缩为一个状态变量:

[ M_k(k)=I_{\mathrm{Dch}}(k)+\alpha M_k(k-1). ]

在每个采样点,系统只需要新的电流测量值(M_k) 的前一个值

将递归状态转换为极化电压

一旦 (M_k(k)) 更新,极化电压计算如下

[ U_P(k)\approx \frac{T}{C_P}M_k(k). ]

因此,计算过程包括一次乘法、一次加法和一次电压缩放操作。内存使用量相对于测试持续时间保持恒定,这对于嵌入式电池监控器和长期的动态驱动循环测试非常重要。

物理意义上的系数解释

系数

[ \alpha=1-\frac{T}{R_P C_P} ]

代表极化状态的采样衰减。乘积 (R_P C_P) 是 RC 极化时间常数,因此它决定了电池极化响应的松弛速度。

较大的时间常数产生较慢的衰减,而较小的时间常数在电流更新之间产生较快的衰减。

为什么该方法适用于动态电流测试

它可以在没有静置期的情况下跟踪变化的电流

由于状态在每个采样点都会更新,该方法可以在可变电流充电或放电(包括类似驱动循环的曲线)期间跟踪极化。

它不需要电池静置足够长的时间以使极化消失,即可估算电压分量。

它避免了重复的最小二乘拟合

递归是一种直接的在线更新,而不是批处理识别过程。这避免了存储大型数据集,并减少了在移动数据窗口上重复拟合模型所带来的计算负担。

这使其对于实时测试系统、嵌入式控制器以及处理和内存资源有限的 BMS 算法非常实用。

它可以与端电压测量相结合

更广泛的在线估算方案可以使用测得的端电压、电流、SOC 和 OCV–SOC 关系。例如,

[ U_P=U_o-\mathrm{OCV}(\mathrm{SOC})-I R_d, ]

其中 (R_d) 可以通过电流阶跃点的电压和电流变化来估算:

[ R_d=\frac{\Delta U}{\Delta I}. ]

这种基于电压的计算可以为递归极化估计提供观察或验证信号。

该计算对初始不确定性的鲁棒性如何?

初始状态误差呈指数级衰减

假设估计的递归状态以误差 (e_0) 开始。在递归下,(N) 次更新后的误差约为

[ e_N=\alpha^N e_0. ]

因此,如果

[ |\alpha|<1, ]

那么

[ \alpha^N\rightarrow 0 ]

随着采样数量的增加。因此,不正确的初始极化状态的影响会随时间变得可以忽略不计。

这是该方法的核心鲁棒性属性。

仅在正确的采样条件下结果才稳定

仅 (\alpha<1) 的陈述不足以保证离散时间稳定性。相关的条件是

[ |\alpha|<1. ]

对于所述的一阶离散化,这要求选择采样间隔和时间常数,以使递归系数保持在单位圆内。如果采样间隔相对于 (R_P C_P) 过大,(\alpha) 可能会小于 (-1),从而导致数值不稳定而非收敛。

因此,在实践中,应在考虑极化时间常数的情况下选择测试系统的采样间隔。

初始参数猜测与参数误差不同

递归对不正确的初始状态(例如不正确的 (M_k(0)))具有鲁棒性。然而,(R_P)、(C_P) 或 (T) 实际值的误差会影响 (\alpha) 和电压缩放因子 (T/C_P)。

这些模型参数误差通常不会仅仅因为递归是稳定的而消失。即使在初始条件误差衰减后,它们也可能产生持续的增益或动态响应误差。

什么决定了实际精度?

极化时间常数的质量

时间常数 (R_P C_P) 决定了递归状态遗忘过去电流的速率。如果识别不当,计算出的极化与真实电池相比可能衰减得太快或太慢。

尽管在线计算本身成本很低,但准确的参数拟合仍然很重要。

采样间隔

采样间隔既影响数值稳定性,也影响解析快速极化动态的能力。采样率过慢可能会错过快速变化,并可能使离散近似不准确。

递归应以适合所选 RC 模型所代表的最快动态的速率进行评估。

电流和电压测量质量

电流测量中的噪声、偏移和符号约定错误会直接影响 (M_k)。因此,使用端电压、OCV、SOC 和动态电阻进行基于电压的验证对于检测不一致的估计非常有价值。

电流方向约定在整个递归和电压方程中也必须保持一致。

SOC 和 OCV 的准确性

当使用补充电压关系时,

[ U_P=U_o-\mathrm{OCV}(\mathrm{SOC})-I R_d, ]

SOC 或分段线性 OCV–SOC 曲线中的误差会表现为极化电压误差。此方法可以避免长时间的静置,但并不能消除对可靠 SOC 和 OCV 信息的需求。

理解权衡

低内存并不意味着无需参数估计

递归计算减少了存储和计算量,但它仍然依赖于合适的 RC 模型和参数集。它是一种跟踪机制,而不是模型识别的替代品。

可能需要在相关的 SOC、温度、老化和当前工作范围内拟合参数。

一阶模型可能不足

单个 (R_P C_P) 分支捕获了一个主要极化时间尺度。真实电池可能表现出多种动态过程、滞后、温度效应和非线性行为。

如果这些效应显著,则可能需要更高阶的模型,这需要额外的递归状态和参数。

稳定性不能保证物理准确性

如果模型参数、OCV 曲线、电流符号或电压分解不正确,稳定的递归可能会平稳地收敛到错误的结果。

因此,应根据测得的端电压以及尽可能在独立的测试条件下检查收敛性。

动态电阻可能对测量条件敏感

估计值

[ R_d=\frac{\Delta U}{\Delta I} ]

当电压和电流变化正确对齐且阶跃足以与测量噪声区分开时,该估计值最有意义。缓慢的电流变化可能无法为该计算提供清晰的阶跃点。

递归 RC 估计和基于动态电阻的电压估计最好被视为互补方法,而不是可互换的公式。

如何将其应用于电池测试系统

实现可以保持紧凑:

  1. 校准或识别相关工作条件下的 (R_P) 和 (C_P)。
  2. 选择一个既能保持递归稳定又能解析预期动态的采样间隔 (T)。
  3. 计算 (\alpha=1-T/(R_P C_P))。
  4. 初始化 (M_k(0)),即使初始极化状态不确定。
  5. 在每个采样点,根据新的电流测量值更新 (M_k(k))。
  6. 计算 (U_P(k)\approx (T/C_P)M_k(k))。
  7. 可选地将结果与基于端电压、OCV、SOC 和 (R_d) 的估计值进行比较。
  • 如果您的主要关注点是低内存实时执行: 实现单状态递归,仅保留前一个 (M_k) 值、当前采样和校准参数。
  • 如果您的主要关注点是对未知初始极化的鲁棒性: 使用 (|\alpha|<1) 的递归;初始状态误差将在连续采样中呈几何级数衰减。
  • 如果您的主要关注点是参数识别的准确性: 在预期的工作范围内验证 (R_P)、(C_P)、SOC、OCV 和动态电阻,因为稳定的递归无法消除持续的模型参数误差。
  • 如果您的主要关注点是模型验证: 在代表性的动态测试期间,比较递归 (U_P) 与端电压分解 (U_o-\mathrm{OCV}(\mathrm{SOC})-I R_d)。

通过稳定的采样设计和正确识别的参数,这种方法提供了一种在整个动态电池运行过程中跟踪极化电压的高效且可靠的方法。

汇总表:

方法 内存使用 计算量 对初始误差的鲁棒性 关键要求
递归状态更新 恒定(一个状态变量) 每个采样一次加法、乘法、缩放 如果 |α|<1,误差呈指数衰减 稳定的采样间隔,准确的 R_P, C_P
直接完整历史记录 随测试持续时间增长 高(重新处理所有数据) 如果参数已知则精确 存储整个电流记录
批处理最小二乘法 高(存储数据集) 繁重(重复拟合) 取决于数据集 离线处理

使用 KINTEK 的尖端测试系统优化您的电池研发。我们的设备专为精度和可靠性而设计,确保准确的极化跟踪。立即联系我们,以增强您的电池测试能力并推动创新!


留下您的留言