ZHCADX8B March 2024 – June 2025 MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1
首先,用户需要根据 Gauge_UserConfig.h 中的应用程序进行系统更改。图 4-7 展示了通常需更改的参数。
图 4-7 Gaugge_UserConfig.h 设置表 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 所示。它包含所有电池参数设置和算法设置。
图 4-9 tBattParamsConfig 结构为便于评估,用户只需更改一般配置参数。这些参数分为五个部分。这里简要描述了所有这些相关参数。
| 参数 | 注释 |
|---|---|
| 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 | 在稳定周期后获得平均数据。 |
| 参数 | 注释 |
|---|---|
| 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 并将其输入到矩阵中。 |
| 参数 | 注释 |
|---|---|
| i16UnloadCurtLowThd_mA i16UnloadCurtHighThd_mA |
如果电流在此范围内,电池将视为静置。 务必考虑电流检测的噪声。否则静置检测会出现问题。 |
| u8SOHCalcCycleThd | 电池放电周期阈值,用以计算 SOH。 |
| iq15DefaultSOH_DEC | 电池默认 SOH 值。 |
| u8NomFullCapIIRLevel | 用于控制 NomFullCap 的 IIR 滤波器电平。 freq_cut = Freq_sample/(2*pi*2^ui8Beta)。 |
| 参数 | 注释 |
|---|---|
| u8CircuitTableLength | 电路表长度。 |
| u8CircuitTableTestTemp_C iq15RcellNegTshift_R iq15RcellPosTshift_R |
这些参数用于评估不同温度下的 Rcell。这不会对性能产生太大影响。用户可使其保持不变。 |
| 参数 | 注释 |
|---|---|
| i16AvgLeckageCurt_mA | 内部漏电流补偿。这意味着无法通过分流电阻器测量的评估电流,是由 MCU 消耗或电池内部漏电流导致的。 |
| i16EqualizationCurt_mA | 这意味着要实现均衡电流,用户需要自行处理电池均衡。 |