Motor wobbles / jumps instead of smooth rotation

Hi,

this is my first post as well as it is my first interaction with ODrive and the development of an application with electric motors. Please be patient with me :slight_smile:

First of all my setup:

  • Powersupply set to 22.9 V

  • Odrive Pro

  • Motor: 57BLF03, 24VDC, 3000RPM (https://www.act-motor.com/uploads/57BLF03.pdf)

  • Web Gui Settings:
    Motor-Settings:

    • Type: High Current
    • Pole Pairs: 4
    • KV: 125
    • Current Limit: 10
    • Motor Calib Current: 10 (same issue with less Amps)
    • Motor Calib Voltage: 8
    • Lock-in spin current
    • Usage of thermistor disabled

    Control Mode:

    • Ramped Velocity Control
    • Ramp Limit: 10
    • Soft Velocity Limit: 10
    • Hard Velocity Limit: 50
    • Torque Limit 0.5Nm
  • Hall Sensors connected to Odrive

When walking through the setup process the calibration phase seems to work fine. The motor slowly accellerated several time and finishes without any errors (however: I can feel, when touching the motor, that it “snaps in” in positions during calibration).

After that I go to the dashboard and use the velocity control, the motor starts “spinning” but it nearly jumps in discrete steps in positions and seemingly tries to overcompensate this movements and jumps back to the previous decision. It seems to wobble oder jitter forward.
As it is difficult to describe, i have uploaded a video to youtube: https://youtube.com/shorts/Kh8m3PWekIs?feature=share

I will really appreciate any help on how to acheive a smooth turning of the motor.
Btw: Using a different (no Odrive) Motor Controller like this (ACT MOTOR Treiber fĂĽr BLDC-Motoren | Treiber / Controller gĂĽnstig kaufen | reichelt elektronik) the motor operates smoothly and without any visible nor sensable jittering.

Thank you very much,
best regards
Mauri

If you guys see anything that has been setup in a unreasonable way or need any more information to narrow down the issue, please let me know. Thank you!!

Mauri

Hi! Thanks a ton for all the info, it really really really helps. I think your issue here is just that your PID gains are too high – hall sensors are really low resolution, so you unfortunately need to detune the gains. Try reducing vel_gain and vel_integrator_gain to about 1/10th of their current value as a starting point, you may have to go even lower.

My quick tuning procedure usually involves:

  • Set motor in velocity mode with speed setpoint of zero
  • Set vel_gain and vel_integrator_gain to zero
  • Increase vel_gain, perturbing and releasing the motor shaft by hand (spinning it a bit so the motor has to resist you and return it to zero speed)
  • Continue doing this, increasing vel_gain until the motor starts vibrating when you release it
  • At this point, reduce vel_gain to half.
  • Do this process again, but increasing vel_integrator_gain until the motor vibrates, then reduce it to half

Hi, thank you very much for your help!! I will translate it to my buddy who has the motor set up in his workshop and will definitely let you know the outcome.

Best regards
Mauri