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.

[参考译文] TMS320F2.8069万M:在运行lab12b时,编码器反馈角为n't

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/665890/tms320f28069m-encoder-feedback-angle-isn-t-right-when-running-lab12b

部件号:TMS320F2.8069万M

您好,Champs:

我的客户运行motion lab12b,发现电机在应用dyno时来回旋转。 客户发现当他们注释 角度PU =电子角度时; //在ctrlQep.h中更新传感器的电气角度 他们使用 EST_getAngle_PU()来获得角度和 电机平稳旋转。 这意味着估算器角度是正确的,编码器角度是错误的,

在追溯代码后, ENC_GETELEAngle (encHandle)输出 ELECicalAngle。 和ENC_calcElectAngle()计算的电子角度。  请告诉我,我应该修改哪个变量才能根据编码器反馈获得正确的eletricalAngle基体? 我检查 了ENC_calcElectAngle(),有一个enc_zero_offset变量。该偏移是从 ENC_setZeroOffset()获得的,它位于下面的代码中。 是否意味着用户必须 重新计算R才能获得编码器偏移?  

//如果要强制对齐,请使用Rs重新计算,将eQEP角度与转子角度对齐
IF ((EST_getState(obj->estHandle)== EST_State_Rs)&&(user_motor_type == motor_Type_pm))
{
	ENC_setZerOffset(encgetHandle,(U32_t)(AAL)最大正负数手柄

有一件奇怪的事情是,客户增加 user_motor_RES_EST_current并解决此问题。 但客户不知道为什么此变量会影响结果。 我也不知道。 谁能帮忙检查? 谢谢!  

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

    如果电机是PMSM,您可以参考lab12a,它通过重新校准电机的Rs值来设置编码器的校准角度。 请确保编码器连接正确,并且在ENC_setup()和user.h中也正确设置了行数。
    您将通过在表达式窗口中添加enc.enc_zero_offset来查看“enc”对象结构中编码器的正确角度偏移,然后在ENC_setup()中设置校准偏移。
    实际上,在所有运动实验室项目中,Rs重新计算在默认情况下都是启用的。 请增加user.h中的USER_MOTOR_RES_EST_CURRENT,以确保转子可以对齐,从而通过将转子旋转到零角度来正确获得编码器偏移。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Yanming,
    感谢您的反馈。 如果客户首先连接了测位仪,则开始执行编码器角度校准。 这样可以吗? 因为转子轴不会移动,QEP假定不会输出任何信号。 我还能得到QEP偏移吗? 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最好在无负载或轻负载的情况下运行校准,以确保转子可以移动到零位置。 如果不正确,则无法获得正确的偏移。 您只需对电机执行一次校准,然后在项目中设置偏移值以供下次运行。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Yanming,
    感谢您的反馈。 现在,客户在其系统上测试了电动制动器。 在电机对齐之前,它们会添加制动器。 现在他们面临的问题是电机转子不能与D轴对齐。 因此,他们无法获得正确的QEP偏移。 是否有任何其他方法可以在不对齐的情况下获得正确的QEP偏移? 谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    他们必须在控制器每次通电时执行偏移校准,如果QEP和控制器始终通电,则无需每次运行时执行此校准。 或者,它们需要附加信号来了解初始转子位置,如带A/B/I和U/V/W的编码器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yanming 说:
    您只需对电机执行一次校准,然后在项目中设置偏移值以便下次运行。[/QUOT]

    [Lisa]:您能告诉我为什么只做一次校准吗? 因为电机轴在每个电机中应处于不同的角度。 每个电机的QEP偏移量应不同。谢谢。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果编码器和控制器的电源始终打开,则对每次通电的编码器的电机执行一次偏移校准。 否则,如果之前断电,则必须在开机时再次执行此操作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Yanming,
    谢谢。 客户有另一个问题。 我们可以使用EST_getAngle_PU从FAST获取角度信息。 但是,客户希望将快速角度信息转换为编码器角度读数。 我知道ENC_calcElectAngle是基于QEP-> QPOSCNT。 但是,我不知道如何将快速角度PU转换为QPOSCNT……请告诉我如何将快速角度PU转换为编码器角度? 谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    可以使用快速估算器的角度更改QPOSCNT,但使用此方法进行偏移校准不是正确的方法。 快速估算器的角度(ANGLE_EST)是从_IQ (0.0)到_IQ (1.0)的绝对角度,因此,如果编码器的偏移为0且全局IQ的值为24,则编码器(QPOSCNT)的输出值为ANGLE_est*4*Encoder_line/(2^24)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Yanming,

    感谢您的回复,现在客户希望在初始状态下使用无传感器解决方案,并在电机启动后切换到有传感器的解决方案。 我们要使用 ENC_calcElectAngle的快速减影,然后可以获得编码器偏移。 不确定这是否有效。 如果您有任何问题,请告诉我! 谢谢。  

    Yanming 说:
    快速估算器的角度(angle_est)是从_IQ (0.0)到_IQ (1.0)的绝对角度,因此,如果编码器的偏移为0且全局IQ的值为24,则编码器(QPOSCNT)的输出值为angle_est*4*encoder_line/(2^24)。

     

    [Lisa]:“4”是指4极对吗? 谢谢  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这假设极对是一个,完整的方程应为Counter = angle_est*4*encoder_line/(2^24)/Pole_pairs。