E-Stop with Odrive


Is there a way of having e-stop behavior with an I/O of the ODrive board. In a similar fashion as Roboclaw boards? (see page 45: http://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf)


The motor will lose torque with a very high degree of certainty if you pull (and hold) nRST pin low on header J2. The drive will also reboot.


Thanks for your answer, so there is currently no E-Stop function?
I think it would be really useful add an input dedicated to an E-Stop. It could be as simple as sending a 0 velocity command when a pin is low.
Once I will have a working setup and a bit of time I will try to add it to a custom firmware.


I agree that an e-stop, that doesn’t require you to recalibrate the encoder would be really useful.


There’s different types of E-stops. https://machinerysafety101.com/2010/09/27/emergency-stop-categories/?doing_wp_cron=1548126008.3579199314117431640625

You’re looking for a “Category 2” stop - bring things to a halt, and keep them there under power (Vel Desired = 0). Lower, you find the sentence: Category 2 stops are not permitted for emergency stop functions

Disconnecting power to the drive, or holding nRST low is the correct way to implement a Category 0 E-stop


That was a really nice read, thanks for linking it.

The way I’m used to motor controller e-stops, is that they turn-off the mosfets to the motor wires, or short them to each other. They leave the controller running but put it in an error state. In most emergency situations it is important to be able to read any sensors related to the motor (position and temperature for example).

Does cutting power to the motor, but not to the controller, full-fill the criteria for Category 0?

The implementation I’m describing is shown and described briefly in roboteq’s controller manual on page 38.