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.

[参考译文] TMS320F28035:在 PMSM 上使用 CLA (控制律加速器)实现级联控制器(位置、速度和扭矩)

Guru**** 2538955 points
Other Parts Discussed in Thread: TMS320F28035

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/608637/tms320f28035-cascade-controller-position-speed-and-torque-implementetion-using-cla-control-law-accelerator-on-pmsm

器件型号:TMS320F28035

您好!

我想使用针对 PMSM 的 CLA (控制律加速器)来实现级联控制器(位置、速度和扭矩)。 我将使用增量编码器进行位置和速度反馈。 如您所知 、TMS320F28035的 CLA 无法访问 eQEP 接口。 因此,我必须找到一种方法来在 CLA 和 CPU 之间进行通信,并同步位置、速度读取(此部分由 CPU 完成,然后 CPU 写入消息 RAM 位置和速度数据)以及位置和速度控制器循环(此部分由 CLA 完成) 。 我可以 使用消息 RAM 解决 CLA 和 CPU 之间的通信问题。  但我找不到同步方式 的问题。 显然,表达方式如下 。

ı μ s 将 TMS320F28035的 CPU 用于级联控制器、该控制器的步骤如下。

1) 1)读取位置、速度和电流。

2) 2) 按顺序操作位置、速度和电流控制器。

3) 3)调制电流 PI 输出的输出。

如果我想 按照上述顺序使用 CLA (控制律加速器)实现级联控制器(位置、速度和扭矩)、我该怎么做? 你喜欢什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    完成 CLA 任务后、您可以启用 CLA 中断。

    如果您希望在 CLA 上执行控制环路的计算、则可以执行此操作、然后将所需的信息写入消息 RAM。 CLA 任务在 C28x 中断中完成后、C28x 将被触发、C28x 可以根据需要使用来自 CLA 的信息执行任何操作、并写入 eQEP 寄存器。

    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通常、您的三个级联控制器将以不同的速率运行:电流环路运行速度最快(例如、10kHz)、然后速度和位置环路因子为10或10或10以上(例如、1kHz 速度、100Hz 位置)。

    在电机控制应用中、我将设置电流环路、使 ADC 由 PWM 触发、运行电流环路的 CLA 任务由 ADC 转换结束触发。 C28x CPU 不需要参与其中。

    您在速度和位置环路中都使用 QEP、因此在 F28035上、两个环路都必须与 C28x CPU 交互。 您可以将 CPU 计时器设置为以1kHz 的频率运行、并在此频率下触发 C28x 端 ISR。 ISR 将读取 QEP 以获取位置以及计算或读取轴速。 您可以更新共享 RAM 中的速度变量、以便 CLA 任务读取、然后触发 CLA 任务以运行速度控制器。 如果您通过减去两个 QEP 读数来计算速度、请在 C28x 端执行该操作、因为处理定点数据更好。

    ISR 可以保持一个/10计数器来更新位置变量、并在100Hz 频率下为外部环路触发一个单独的 CLA 任务、 但是、位置和速度控制器将非常简单(PI 或 PID)、因此在100Hz 频率下进行位置反馈更新时、以速度环路速率运行它们可能更容易。

    这是一种实现方法。 希望这对您有所帮助。

    此致、

    Richard