ZHCADX8B March   2024  – June 2025 MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2算法介绍
    1. 2.1 电池基础知识简介
    2. 2.2 不同的 SOC 和所用技术
      1. 2.2.1 NomAbsSoc 计算
        1. 2.2.1.1 具有 OCV 校准功能的库仑计
        2. 2.2.1.2 数据融合
        3. 2.2.1.3 电池模型滤波器
      2. 2.2.2 CusRltSoc 计算
        1. 2.2.2.1 EmptySoc 和 FullSoc
        2. 2.2.2.2 内芯温度评估
      3. 2.2.3 SmoothRltSoc 计算
    3. 2.3 算法概述
      1. 2.3.1 电压监测计简介
      2. 2.3.2 电流监测计简介
      3. 2.3.3 容量学习简介
      4. 2.3.4 混合简介
  6. 3测量仪表 GUI 简介
    1. 3.1 MCU COM 工具
    2. 3.2 SM COM 工具
    3. 3.3 数据分析工具
  7. 4MSPM0 测量仪表评估步骤
    1. 4.1 第 1 步:硬件准备
    2. 4.2 第 2 步:获取电池模型
      1. 4.2.1 电池测试模式
      2. 4.2.2 电池模型生成
    3. 4.3 第 3 步:输入自定义配置
    4. 4.4 第 4 步:评估
      1. 4.4.1 检测数据输入模式
      2. 4.4.2 通信数据输入模式
    5. 4.5 第 5 步:测量仪表性能检查
      1. 4.5.1 学习周期
      2. 4.5.2 SOC 和 SOH 精度评估
  8. 5MSPM0 测量仪表解决方案
    1. 5.1 MSPM0L1306 和 1 节 LiCO2 电池
      1. 5.1.1 硬件设置介绍
      2. 5.1.2 软件和评估简介
      3. 5.1.3 电池测试用例
        1. 5.1.3.1 性能测试
        2. 5.1.3.2 电流消耗测试
    2. 5.2 MSPM0G3507、BQ76952 和 4 节 LiFePO4 电池
      1. 5.2.1 硬件设置介绍
      2. 5.2.2 软件和评估简介
      3. 5.2.3 电池测试用例
        1. 5.2.3.1 性能测试 1(脉冲放电)
        2. 5.2.3.2 性能测试 2(负载变化)
    3. 5.3 MSPM0L1306 和 BQ76905
  9. 6总结
  10. 7参考资料
  11. 8修订历史记录

第 3 步:输入自定义配置

首先,用户需要根据 Gauge_UserConfig.h 中的应用程序进行系统更改。图 4-7 展示了通常需更改的参数。

 Gaugge_UserConfig.h 设置图 4-7 Gaugge_UserConfig.h 设置

表 4-2 展示了这些参数的说明。

表 4-2 系统配置参数
参数 注释
DETECTION_MODE 影响算法数据输入源,如 节 4.4 中所述。
OUTPUT_MODE 控制是否将测试的数据输出到 GUI,如节 4.4 中所述。
PACK_DATA_RECOVER 如果定义了该参数,则启用电池包数据恢复功能。这是为满足 MCU 关断时的数据保存要求而保留的。对于数据保存和数据加载功能,用户则需要进行开发。
CELL_NUMBER 电池包的电芯数。
CIRCUIT_TABLE_LENGTH circuitParamsTable 长度。

其次,用户需要完成 Gauge_UserConfig.c 中的数据结构配置。图 4-8 中简要介绍了此测量仪表实施方案中使用的数据结构。

tGaugeApplication 代表电池包。所有与电池包相关的结果均保存在 tBattPackParams 中。tbattGlobalParams[] 代表电池包中的每个电芯。各算法数据结构如下所示。

 数据结构图 4-8 数据结构

最重要的数据结构是 tBattParamsConfig,如 图 4-9 所示。它包含所有电池参数设置和算法设置。

 tBattParamsConfig 结构图 4-9 tBattParamsConfig 结构

为便于评估,用户只需更改一般配置参数。这些参数分为五个部分。这里简要描述了所有这些相关参数。

