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.

DRV5032: Stalling and sluggishness on rotary encoder, low power setup

Part Number: DRV5032
Other Parts Discussed in Thread: DRV5012

Gentlemen,


I am building a portable rotary encoder that functions as a user interface. For that I have put on 2 DRV5032FD (sample at 20Hz). I use them to wake up my uC through interrupts.

Simulation of my magnet ring in the given mechanical design:

The physical dimensions and outlay of the magnet ring:

The setup with 2 Halls sensors and the magnet ring:

Wiring of the hall sensors, P16 used for power.:

I have 2 issues in my design:

 

  1. On faster turns of the magnet (180 degrees rotation in about 300ms), the encoders generate very unstable interrupts in my uC. Usually it just stalls at HIGH. When the fast rotation stops it finally gives a “correct measurement” of the final magnet placement.
  2. The setup seems to generate more unstable signals after a period of time – when we build a fresh prototype it runs smooth, but after 30minutes it deteriorates to more unreliable signal.

 

My own considerations:

Sample frequency may be a bit low for my application (4 full amplitudes in 0.3 sec is 26Hz) – however this does not explain the stalling – as I understand it a lower sample rate would still give me both high and low and not just stall on high

Can hall sensors get saturated? It looks like they somehow ‘saturate’ at higher speeds and over time – like the sensors become sluggish.

 

 

 

 

 

                                             

  • Mathias,

    There is some B-field averaging that occurs when the DRV5032 wakes up every 50 ms.  On a fast rotation, it's possible that the device sees positive and negative B-fields which are averaged to less than BOP, causing the output to be high.  That's one theory.

    Are you aware of the DRV5012?  Its 2.5 kHz mode would of course be fast enough.

    Best regards,
    RE

  • Dear Mastermind,

    Thank you for your answer. Do you have an idea on how to test this theory? As i understand the sensor it sleeps for 50ms and then samples in like 20us. If this is the case it would be weird if it managed to see both positive and negative poll.

    BR

    Mathias
  • Hello Mathias,

    The "stalling" behavior is most likely an aliasing issue. Basically, to the DRV, the 26Hz input signal looks like a signal with frequency lower than the part's Nyquist rate (i.e. fsample/2), which according to the datasheet is in the range 6.65Hz < fsample/2 < 18.5Hz. So even at max fsample/2, a 26Hz signal aliases to only about 11 Hz and the DRV behaves accordingly. Using a part with a higher sampling rate (such as the DRV5012) should fix this issue.

    Not sure about the saturation over time, however. If it is an independent issue then it will most likely show up on the DRV5012 as well.

    Best Regards,
    Harsha

  • Dear Harsha and 'mastermind'

    I have 2 good leads to look at now. I will post the answer here when found. Marked as resolved.