Trouble changing state?


#1

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 demo.py 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).

STATE2

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.


#2

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.


#3

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.


#4

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


#5

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


#6

Sorry for the late response!

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