表 4-3 一般配置参数
参数 注释
battModelUse 这使得热模型能够评估内芯温度 iq15EvlCoreTemp_C,该模型仅用于更新和搜索 emptySoc 以及 fullSoc。使用模块时,建议采用的 iq15Tcell_C 温度分辨率为 0.1℃。使用 1℃ 分辨率时,iq15EvlCoreTemp_C 误差会增加约 ±1.5℃。未使用模块时,表面温度用作电池内芯温度。
u16battWeight_g 用于内芯温度评估的电池重量。例如,18650:49g;21700:60g;26650:96g.
u16DesignCap_mAh 设计容量。输入电池标准容量或通过电池参数生成的测试电池容量。
u16MinBattVoltThd_mV / u16MaxBattVoltThd_mV
i16MaxChgCurtThd_mA / i16MinDhgCurtThd_mA
i8MaxChgTempThd_C / i8MinChgTempThd_C
i8MaxDhgTempThd_C / i8MinDhgTempThd_C
电池 Vcell、Icell 和 Tcell 阈值。它们被保留以在电池情况高于这些参数时控制警告标志。这些不会影响测量仪表的性能。
u16MinFullChgVoltThd_mV
u16MaxFullChgVoltThd_mVi16FullChgCurtThd_mA
电池充满相关设置。电池充电电压应在此范围内。u16MinFullChgVoltThd_mV 有助于判断电池电量何时充满。u16MaxFullChgVoltThd_mV 可用作 MCU 上电后的默认充满 OCV。当电流低于 i16FullChgCurtThd_mA 且电压高于 u16MinFullChgVoltThd_mV 时,电池视为已充满。
u16EmptyDhgVoltThd_mV 当电压达到该值时,电池视为电量耗尽。
u8AvgBattParamsUpdateCount 在稳定周期后获得平均数据。
表 4-4 混合算法相关参数
参数 注释
u16ConvergeStartVolt_mV 当运行时电压低于此参数时,收敛算法开始发挥作用以补偿 emptySoc.
i8TempThd_C[]
i16CurtThd_mA[]
用于根据电流和温度阈值找到 iq15AbsEmptySocMatrix[] 和 iq15AbsFullSocMatrix[] 中的理想 emptySoc 和 fullSoc。有关更多详细信息,请参阅节 2.3.4
u16EmptyOcvMatrix[] 用于计算 iq15AbsEmptySocMatrix[] 的相关 emptySoc。如果全部为 0,则使用 u16EmptyDhgVoltThd_mV 作为空 OCV 来计算相关 emptySoc。系统会在循环后自动学习该操作。
如果用户希望在学习周期中提高测量仪表性能,则用户可以测试相关范围内的 OCV 并将其输入到矩阵中。
u16FullOcvMatrix[] 用于计算 iq15AbsFullSocMatrix[] 的相关 fullSoc。如果全部为 0,则使用 u16MaxFullChgVoltThd_mV 作为满载 OCV 来计算相关 fullSoc。系统会在循环后自动学习该操作。
如果用户希望在学习周期中提高测量仪表性能,则用户可以测试相关范围内的 OCV 并将其输入到矩阵中。
表 4-5 容量学习算法相关参数
参数 注释
i16UnloadCurtLowThd_mA
i16UnloadCurtHighThd_mA
如果电流在此范围内,电池将视为静置。
务必考虑电流检测的噪声。否则静置检测会出现问题。
u8SOHCalcCycleThd 电池放电周期阈值,用以计算 SOH。
iq15DefaultSOH_DEC 电池默认 SOH 值。
u8NomFullCapIIRLevel 用于控制 NomFullCap 的 IIR 滤波器电平。 freq_cut = Freq_sample/(2*pi*2^ui8Beta)。
表 4-6 VGauge 算法相关参数
参数 注释
u8CircuitTableLength 电路表长度。
u8CircuitTableTestTemp_C
iq15RcellNegTshift_R
iq15RcellPosTshift_R
这些参数用于评估不同温度下的 Rcell。这不会对性能产生太大影响。用户可使其保持不变。
表 4-7 IGauge 算法相关参数
参数 注释
i16AvgLeckageCurt_mA 内部漏电流补偿。这意味着无法通过分流电阻器测量的评估电流,是由 MCU 消耗或电池内部漏电流导致的。
i16EqualizationCurt_mA 这意味着要实现均衡电流,用户需要自行处理电池均衡。