Input_pos error

I gist received my first Odrive, D6374 motors, and encoder. I went thru the odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE routine in setup and the motor beeps then spins 1 turn cw and ccw. odrv0.axis0.controller.input_pos =1 does nothing. dump_errors(odrv0) shows zero errors. Any insight for a struggling newbie out there?

Have you switched the requested state to closed loop control using odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL? If so, make sure the control mode is correct (odrv0.axis0.controller.config.control_mode = CONTROL_MODE_POSITION_CONTROL).

Thanks for the reply. I check both of your suggestions but no change.

Can you verify that the odrc0.axis0.controller.pos_setpoint gets set to 1 after you enter the new input_pos? If not, this is likely an issue with the input mode.

If the set point is getting updated, can you screenshot the printouts from the motor, controller and encoder and post them here? I.e. enter odrv0.axis0.motor and screenshot, then do the same for odrv0.axis0.encoder, and the same for the controller.

If I enter odrv0.axis0.controller.input_pos =1 and than odrv0.axis0.controller.pos_setpoint I get a output of 0.0
Motor doesn’t spin

Is there a way to attach a file as the motor data dump is quite large?

Check dump_errors(odrv0) between each command.

The problem I was having turned out to be a power supply issue.

1 Like