Trouble changing state?

Hello, I have been attempting to get the Odrive to spin a pretty large 48V motor with a large back EMF (~8 v/krpm) and small kv (~120 rpm/volt).

I have tried the default ‘getting started’ procedure but have yet to get any motor movement. I have verified that the encoder works (though i’m less sure about it’s count. It’s a CUI-AMT103), the motor is brand new, the bus voltage is correct etc.

Additionally, I have attempted to execute the script and the arduino test via uart. Everything seems to be communication properly, yet still no spin.

The thing I keep coming back to is the state. Every time I check the state or request a state change, it never leaves 1 (the axis idle state).


Is there a simple solution to force a state change? Am I missing something fundamental? I’ve got the phases and encoder hooked up to an oscilloscope and I have yet to see a voltage or wave applied to the phases.

Any input on what I should try next would be highly appreciated.

Thank you.

Well I got it working. Reflashed with new firmware, adjusted the motor parameters as if for a hoverboard motor, and deleted my likely shitty encoder, and it’s working. Thank goodness for all the other discussions on this forum.

Glad you got it working. For others who may have similar issues: AXIS_STATE_STARTUP_SEQUENCE doesn’t do anything unless you have a startup sequence mode enabled at odrv0.axis0.config.startup_.... You probably want to run a calibration routine, the full calibration sequence, or closed loop control.

If it doesn’t do anything, check the error codes.

1 Like

Thank you for the response. I think that must have been the issue.

1 Like

What is this crazy motor you’re using, out of curiosity?

1 Like

Sorry for the late response!

A Kollmorgen frameless, from their TBM line, 48V. Awesome motors - just really expensive.

1 Like