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.

[参考译文] IPD、HFI 和 AFSEL 的实现

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1216345/implementation-of-ipd-hfi-and-afsel

器件型号:C2000WARE-MOTORCONTROL-SDK
您好!
我在  设计中使用的是 DRV8350FHRTVR 电机驱动器和 F280041CRSHS 微型器件。  我们目前正在 使用 InstaSPIN-FOC  控制无传感器 BLDC PM 电机。  我们在改进电机启动时遇到问题、我阅读了一些有关改进电机启动 的旧博客和 E2E、见下文。   对于如何顺利开始使用 IPD、HFI 和 AFSEL、有很多讨论:
我在实现这些功能和充分利用 TI 软件选项方面需要帮助。  是否有人可以帮助解决这个问题?
此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    目前、参考代码和库不能直接用于 F280041。 我们正在为包括 F28004x 在内的最新 C2000器件更新 IPD&HFI 库。 它是否准备就绪。 谢谢!

    BTW、如果您尝试自己设计 IPD&HFI 算法、请告知具体问题。

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

    代码和库何时准备就绪有时间线吗?  是否有可以共享或尝试的早期版本?

    是否没有适用于 F280041的任何工具可以提高我的从零开始起步阶段?

    我们已经实施了自己的 IPD、但在它运行之后仍然存在反向运动、因此它似乎没有很好地从 IPD 过渡到观测器。  您能提供从 IPD 过渡到 Instaspin 观测器的指导/帮助吗?  是否有步骤缺失或未正确关闭? 我们已经尝试关闭力角、但正如我们所认为的那样、当转子反向旋转几度时、力角仍然不起作用。

    是否可以将这些问题脱机并通过电子邮件进行讨论?

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

    抱歉。 我们很难尽早与您分享代码、而且我们也没有可靠的计划来发布代码。

    是否没有任何可用的 F280041可以从零开始提高我的起点?

    是否要以满载启动电机?

    我们已经实施了我们自己的 IPD,但在它运行后,仍然存在反向移动,因此它似乎没有很好地从 IPD 过渡到观测器。  您能提供从 IPD 过渡到 Instaspin 观测器的指导/帮助吗?

    您可以尝试将角度形式 IP 设置为估算器、以便开始使用 InstaSPIN-FOC。

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

    如何设置从 IPD 到估算器的角度以开始使用 InstaSPIN - FOC?

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

    您可以尝试使用以下代码:

          est_setAngle_rad (obj->estHandle、obj->angleFOC_rad);

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

    您能详细说明一下代码位于何处吗?  

    使用后是否需要注释掉任何内容?

    我认为此时可能不需要强制角?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能详细说明该代码应该位于何处吗?  [/报价]

    启用 FAST 估算器并尝试启动电机后、您可以在 ISR 或控制环路中添加代码。

    使用后是否需要注释掉任何内容?

    否。

    我认为此时可能不需要强制角吗?

    否。 强制角适用于低速、而不适用于转子对齐。

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

    是否应关闭强制角或强制角是否预计不会产生影响?

    当电机当前启动时(无 IPD)、强制角会影响启动质量。

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

    如果不对低速使用 HFI、最好启用力角。

    是、按照下面的 InstaSPIN 用户指南所述

    Rs 值不正确(尤其是高于实际 Rs 值的值)会导致启动状态不佳。 您可以参阅 InstaSPIN-FOC 和 InstaSPIN-MOTION 用户指南中的第14章"管理启动时的满负载、低速和速度反转"

    https://www.ti.com/lit/spruhj1

    1. 启动前启用定子 Rs 重校准
    2. 启用强制角
    3. 请确保已校准当前的 ADC 偏移。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在 UG 中看不到 HFI、我是否有访问权限了解如何实施它?

    UG 14.5.2.2满载和电机对齐条件下以最快速度启动电机示例:

    这对我来说似乎是最相关的部分。  Rs 重校准描述了重新对准过程中电机的物理运动。  如果我正在实现 IPD、那么我不应该进行 Rs 重校准?

    我的电机有一个单向轴承、用作支撑、因此电机仅沿一个方向物理旋转。

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

    可以。 用户指南中不包含 IPD 内容。 目前、IPD&HFI 仅支持具有显著凸极比的 IPM 电机、无法通过 F28004x 上的 InstaSPIN-FOC 实现。

    Rs 不是必需的。 您可以使用自己的 IPD 算法来检测初始转子位置。

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

    好的。  我们将回顾 从 IPD 到估算器的实现。  这里可能有问题。

    启用 FAST 估算器并尝试启动电机后、您可以在 ISR 或控制环路中添加代码。

    [/报价]

    您能否更详细地分享此内容-可能是 code composer 的屏幕截图、这样我们就可以了?

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

    Yanming 您可以中止哪个代码正在启用 FAST 估算器吗?

    启用 FAST 估算器并尝试启动电机后、您可以在 ISR 或控制环路中添加代码。

    [/报价]

    InstaSpin 已开启和启用后、我们目前正在运行 IPD。  我不确定这与启用 FAST 估算器时所做的事情是一样的。

    我住在休斯顿、靠近舒格兰。  是否有可能带来我的电路板/电机并通过集成帮助工作?  我认为这将有助于更高效地获得解决方案。   

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

    您使用的是哪个示例实验? 可在启用 FAST 估算器后添加代码、如下所示。  或者当您尝试启动电机以使用 FAST 估算器的角度时。

    //启用估算器
    est_enable (obj->estHandle);

    est_setAngle_rad (obj->estHandle、obj->angleFOC_rad);

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

    它应基于 Lab07并将确认。

    以下是启用估算器时的代码。  

    我是否应该从 Est_enable (estHandle)更新为 Est_enable (obj->estHandle)

    然后在第664行中插入 est_setAngle_rad (obj->estHandle、obj->angleFOC_rad)?

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

    好的。 你可以试试。

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

    好的、我们将尝试。   

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

    是否有可以根据即将完成的 IPD 工作分享的示例?   

    您能否简单介绍 一下我们应该如何实现 IPD 和与 Instaspin 进行集成?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有一个可以根据即将到来的 IPD 工作进行共享的示例?   [/报价]

    抱歉。 F28004x 没有 IPD&HFI 示例。

    您是否能够提供有关我们应该如何实施 IPD 并与 Instaspin 集成的详细信息?  [/报价]

    如上所述,我们正计划在这方面开展工作。 如果您只想使用 IPD 检测启动的初始位置而不产生反向旋转、则只需先执行 IPD、然后将检测初始角度设置为启动/运行 FAST。

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

    这似乎比我预期的在 IPD 和 FAST 开始之间实现转换所需的简单一些。   

    您是否知道这将根据您自己的 IPD 的实际实施工作?

    您是否具有在 IPD 之后以负载启动电机以及转换到 FAST 以了解其是否能够实现的相关经验?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否知道这将基于您自己的 IPD 的实际实施而起作用?
    您是否具备在 IPD 后以负载启动电机并转换到 FAST 以了解它是否能够使用的经验?

    IPD 仅用于可用于低速的初始位置检测。 HFI 方法用于 IPD 和低速。 您可以选择在低速和重负载下运行电机。 IPD 不够、最好避免反向旋转。

    如上所述、电流 IPD&HFI 仅适用于具有显著凸极比的 IPM 电机。 因此、我不确定这是否能够适用于您的电机。

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

    是的、IPD 仅用于位置检测。  您认为低速是什么?   
    HFI 与 IPD 结合使用以实现低速运行?

    [报价 userid=35051" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1216345/implementation-of-ipd-hfi-and-afsel/4608701 #4608701"]、如果您需要以低速和重负载运行电机。 IPD 不够,最好避免反转旋转。[/报价]

    这应该是一个完整的句子吗?  这里什么被视为低速和重负载?  低速是否为额定转速的10%、高负载是否为额定扭矩的90%?  我可以想象它会因系统而异、但是否有粗略的估算?

    我有一个 IPM 电机。  我如何确定凸极比是否显著?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,IPD 仅用于位置检测。  您认为低速是什么?   
    HFI 与 IPD 一起用于低速运行?

    可以。 对于低速应用、必须使用 HFI 或基于传感器的 FOC。

    [报价 userid="559352" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1216345/implementation-of-ipd-hfi-and-afsel/4608730 #4608730"]这是否应该是一句完整的句子?  这里什么被视为低速和重负载?  低速是否为额定转速的10%、高负载是否为额定扭矩的90%?  我可以想象它会因系统而异,但是否有粗略的估算?

    可以。 估算角度将不准确且稳定、这可能难以在更高负载下运行电机。 并非取决于电机和电流与电压采样电路的特定数据。

    我有一个 IPM 电机。  我如何确定是否有显著的凸极比率?

    您可以从制造商处获取电机参数(Ld 和 Lq)。  

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

    电感(线对线)只有一个值、因此它一定不会明显、正确吗?

    使用 IPD 时、估算角度 不会达到100%的精度、我明白了这一点。  
    它应该提供单向启动、对吗?
    根据精度、在 FAST 接管之前会发生扭矩损失。  如果 IPD 估算的精度为50%、那么在 FAST 开始之前、我是否可以预期最大扭矩的50%?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="559352" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1216345/implementation-of-ipd-hfi-and-afsel/4608807 #4608807"]电感只有一个值(线对线),因此它不能明显,正确吗?

    看起来是正确的。 您需要向电机的制造商确认这一点。  

    它应该提供单向开始,正确吗?

    就像我对你的答复一样。 IPD&HDI 仅适用于 IPM 电机。 如果电机是 SPM、并且 LD 等于或接近 LQ、则 IPD&HFI 不工作、并且无法检测到初始转子位置、以避免反向。 如上所述、您必须使用自己的 IPD 算法来检测初始转子角度并将角度设置为 FAST、以便启动和运行电机。

    根据精度,在 FAST 接管之前会出现扭矩损失。  如果 IPD 估算的精度为50%、那么在 FAST 接管之前、我需要最大扭矩的50%吗?

    我不能完全理解你的意思。 如果您不需要以极低的速度运行电机、而只是启动较高的电机、FAST 应该可以正常工作、如上所述。

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

    Yanming -现在我们正在运行 IPD、会生成角度、但 instaspin 不具有该角度。 电机以与 IPD 未运行相同的响应启动。  我们还能够在不集成到 instaspin 的情况下测试 IPD、因此存在 instapsin 不正确获取值的问题。

     
    我们正在使用 ISO7、您能否发送一张屏幕截图、说明我们应在代码中的什么位置插入 IPD?   
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可以尝试 在 mainISR()中按如下方式插入 IPD 代码。

    if (IPD_RUN_FLAG == true)
    {
    EST_setAngle_rad (estHandle、ANGLE_IPD_rad);

    if (IPD_DONE_FLAG == true)
    {
    IPD_run();

    IPD_RUN_FLAG = false;
    IPD_DONE_FLAG = false;

    //
    //运行估算器
    //
    EST_run (estHandle、&estInputData、&estOutputData);

    如果仍有任何其他问题、请发送代码给我。

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

    我们将更新代码以进行匹配。  我们的代码与您展示的代码并不远。

    分享我们的守则以供您查看的最佳方式是什么?

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

    您能否共享您的电子邮件以便我可以向您发送我拥有的代码?

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

    如上所述、您可以先尝试一下。 如果您对此仍有任何问题、可以发送电子邮件给我。 我可以发送一个链接到您、供您将代码上传到 TI 驱动器。

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

    这不起作用。

    当我们将 IPD 执行移到该点时、Instaspin 将在 IPD 完成之前进行接管。 我们能够在 ISR 开始时成功运行 IPD 并将角度设置在建议位置。

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

    您能提供一封电子邮件吗?我可以发送一个包含代码的.txt 文件吗?

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

    Yanming、您好、我的代码信息是否通过了?

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

    请向我发送您的电子邮件、然后我可以向您发送一个链接、以便与我共享您的项目代码。 谢谢!

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

    我已通过电子邮件向您发送了个人消息、请确认收到了电子邮件。   

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

    将会检查它。 控制流程看起来是正确的、但我不确定 IPD 的角度是否正确、因此您可以尝试使用对齐方法来验证这一点。

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

    是什么导致您认为角度不正确?
    如何使用对齐方法进行验证?

    我运行的初始测试- 我们用手移动了转子360度并运行 IPD 来验证这些值是否至少有意义。  然后我们从位置 A 重复移动到位置 B、并在每个位置测试 IPD。  这些值似乎是可重复的。

    现在、看起来估算器没有使用 IPD 值、而是稍微忽略了它并进行了正常的启动、因此在失位时来回摆动。

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

    您是否能够进一步审核该代码?

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

    是的、已经完成。 您可以将整个项目上传到我分享的链接中吗? 我可以直接在板上测试项目。

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

    您好、Yanming:

    您是否能够上传文件?   

    此致

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

    是的、我可以获取文件。 但还没有机会测试代码。 可能会在 几天后这样做。

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

    你认为在周三或周四之前可以做到吗?   

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

    了解一下您的项目。 如果"motor.ipd.flag"设置为"0"并将 IPD 模块的角度设置为 FAST 估算器、然后将 SPEED、ID 和 Iq 控制器的 UI 的值重置为零、以便使用 FAST 估算器运行/启动电机、控制流程看起来是正确的。

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

    如果控制流正确、您看到它不工作是有原因的吗?

    您是否能够直接在电路板上测试代码?

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

    只是检查代码以了解您使用的控制流。 很难在短时间内直接在套件上测试您的代码。 当您尝试启动电机时会发生什么情况? 是否有负载正在启动期间增加到电机上?

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

    IPD 将运行、但电机启动的行为与没有 IPD 的情况相同。  转子大部分时间向后摆动。  与 IPD 类似的中断将被忽略并恢复到默认启动。

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

    测试期间是否有负载? 是否可以使用片上 DAC 检查转子角度?

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

    此测试上无负载。

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

    已使用对齐模式来测试似乎正常工作的流程。 1.在 d 轴上注入电流,将角度设为"0.0"。 2.启动电机以启用力角。 你可以尝试一下、看看会发生什么情况。

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

    1 -注入电流是否为 IPD、正确?  
      -您设置为0.0的角度?
         我想这不是 IPD
         如果它不是 IPD 角度、则它是 Instaspin 启动时的默认起始角度?

    2 -正常

    您是否使用我的 IPD 代码在实际电机上测试过它?

    IPD 角度是否与0.0相加、然后应该是正确的起始角度?

1 2