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()