Configuring ODrive

Prerequisites

Launch odrivetool

odrivetool

Configuration

Current limit

odrv0.axis0.motor.config.current_lim = 10
odrv0.axis1.motor.config.current_lim = 10

Velocity limit

odrv0.axis0.controller.config.vel_limit = 5
odrv0.axis1.controller.config.vel_limit = 5

Enable brake resistor

odrv0.config.enable_brake_resistor = True

Brake restance value

odrv0.config.brake_resistance = 0.05

Pole pairs

odrv0.axis0.motor.config.pole_pairs = 7
odrv0.axis1.motor.config.pole_pairs = 7

Torque constant

odrv0.axis0.motor.config.torque_constant = 8.27/270
odrv0.axis1.motor.config.torque_constant = 8.27/270

Calibrate motors

odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE
odrv0.axis1.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE

Velocity control

odrv0.axis0.controller.config.control_mode = CONTROL_MODE_VELOCITY_CONTROL
odrv0.axis1.controller.config.control_mode = CONTROL_MODE_VELOCITY_CONTROL

Save configuration

odrv0.save_configuration()

Testing and Troubleshooting

Request closed-loop control

odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
odrv0.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
odrv0.axis0.controller.input_vel = 1
odrv0.axis1.controller.input_vel = 1

Dump errors

dump_errors(odrv0)

Clear errors

odrv0.clear_errors()