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.

[参考译文] MCF8316D:无法旋转

Guru**** 2773145 points

Other Parts Discussed in Thread: MCF8316D, MOTORSTUDIO

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1608762/mcf8316d-fails-to-spin-up

器件型号: MCF8316D
Thread 中讨论的其他器件: MOTORSTUDIO

我的 MCF8316D 出现问题。  

该器件会执行启动编程序列。 电机发出“块“声音、然后无法旋转。

栅极故障寄存器读数为 0x0

控制器故障寄存器读取 0x82000000(MPET IPD 故障)  

故障配置 2 寄存器:0xF55348F8

最小 VM 模式设置为 1(自动间隙)

最小 VM 电机为 0 (5V)

我让它读出了它可以读取的电机参数、它们都是 0(0 电机电阻、0 BEMF 常数、0 电机电感 — 我假设是由于 MPET 序列失败)

同样值得一提的是、我尝试了各种电流阈值、但找不到任何有效的阈值。

电机启动 1 寄存器:0xCB080390(启动方法 2,但两者都不起作用)

接线原理图: 910bcd83156d4f93233355c811dc01c0.png

电动机已插上电源、据我所知、所有 3 极的接线都完好无缺。  

编辑:我尝试禁用 MPET 序列并手动插入电机参数、但 1) 芯片不读回电机参数;2) 电机不旋转、因此回到方形。

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

    轻柔的碰撞。 有人知道这会是什么原因吗?

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

    您好、Stefan:

    我建议使用 MOTORSTUDIO 提供的 SmartTune 功能来自动调节和旋转电机。

    请验证演示视频

    介绍 SmartTune:自动调整电机参数|视频|德州仪器 TI.com

    我们需要在额定速度和负载下对适当的速度和最大电流进行编程。

    如果您在运行 SmartTune 时遇到任何问题、请参阅常见问题解答以获得指导。

    (1)【常见问题解答】MOTORSTUDIO:SmartTune 常见问题解答 — 电机驱动器论坛-电机驱动器 — TI E2E 支持论坛

     谢谢、此致

    Venkatadri S.

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

    Venkatadri、我没有那个特定模块 (EVM)。 我是否可以做任何事情来尽可能地使用电阻/电感/BEMF、然后跳过 MPET 过程?

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

    您好、Stefan:

    您能否为我提供电机 R 和 L 值相间或相位到 CT、极数、最大速度以及额定电流? 我将创建一个参考 JSON 并与您共享。

    我们需要从 MPET 获取的 KE 信息。

    当存在参数为零和速度命令时、MPET 首先启动以查找参数。

    我们需要配置适合电机的适当速度阈值和电流阈值。

    请分享详细信息。 我将创建一个参考 JSON 并将其与详细信息共享。  

    谢谢、此致

    Venkatadri S.

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

    Venkatadri,

    R = 5.6 Ω

    相间 L =未知、电机为 2204 样式。 比方说 85 µH(估计)

    极数:14p  

    最大速度:没有给出值、但这是一个低速应用、因此假设为 300rpm

    额定(持续)电流:1.3A

    我很高兴让 MPET 运行、但这只是给出了一个如上所述的一般错误。

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

    Venkatadri、我更改了 FAULT_CONFIG2 的配置、将 MIN_VM_MOTOR 设置为 0(无限制)。 除此之外、您指定的配置已加载到 MCF8316 中。 电机不会像以前那样旋转或发出“砰砰“声。 错误寄存器都是 0x0。

    接下来该怎么办?

    旁注:电流/扭矩模式是我的最终目标。 之后无需增加速度环路运行。  

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

    文卡塔德里,我首先想说感谢你的所有帮助,这无疑是一个令人沮丧和毫无结果的努力。

    但是、我想我们还没有实现。 如前所述、我没有 EVM、因此无法使用 MotorStudio、因此我已经加载了您的 json 并通过 I2C 发送了一个自定义设置。 我仅使用由我自己的软件编写的 I2C 命令复制了上面概述的过程。

    我能够禁用输入引脚并将速度设置为 0。 但是、当我看到上面的步骤“2"要点“要点时、测量电机电阻、我在控制器故障寄存器中看到了一个错误:0x82000000、即 MPET_IPD 故障。 当我清除并尝试测量任何参数(包括电阻,电感,反电动势和机械特性)时、电机会产生由其在很短的时间(例如 10ms)内强力扭矩引起的“螺纹“噪声、然后停止所有运动。  在 IPD 状态寄存器中、我看到 0x5000C、根据数据表、这是“IPD_FAULT"。“。  

    我的电机是一个无芯云台电机。 我做了一些研究、我在线阅读过 IPD 在无芯电机上的效果不是很好。 我已经使用不同的电机进行了测试、它可以“起作用“(但由于 BEMF 故障,仍然会卡在后期阶段)。 但是、这款电机的编程非常糟糕、因此我无法将其用于应用。

    是否可以完全禁用或绕过 IPD 或 mpet 过程?  

     图示:电机的背面、铝制螺栓穿过、磁体粘在螺栓上。

    e2e.ti.com/.../1000005885.mp4

    行为的视频;thump 发生在 6 秒。 看看电机的另一侧。

    准确电机的亚马逊商品信息的屏幕截图。

    此外:请注意、这似乎与此处的问题类似: e2e.ti.com/.../mcf8316aevm-driving-a-gimbal-motor---can-this-chip-do-it-how-to-get-it-working

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

    您好、Stefan:

    当凸极非常低时、IPD(初始位置检测)不是最佳的、因为电感变化很小。

    如果 R 和 L 参数已知、我们应直接对这些值进行编程、并在重试之前选择“Align"作为“作为启动方法。

    当以下任何参数为零时、MPET 将默认执行:R、L、KE、速度 Kp 或速度 Ki。

    因此、应首先填充 R 和 L 值、并且仅在 KE 值未知时执行 KE 测量。

    此外、如果电机电阻过高而无法达到设定电平、或存在开路绕组、则可能会出现 IPD 故障条件

    谢谢、此致

    Venkatadri S.

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

    Venkatadri,  

    您是否愿意提供为这些步骤设置的寄存器/位? 我以为我早就这样做了,但如果我做的不正确,这不会让我感到惊讶。

    此外、由于我们不需要速度控制、也许我们可以以某种方式覆盖速度环路控制、而只是仅设置电流控制?

    Stefan。  

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

    嘿、Venkatadri、

    我尽我所能使用这个 json。

    以下代码是设置循环。

    setAllParams();
    
      delay(100);
    
      bool speedModeSet = setSpeedMode(0x1);
      if (!speedModeSet)
      {
        Serial.println("Failed to write to Speed Mode register.");
      }
    
      clrFaults();
      readAlgoState();
      delay(1000);
      bool mpetFired = fireMPET(false, false, true, false, true);
      if (!mpetFired)
      {
        Serial.println("Failed to fire MPET.");
      }
      Serial.println("MPET fired for BEMF constant estimation.");
      readAlgoState();
    
      delay(5000); // wait 10 seconds for estimation to complete
      readAlgoState();
      gateDriverFaultStatus();
      controllerFaultStatus();
      clrFaults();

    总之、代码:
    -按照 JSON 描述设置寄存器

    -延迟 100 以实现 I2C 稳定

    -将速度模式设置为模拟 PWM 控制

    -通过设置清除故障位来清除故障

    -读取 ALGO 状态。 在此阶段、它为 0xE、“MOTOR_FAULT"</s>“

    -延迟 1000

    -在 BEMF 模式下触发 MPET 并设置以存储结果

    -此时 Algo 状态被再次读取。 此时它读取 0x10、即“MOTOR_MPET_MOTOR_STOP_WAIT"</s>“

    -它将 5000 延迟到理论上等待直到 MPET 完成

    -它再次读取 ALGO 状态。 此时、它读取 0x18、MPET_FAULT

    -读取其他故障寄存器。 控制器会报告 MPET_IPD_FAULT。


    在此过程中、电机将抖动一次。 它不会旋转。

    如果此时可能、可以在开环模式下运行。 理想情况下、我可以控制扭矩、但这就是我所关心的全部。

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

    您好、Stefan:

    当电机电阻过高而无法达到配置的电流阈值 (V/R) 或当任何 OUTA、B、C 输出引脚开路时、会发生 MPET IPD 故障。

    当 DRVOFF 引脚变为高电平时、OUTA、B、C 输出将被禁用、从而触发 IPD 故障条件。

    我们尝试另一项测试来验证电机功能。 正如您的建议、我们可以强制器件在开环中以慢旋转运行。

    这需要通过在 ALGO_DEBUG1 寄存器(地址 0xEC)中设置 CLOSED_LOOP_DIS = 1 来禁用闭环控制。

    然后电机将以最大速度的 20%在开环模式下持续运行(20%为开环到闭环切换速度阈值)

    我怀疑可能会发生系统复位、因为在对 R 和 L 参数进行编程后、器件不应恢复到 MPET IPD。

    有关任何复位条件、请监控 AVDD、DVDD 和 VM 电源电压。

    谢谢、此致

    Venkatadri S.

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

    嘿、Venkatadri。

    很抱歉、我没有在这么长的时间内回复。 我完全禁用了闭环、看到 DVDD 为 0v、我想这会导致出现复位条件。  

    这可能是什么原因造成的? 在原始的后车身提供了准确的电流接线图(我认为最大的区别是 RFBBK 现在是 0 欧姆)。  

    Stefan

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

    嘿、Venkatadri。

    很抱歉、我没有在这么长的时间内回复。 我完全禁用了闭环、看到 DVDD 为 0v、我想这会导致出现复位条件。  

    VM 为 5V、AVDD 为 5V、DVDD 为 0v

    这可能是什么原因造成的? 在原始的后车身提供了准确的电流接线图(我认为最大的区别是 RFBBK 现在是 0 欧姆)。  

    也要记住,它确实做了“ Thump “的事情。

    Stefan

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

    您好、Stefan:

    AVDD 不应为 5V;这可能表示器件的内部 AVDD 稳压器已损坏。

    如果您不使用降压稳压器功能、则 SW_BK 应保持开路状态。

    谢谢、

    Dhinesh