Cannot get ODrive to run motors

I am currently working on a project that involves the use of Odrive with brushless motors. With zero experience, I followed the steps on the ODrive Documentation website, and cannot get the motors to move or react. I happened to made the calibration sequence to work after using odrv0.erase_configuration() and then odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE. It beeps then moves then stops. I then tried to make it move after but it doesn’t work.

Have you put it in Closed Loop state after the calibration ?

I’ve put it into closed loop using odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL then odrv0.axis0.controller.input_pos = 5 but nothing moves. And if it helps, I currently don’t have encoders, and I’ve tried sensorless mode but it doesn’t seem to find it and gives me an attribute error.

Please check dump_errors(odrv0) to check the errors after calibration.

In [2]: dump_errors(odrv0)
system: not found
axis0
axis: Error(s):
UNKNOWN ERROR: 0x00000100
motor: no error
sensorless_estimator: no error
encoder: Error(s):
ENCODER_ERROR_NO_RESPONSE
controller: no error
axis1
axis: no error
motor: no error
sensorless_estimator: no error
encoder: no error
controller: no error

I’ve gotten these errors Im not sure what they’re meant.

And if it helps, I currently don’t have encoders,

I missed this last time. You must have encoders or must sensorless.

Try updating your odrivetool (pip install --upgrade odrive) and the odrive firmware (odrivetool dfu)

1 Like