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.

f28377d EQEP Encoder Read



Hello Folks,

I have a question related with Encoder speed measurement. I have a quadrature encoder in my system and I read the speed successfully. But there are only 60 teeth on motor side. Therefore I have little problem while reading low speeds and this problem affect my motor control at low speeds.

To read the low speeds successfully,  it possible to make register change in my control loop?  I want to set the QCAPCTL.UPPS register to 2 at start , and then change it to 4 when it goes over 120rpm. 

Is it Ok for the mcu? Any comment would be appreciated.

Thank You

Edit: Any comments from ti employee?

  • Seemingly a bad idea...

    NOTE:   

    The QCAPCTL[UPPS] prescaler should not be modified dynamically (such as switching the
    unit event prescaler from QCLK/4 to QCLK/8). Doing so may result in undefined behavior.
    The QCAPCTL[CPPS] prescaler can be modified dynamically (such as switching CAPCLK
    prescaling mode from SYSCLK/4 to SYSCLK/8) only after the capture unit is disabled.

  • Suleyman,

    The QCAPCTL.UPPS prescaler should not be modified dynamically (such as switching the unit event prescaler from QCLK/4 to QCLK/16). Doing so may result in undefined behavior. The QCAPCTL.CPPS prescaler can be modified dynamically (such as switching CAPCLK prescaling mode from SYSCLK/4 to SYSCLK/16) only after the capture unit is disabled.

    - Nirav