Motor Stopping and Starting in Velocity Mode


Hi All,

I have a motor (2 pole pair) and an encoder (600ppr) hooked up to the 24v odrive and it seems to be working, in that it will go through the calibration process and allow me to enable closed loop control.

However, once closed loop control is enabled the resolution is very poor. The angular resolution seems to be limited to 90 or so degree increments. It will jump between them, and then drift a bit and then jump again, although it handles the long distance part of moves fine.

In velocity mode (which is the one I care about) it does something similar where it appears to work fine at high speeds, but at low speeds will make a full rotation, then stop for a second or so and make another full rotation rather than rotating slowly at a constant speed.

I’m pretty new to this, so it’s quite likely I have missed a config option. Alternately, does that seem like reasonable behavior for the motor and encoder I’ve chosen?


All the best,
Many thanks,


It sounds like your controller gains have not been tuned yet. Take a look at under tuning parameters.


Sounds like high cogging torque. Make sure your gains are tuned and your motor current limit is set high enough. Once it runs reasonably well, you can try the anticogging algorithm too


Riewert, You are absolutely right, I completely missed that step. Going through the tuning process totally solved my positioning problems. I am still getting that start and stop behavior for rotation below 400 RPM though. Are there gains beyond the three in the tuning guide that I should be looking at?

Wetmelon, Interesting, if it is high cogging torque are there inherent lower limits on the motor performance? I’ve upped the current limit to 80A without much impact, but have not had much luck getting the anticogging algorithm to enable (at least not from odrivetool).

Many thanks for all your help.