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.

[参考译文] BQ27421-G1:与设计 RAM 中的容量值相比、所有容量读数都太低

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/570282/bq27421-g1-all-capacity-readings-way-too-low-compared-to-design-capacity-value-in-ram

器件型号:BQ27421-G1

您好!

您能不能帮助我确定为什么所有与容量相关的命令为我提供的值都比编程到 RAM 中的标称容量低得多。

在配置更新模式期间、我使用"解封"状态将以下值编程到 RAM 中:

DC=1900

DE=7030 (=3.7 *直流)

电视=2700

TR=345 (=DC/(0.1 * TaperCurrent +10%)= DC/(0.1 * 50mA * 1.1)

以下是我使用相关命令读取的内容:

NominalAvailableCapacity()= 1241

FullAvailableCapacity()= 1241

FullChargeCapacity()= 1191.

RemainingCapacity()= 1191.

RemainingCapacityUnfiltered ()= 1191.

RemainingCapacityFiled()= 1191.

如您所见、上述所有读数均远低于 已编程的直流= 1900mAh、SOC=100%(电池刚刚插入)

其他命令似乎正常:

AverageCurrent ()= 140mA

StateOfCharge ()= 100%

电压()= 4073mV

我使用的是 BQ27421-G1A 芯片版本。 此外、还非常关注 技术参考(SLUUAC5C)和快速入门指南(SLUUAH7)中的信息来对芯片进行编程。 我想知道、在更新 RAM 以使芯片正常工作时、是否缺少任何步骤?

感谢你的帮助。

——丹尼尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否至少运行了一次学习周期? 监测计将在学习周期后更新其阻抗表和化学容量。 如果未完成此操作、则电量监测计将无法计算准确的容量值。

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

    尊敬的 Dominik:

    不、我没有。 这是我第一次看到这种报告(SLUA597)。 将通读它、看看我是否可以在我的案例中应用。

    将保持发布结果。

    感谢您的建议。

    Daniel

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

    阅读了 SLUA597之后、我发现很难遵循该报告、尤其是我可以做些什么来让监测计经历一个学习周期。 关于什么、什么、什么,什么,什么,有很多描述,但这些说明不够。 提到了很多控件和标志、但我对用户应设置哪些参数以及监测计设置哪些参数供我们观察感到困惑。 您是否有任何实用的编程指南(类似于快速入门指南 SLUUAH7中的流程图)、以便像我这样的初级用户可以放入固件程序来实现学习周期?

    最后、文章还提到了这一点:
    "要点是:在学习周期中记录数据 RAM 和数据闪存!
    在日志文件中查找上述建议、并相应地更正周期/配置。"

    如何记录这些数据?
    似乎我需要学习一些对该芯片进行编程的背景信息、并且两个文档中都没有此信息:技术参考(SLUUAC5C)和快速入门指南(SLUUAH7)。

    请给我一些更具体的指导。 我真的很感谢。
    谢谢、
    Daniel
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Daniel:

    快速选项是执行以下操作(完全配置的监测计连接到电池时)。 首先使用大约30% SOC 的电池:

    1.使用建议的充电电流和充电终止功能为电池充满电(请参阅电池的数据表)。
    2.让它闲置2小时(无负载电流)。
    3.用恒定电流对电池放电,直至达到终止电压。 将电流设置为 C/10 (电池电流=190mA)。
    4、让其怠速(无负载电流) 2小时。

    此时、监测计应已更新其阻抗表和化学容量。 您只需执行一次。 将 State 和 Ra 子类复制到缓冲器中、并在首次加电后使用这些值初始化每个监测计。

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

    非常感谢这个有用的建议! 不过,我对项目2仍有一个小问题。 和4.只是为了确保我正确理解您。 您的意思是"让它处于空闲状态(2小时内无负载电流)"。 当电池插入电路板时、如何使其成为"无负载电流"? 即使被保持在复位状态并且不运行、MCU 和其他电路(不受 MCU 控制)仍然会消耗一些功率(尽管很小)。 您能稍微澄清一下吗?

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

    Dominik、

    同样在第3项中、您是说我应该在插入电路板时对电池放电、对吧? 如果是、如何精确地控制负载电流为190mA? 我只能使用外部可调负载来控制负载、但不能在电路板上控制负载。

    也请澄清这一点。

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

    您必须设计您的系统、使其消耗的电流小于监测计中的 Quit Current 设置。 一旦电流在特定时间(DSG 或 CHG 放松时间)内降至 Quit 电流以下、监测计将考虑让电池放松、这是学习的一项要求。

    理想情况是空载(电流= 0)、但由于在许多系统中无法实现、因此您可以告诉监测计您的系统的睡眠电流是多少。 该电流越高、监测的精度就越低。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它不必恰好是190mA。 它必须是连续放电电流(高于静置电流)-您可以让系统保持运行(使用典型的负载电流)、如果这还不够、请添加一个电阻器以将电流流入190mA 的镇流器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Dominik:

    非常感谢对当前数字的澄清。 我想我可以做些什么来获得190mA 的镇流器值。 不过,我仍有以下问题:

    1.您提到了睡眠电流和 Quit 电流。 我必须设计我的系统以消耗小于 Quit 电流的电流。
    在技术参考手册中、默认睡眠电流为10mA、默认 Quit 电流为250 (单位= 0.1 HR 速率)。 单位(0.1 HR 速率)是否与 mA 不相同? 如果是这样,我应该为这个 RAM 位置设定什么值来使它与睡眠电流(10mA)一样?

    2.当电量监测计达到步骤4 (在您建议的学习周期中)时、电压已达到终端电压。 然后、它将再闲置2个小时。 我假设此时微控制器将会失效、因此从监测计中检索数据的过程几乎是不可能的。 那么、我如何执行"将状态和 Ra 子类复制到缓冲器中"、以便我们可以使用这些值对其他板中的每个监测计进行编程? 这些数据不是存储在 RAM 区域中、而是存储在闪存区域中吗? 当所有电源断电时、如何保留它们?

    3.有了你提出的学习计划,我会尝试发展这样的计划流程:
    将使微控制器关闭所有外设、然后进入低功耗模式(希望总体实现小于10mA 的电流)
    2小时后、将通过某种计时器唤醒微控制器、打开一些电源并使用一些可调电阻器负载(希望实现 apprx)。 190mA)
    -监控电压直至达到电视(在我的情况下为2.7V)、使用一些输入来触发微控制器再次进入较低模式
    -使其闲置2小时。

    除了"Copy the State and Ra subclass into a buffer"、其他都是可行的、不确定如何实现。


    谢谢、
    Daniel
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    退出电流的计算公式为:退出电流[0.1Hr]=设计容量[mAh]/(0.1 *退出电流[mA])
    2、只要电压不低于约2.5V、监测计就会保留数据。 因此、您可以为电池充电、重新启动 UC、并在 UC 再次开启后从电量监测计读取数据。
    4.看起来不错。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将尝试实施我从您那里学到的知识、看看会发生什么。

    再次感谢您的帮助。

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

    此问题是否已解决? 我看到 FullAvailableCapacity()始终是我写入 RAM 的设计容量的92-93%。 初始容量读数是如何计算的、前提是它们看起来不会镜像编程到 RAM 中的值?

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

    监测计从其基准点(OCV 测量)一直运行仿真、以终止电压以建立 FCC。

    FCC 是端接电压、温度、阻抗表、化学容量、负载、 负载模式 和其他参数。

    FCC 将与设计容量不同。 您必须根据 http://www.ti.com/lit/an/slua597/slua597.pdf 运行学习周期 (无需发送 IT Enable 命令、而是将 Update Status (更新状态)设置为3)、以便在 FCC (以及一般监测)准确之前更新化学容量和阻抗表。 如果您不运行此周期、监测计将在几个充电/放电周期内自动适应电池的行为、因此 FCC (和精度)将随着时间的推移而提高。