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.

[参考译文] TMS320F28069F:编码器计数不正确

Guru**** 2388290 points
Other Parts Discussed in Thread: MOTORWARE, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1187569/tms320f28069f-encoder-count-incorrect

器件型号:TMS320F28069F
主题中讨论的其他器件:MOTORWAREC2000WARE

TI 专家:我遇到了一个奇怪的问题。 当我在 motorware 例程中使用增量编码器时、行数为2500。 当转速超过约650rpm 时、QEP 的计数值不正确。 为了验证硬件电路、我提供了一个50k 脉冲信号来确定 MCU 引脚上的波形是否正确。 我将 QEP_Qsrc_Quad_Count_Mode 更改为 QEP_Qsrc_Dir_Count_Mode。 当脉冲频率大于约30k 时、计数值开始不正确(使用固定时间采样计数值改变衰减方向)。 原因是什么?

此致、

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

    加:最大设置为2500 * 4 - 1、计数采样时间为10ms。  而不会溢出

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

    您好!

    由于假期,专家不在办公室。 请在星期二之前回复。

    谢谢。

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

    好的、等待专家、谢谢!

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

    Quan、您好!

    您观察的是哪个变量或寄存器中的 QEP 计数值? 为了验证 硬件电路、您是否意味着您已将一个50kHz 脉冲序列连接到专用 eQEP 引脚并验证正交信号是否已发送到 DSP?

    顺便说一下、您是否参考了 MOTORWARE 开发技术文档中"InstaSPIN-FOC 和 InstaSPIN-MOTION 用户指南"的第18章?

    谢谢、

    嘉兴

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

    您好,嘉兴登:感谢您的回复!

    当编码器在正交模式下工作并被用于电机控制时、当它在寄存器观察窗口中大于650rpm 时、QPOSILAT 值会发生变化、这是不合适的、这是因为速度是稳定的并且 QPOSILAT 值应该保持不变。

    2.是的、我用50kHz 方波信号测试了硬件、波形正常。

    3、是的、我根据第18章进行设置、否则我无法使用1000线编码器通过例程控制1500rpm ACIM、这是正常的。

    我使用 F28335采用同样的方法、使用方波信号测试、它可以达到1.5MHz、测试结果正常。

    此致、

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

    添加:通过观察寄存器窗口、可以发现计数方向信号(QDF)在发生计数错误时发生变化。 无论是正交计数模式还是方向计数模式、当信号频率超过30k 时、QDF 都会发生变化。 但是、当使用方向计数模式时、方向信号被施加到 QEPB 上、它固定在高电平上。 我真的不知道是什么导致 QDF 发生了变化?

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

    添加:要进一步验证 F28069F 硬件电路、请设置 QDECCTL。 QSRC=10 (向上计数模式)、QEPA 输入方波信号、QEEPB /I 不输入信号、QDF 不会改变、但当输入信号超过30k 时、计数值仍然不正确、并且在10ms 内测量的计数差异开始减小。

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

    Quan、您好!

    遇到此问题时、您的硬件设置是什么样的? 您提到 F28335上没有相同的问题、如果您没有在交换器件之间更改配置、这将使我相信这主要是一个硬件问题。 F28335和 F28069内部具有相同的 eQEP 外设。 您是否有多个 F28069器件可进行测试以确保器件正常工作?

    此致、

    Peter

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

    您好、Peter:感谢您的回复。 软件设置遵循 InstaSPIN-FOC  和 InstaSPIN-MOTION 的第18章  

    用户指南、没问题。 为了验证软件和硬件、我再次进行了实验::

    1. 请勿使用 motorware 例程、使用 c2000ware 例程进行测试、并输入200kHz 方波、这是正常现象。
    2. 测试 motorware 例程中断程序的执行时间小于80us、我的中断周期为200us。 因此、没有中断溢出。
    3. 将 c2000ware 与 motorware 进行比较时、eQEP 相关寄存器的状态相同、QDECCTL=0x4000、QEPCTL=0x9018、QEPSTS=0x00A0、QDL=0x0040、  另一个设置为0。

      此致、

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

    地址:设置 QPOSMAX = 0x270F

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

    编码器是否具有索引信号? 信号连接到 EQEPI?  

    您使用的电机是什么极对?

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

    你好,罗:非常感谢你的回复! 我认为我可能找到了一个解决方案。 我直接使用 motorware 例程、无需任何修改。 我只需添加 QEP 模块并输入400kHz 方波进行测试。 这是正常的。 它表示这是由添加 SCI/CAN/I2C 或 CCS 设置引起的。 我正在尝试解决这个问题。 再次感谢您的提示! 祝中国春节快乐!

    此致、