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.

[参考译文] MCF8316A:在闭环操作期间、I2C 通信在写入 ALGO_CTRL1或 ALGO_CTRL2寄存器后停止

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1340933/mcf8316a-i2c-communication-stops-after-writing-to-algo_ctrl1-or-algo_ctrl2-registers-during-closed-loop-operation

器件型号:MCF8316A
主题中讨论的其他器件:MCF8315A、MCF8316C-Q1

我使用由 Arduino 通过 I2C 接口控制的 MCF8316AEVM。 在我实现闭环旋转之后、我需要每10ms 甚至更频繁地动态改变电机转速。 我曾尝试使用 algo_CTRL1寄存器中的 DIGITAL_SPEED_CTRL、也尝试禁用速度环路并使用 algo_CTRL2寄存器中的 FORCE_VQ_CURRENT_LOOP_DIS。 借助这两种方法、我能够成功发送一些速度控制命令并实现所需的速度改变。 但是、尝试成功次数不超过10次(通常为2次或3次)后、我将无法再更改速度、此时无法与 MCF8316A 进行任何 I2C 通信、并且读取任何寄存器都会返回 FFFFFFFF。  

如果我不尝试改变电机转速、则可以在电机旋转时不受任何限制地读取任何寄存器。

我在这块板上看到了一些类似的查询。 在电机旋转时、MCF8316A 是否无法通过 I2C 接收常规转速更改命令? 或者我们遗漏了一些东西、并且我们的应用有某种权变措施-我们需要通过 I2C 进行常规速度控制(每10ms 或甚至更频繁地进行一次)? 或者、我们需要按照其他主题中的建议使用 MCF8315?

此致

尤金

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

    尊敬的 Eugene:

    遗憾的是、这是  勘误表8中所述的 MCF8316A 勘误表 、并且可以在电机运行(有源换向)期间由任何 I2C 读取/写入触发。 此固件问题已修复、较新的 MCF8316C-Q1上也未出现、但 MCF8315A 上也未出现此问题。

    此致、
    埃里克·C·

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

    谢谢 Eric。 很高兴知道我们可以使用较新版本。