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.

[参考译文] C2000WARE-MOTORCONTROL-SDK:fcl_f28004x_tmdxiddk:此示例中的电流控制器饱和、无法完全加载电机

Guru**** 2411080 points
Other Parts Discussed in Thread: TMDXIDDK379D, C2000WARE, LAUNCHXL-F280049C, C2000WARE-MOTORCONTROL-SDK, DRV8300DIPW-EVM

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1532988/c2000ware-motorcontrol-sdk-fcl_f28004x_tmdxiddk-current-controllers-in-this-example-are-saturating-and-not-able-to-load-the-motor-completely

器件型号:C2000WARE-MOTORCONTROL-SDK
Thread 中讨论的其他器件:LAUNCHXL-F280049C、TMDXIDDK379D 、C2000WARE、 DRV8300DIPW-EVM

工具/软件:

您好团队:

我必须按照以下规格测试 PMSM 电机。

1\。 电压:28 +- 4 V
2. 持续电流:4.1 安培
3\。 连续扭矩:0.110 Nm
4\。 峰值扭矩:0.315 Nm
5\。 峰值电流:12A
5\。 空载 RPM:9300
6\。 峰值功率:<500 瓦
7\。 额定功率:80W
8\。 扭矩灵敏度:0.029Nm/Amp
9\。 电压常数:3V/krpm

我将  LAUNCHXL-F280049C 与 DRV8300DIPW-EVM 一同使用 来驱动此电机。 我正在使用  C2000WARE-MOTORCONTROL-SDK (3.03.00.00(2021 年 9 月 21 日)) 中以下路径的示例 FCL_f28004x_tmdxiddk: C:\ti\c2000\C2000 Ware_Motor Control_SDK_3_03_00_00\solutions\tmdxiddk379d\f28004x。

我修改了此代码以与 DRV8300DIPW-EVM 板保持一致。 附件是具有修改配置的.c 和.h 文件。

我能够在 BUILDLEVEL == FCL_LEVEL4 配置中以速度控制运行电机。 我还在对该电机进行负载测试、该电机能够承受高达 0.280Nm(峰值扭矩)的负载。

但我无法超过此扭矩值。 电机可以处理高达 0.315Nm 的峰值扭矩。 我看到的问题是 Iq (pi_iq.out) 的 PI 控制器在大约~0.280Nm 处饱和至 0.95、并且无法提供超过此值的任何更大扭矩。  

请帮助我解决此问题、以便我可以在 0.315Nm 的峰值扭矩下测试电机、并为 (pi_iq.out) 饱和留出足够的空间。

e2e.ti.com/.../fcl_5F00_f28004x_5F00_tmdxiddk_5F00_settings.he2e.ti.com/.../fcl_5F00_f28004x_5F00_tmdxiddk.c

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

    有人能在这里提供支持吗? 这是非常迫切需要解决的问题。  

    如果需要、我可以提供更多详细信息。

    谢谢!

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

    您好、

    我只是一个用户,因为你,但我会尝试帮助.

    我使用的电机控制 SDK 并不完全相同、因此在我这边、当电流控制器使其饱和时、因为它达到了最大输出电压。

    如果您使用的示例/套件允许、您可以尝试增加输入电压或/并尝试处理过调制。

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

    对延迟响应表示歉意。

    您尝试了 Manu36 的建议吗?  此外、您是否使用了 Teknic 电机? 这是 在设置文件中设置的内容、但您的帖子似乎会说其他内容。

    在任何速率下、如果电机饱和、并且电流环路检测在“Expressions"窗口“窗口中看起来准确、那么我同意此处的用户 Manu36、除了电机参数可能不正确之外。

    此致、
    Jason Osborn

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

    您好 Jason、

    你好。

    我代表阿尔法作答复。 截至撰写本文时、他无法访问 E2E 论坛。

    感谢@Manu 我已经尝试将电压增加到 30V、扭矩略有增加。
    但需要在 28V 的标称电压下实现峰值扭矩。

    @Jason:示例代码不支持过调制。
    我已在#elif (USER_MOTOR == TEKNIC_2310PLN04K) 条件下设置了电机参数。
    如下图所示:

    行为如下:
    在大约 2000rpm(空载)时、Vq 输出约为 0.2、而在 5000rpm 时、Vq 约为 0.45-0.5。

    我以 2000rpm 的转速进行负载测试。
    1) 负载值 280mNm 的到达时间小于 0.5s。(尽管速度开始下降)
    2) 当载荷值大于 170mNm(1 秒)时,速度开始下降, VQ 已饱和至 0.95(由 Umax 设定)。


    我也有以下问题:

    1) 代码中 base_shunt_current 的值是多少? 我应该设置电机的最大电流还是逆变器板测得的最大电流?
    2) LEM_TO_SHUNT 值应该是多少(我正在使用分流测量)?  我看到了这个
      FCL_params.adcScale = ADC_PU_PPB_SCALE_FACTOR * LEM_TO_SHUNT;在代码中、那么应如何设置它?
    3) 什么应该设置 Bemkf 值? 我现在已将其设置为 FCL_params.BemfK = 0.02868;基于电机 Ke 额定值和转换为 V/rad/s (我看到论坛中的一些帖子将其默认设置为 0.8f)
    4) 我看到 Bandwitdh 设置为#define CUR_LOOP_Bandwidth  (2.0F * PI * SAMPLING_FREQ /18 )
    系数 18 为默认值。 我的理解是、如果我减小因子、则获得更快的电流控制、如果增大该因子、则电流控制会缓慢。 这是正确的吗?
    5) 关于如何调整此代码的速度控制器没有太多的信息? 如何调整速度控制器以获得更好的性能?

    此致、

    公务员制度委员会

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

    让我进一步研究 IDDK 代码、以确保我正确地回答这些问题、与大多数 MCSDK 相比、我对该代码不太熟悉。

    此致、
    Jason Osborn

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

    对延迟响应表示歉意。 期待尽快作出响应。

    此致、
    Jason Osborn

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

    尝试增大输入直流母线电压以查看发生了什么情况。