Hi everyone,
I’m using an Odrive Pro to control a BLDC motor with hall effect sensor (might be the reason of my problem due to it’s lack of precision?!). It’s controlling an inverted pendulum. When I send a command, the motor do not necesserly turn, but maintain a certain force to keep a certain torque. Sometimes, the torque applied is not on the same side of the rotation (which is normal). I think it’s because of that, but I get the following error:
In [8]: dump_errors(odrv0)
axis0
active_errors: no error
disarm_reason: Error(s):
ODriveError.SPINOUT_DETECTED
procedure_result: ProcedureResult.DISARMED
last_drv_fault: none
internal issues: none
As you can see on the figures below, when
The motor normally runs for a few seconds before getting the error and then stops.
Hence, is there a setting to remove that error, because everytime, the motor just stop and the pendulum falls. I have no idea what to do in that case. If you need any other informations, just ask and I’ll upload them, I’m desepered !
EDIT :
What are the unit of these parameters ? Watts ? Amp ? I might be able to fix my problem by adjusting those parameters.
In [3]: odrv0.axis0.controller.config.spinout_electrical_power_threshold
Out[3]: 10.0
In [4]: odrv0.axis0.controller.config.spinout_mechanical_power_threshold
Out[4]: -10.0
In [5]: odrv0.axis0.controller.config.mechanical_power_bandwidth
Out[5]: 20.0
In [6]: odrv0.axis0.controller.config.electrical_power_bandwidth
Out[6]: 20.0
EDIT EDIT :
Just found out in the doc that those settings are in Watts odrv0.axis0.controller.config.spinout_electrical_power_threshold Out[3]: 10.0 odrv0.axis0.controller.config.spinout_mechanical_power_threshold Out[4]: -10.0
Does that mean I have to enter the mechanical power that I need in those variables or is it something else ? I don’t want to blow up my controller.
From a poor desperate guy