Setting M0's requested_state stops M1 from working


After boot up, this is what happens if I send the following commands by ./odrivetool:

>>> odrv0.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL   
>>> odrv0.axis1.controller.vel_setpoint = 120   # M1 starts spinning properly after this line
>>> odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL # M1 stops immediately after this line
>>> odrv0.axis0.controller.vel_setpoint = 120 # M0 works completely fine

Motor 1 (M1, axis1) stops working right after I set M0’s requestd_state. After that, M0 works compleltely fine and M1 won’t react to anything (reseting state or giving new vel_setpoint).
At moments like this, I tried printing odrv0.axis1.motor, the error is 0x0000.

After reboot, this whole thing repetitively happens every time.

I have tried odrv0.erase_configuration() and reboot(), and reset all paramters, it doesn’t help, the same issue keeps happening. (my settings are here:

BTW, this is my motor, and I use hall sensor as encoder:

if I only play with one axis, everything seems working perfectly, so I guess my setting and all the parameters should be fine.

Now, what should I do to actually use both motors (be able to set velocity for both axis)?


>>> odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
>>> odrv0.axis0.controller.vel_setpoint = 120 # M0 spins after this line
>>> odrv0.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
>>> odrv0.axis1.controller.vel_setpoint = 120 # nothing happens, M1 doesn't start spinning, M0 still works after this line

if I set M0’s state and velocity first, then M1 will not respond to anything at all.



Can you please check the error codes?



I tried print motor status , error code has always been 0x0000
I read that page(trouble shooting) already, it doesn’t produce any error code, not does it fall into any case mentioned on that page.



Come find me on the ODrive Discord, and we can do a screen share session and I can take a look.



I have messaged you on Discord



Problem solved.

Oscar is very responsible and helpful.

For other people who have similar problems in the future: