Index search with load acting weird - with video example

After calibrating anti-cogging, and starting an Index Search after a reboot, the index search acts strange, it’s “springing” and throwing off the index search.

See video below.

You can see that without the load (reels) the index search is perfect and then with the reels it’s going all over the place.

Any recommendations on how to make this work with the reels on? This is going to happen when I start the machine.

Yeah, it’s skipping poles due to the high inertia of your reels. (with incremental encoders, before calibration or indexing, the motors are driven in an open-loop ‘microstepping’ mode, like stepper motors, so they can skip poles if the acceleration or resistance torque is too high)
I think reducing encoder.config.calib_scan_omega should reduce the speed of index search. If that fails, try increasing motor.config.calibration_current.

Thanks very much for the suggestions, I tried both it but it didn’t help :frowning:

I had some success by tweaking:

odrv0.axis0.config.calibration_lockin.vel
odrv0.axis0.config.calibration_lockin.accel
odrv0.axis0.config.calibration_lockin.ramp_distance

…but it’s still wonky.

Maybe for my application I need an absolute encoder since the machine could be started with film threaded on both reels and the index search would be thrown off?

I looked at the ODrive Encoder Guide and the CUI-AMT21 seems to be a good candidate? I will be using Arduino to control the machine.

Yes, I’d highly recommend absolute encoders in most applications tbh.

Do you have an encoder to suggest ? Preferably I would love to reuse the cables I got from the ODrive encoder kit and just plug and play.