This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ35100:SOH 测量卡在 EOS 模式下、使用 Li-SOCl2

Guru**** 2538950 points
Other Parts Discussed in Thread: BQ35100, MSP430FR5994, BQSTUDIO, EV2400

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1183646/bq35100-soh-measurement-stuck-in-eos-mode-with-li-socl2

器件型号:BQ35100
主题中讨论的其他器件: MSP430FR5994BQSTUDIOEV2400

你好!

设备:根据数据表连接 BQ35100芯片、并由 I2C 通过 MCU 进行控制。 GE 和 ALERT 输出也由 MCU 控制。 XBee 模块用作负载、在传输模式下消耗20mA 的电流、从而产生80mV 的压降。
电源:并联两节 SAFT LS14500电池。 电压3.6V、容量5200mAh、锂离子 SOCl2化学电池。

我通过 I2C 将 EV2300编程器连接到 BQ35100、并根据 BQ Studio 程序中的 SLUUBH7和 SLUA904手册校准芯片上的电流和电压。 然后、将电池参数、运行配置 A 设置为 EOS 模式、并将化学 ID 更新为0623 (更新了 Ra 表)。 可以在内存转储中查看所有参数。 然后、我拔下 EV2300、并使用 MCU 进一步测试新电池的完全放电。

测量算法:
1) 1)启用 GE 引脚。
2) 2)读取电池状态。
3) 3)发送 gauge _start 命令。
4) 4)等待 GA 位。
5) 5)向 XBee 发送命令、导致电压下降60-80mV 2秒。
6) 6)发送 Gauge 停止命令。 在15秒内、功耗极低。
7) 7)等待 ALERT 由于 G_DONE 而变为低电平。
8) 8)读取电压和 SOH。
9) 9)禁用 GE 引脚。

然后使用两个函数读取缩放的 R 和测量的 Z。每个函数包含:
2.1)启用 GE 引脚。
2.2)读取电池状态。
2.3)读取值。
2.4)禁用 GE 引脚。
(尽管现在我了解在主测量之后最好在不切换 GE 引脚的情况下读取参数)

三项功能每小时执行一次。 测量完成后、XBee 数据传输功能被打开、提供10mA 的流耗。 因此、电池应该在大约20天内放电。 但是、在第11天、我停止了测试、因为缩放的 R 和测量的 Z 值坦率地说是错误的。 SOH 值未降至91%以下。 我在测试和黄金映像后进行了内存转储。

算法中是否有错误? 芯片设置可能不正确? 我非常感谢你在这一问题上的帮助。

e2e.ti.com/.../30_2D00_12_2D00_2022_5F00_after_5F00_11_5F00_days.gg.csv

