i have the odrive 3.6 56v at 24v and a Scorpion 4035-500
When i first connected the odrive and configured the encoder and the rest i could do set_pos or velocity. Then i tuned the motor. Then i wanted to change to velocity mode. Now it wont do position/velocity control anymore. Motor calibration only turns for a split second, then beeps but doesnt rotates cw/ccw. I also did reset the configuration and did a new one.
After motor calibration:
In [104]: dump_errors(odrv0)
axis0
axis: Error(s):
ERROR_MOTOR_DISARMED
ERROR_MOTOR_FAILED
motor: Error(s):
ERROR_CURRENT_UNSTABLE
encoder: no error
controller: no error
axis1
axis: no error
motor: no error
encoder: no error
controller: no error
Before motor calibration and after reboot there are no errors.
something else i noticed is it doesnt seem to save the startup procedure:
In [1]: odrv0.axis0.config.startup_motor_calibration = 1
In [2]: odrv0.axis0.config.startup_encoder_index_search = 1
In [3]: odrv0.axis0.config.startup_encoder_offset_calibration =1
In [4]: odrv0.axis0.config.startup_closed_loop_control = 1
In [5]: odrv0.save_configuration()
In [6]: odrv0.reboot()
But after a reboot nothing happens.
if i do the exact same to M1 then everything works:
Reconnected to ODrive 2068358F524B as odrv0
In [13]: odrv0.axis1.config.startup_motor_calibration = 1
In [14]: odrv0.axis1.config.startup_encoder_index_search = 1
In [15]: odrv0.axis1.config.startup_encoder_offset_calibration =1
In [16]: odrv0.axis1.config.startup_closed_loop_control = 1
In [17]: odrv0.save_configuration()
In [18]: odrv0.reboot()
after a reboot the motor calibrates (successfully) and does position control. either there is a Hardware error or i need to completely reset the firm/software.
Hi MMD, I just spotted your post, I had exactly the same error and symptoms the other day that resolved occasionally after a re-boot.
After a lot of head-scratching, I noticed one of the phases were loose in the screw terminal of the ODrive. Initially, I jammed a screwdriver in with the wire as I may have previously overtightened it; this worked a treat. I will be soldering the motor wires directly to the board soon.
Therefore it may be a connection problem to the motor. I think if the electrical parameters change after the full calibration sequence, the ODrive protects everything by disarming the motor.
i think i remember i had the feeling of some screw overtightening but it did feel secure nontheless. i may have to look at the connection again. Thanks
(i am unsure if the small terminal connection is enough to deliver 20-40amps safely. I may solder them directly as well)
I think that would be the best option, I was running mine at 60A on a 12v lead-acid battery at the time. The 0.5ohm brake resistor was a little warm also.
i dont think this is a connection issue because i have connected the motor on both drivers multiple times and every time axis 0 has the fault while axis 1 doesnt.
Hi guys, I have the same error on axis0. On axis1 works totally fine.
Using 56V Odrive 3.6 with Odrive D5065 motor and 24V psu.
Has anybody solved this issue?
I had a similar set up as you (ODrive 3.6 54V at 24V) albeit with a different motor. I ended up having the same problem intermittently then realized my motor had been damaged and one of the phases had shorted, killing the motor and seemingly damaging the ODrive as well. Since your motor works fine on Axis 1 I doubt this is the case for you.
One thing you can try in order to rule out a hardware issue is flash different firmware and see if the issue persists. For everything in my set up I was using the RazorsEdge branch from here: https://github.com/Wetmelon/ODrive. It worked well for me.
You could give that a try and see if Axis 0 starts working. Note that ERROR_CURRENT_UNSTABLE has been renamed to ERROR_CURRENT_LIMIT_VIOLATION in that branch.
I had the same problems and I don’t know why this fixed it but all I did was change
odrv0.axis0.motor.config.calibration_current = 10 to
odrv0.axis0.motor.config.calibration_current = 20
This seems to fix the problem and I was also able to increase the
odrv0.axis0.controller.config.vel_limit = 300000
without any problems. This caused a lot of frustration and needs to be fixed.
The issue in my case was a badly soldered connection. Ground pin for the encoder and one of the pins for the motor leads. Soldered it again and it works fine now on both axes.
so i soldered both the DC in and the M0 Ports of the odrive directly but still the same issue. I also raised the calibration current to 20 but still current unstable (i dont know if this is a problem because on M1 there is no issue but my power supply only has 6.5 amps).
i have connected the motor to the original screw terminal of M1 and M1 still works with this motor without a problem.
so:
Motor works on M1 with screw terminals but not on M0 directly soldered to the PCB.