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.

[参考译文] TMS320F2800157:编码器电机的最大速度不受控制

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1458781/tms320f2800157-uncontrolled-maximum-speed-at-encoder-motor

器件型号:TMS320F2800157
主题中讨论的其他器件:DRV8353

工具与软件:

团队成员、您好!

团队成员、您好!

定制的 PCB F2800157集成了 UMC 代码(最新 SDK_2.0.0)、并 使用48V (ABI 编码器)进行测试。

当尝试运行电机时,大部分时间它能够成功地达到预期的速度作为设定的速度。

在极少数情况下、电机以无法控制的最大速度运行。

我们在使用 DRV8353时、LaunchPAD-F2800157面临同样的问题(某些极少数情况下、电机会以无法控制的最大速度运行)

我们使用#BL2、BL#3、BL#4检查了定制 PCB 所有设置(编码器连接)和配置是否正确。

它清楚地显示了编码器偏移校准中的问题。

1)如何进行电机的编码器偏移校准。

2)是否需要在#BL2 & BL#3检查编码器偏移校准。

提前感谢。

此致

C.Prabhakaran

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

    请查看实验用户指南、确保编码器已正确连接到电路板。

    通用项目和实验用户指南: https://www.ti.com/lit/spruj26

    您可以使用 FAST 运行电机并使编码器使用 FAST 的角度和速度、从而验证编码器是否已正确连接和配置。

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

    感谢您的答复。


    是的、我在 DRV8353 + Launchpad F2800157和我们的定制板上进行了相同的验证。 我们面临两个电路板上的问题。


    这些问题并非每次都出现;它们仅在极少数情况下出现。


    我们拥有具有霍尔反馈功能且规格相同的电机、但我们从未遇到过此类问题;问题仅出现在编码器电机中。


    我们相信连接不会出现问题、因为这些问题很少出现。


    我们怀疑此问题与编码器偏移校准有关。


    是否可以通过任何方法来查找编码器电机偏移?

    #define USER_MOTOR1_ENC_POS_OFFSET     (50)
    这个偏移值在我看来不正确。
    您能为我们介绍如何找到编码器偏移吗?

    此致

    C.Prabhakaran

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

    "你是我的! 您可以使用 FAST 来验证编码器、您可以尝试使用 FAST 运行电机、以查看速度是否可以达到您所需的目标速度。 在实验中、每次上电时第一次运行电机时会自动校准编码器偏移、并在编码器配置函数中设置偏移值。 因此、您可能需要检查编码器线数是否设置正确以及连接线是否正确。

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

    HelloYanming

    感谢您的答复。

    "FAST 中、我们可以运行电机并确保 enc_M1 变量下的编码器反馈值与设定速度相匹配。"

    这里可能有一个错误:我们启用了 MOTOR1_ENC,这是好的,但 ENC_UVW 不正确。

    根据您的注释、编码器偏移将在代码中自动处理、因此无需在 user_mtr.h 中的‘USER_MOTOR1_ENC_POS_OFFSET "下进行配置

    非常感谢您的快速响应。

    此致

    C.Prabhakaran

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="621626" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1458781/tms320f2800157-uncontrolled-maximum-speed-at-encoder-motor/5602553 #5602553"]

    但 ENC_UVW 这是不正确的。

    [报价]

    此功能在示例实验中不可用、保留供将来更新使用。

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

    大家好@罗艳明

    感谢您的宝贵反馈。

    连接插槽和编码器插槽看起来正常、但我们仍然面临同样的问题。

    如前所述、基于霍尔反馈的电机具有相同的规格、并且不会遇到此类问题。

    不受控制的速度问题仅发生在编码器反馈电机中。

    如果我们多次尝试、仅在极少数情况下会遇到此问题(例如、如果我们运行电机50次、我们会遇到不受控制的速度问题一次)。

    此致

    C.Prabhakaran

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

    问题可能来自编码器输出信号上的噪声、如下所示、通过设置 GPIO 限定。

    // gpio43->EQEP1_INDEX!
    GPIO_setPinConfig (GPIO_43_EQEP1_INDEX);
    GPIO_setDirectionMode (43、GPIO_DIR_MODE_IN);
    GPIO_setPadConfig (43、GPIO_PIN_TYPE_STD);
    GPIO_setQualificationMode (43、GPIO_QUAL_6SAMPLE);
    GPIO_setQualificationPeriod (43、2);

    // GPIO44->EQEP1_A
    GPIO_setPinConfig (GPIO_44_EQEP1_A);
    GPIO_setDirectionMode (44、GPIO_DIR_MODE_IN);
    GPIO_setPadConfig (44、GPIO_PIN_TYPE_STD);
    GPIO_setQualificationMode (44、GPIO_QUAL_6SAMPLE);
    GPIO_setQualificationPeriod (44、2);

    // GPIO37->EQEP1_B
    GPIO_setPinConfig (GPIO_37_EQEP1_B);
    GPIO_setDirectionMode (37、GPIO_DIR_MODE_IN);
    GPIO_setPadConfig (37、GPIO_PIN_TYPE_STD);
    GPIO_setQualificationMode (37、GPIO_QUAL_6SAMPLE);
    GPIO_setQualificationPeriod (37、2);

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

    感谢您的答复、我再次道歉。

    根据您的建议、我们尝试了 GPIO_QUAL_3SAMPLE 以及 GPIO_QUAL_6SAMPLE、它们都   面临着相同的问题。

    附加了配置详细信息。

    ####################  hal.h ############################################

    #define MTR1_QEP_BASE EQEP1_BASE

    #define MTR1_HALL_U_GPIO 6.
    #define MTR1_HALL_V_GPIO 11.
    #define MTR1_HALL_W_GPIO 13.

    ###################### hal.c ##############################


    // gpio6->ENC_a
    GPIO_setPinConfig (GPIO_6_EQEP1_A);
    GPIO_setDirectionMode (6、GPIO_DIR_MODE_IN);
    GPIO_setPadConfig (6、GPIO_PIN_TYPE_STD);
    GPIO_setQualificationMode (6、GPIO_QUAL_6SAMPLE);
    GPIO_setQualificationPeriod (6、2);

    // gpio11->ENC_B
    GPIO_setPinConfig (GPIO_11_EQEP1_B);
    GPIO_setDirectionMode (11、GPIO_DIR_MODE_IN);
    GPIO_setPadConfig (11、GPIO_PIN_TYPE_STD);
    GPIO_setQualificationMode (11、GPIO_QUAL_6SAMPLE);
    GPIO_setQualificationPeriod (11、2);

    // gpio13->ENC_i
    GPIO_setPinConfig (GPIO_13_EQEP1_INDEX);
    GPIO_setDirectionMode (13、GPIO_DIR_MODE_IN);
    GPIO_setPadConfig (13、GPIO_PIN_TYPE_STD);
    GPIO_setQualificationMode (13、GPIO_QUAL_6SAMPLE);
    GPIO_setQualificationPeriod (13、2);

    当用户有高速需求或高油门需求时、会发生此问题。

    此外、我们在该电机中提供 ABZ+PWM 反馈、我们的竞争对手在低速启动时使用 PWM 作为反馈、并在高速切换到 ABZ。

    是否有办法在 UMC Lab 中实现相同的方法?

    此致

    C.Prabhakaran

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有办法在 UMC 实验室中实施同样的方法?

    UMC 实验室中没有仅对低速和高速使用 ABZ 的示例代码。 您必须设计代码才能使用此方法。

    您可能必须检查编码器在高速运行电机时是否存在任何错误信号。

    或者、您也可以尝试 ro 以无传感器 FAST 运行电机、以查看电机在此速度下是否能够正常运行。 和比较此测试条件下编码器和 FAST 估算器的角度。

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

    您好!

    感谢您的大力支持、

    您能否指定需要将编码器与快速估算器进行比较的角度变量?

    并且 不受控制的速度不会在电机运行时出现;仅在启动时发生。

    如果我们启动电机、它最初可能会达到不受控制的速度、但这种情况仅在极少数情况下发生、而不是每次发生。

    注意:仅当电机轴反向旋转一段时间(反向只旋转一半)然后向前移动时、才会在启动时出现不受控制的速度。

    如果电机转轴从头开始正向旋转、则不会出现问题。 反向旋转然后向前移动是导致不受控速度问题的原因

    谢谢你  

    此致  

    C.Prabhakaran

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否指定编码器需要与快速估算器进行比较的角度变量?

    和角度来运行。 最好使用 DAC 实时监控这些变量。 您可以设置触发器以使用示波器捕获问题。

    如果我们启动电机、它最初可能会达到不受控制的速度、但这种情况只在极少数情况下发生、不是每次都发生。

    如果可能、您可以尝试实现对齐并在每次启动时进行偏移校准。

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

    感谢您的答复。

    速度和角度。 最好使用 DAC 实时监控这些变量。 您可以设置触发器以通过示波器捕获问题[/QUOT]

    要通过 DAC 测量的速度和角度? TI DAC 板是否能够连接到我们的定制板?

    我们实现了以下部分代码、以避免不受控制的速度问题。 但是,它创造了初始急冲,这是巨大的。

    如果可能、您可以尝试实施对齐并在每次启动时执行偏移校准。

    每次起动时机具对准?  

    您能详细解释一下在哪里添加它们吗?

    已在代码中启用偏移重新校准。

    谢谢

    此致

    C.Prabhakaran

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们在下面部分代码中实施了、以避免不受控制的速度问题。 但是,它创造了初始急冲,这是巨大的。[/报价]

    我完全不明白为什么要实施代码来避免无法控制的速度。 如上所述、您需要检查为什么速度不受控制? 您是否尝试运行无传感器 FOC 来检查是否存在相同的问题?

    [报价 userid="621626" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1458781/tms320f2800157-uncontrolled-maximum-speed-at-encoder-motor/5629004 #5629004"]

    每次起动时机具对准?  

    您能详细解释一下在哪里添加它们吗?

    [报价]

    您可以在每次启动时重置编码器配置。

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

    HelloYanming

    感谢您的答复。

    我不明白为什么要实施代码来避免无法控制的速度。 如上所述、您需要检查为什么速度不受控制? 您是否尝试运行无传感器 FOC 来检查是否存在相同的问题?[/QUOT]

    此代码仅用于了解 问题是否重复并进行进一步分析。

    您可以在每次启动时重置编码器配置。

    在启用"运行识别标志"后开始时实现。 在不受控制的速度问题期间、正向存在速度需求、但电机轴稍微反向旋转并达到不受控制的速度。 (请参阅随附的视频。) 仅在不受控制的速度条件下。

    e2e.ti.com/.../uncontrolled_5F00_speed.mp4

    如果电机在正常条件下运行而没有出现问题、则速度需求是正向、并且电机轴也开始正向旋转(附有视频)。

    e2e.ti.com/.../NomalSpeed_5F00_withoutissues.mp4

    有时、速度需求是正向的、但电机开始反向跳动并达到不受控制的速度。

    e2e.ti.com/.../opposite_5F00_direction_5F00_bounce.mp4

    谢谢你

    此致

    C.Prabhakaran

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在启用"运行标识标志"后的开头实施。 在不受控制的速度问题期间、正向存在速度需求、但电机轴稍微反向旋转并达到不受控制的速度。 (请参阅随附的视频。) 仅在不受控制的速度条件下。

    如果您在电路板上电时第一次运行电机、是否存在同样的问题? 未控制的速度状态仅出现在偏移处是不正确还是其他情况?  

    编码器是否具有 A/B?Z 信号或仅具有 A/B 信号?

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

    感谢您的答复。

    如果您是第一次在电路板加电时运行电机、是否存在同样的问题? 未控制的速度状态仅出现在偏移处是不正确还是其他情况?  [报价]

    是的、问题仅在电机启动时发生。 如果我们每次执行电源复位并进行检查、我们只有在这段时间内才会遇到问题。 此外、这些问题很少发生、而且不会反复出现。 如果我们运行电机一段时间、执行下电上电、然后重试、则可能会出现不受控制的速度问题、但仅在极少数情况下如此。

    runIdentifyFlag使用默认set_speed值将设置为1后、会发生这些问题。

    编码器是否具有 A/B?Z 信号或仅具有 A/B 信号?

    它具有 ABZ+PWM 信号。

    谢谢你。

    此致

    CP.Prabhakaran

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

    可能必须对编码器的速度和角度测量代码进行一些修改。 问题可能是从编码器对转子进行初始位置检测。  

    您是否有示例实验中显示的任何其他编码器?

    如果我们每次执行电源重置并进行检查、我们只能在这段时间内遇到问题。 此外、这些问题很少发生、而且不会反复出现。 如果我们运行电机一段时间、执行下电上电、然后重试、则可能会出现不受控制的速度问题、但仅在极少数情况下才会出现。[/QUOT]

    如果您重置代码或给电路板加电、是否仍然存在问题?