Encoder index search finds multiple index positions

The encoder index search process doesn’t find the same index location each time. Each time I initiate an index search the motor will spin for a couple degrees and then claim that it found the encoder index regardless of its absolute position.

I assumed there was something wrong with the wiring, but I’ve been able to verify that the index line is working properly with an oscilloscope (5V spike at the index, 0V everywhere else). Has anyone else had this problem/know any possible causes for this behavior?

Thanks

Hello nikolaif399, I had noise issues with index pulse. Index pin looks OK with an oscilloscope without motor turning, but once it starts moving there was lot of noise. Did you check the signal while motor is doing the index search? Anyways, this post is a different encoder noise issue but was mitigated with a capacitor.

Hi naktamello,

Thanks for the suggestion, noise was my first instinct as well. I’ve tried observing the index line during index search (motor running) and a 1.5V trigger does not trip despite the index search returning that it found the index. I can try adding a small cap to the line, but I’m still confused why the search thinks it’s found the index if the voltage doesn’t trip the scope trigger.

This is another post that I remember was about encoder index issue, although this user’s index signal was abnormal on oscilloscope to begin with, in case this leads you to any clues. I hope you find an answer soon.

I recently stopped getting the index’s pulse on one of my drives. I haven’t figured it out yet…

Before this I had a lot of issues getting a good index and ended up having to ground my encoders directly back to the ground of the power input.

Hi Anthony,

Did attaching the encoder ground to power ground solve the issue?

It solved my original issue of false index finds…I haven’t yet solved why I’m not getting the pulse altogether now.

@ajlapp @nikolaif399 did you manage to solve this issue somehow?

I unfortunately have not revisited this hardware since the index pulse died.

Since I had so many issues with it originally
my guess is that it’s some grounding issue still.

Ultimately I’d like to convert to a different startup sequence…typically I’ve seen a setup where you command a hall state, record your encoder offset and then proceed.

Hey @nikolaif399 did you solve this problem? I have the same problem at the moment with one of my setups.

Hey @nikolaif399 - I am currently faced with the same problem - the index impulse is found correctly but the motor stops some steps away from it after doing calibration and closed loop - only with the set “pos_setpoint = 0” command the correct zero position can be reached -
Are there any findings in the meantime - ?

Sorry to revive an old topic, but I’ve been using an odrive for a different project altogether and I ran into the same exact issue as I did two years ago with the encoder index search finding multiple index pins. Armed with better oscilloscope debugging knowledge this time, I was able to verify that the encoder index wire had a ton of electrical noise on it that occasionally spiked high enough to trigger the index. I was able to solve this by soldering a 22 nF capacitor across the back of the ground and z pin connections on the odrive. I would also recommend minimizing the length of your encoder signal cables and using shielded cables if possible. Hope this helps!

3 Likes

Gah - this is driving me nuts - index search was working fine for days - then suddenly I started experiencing your issue.
Guess I’ll find some caps to throw on it.
Not entirely sure why the problem didn’t present itself until now, though.