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.
工具与软件:
团队成员、您好!
团队成员、您好!
定制的 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和我们的定制板上进行了相同的验证。 我们面临两个电路板上的问题。
这些问题并非每次都出现;它们仅在极少数情况下出现。
我们拥有具有霍尔反馈功能且规格相同的电机、但我们从未遇到过此类问题;问题仅出现在编码器电机中。
我们相信连接不会出现问题、因为这些问题很少出现。
我们怀疑此问题与编码器偏移校准有关。
是否可以通过任何方法来查找编码器电机偏移?
此致
C.Prabhakaran
"你是我的! 您可以使用 FAST 来验证编码器、您可以尝试使用 FAST 运行电机、以查看速度是否可以达到您所需的目标速度。 在实验中、每次上电时第一次运行电机时会自动校准编码器偏移、并在编码器配置函数中设置偏移值。 因此、您可能需要检查编码器线数是否设置正确以及连接线是否正确。
HelloYanmingLuo、
感谢您的答复。
"FAST 中、我们可以运行电机并确保 enc_M1
变量下的编码器反馈值与设定速度相匹配。"
这里可能有一个错误:我们启用了 MOTOR1_ENC
,这是好的,但 ENC_UVW
不正确。
根据您的注释、编码器偏移将在代码中自动处理、因此无需在 user_mtr.h 中的‘USER_MOTOR1_ENC_POS_OFFSET "下进行配置
非常感谢您的快速响应。
此致
C.Prabhakaran
但 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"]每次起动时机具对准?
您能详细解释一下在哪里添加它们吗?
[报价]您可以在每次启动时重置编码器配置。
HelloYanmingLuo、
感谢您的答复。
我不明白为什么要实施代码来避免无法控制的速度。 如上所述、您需要检查为什么速度不受控制? 您是否尝试运行无传感器 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]如果您重置代码或给电路板加电、是否仍然存在问题?