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
)