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.

[参考译文] TMS320F280039C:在单个 MCU 上使用快速电流环路(FCL)和 SFRA 的双轴电机驱动器参考设计示例:

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1374388/tms320f280039c-dual-axis-motor-drive-using-fast-current-loop-fcl-and-sfra-on-a-single-mcu-reference-design-example

器件型号:TMS320F280039C
主题中讨论的其他器件:SFRAC2000WARE

工具与软件:

尊敬的 TI 专家:

尝试实现 BLDC 电机的位置控制。 所使用的通道数量  LAUNCH-XL-F280039C  在单个 MCU 上使用快速电流环路(FCL)和 SFRA 的双轴电机驱动的参考设计示例、其中包含位置环路  BUILD_LEVEL5。  该示例本质上是为构建的  LAUNCH-XL-F280049C  优点很多。

我们尝试精简代码以使用一个电机、并且我们已更改链接器 cmd 文件以适应 x39C。 我们将从闪存(XIP)运行代码。

现在我们位于 BUILD_LEVEL_5中。 我们编辑了  refPosGen()和 buildLevel5_M1()  结构  

  • 变量 motorVars[0].positionRef 接收用户输入。
  • 包含(输入值-实际值)的全局变量错误
  • p 电机->RC。 TargetValue 是返回变量、其十进制值作为 PID 环路的输入。

请注意、当我们尝试运行电机时  motorVars[0].ptrFCL->lsw = ENC_CALIBRATION_DONE、  提供输入值时、电机会以不同的方式响应。

  • 两个 IF 循环 单独运行时的总噪声。 可以正常工作、但当同一代码反复刷写(以检查可重复性)时、电机每次都以不同的速度运行。 此外、对于 (err > 0.05)、对变量进行循环   pMotor->speedLoopPrescaler = 200  的结果很好、但对于 (err > 0.05)循环变量   pMotor->speedLoopPrescaler = 130。  代码之间没有太大差异、所以为什么此变量需要不同的值?
  • 当运行两个循环时、每次重新刷写相同的代码时、两个循环都只起作用。
  • 当(err > 0.05)环路工作时、电机沿逆时针方向旋转、错误值大于0.05。 当给出其他值导致 err <-0.05时、电机仍继续沿相同方向旋转、但其旋转次数比经过压缩的旋转次数要少。 并且与其它环路一样(当重新闪烁时)、但电机方向为顺时针。

我们怀疑速度的差异是由于编译器优化所致、因此我们将编译器优化级别保持为0、但仍以相同的方式继续。  

对于此变速的任何见解以及该变速还有什么取决于。 还有其他任何影响方向的东西/地方吗?

谢谢、此致

Raghu

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

    尊敬的  Raghu:

    您使用 双轴电机驱动器使用快速电流环路(FCL)项目的有什么具体原因? 我认为、下面的 MCSDK 工程更适合使用。

    C:\ti\c2000\C2000 Ware_Motor SDK_5_02_00_00\solutions\universal_motorcontrol_lab\f28003x

    此致!

    Kevin

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

    尊敬的 Kevin:

    感谢您的答复。

    我们选择此项目是因为它在 BUILD_LEVEL5中有位置循环。

    我们还看到了该 universal_motorcontrol_lab、但我们认为使用快速电流环路(FCL)项目框架的双轴电机驱动非常适合我们的需求。  

    谢谢、此致

    Raghu