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.

[参考译文] F28M35H52C:EQAP- T 方法速度峰值

Guru**** 2535750 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/885002/f28m35h52c-eqap--t-method-speed-peaks

器件型号:F28M35H52C

大家好、

我正在尝试通过 eQEP-T 方法实现速度测量。 不幸的是、我的信号中有一些无法消除的峰值。 我添加了"QEPSTS.bit.UPEVNT、QEPSTS.bit.COEF 和 QCPRDLAT"。 事实证明 、峰值仅在发生以下情况时发生:

低速,几乎为0。 Coef=1和 speed=0

-现在我将电机轴转动得太慢了,以至于寄存器仍然可以分载溢出

-现在我将转速稍微快一点

-在某个时刻、COEF 标志变为0、速度计算将为我获得峰值、因为 QCPRDLAT 寄存器中的值无效(很小的值、寄存器似乎有一个过流)

QCPRDLAT 中似乎有一个旧值缓存、或者 COEF 设置不正确。

有什么想法吗? 任何帮助都很好:D

此致、

最大

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

    尊敬的 Max:

    QEPSTS[CEDF]和[PCEF]错误标志如何? 您的案例中是否设置了这两个选项? 这可能意味着在位置捕获事件之间发生了方向变化。

    [引用 USER="Max Altrichter"]-在某个时候、COEF 标志变为0、速度计算将为我获得峰值、因为在 QCPRDLAT 寄存器中是一个无效值(很小的值、寄存器似乎有一个过流)

    锁存 QCPRDLAT 寄存器发生了什么事件? 单元超时或 eQEP 位置计数器(QPOSCNT)的读取?

    最棒的

    Kevin