Now that the mechanical part of my motion platform is slowly being completed and lot tests and adjustments are pending, I ask myself an important question:
Will Odrive withstand sudden disconnections from the power circuit (panic switch) when its working under heavy load?
This could be in two different situations:
a) During Odrive is in drive direction/ mode
b) During Odrive is in braking direction/ mode
Can the components withstand this? Is there anything to consider when integrating a panic switch? I’m a little afraid that something will break during the tests.
I’ve read this on another thread, but it seems logical.
If you disconnect power or reset the odrive while the motors are running, you could possibly damage the power stages by the bEMF of the motors. Don’t reset or disconnect power when the motors are running.
I would suggest using the panic switch to set the velocity to 0.
Any other suggestions ?
Rather than a command to set velocity to 0, what I would really like to see is a more hardware-based way to:
Disable the high-side gate drives (so no power can flow INTO the system, but the drive logic remains online for diagnostics)
(optionally) allow the low-side PWM to let through a controlled braking current (effectively shorting all windings to ground, momentarily, with the usual current feedback control). This is the safest and most effective way to quick-stop a big load in my experience.
To do this in pure hardware would obviously require a hardware change and may not even be possible with the DRV8301 monolithic gate driver. But it could easily be done at a low level in firmware based on a GPIO pin, which would be orders of magnitude safer than sending a command and hoping it gets obeyed (which during a failure case, it may not)
The easiest solution for you right now would be to tie your panic switch to the nRST pin on the chip, with a pull-down at the pin so that when you open the switch the drive will be held in reset. This disables all the logic including shutting down the gate drivers, so it is very reliable. However it will not be able to apply a braking torque, so if you have a high load inertia or a load suspended against gravity, it might be no good for you. You also lose comms and diagnostic data like you would when removing power.
When you refer to the issue of an inertial load while using the Reset pin, do you mean that the Odrive can’t dissipate back-EMF while Reset is grounded? Or do you mean only in a mechanical sense as to not damage any physical objects?
In my application I have an inertial load that isn’t at much physical risk if it has to suddenly drop during an E-stop, but I am using a switching power supply so I wanted to make sure that the Odrive can dissipate the back-EMF properly during a Reset. i.e., does the brake resistor still remain connected during a reset? Does the ODrive completely disconnect the motor leads during a reset so the back EMF doesn’t go through the board at all? I looked through the firmware source but I’m still unsure of the details
It does not disconnect the motor wires during reset, but in general there is no need to do this, because it produces no braking torque and therefore does not generate a current. There is no power to dissipate.
If the suspended load drops after e-stop, the drive will not be damaged unless the suspended load could force the motor into an extreme overspeed, ie faster than the motor can spin with no load attached, max setpoint, max supply voltage, +20%.
If this is indeed the case for you, then you need what I described above ie a category 1 stop. (acc. EN 60204)
We are using the Odrive in an AGV about 125kg with payload, LFP battery pack, 13.8V
We regularly E-stop during testing which immediately disconnects the high current power to the Odrive, but 5v power from PC USB connection is not interrupted. We do not use braking resistor.
We have not damaged an odrive yet, we are testing with 6 units. No braking is applied, the AGV keeps rolling at the speed it was moving at before the E event, we need to think about this a bit more
We have another issue that if we have an over speed event, the drive errors out and once again just keeps rolling, we need to look at quickly resetting the odrive and then get it to ramp down asap. Need to workout if we can do this without searching for index again.