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.

[参考译文] TMS320F28031:EQEP 索引事件在非原点位置复位 QPOSCNT

Guru**** 2513185 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1562429/tms320f28031-eqep-index-event-resets-qposcnt-at-non-origin-position

器件型号:TMS320F28031


工具/软件:

您好:

我正在使用 F28031 上的 eQEP 模块、并对 QPOSCNT 在索引事件(Z 相)发生时的行为有疑问。

  • 根据 TRM、在每个索引事件中、位置计数器值都将锁存到 QACHAT 中、QPOSCNT 应是这两者中的任何一个 0 QPOSMAX

  • 如果锁存的值不等于 0 或 QPOSMAX、则 PCE 设置 QEPSTS[PCEF]和 QFLG[QFLG]。

我的关注是:

  1. 如果索引脉冲 (Z) 出现在非原点位置(例如,由于 Z 信号上的噪声)、QPOSCNT 是否仍将复位为 0?

    • 在测试中、我在示波器上看不到索引事件、但我怀疑噪声可能会触发错误的 Z 脉冲。

    • 这可能会导致 QPOSCNT 意外复位并移动源站。

  2. 如果发生这种情况、我们应该如何在软件中处理它?

    • 我们能否依靠 QEPSTS[PCEF]和 QFLG[QFEF] PCE 来检测和忽略此类无效索引事件?

    • 当出现错误索引时、保持 QPOSCNT 与正确的机械位置对齐的建议方式是什么?

其他详细信息:

  • 电机机械范围仅为 95° (它从不进行完整的 360°旋转)。

  • 当前配置:

    EQep1Regs.QEPCTL.bit.FREE_SOFT = 2;
    EQep1Regs.QEPCTL.bit.PCRM = 0; // QPOSCNT reset on index event
    EQep1Regs.QEPCTL.bit.UTE = 1; // Unit Timeout Enable
    EQep1Regs.QEPCTL.bit.QCLM = 1; // Latch on unit time out
    EQep1Regs.QPOSMAX = 0xFFFFFFFF;
    EQep1Regs.QEPCTL.bit.QPEN = 1; // QEP enable

由于电机不会达到完整旋转、因此 Z 相通常不应出现在工作范围内。
这就是我怀疑噪声正在产生使 QPOSCNT 复位的错误 Z 事件的原因。

Point right 在这种有限旋转应用中,要可靠地避免原点漂移的推荐方法是什么?

提前感谢您。

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

    尊敬的 E.T.:

    [引述 userid=“664782" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1562429/tms320f28031-eqep-index-event-resets-qposcnt-at-non-origin-position

    如果索引脉冲 (Z) 出现在非原点位置(例如,由于 Z 信号上的噪声)、QPOSCNT 是否仍将复位为 0?

    [/报价]

    是、如果噪声引起的索引脉冲出现在非原点位置、则当 PCRM = 0(在发生索引事件时位置计数器复位)时、QPOSCNT 仍将复位为 0。 这是因为 eQEP 硬件本身没有区分有效和噪声引起的指数脉冲。

    [引述 userid=“664782" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1562429/tms320f28031-eqep-index-event-resets-qposcnt-at-non-origin-position

    如果发生这种情况、我们应该如何在软件中处理它?

    [/报价]

    GPIO 输入限定:

    • 您可以对 Z 索引信号使用 GPIO 输入限定来滤除短噪声脉冲。是的、可以这样做。

    2、软件保护:

    [引述 userid=“664782" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1562429/tms320f28031-eqep-index-event-resets-qposcnt-at-non-origin-position
    • 我们能否依靠 QEPSTS[PCEF]和 QFLG[QFEF] PCE 来检测和忽略此类无效索引事件?

    [/报价]
    • 是的、监控 QEPSTS[PCEF]和 QFLG[QFEF] PCE 标志。如果位置计数器在意外位置复位、该标志将被设置

    3.使用 ECAP

    • 您还可以有 eCAP 来捕获索引脉冲、以确保不会发生随机边沿。

    此致、

    Ryan Ma