Choppy operation with D5065 motor

I’m using a D5065 motor with a 56V Odrive (v3.6), operating at a 24V bus voltage. My encoder is an AMT102-V.

I’ve been successful in getting things up and running more or less, but have some concerns about how the motor is sounding / vibrating. I just can’t get it to run super smoothly. So far all my testing has been without any load whatsoever. My max speed is 710000pps, and I’ve been using ramped velocity control mode with an acceleration of 140000.

Some of the parameters that I found to be important for getting things to run smoothly are the following:
Current_lim = 60, requested_current_range = 60, current_lim_tolerance = 1.4, vel_gain = 0.0005
Specifically, I found all of those parameters to be important to allow me to get up to my desired max speed. Other than that, I’ve got my vel_integrator_gain set to 0, and my pos_gain set to 20.

I’ve got a couple issues that may or may not be related. One is that at slow speeds (say 10000pps), the motor vibrates quite a bit. And secondly, at higher speeds it doesn’t really vibrate but it makes a kind of periodic clicking sound, almost like a spinning fan hitting something at a certain point in its path each time it spins around. It’s not a ‘shocking’ sound per se, but it’s definitely not the kind of smooth operation I’d expect from a BLDC motor.

I’ve tried further lowering the vel_gain parameter, but once I get down to like 0.0002 it won’t even move anymore at small commanded pps values, and at higher values even the slightest touch will cause it to stop moving.

I feel like maybe I’m missing something here. Can you think of any additional parameters that I may need to play around with to get smoother performance?


Reducing the vel_gain too much will prevent the motor from reaching its allowed current. Commanded current = vel_gain * vel_setpoint, so for “Small commanded pps values”, you’re going to get very small max allowable currents.

As for the ticking… are you sure there’s not a screw hitting the windings or something?