ODrive shuts off

I’m using the 24V Odrive in torque control mode. The motor shaft is mechanically connected to a spool to keep a constant tension on a wire.
It works great on maintaining the line tension in small and weak peaks but when I manually pull the wire strong the motor shuts off.
I am powering the system with a 24V power supply and tried to run it with a battery as well. Same problem
I also tried to connect Diodes and large capacitor between the Odrive and the power supply to prevent back current to the power supply but the problem did not solve

Any thoughts or ideas ?
Thank you
O.

What errors do you get when you run dump_errors(odrv0) in odrivetool? Also, are you using a brake resistor?

That’s the plot from the o drive tool:

In [1]: dump_errors(odrv0)
axis0
axis: Error(s):
AXIS_ERROR_CONTROLLER_FAILED
motor: Error(s):
MOTOR_ERROR_CONTROL_DEADLINE_MISSED
fet_thermistor: no error
motor_thermistor: no error
encoder: no error
controller: Error(s):
CONTROLLER_ERROR_OVERSPEED
axis1
axis: no error
motor: no error
fet_thermistor: no error
motor_thermistor: no error
encoder: no error
controller: no error

Oh no odrv0 disappeared
In [2]:

I’m using single motor as M0 and Break resistor 1.3 Ohms Part number 50WR5J

Thank you for the help

Gotcha, that looks about right.

By default, ODrive has a velocity limit enabled. If the motor speed goes over the limit, it’s flagged as an error and the drive faults out. The limit is odrv0.axis0.controller.config.vel_limit, default value is 2 turns per second.

You can disable it by setting
odrv0.axis0.controller.config.enable_vel_limit = False
or you can raise the velocity limit to a value that you are comfortable with. For your application, it might make sense to keep it enabled - if the wire broke for some reason and the limit was disabled, it could speed up significantly.

I really appreciate the help!
I disabled the speed limit and the problem stayed the same.
Maybe this information will help understand the problem.
When I pull the wire hard the motor disconnects immediately and free spins until it naturally stops. the Odrive is still on, connected and transmitting data.

Any more thoughts ?

Update
The velocity limit was the issue!
It does create a minor problem that you might be able to help me.
I do want to limit the motor speed that it will not get to unsafe speeds but I also don’t want the system to NOT shut off when the speed is reached. is there an option to control it ?

I apologize! I told you the wrong variable. In this case you want odrv0.axis0.controller.config.enable_vel_limit = True and odrv0.axis0.controller.config.enable_overspeed_error = False. This will make sure that the ODrive tries to keep the motor velocity under controller.config.vel_limit, but prevent it from setting an error if the limit is exceeded.

1 Like

Than you very much !
I’ll try and update on the results

1 Like