e2e.ti.com/.../0100_5F00_1_5F00_02_2D00_bq35100.srec.csv

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vlad、

    TRM 第5.3.1节中的步骤是否已完成初始 EOS 学习?

    在对数开始时、电池电压会增加、这一点我也很奇怪。 您是否知道电路中是否有任何可能导致该问题的原因?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Shirish。

    是的、我完全忘记了提及。 校准后、在开始测量之前、我发送了 new_battery ()命令。

    我认为这是 BQ35100电压测量中的误差。 我不知道在10天内还有什么可能导致电压升高。 此器件只有一个电压源-两节 LS14500电池并联。 消费者:XBee S2C 模块、LED 和 MSP430FR5994控制器。  温度是恒定的、24度。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      是否尝试在 G_DONE 和 Read Voltage、SoH、ScaledR 和 MeasuredZ 之间添加延迟(如1s)、然后禁用 GE 引脚  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在读取电压和 SOH 之前没有延迟、我没有尝试添加它。 当 ALERT 引脚由于 G_DONE 而下降时、我立即读取这些参数。

    但是、在切换 GE 引脚(如问题中所述、通过两个单独的读数)之后、在 G_DONE 之后、我读取了缩放的 R 和测量的 Z、这正好是第二次通过测试。 尽管正是在这些指示中、值的最大变化是。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      无需将 GE 引脚切换为读取缩放的 R 和测量的 Z、可以将这2个值与电压和 SOH 一起读取、但在读取所有这些数据之前可能需要延迟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将运行另一个测试超过20天,并在 G_DONE 之后一秒钟阅读所有读数,谢谢。

    据我了解、延迟将有助于消除值中的错误跳转。 但在我的图中、SOH 值长期保持稳定。 您是否认为 SOH 没有完全由于缺少延迟而下降到91%以下?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      SOH 和 ScaledR、MeasuredZ 在同一代码段中计算、如果 SOH 稳定、那么 ScaledR 和 MeasuredZ 也应保持稳定、我认为在您读取 SOH 之前可能已经存在意外延迟、读取 ScaledR 和 MeasuredZ 以及 SOH 将返回正确的结果。

      但是,只有在没有 gauch_start()命令的情况下将 GE 置为有效,才能获得正确的 ScaledR 和 MeasuredZ 读数。 当 GE 在读取 SOH 后被拉低时、此设计将失去其功率、并且 RAM 中的内容将全部丢失。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    明白了、谢谢。 我将按照您的说法、重新获得新的结果。 测试大约需要一个月。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我修复了上述错误。 现在、测量算法由单个函数执行、如下所示:

    1. 放松1分钟、在此期间消耗的电流最小(微安)。 从而使电池电压略有增加、压降较大。

    2. 启用 GE 引脚。

    3. 读取电池状态。

    4. 发送 gauge 开始命令。

    5. 等待 GA 位。

    6. 4秒内的最大消耗量。
      对于当前版本的电路板、电流为16mA。 这会导致 LS14500电池上的电压从3590mV 降至3550mV。 前提是电池处于负载状态、因为新电池上的电压为3670mV、压降将超过所需的100mV。

    7. 发送 gauge 停止命令。

    8. 如手册中所示、在20秒内实现最小功耗以正确计算芯片。

    9. 由于 G_DONE、等待 ALERT 变为低电平。

    10. 延迟1秒。

    11. 读取电压值。

    12. 延迟1秒。

    13. 读取 SOH 值。

    14. 延迟1秒。

    15. 读取测得的 Z 值。

    16. 延迟1秒。

    17. 读取缩放的 R 值。

    18. 延迟1秒。

    19. 读取内部温度值。

    20. 延迟1秒。

    21. 读取当前值。

    22. 延迟1秒。

    23. 读取短趋势平均值。

    24. 延迟1秒。

    25. 读取长趋势平均值。

    26. 禁用 GE 引脚。

    然后提供5mA 的恒定功耗持续2小时、然后再次进行测量。

    在功耗图表上、它如下所示:

    此类系统操作应在1个月和12天内对5200mAh 电池进行放电。 这一天大约是2%。

    我校准了新电路板上的电流、电压和温度读数、设置了所有必要参数、并使用略微放电的电池运行了测试、最大 Δ SOH 为5%。 在两次测量中、SOH 值降至88%、三天内未发生变化。 同时、其他参数的读数看起来有效。

    我附加了在测试运行之前完成的 BQ35100芯片内存转储。

    问题是否是小压降? 压降仅为40mV、而不是所需的100mV。 还是我的配置中的设置错误? 我担心"电池端接电压"的值为2000mV。

    e2e.ti.com/.../config_5F00_before_5F00_testing.gg.csv

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、 

      对于 scaledR 值、随着时间的推移、它会从记录的数据中降低、这在正常应用中是不可预料的、这是因为比例从记录的数据的第3行变化、用于将 measureZ 缩放到比例 R 的比例在第4行之后为1.60x、 这会导致以下阻抗始终低于4xxxm Ω、较低的比例 R 意味着较高的 SOH、但不允许 SOH 增加、因此它会停留在88%、直到调节的 R 大于4374

      根据您的负载曲线、它看起来是非常动态的、负载在毫秒至 s 级的间隔上下波动、ADC 采样电流和8ms 转换速率下的电压、我想知道在这种动态负载下是否可以稳定地计算阻抗。 根据您的结果、阻抗随时间的推移而随机变化。 我想知道使用此类阻抗计算出的 SOH 将是可参考的、请在 TRM 中阅读以下注释:

    '在 EOS 模式下、SOH 报告值的精度会随负载分布的变化而显著变化。 执行系统内评估以确定所需 EOS 电平上报告的值。 在某些情况下、应忽略 SOH 的值。"

     另请注意,插入新的 batery 后,应向器件发送 new_batter()命令,以确保正确 刷新初始获知的电阻 RNEW

     如果 SOH 不可参考、则 EOS 模式的主要有用信息为短趋势平均值和长趋势平均值、监测计用于确定是否将电池状态[EOS]置为有效  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    、感谢您的回答。

    我停止了该测试并执行了内存转储。 我得到值"R Table scale"= 711。 这是正常的吗?

    脉冲的一个非常好的点。 我在电路中包含了一个负载电阻器、脉冲变得更强、没有突发。 我将使用新电池、电流将为70mA (这会导致电压从3590mV 下降到3470mV)。 我将使用它运行测试、并介绍测试结果。

    我还在之前的测试中使用了 new_battery()命令来复位与 EOS 相关的数据。 我忘记在消息中提到它。

    e2e.ti.com/.../config_5F00_after_5F00_3_5F00_days_5F00_testing.gg.csv

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      这是预期的、0.711正好与1.406的倒数、我之前的文章中的刻度1.60x 是一个排印错误、如果您检查测量的 Z 比和缩放的 R 比、您将看到比率为1.40x  

      正如 TRM 中解释的那样、负载分布对于 EOS 模式下基于 scaledR 的 SOH 来说可能太动态、无法供参考、如果您仍然看到动态 SOH 数据、则可以使用短趋势平均值和长趋势平均值来确定 EOS 警报

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    、感谢您的回答。

    是的、我知道 EOS 警报、但我需要准确配置正确的 SOH 值。

    我可以向您询问有关"终止电压"参数的问题吗? 我发送了 new_battery ()命令,设置 SOH delta 的值= 10%,并将“终止电压”更改为3300mV (之前为2000mV),然后使用电阻器作为负载运行新的测试。 因此、在10次测量中、SOH 降至0%。 请告诉我如何正确设置"终止电压"值? 如果电压低于3300mV、我的器件将无法工作、因此我认为就是这样 。

    e2e.ti.com/.../1001_5F00_config_5F00_after_5F00_testing_5F00_new_5F00_battery.gg.csv

    e2e.ti.com/.../1001_5F00_config_5F00_before_5F00_testing_5F00_new_5F00_battery.gg.csv

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、终止电压意味着放电截止电压。  但是、LiSOCl2测量仪表使用的实际电压表的电压范围为3.145 V 至1.920V、这会导致每次无论 ScaledR 是多少、内部计算都始终降低10%。

    根据 OCV 表、电压范围为3.145至1.920的电池是合适的、否则必须修改隐藏的 OCV 表

    放电期间 ScaledR 下降、电压从18:32下降到19:47、这是否在恒定负载下完成?

    可以尝试在步骤2到步骤3之间增加一个类似于1s 的延迟(也可以尝试在步骤5和步骤6之间),以便监测计可以在发送 Gauch_Start()命令之前读取开路电压?(负载应该仍然是脉动的,而不是恒定的)

    在放电过程中、阻抗应始终增大  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    、感谢您的回答。

    1) 1)如何更改内部 OCV 表? 手册中没有此类信息。 仅针对 LiMnO2更新了 OCV 表、针对 LiSOCl2更新了 Ra 表。

    2) 2)我是否需要将 OCV 更改为3670mV - 3300mV 并将终止电压设置为3300mV?

    3)昨天的测试从18:32到19:47、我打开了器件、上面的算法开始了(但2秒脉冲中的负载恒定、没有峰值、70mA 而不是16mA)、我看到 SOH = 90%。 然后我关闭了设备,等待了几分钟,然后又重新启动了设备(没有 new_batter()命令),得到了80%的电量。 我将其关闭、然后再次重复该过程、直到我得到0%。

    4) 4)我将添加暂停并再次运行测试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      您可以按 bqStudio 工具栏上的 Chemsitry 按钮、然后您将看到化学 ID 选择和下载的选项卡窗口、如下所示:

     \

    在"模型"列中找到与您在项目中使用的电池型号匹配的电池型号、选择该行并单击下面的按钮、将所有 CHEM ID 相关数据下载到目标器件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、在创建帖子之前、我根据手册在开始时执行了该操作。 甚至更新了数据库版本。 但这只会更改 Ra 表和"Static Chem DF Checksum (静态校验和)"的值。 不是这样吗? 我比较了闪烁化学之前和之后的两个配置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      OCV 表是隐藏的且不可读的、您用于将化学成分数据下载到目标器件的 ID 是什么? 您使用的单元格模式类型

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Steven Yao

    第一条消息中的信息:

    电源:并联两节 SAFT LS14500电池。 电压3.6V、容量5200mAh、锂离子 SOCl2化学电池、化学 ID - 0623。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      您能否提取 srec 文件并在此处上传文件?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我刚刚完成了芯片的完全转储、正在使用新电池对芯片进行3天的测试。 它的值"终止电压"= 900mV。 此外、"EOS 如此平滑启动电压"的值= 900mV。

    注意:在第9个脉冲期间 、我使用万用表触摸电池以查看压降。 结果是120mV。 但正是在这一点上、SOH 下降到91%。  我的干扰是否会导致这种情况?

    e2e.ti.com/.../3678.config.gg.csv

    e2e.ti.com/.../0100_5F00_1_5F00_02_2D00_bq35100.srec.removethis.csv

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      测量结果可能对噪声敏感、最好确保测量结果不会受到偶尔干扰的影响、例如触摸电路上的某些点、或者以某种方式从电路板或到电路板移动或触摸连接线   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    明白了、谢谢! 我不会再干扰测量。

    "srec"文件怎么样? 数据是否无效?  我更改了文件扩展名、以便可以附加它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      CHEM ID 数据似乎已正确下载、它确认了预期的内容。 但3.3V 终止电压太高、因为此电池的阻抗非常高、70mA 的电流可能会在内部电阻上产生200mV 的 IR 压降、因此应使用较低的终止电压

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答!

    我在标准"电池端接电压"= 2000mV 时开始另一项测试。 我使用 EV2400校准了参数并发送了 new_battery()命令。 我还添加了您上面提到的暂停、并删除了暂停以供放松。

    现在算法就像这样(我用粗体突出显示了更改的点):

    3.1) 停止所有消耗
    3.2)启用 GE 引脚。
    3.3)读取电池状态。
    3.4) 等待2秒。
    3.5) 
    发送 gauge _start 命令。
    3.6)等待 GA 位。
    3.7)等待0.1秒。
    3.8)  2秒内的最大功耗(70mA)
    3.9)发送 Gauge 停止命令。
    3.10) 20秒内实现最低功耗。
    3.11)由于 G_DONE、等待 ALERT 变为低电平。
    3.6-3.31)周期:
      延迟1秒;
      -读取 参数值;
    3.32)禁用 GE 引脚。
    3.33)将功耗设置为5.2mA 并持续2小时

    起初、书中的所有内容都是这样 的、SOH 值与事实非常相似。 但是我的设备由于其他原因重新启动,再次发送 new_battery()命令... 我必须使用新电池重新开始测试。

    e2e.ti.com/.../before_5F00_test.gg.csv

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      在数据记录为02.12.2023、20:06的行之前、SOH 按预期下降、如果此行的跳转是由复位引起的、则 SOH 上似乎没有异常