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.

[参考译文] BQ76952:示例校准代码示例

Guru**** 2587365 points
Other Parts Discussed in Thread: BQ76952EVM, BQ76952, BQ76942, BQSTUDIO, EV2400

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/981557/bq76952-sample-calibration-code-example

主题中讨论的其他器件:BQ76952EVMBQ76952BQ76942BQSTUDIOEV2400

您好、TI 专家、

我遇到了运行示例校准代码(在 python 中)的问题,如《程序员指南 BQ76952、BQ76942校准和 OTP 编程指南》中所述。 执行脚本后、我收到一条错误消息、表示没有安装'bqcomm'模块。 我已经在线搜索过它、但没有找到任何名为 bqcom 的模块。 如何在不使用此模块的情况下使此代码可执行? 此外、我在前面的问题中也感到困惑、我在提到的步骤中有些困惑。 为了能够按照指南步骤中所述在每个电池上施加2.5V 和4.2V 电压,我是否只需要在 BAT+和 BAT-端子上施加40V 和67.2V 电压? 因为 bq76952EVM 需要电源才能运行、所以它的工作原理是怎样的。 BAT +和 BAT -有一个直流电源、例如(12V)、然后从另一个电源为每节电池施加2.5V 电压、并且每次在我的代码中按 Enter 键时(在2.5V 时为16次、在4.2V 时为16次)? 然后它将打印出单元格增益和偏移。 我的想法是否正确? 以上所述内容均来自 BQ76942和 BQ76952编程人员指南末尾提供的示例代码。 一如既往、感谢您的帮助。  


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

    您好、Bilal、

    Python 代码仅作为示例序列提供、用于显示校准步骤和计算。 bqcomm 库不公开可用。  

    在本指南的第2节中、介绍了一些不同的校准选项。 代码示例涵盖了该列表中的选项4、即两点校准。 当您校准每个电池电压时、您需要为正在校准的特定电池提供精确的电压、因此仅使用 BAT+/-端子(使用电阻分压器)不会提供最准确的校准、因为电阻器精度将起作用。  

    此致、

    Matt

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

    您好、Matt、  

    因此、如果 bqcomm 库不是公开提供的、那么还可以使用哪些模块作为替代模块? 由于我不是 python 专家、我在运行指南中提到的代码时遇到了问题。 是的、我已经阅读了之前在该脚本中使用的第4个选项、因此出于我的好奇、 就像此代码所说的那样、每次在代码输出中应用2.5V 和4.2V 电压时、我输入的用户输入是否为16倍? 我的问题是  ,如用户指南 BQ76952评估模块中的主机连接概念图所示,我在 BAT+和 BAT-上施加了一些直流电压来为 EVM 供电。 现在、我应该每次施加2.5V 电压并在相应的电池端子上按 ENTER 键? 经过16次之后、它会计算我的增益和偏移、同时在 BAT +和 BAT-端子上具有直流电压? 在这种情况下、我需要两个电源、一个为 EVM 供电、另一个为每个电池施加精确电压。 但是、这种情况会怎样工作呢? 我是说、当我在电池端子上施加40V 电压时、由于分压器已经存在、我在 BQ 软件上读取2.5V 电压。 您能否解释一下我如何正确实施上述步骤4,因为我要执行每个电池单元校准,以及代码中缺少的模块,因为它不像您提到的那样公开可用。 请推荐另一个开源且与 python 脚本兼容的示例。 我对每个电池输入上的代码和电压实现有点困惑。 请澄清我的疑问。   

    此致、

    Bilal

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

    您好、Bilal、

    理想情况下、您可以同时为所有电池提供2.5V 电压(这就是我在本示例中所做的那样)、然后同时为所有电池提供4.2V 电压。 本指南中介绍了步骤和计算、Python 示例代码以这些步骤为例进行介绍。 实际生产解决方案的硬件和软件不会直接使用此示例代码-您需要为 BMS 找到最高效、最具成本效益的解决方案。  

    有一个 BQTools SDK 可能对您很有用-您需要联系当地的 TI 销售代表来获取该 SDK。 我不太熟悉 BQTools SDK、但许多用户使用它来帮助创建生产软件。  

    我没有开放源代码解决方案可供您运行此特定 Python 脚本。 正如我说过的、我提供了一个示例、说明如何完成本指南其他章节中提供的校准步骤。

    此致、

    Matt

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

    您好、Matt、  

    根据您在上面的陈述、我了解到您在 BAT +和-端子上施加了40V 电压、以便在每个电池上反映2.5V 电压。 如果我的想法是错误的、那么如何在连接电源的情况下同时为所有电池提供2.5V 电压并为 EVM 供电、我的意思是 batt +(电池16)将已用于为电路板供电。  
    关于 BQtools SDK,这在某种程度上可以替代 bqcom 模块,因为据我了解,它是一个在代码中检测 EVM2400并在 PC 和 bq76952 EVM 之间执行握手作业的模块。 我对吗? 那么、如果没有这两个模块、那么就不可能在代码中进行 evm2400检测、或者也有其他解决此类问题的解决方案? 此外,我看到您在代码中包含了“Pywinusb”模块,但没有使用其中的任何函数,我能不知道它的用途是什么?  

    此致、

    Bilal

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

    您好、Bilal、

    我们在内部有其他硬件-此代码未使用 EVM 运行。 您可以使用与 EVM 上的电阻分压器类似的电阻分压器进行校准-但校准的精度将仅与您的电阻分压器一样。 该器件无需校准即可实现良好的电池电压测量精度、因此您需要精确的电压来校准以进一步提高精度。

    您将无法直接运行此示例代码-它仅作为示例提供。 BQTools SDK 用于实现 PC 与 EV2400的通信(BQ76952 EVM 中包含 EV2400电路)。 它可用于创建具有 BQStudio 中许多功能的定制生产解决方案。 它不能直接与该 Python 示例配合使用。

    bqcomm Python 库与之类似-它允许用于通过 EV2400电路将 I2C 命令从 PC 发送到 IC。 您可以使用其他工具或微控制器连接到 I2C。 例如、BQ76952产品文件夹中有 MSP430代码示例、其中一个示例使用与 BQ76952软件开发指南(https://www.ti.com/lit/an/sluaa11a/sluaa11a.pdf)中包含的 Python 脚本相同的命令系列。  

    最终、BQStudio 提供了一种在校准工具窗口中对 EVM 进行校准的方法。 这是单点校准。 如果您想进行两点校准、则需要使用微控制器或其他工具来连接到 PC。  

    此致、

    Matt

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

    您好、Matt、  

    是的、我以前使用过微控制器来使用一些 I2C 基本读写命令、但从未将其用于校准目的。 似乎可以执行类似的校准过程、但可以使用微控制器/微处理器、如上所述。 那么、您是否想说没有 bqcomm 或 BQTools SDK、就无法进行 PC USB 至 EV2400通信、或者也可能存在其他解决方案?
    我担心在 PC 级别执行此操作、而不是像您建议的那样使用微控制器。 是的、我知道他们通常不需要校准、但我要使用 Keener 来测试主机类型的校准并在一段时间后比较精度。 此外、您没有告诉过您的代码中使用"Pywinusb"模块的情况、它的用途是什么?  
    现在回到您的示例代码,想象一下,我只想使用 EVM 上的分压器进行校准,而不是为每个电池应用2.5V 和4.5V 电压。 如果我在电池+和-端子上施加40V 和67.2V 电压(对于 bq76952、考虑使用16节电池、因此每个电池分别具有2.5V 和4.2V 电压)、这是否有意义? 然后代码将计算各个电芯的 ADC 计数,最终设置增益和电芯电压关断? 请更正我 、如果我认为错误、并建议我在示例代码中进行相应的更改。 我的主要目的是从指南中提供的示例脚本中获取一段代码。 最后,我已经尝试了 bqsoftware 的校准工具,但在这里,2点校准意味着两组差分电压对吗?  

    感谢您的持续指导

    此致、
    Bilal

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

    您好、Bilal、

    我没有其他可用于自动化的解决方案。 使用 BQStudio、您可以使用"Command Sequence"窗口来完成校准步骤。 可以实现一些自动化-例如、您可以执行一系列命令并将其保存到可重新加载的文件中。 在 BQ76952软件开发指南中、我有一些使用此窗口的示例。  

    我不知道"Pywinusb"模块在做什么-我不记得是否有需要添加的具体原因。  

    例如、是的、您可以在 BAT+和-端子上施加40V 和67.2V 电压。 这将为每个电池提供大约2.5V 和4.2V 的电压。  

    BQStudio 校准工具(1点校准)也应能很好地进行校准。 您可以先尝试此方法以查看精度。 EVM 用户指南中提供了使用该工具的说明。

    此致、

    Matt

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

    您好、Matt、

    因此,我已根据我的需要编辑了提供的示例代码,但我在读取电池电压计数(DataRAM_Read fn)时遇到问题。 我收到所有单元格的“NACK Received”错误消息。 此外、如果 我理解正确、我将 FET 状态读取为0x05、这对应于安全状态 B ()命令。 此外、器件是否需要处于密封模式或完全访问模式、以便能够像代码函数(DataRAM_Read 和 DataRAM_Write)中一样读取和写入 RAM 寄存器。 请仔细阅读我的代码并指出所使用的参数错误(可能)、我正在使用微处理器进行校准。 我可以用私人邮件向您发送文件吗? 感谢您的持续支持。  

    此致、
    Bilal

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

    您好、Bilal、

    当然、您可以以私人消息形式发送文件。 我现在向您发送了一个 E2E 连接请求。  

    如果器件是密封的、您将无法读取或写入 RAM 寄存器。  

    此致、

    Matt

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

    您好,Matt,我尝试给您发送一封邮件,但由于某种原因,我不能接收到任何连接请求,您能否再试一次,谢谢

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

    您好、Bilal、

    我向您发送了一封私人邮件。 如果您看到它、请告诉我。 E2E 网站右上角有一个消息对话框、如果您有新消息、该对话框应该会显示。

    谢谢、

    Matt