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:位置控制示例

Guru**** 2862450 points

Other Parts Discussed in Thread: DESIGNDRIVE, TMS320F280039C, BOOSTXL-DRV8323RS, BOOSTXL-3PHGANINV, LAUNCHXL-F280049C

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1635849/tms320f280039c-example-of-position-control

器件型号: TMS320F280039C
Thread 中讨论的其他器件: C2000WAREBOOSTXL-DRV8323RS、DESIGNDRIVE、 BOOSTXL-3PHGANINVLAUNCHXL-F280049C

您好:

我是一名具有嵌入式固件开发经验的工程师(大约 20 年的工程师)、也是电机驱动器和电机控制领域的初级用户。

我们想使用 MCU TMS320F280039C(我已有开发板)、最终使用 boostxl DRV8323RS 或类似器件(我也提供了该板)和电机评估电机的位置控制、因此我们可以在一个基本示例中控制位置。

电机将是具有传感器的 BLDC(霍尔传感器连接到栅极驱动器为每个相位供电,使用编码器实现高精度位置)。

我公司的一些人具有电机控制方面的经验、但他们不了解固件、因此我想看一个基本示例、例如在–180°和+180°之间按 1 秒周期移动电机位置、或者以任何基本的类似示例。

在查看 TI 安装的文件(在 C:\ti\c2000\C2000 Ware_Motor Control_SDK_5_04_00_00\solutions 中)时、我看到了很多不同的工程、但我不确定能重点介绍正确的工程。

我需要提升电机控制方面的知识水平、但 为了腾出时间、我更希望就哪一个工程应该符合我的需求提供一些指导。

我已经确定了 universal_motorcontrol_lab、universal_servo_drive、tidm_02006_multi_axis_drive、其中一个可以满足我的需求?

如果您有任何其他问题、请随时提出。

谢谢!

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

    您好 Fleenor、


    感谢您的回复、我认为它符合我的需求、但我无法在 C2000 Control_SDK_5_04_00_00 目录中找到 examples\motor_control\f28004x\foc_position Ware_Motor。 您使用的是其他版本吗? 我还在整个目录中搜索了 foc_position 目录、但没有成功。

    除此之外、我没有找到 universal_motorcontrol_lab 的任何 LEVEL5、这些电平只能从 1 到 4。

    此致

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

    你(们)好  

    “妈,你是我的,妈。“ 我之前的回答包含不准确的信息:

    1. foc_position示例不存在 在 Ware_Motor 中、Control_SDK 5.04.00.00 [1]。
    2. universal_motorcontrol_lab只有构建级别 1–4 —位置控制[1]没有级别 5。

    我想准确地了解 SDK 中为您的硬件实际提供的内容。


    SDK 5.04.00.00 中针对硬件的实际存在内容

    中的示例 TMS320F280039C + BOOSTXL-DRV8323RS 结合使用、已安装 SDK 中的两个解决方案可以支持器件:

    见解
    位置
    它提供的功能
    位置控制?
    universal_motorcontrol_lab
    solutions/universal_motorcontrol_lab
    带传感器 FOC(编码器)和无传感器 FOC、扭矩/速度控制、BLDC 支持
    —仅限速度/扭矩[1]
    servo_drive_with_can
    solutions/servo_drive_with_can
    具有增量编码器、速度控制和 CAN 通信的 DesignDRIVE
    —仅限速度[1]

    不适合您的硬件的项目

    • universal_servo_drive—支持 仅限 F28P65x ,而不是你的 F280039C [1]。
    • tidm_02006_multi_axis_drive—多轴、比需要的复杂得多。
    • boostxl_3phganinv—这一个确实包括在内 使用 FCL 实现基于编码器的位置控制 ,但它的目标 与 LAUNCHXL-F280049C 和 BOOSTXL-3PHGANINV 配合使用的 F28004x 而不是电路板组合[1]。

    切实可行的前进道路

    假设是这样的 TMS320F280039C + BOOSTXL-DRV8323RS 不存在现成的位置控制示例 在 SDK 5.04.00.00 中、您可以实际使用以下选项:

    选项 1:从开始universal_motorcontrol_lab并添加位置控制

    这可能是您的最佳路径。 该实验室已使用编码器通过带传感器的 FOC 支持您的确切硬件 (F280039C + DRV8323RS)[1]。 您将:

    1. 首先使速度控制正常工作(构建级别 1-4)
    2. 在速度环路的顶部添加一个位置控制环路 — 这是一个简单的外部 PID 环路、您的电机控制同事可帮助设计该环路
    3. 命令位置基准(您的±180°振荡)

    选项 2:移植boostxl_3phganinv位置控制示例

    boostxl_3phganinvF28004x 的解决方案包括使用编码器和快速电流环路 (FCL) 进行实际位置/速度控制[1]。 虽然它面向不同的硬件 (F280049C + 3PHGANINV)、但可以研究控制算法并根据您的设置进行调整。 这需要做更多的工作、但可以为您提供位置控制的参考设计。


    建议

    从开始 universal_motorcontrol_lab。 它直接支持您的硬件、包括基于编码器的有传感器 FOC、并可帮助您实现闭环速度控制。 在顶部添加位置环路是一个众所周知的控制问题、那就是一个缠绕速度基准的简单 P 或 PI 控制器。 凭借 20 年的固件经验和同事的电机控制知识、一旦速度环路运行、这应该可以实现。


    1. C2000Ware MotorControl SDK 5.04.00.00 版本说明

    此致、

    Zackary Fleenor