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.

[参考译文] CCS/TMDSHVMTRINSPIN:InstaSPIN-MOTION 实验13B:编码器2002错误代码?

Guru**** 2455360 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/862396/ccs-tmdshvmtrinspin-instaspin-motion-lab-13b-encoder-2002-error-code

器件型号:TMDSHVMTRINSPIN

工具/软件:Code Composer Studio

您好!

我有一个带有 Estun EMJ 04APB22 PMSM 电机的高电压电机控制套件、我一直在关注实验13C 之前的实验。 我的目标是让电机从一个角度位置移动到另一个位置。

电机的编码器通过 A/1、B/2、I/3引脚进行连接、看起来适用于实验13A。

我在实验13A 中将系统带宽调整为2.0 (Q-24)或32.0 (Q-20)、看起来电机在积极保持该位置、并且位置控制误差值保持为0、这意味着编码器应该工作。

在实验13B 中、它最初主动保持其位置、但当"gMotorVars.RunPositionProfile"设置为1 (真)时、它会加速至最大 RPM 并保持在该位置-我必须通过将"gMotorVars.Flag_Run_Identify"设置为0来禁用它。 因此,RunPositionProfile 设置为1之前的错误代码为0 --只有在激活 RunPositionProfile 之后,错误代码才会更改为2002。

在线网站上显示、2002错误代码表示电机计算的目标速度超出最大速度、但为什么它首先计算出如此高的目标速度?

我尝试跳过13B 并尝试使用实验13C、似乎运动序列工作正常、所以我有点困惑为什么2002错误代码只被抛出在13B 中。

提前非常感谢!

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

    请确保您已在 user.h 中正确设置了电机参数和惯性、如果您不知道、请先使用 lab02b 和 lab12a 来识别这些参数。 当然、您还需要遵循 instaSPIN 实验室指南正确连接电机和编码器的电线。 在您熟悉相关实验之前、请勿更改任何内容、并逐步按照实验指南运行实验。

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

    您好!

    我已在 user.h 中正确设置电机参数和惯性 我按照实验1至实验5、然后至实验12的实验指南来识别惯性以及电压和电流的相位角。

    在实验13C 中、设置了预先确定的"移动配置"、电机从一个位置移动到另一个位置非常好、编码器似乎在工作、并且 SpinTAC 控制器在从一个位置移动到另一个位置时抵消外部力(我的手)。

    我只是想知道、当"gMotorVars.RunPositionProfile"设置为1 (真)(在表达式窗口中)时、它不会停止并继续、但当"gMotorVars.SpinTAC.PosPlanRun"设置为"Start"时、它在该模式下工作正常、会导致什么问题?

    它是2种不同的运行模式吗? 一个提供2002编码器错误并保持旋转、而另一个按预期正常工作...

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

    如果您之前确保 lab12a 和 lab12b 正常工作、则应调整控制带宽或使位置系统配置计划中的速度、加速度和急动更慢。