The motor only runs in one direction with calibration and doesn't respond to any commands afterwards

Hello I am using Odrive3.6 along with D5065 motor and the odrive 8192 CPR Encoder. Following the getting started steps after running the calibration command the motor only spin fast in one direction then slow down however it doesn’t spin in the other direction. Also when trying to give it other writing commands nothing happens.

What errors do you see with dump_errors(odrv0)?

running odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENC, I get
encoder: Error(s):
ENCODER_ERROR_CPR_POLEPAIRS_MISMATCH
Running other commands for example giving motor certain velocity in velocity mode
I get:
axis: Error(s):
AXIS_ERROR_INVALID_STATE (also sometimes I get this error when calibrating)

ENCODER_ERROR_CPR_POLEPAIRS_MISMATCH means that either your encoder.config.cpr is wrong (should be 8192) or motor.config.pole_pairs is wrong.
OR, the encoder is slipping on its shaft.

Thank you for helping. I made sure from the CPR and pole pairs so I guess it was not mechanically adjusted well as you said, also I increased the calibration distance and now it calibrates well and rotates in both directions however still does not respond when I give it command to rotate with certain velocity or to certain position despite no errors appear and I made sure that is in velocity/ position mode.

Make sure you have input_mode set correctly - e.g. controller.config.input_mode = INPUT_MODE_PASSTHROUGH

1 Like

Does it still communicate on USB / respond with the bus voltage if you ask for it? odrv0.vbus_voltage

1 Like

I managed to make it work! Thank you so much

Yes! It is working now thank you so much