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.

[参考译文] MCT8316AEVM:向 EEPROM 写入寄存器值后、器件不工作

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1122918/mct8316aevm-device-not-work-after-write-register-value-to-eeprom

器件型号:MCT8316AEVM
主题中讨论的其他器件: MCT8316A

你(们)好

首次向 EEPROM 写入寄存器值后、MCT8316AEVM 停止工作。

情况:

  • 电机不通过任何控制方法、PWM、模拟、I2C。 没有故障状态。
  • EEPROM 寄存器的值不能重写。
    重新启动并读取 EEPROM 后、可以看到重写之前的数据。
  • 写入 EEPROM 时无错误。 我收到了这条消息。
  • 我不知道它是否相关、但在打开电源后、警报和 nFAULT 会闪烁。
     连接 USB 时、这些 LED 将熄灭。 PMCT8316AEVM 中不会发生这种现象。


我将发送寄存器值(JSON 文件)、该值在器件上电后加载。

e2e.ti.com/.../regs.zip

问题:

  • 是否有办法解决这个问题?
  • 电路板刚刚到达。 如果有缺陷、是否可以更换?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    其他信息。
    我交替连接了 MCT8316AEVM 和 PMCT8316AEVM 的 MSP430和电机驱动器、如下图所示。

    因此、MCT836A 似乎无法正常工作。

    检查结果:

    MSP430 电机驱动器 电机旋转 EEPROM 重写
    PMCT8316AEVM PMCT8316AEVM 好的 好的
    PMCT8316AEVM MCT8316AEVM 不旋转 无法重写
    MCT8316AEVM PMCT8316AEVM 好的 好的
    MCT8316AEVM MCT8316AEVM 不旋转 无法重写
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Kenji、

    您是否手动编辑了寄存器 JSON 文件? 我注意到、在 JSON 文件中、algo CTRL1寄存器设置为0xCA500000。 而 algo RESERVED2和 algo RESERVED3具有非零值。 如果直接从 MCT8316A_GUI 配置并保存 JSON 文件 、则这些值都应为0。  

    当我尝试您发送的寄存器 JSON 时、我最终也遇到了同样的问题、即算法状态卡在 MOTOR_BRAKE 中、器件 EEPROM 无法重新写入。 由于 写入 EEPROM 的内部/保留寄存器中的某些配置、内部控制算法在加电时似乎卡在不良状态。

    遗憾的是、我还不知道如何在此状态下恢复 MCT8316A、或者是否可以恢复。 请给我几天的时间、我将与我们的设计团队一起对此进行调查、我会尽快回复您。

    我将在离线时与您联系、以获取 替换 EVM。

    但是、为了便于将来参考、我建议从 MCT8316A_GUI 中的指导调优部分中的默认寄存器设置开始

    然后、您可以在 All Tuning Setting (所有调谐设置)页面中更改设置。

    此致、
    Eric C.

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

    你好、 

    我将更详细地解释一下这种情况。

    由于电机未在首次启动时开启、我写入了"Default Fast Acceleration Robotic Vacums"的建议默认值。  我收到"EEPROM write_cmd successful"消息、因此我尝试按"Read from EEPROM"->"Read All Registers"按钮以确保写入正确。

    但我收到了该消息。

    在重新连接串行而不关闭 MCT8315AEVM 的电源后、当我按下"Read from EEPROM"->"Read All Registers"时、会读取默认值、因此我判断写入正确、但电机无法旋转、EEROM 不再可写入。



    如果您找到了解决方案、请告诉我。

    感谢你的帮助。

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

    您好、Kenji-San、

    我可能已经找到了导致您问题的原因。 请帮助确认以下内容:

    1. 为 MCT8316AEVM 加电并将其连接到 MCT8316A_GUI 、然后执行"读取所有寄存器"
    2. 检查算法状态是否卡在"MOTOR_BRAKE "中
    3. 检查是否将 BRAKE_INPUT 设置为硬件引脚制动器
    4. 检查 MCT8316AEVM 上的制动开关是否被推到右侧位置(运行)

    如果 上述情形为真、则根本原因可能是 DEVICE_CONFIG 寄存器内的 STL_ENABLE 位设置为1。 STL_ENABLE 位和将 BRAKE_INPUT 设置为"硬件引脚制动器"的组合会导致算法状态在加电后卡在 MOTOR_BRAKE 中、而与制动引脚电压无关。 MCT8316A 仅在算法状态为 MOTOR_IDLE 时允许 EEPROM 写入。

    只需执行以下步骤即可解决此问题并重置 EEPROM:

    1. 为 EVM 加电/将其连接到 GUI 并执行 "读取所有寄存器"。 您应该会看到算法状态卡在 "MOTOR_BRAKE "中
    2. 导航至 Guided Tuning (指导调优)部分并恢复默认寄存器设置:
    3. 转至 All Tuning Settings (所有调谐设置)页面并将 BRACK_INPUT 更改为"Override Hardware Pin with BRAKE Functionality disabled"(禁用制动功能时
    4. 执行"读取所有寄存器"。 您应该会看到算法状态现在为"motor_didle"
    5. 点击"Write to EEPROM"按钮
    6. 对 EVM 进行下电上电

    希望这能解决您的问题。 接下来、我建议避免完全设置 STL_ENABLE 位、并将所有保留位/寄存器和内部寄存器保持为0。 我们还将确保更新我们的文档以解决此问题。

    此致、
    Eric C.

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

    你好、 

    我尝试了5次、但不幸的是、我无法解决。

    连接电源线后、按照上述步骤操作、就像 EEPROM 成功重写一样。
    但是、当电源再次打开时、它会返回到其原始 EEPROM 值。

    在上述说明中是否还有其他步骤要做?

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

    您好、Kenji-San、

    啊、抱歉、   我在步骤中给了您一个稍微不正确的顺序。 恢复默认寄存 器设置会将 CAST_INPUT 设置为"Hardware Pin Brake (硬件引脚制动)"、并使算法状态返回"MOTOR_BRAKE (电机制动)"。 因此、 第1步需要在第3步之后移至。

    我已更正了我之前的帖子、因此请重试并告知我结果。

    此致、
    Eric C.

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

    你好 -San

    在您的帮助下、EEPROM 重写问题已得到解决!

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

    您好、Kenji-San、

    很高兴听到这个消息。 如果您有进一步的调整问题、请告诉我。

    此致、
    Eric C.