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.

[参考译文] TMS320F28034:QEP 计数器未按预期复位

Guru**** 2393725 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1115528/tms320f28034-qep-counter-did-not-reset-as-expected

器件型号:TMS320F28034

您好、专家、

我的客户使用 F28034通过 QEP 进行电机控制、他们发现了一个无法预料的问题。

当电机由于开始时的惯性以特定速度运行时、为 F28034加电、当与 QPOSMAX 匹配时、QEP QPOSCNT 计数器不会复位。

如 GUI 数据日志波形下方所示、 QPOSCNT 仅在达到0xFFFF 时增加并复位、而不在 QPOSMAX (即2500)上复位。

在客户代码中、他们 将首先将 QPOSMAX 初始化为0xFFFF、然后在大约0.125s 之后运行、将  QPOSMAX 再次初始化为实际值2500、然后进行电机控制。

下面是代码: 首先将 QPOSMAX 初始化为0xFFFF

   在大约0.125s 后运行 QPOSMAX 至2500。

客户有方法 可以解决此问题、例如 、他们将 QPOSMAX 初始化为像2这样的小值、则不会出现此问题。

但无法解释为什么一开始将 QPOSMAX 设置为0xFFFF 会出现问题、 您能解释一下吗?  

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

    你好、很强、

    您能为我澄清几个问题吗?

    您发送的波形中的时序是多少? QEP 计数器复位是否需要超过0.125s?

    2.在 QPOSMAX  设置为0xFFFF 然后再设置为2500的预期实现中、QEP 计数器是否会在2500开始复位? 还是仍然在0xFFFF 处复位。

    3.客户能否在程序执行期间检查 QPOSMAX 位并验证 QPOSMAX 值是什么。 更改 QPOSMAX 值的函数可能不会被调用。

    此致、

    Peter

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

    尊敬的 Peter:

    感谢您的回复、

    1.时序在将  QPOSMAX 设置 为2500之后、启动电机控制。

    2.   当 QPOSMAX 为2500时、它仍然在0xFFFF 处复位;

    3.是的,他们已经检查 了 QPOSMAX 是否被数据波形更改为2500。实际上,如果电机停止并打开设备电源,就不会出现这个问题,只有当电机由于 惯性而在开始时无法控制时运行,器件上电,才会出现这个问题。

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

    你好、很强、

    这当然是一种奇怪的行为。 让我有时间与团队中的其他人协商、看看他们以前是否看到过类似的东西。

    将 QPOSMAX 设置为0xFFFF 然后切换到2500的具体用途是什么? 是否无法从一开始就将 QPOSMAX 设置为2500?

    此致、

    Peter

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

    Peter、

    QPOSMAX 需要由 HMI 根据电机编码器类型进行更改、因此将切换到2500或其他值。

     

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

    你好、很强、

    感谢您提供这些信息。 您之前提到过、将 QPOSMAX 设置为较小的值、然后切换到2500可解决此问题。 这是一个合适的长期解决方案、还是在一开始要求0xFFFF? 到目前为止、我看不到为什么 eQEP 计数器在达到新的 QPOSMAX 值时不会复位。  

    客户是否正在使用任何类型的 GPIO 同步、他们能否验证进入 eQEP 外设的输入信号是否没有噪声?

    此致、

    Peter

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

    这是一个合适的长期解决方案、还是在一开始要求0xFFFF? 到目前为止、我看不到为什么 eQEP 计数器在达到新的 QPOSMAX 值时不会复位。  

    -->这可能是一种长期解决方案,但客户发现他们的产品已在市场上销售,因此他们需要我们向他们解释。  

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

    你好、很强、

    好的、看起来这不会对性能产生负面影响。 客户能否在 QPOSMAX 更新前后对位置计数器的确切值进行采样? 一位同事和我认为、如果更新 QPOSMAX 值时计数器的当前值高于2500、则需要在 eQEP 考虑新的最大值之前重置 eQEP 模块。

    此致、

    Peter

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

    尊敬的 Peter:

    由于无法使用仿真器重现此问题、因此很难保存计数器值、   当 QPOSMAX 值更新时、计数器的当前值应高于2500、因为此问题仅在电机开始运行时发生。  

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

    您好 Peter,

    一位同事和我认为、如果更新 QPOSMAX 值时计数器的当前值高于2500、则需要在 eQEP 考虑新的最大值之前重置 eQEP 模块。

    -->我们是否会在下一代 TRM 或勘误表中更新此注释?

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

    你好、很强、

    我必须查看我们的当前文档、以查看是否存在差距、如果 eQEP 文档中没有此说明、我将发送 TRM 更新请求。  

    此致、

    Peter