Hi,
I am currently having an issue with my S1 that I suspect is a “browning out” problem. During use, sometimes connectors get jostled the wrong way which causes power to not be fully delivered via USB-C from my Raspberry Pi. This causes the ODrive to repeat the previously sent command until I kill the system with an E-Stop. The message I get in the middle of the control loop has arbitration ID 0x04, instead of 0x09, and when I try reading the message the same way I do in closed loop mode, get_encoder_estimates reads (-2.86e-42,0) for motor position and velocity (note the first number is usually just any very small number). It seems as if the motor loses itself and spins indefinitely unless I cut power myself. Upon rebooting, I check for a heartbeat and do not get one until I reset the connection between my Raspberry Pi and ODrive, the power cycling always seems to do the trick.
I try to send a message over the CAN bus, but since the connection has been effectively severed during that moment, the message is not received.
I guess my questions is twofold: am I correct this is some browning out error? If so, I was wondering if there was some functionality I might be able to implement where if this were to occur, the motor should shut down. On top of better securing my connectors, I was wondering if there could be a better absolute failsafe option.
Thanks so much,
Dom