Motor Spinout Error Detected + Brake Resistor Smoking

Hi all,

I’m currently working on a differential drive robot that uses a chain drive system, and I’ve encountered an issue with the left motor cutting out at higher speeds. Here are the error logs I received:

dump_errors(odrv0)
system: no error
axis0
  axis: no error
  motor: Error(s):
    MOTOR_ERROR_UNKNOWN_TORQUE
    MOTOR_ERROR_UNKNOWN_VOLTAGE_COMMAND
  sensorless_estimator: no error
  encoder: no error
  controller: Error(s):
    CONTROLLER_ERROR_SPINOUT_DETECTED
axis1
  axis: no error
  motor: no error
  sensorless_estimator: no error
  encoder: no error

After researching, I found a suggestion to increase motor.config.current_control_bandwidth from 1000 to 1500 or even 2000. I did notice that raising it to 1500 allowed for higher speeds before errors appeared, and 2000 prevented the errors even at maximum speed. However, I also observed smoke coming from the 50W brake resistor, prompting me to turn everything off.

I have a few questions:

  1. Will replacing the 50W brake resistor and restarting the system be sufficient?
  2. Is it feasible to add multiple brake resistors in series to prevent overheating and smoking in the future?
  3. Considering the right motor operates without issues at high speeds (with motor.config.current_control_bandwidth set to 1000), do I need to investigate the encoder on the left motor? Could increasing the bandwidth be masking an underlying encoder problem?

Thank you for your help! If you need any more information, feel free to ask.

Hi! What encoder are you using on the motor? How’s it connected?

I am using the CUI AMT102-V 8192 CPR encoders I bought off odrive website. They are connected using the cable that comes with the encoder to an odrive v3.6 board. Both left and right side motors have the same configuration.

Can you show a picture of how they’re connected? Spinout almost always means that the encoder is either slipping, improperly mounted, or there was load on the motors during calibration (there must be no load / the motors need to be free spinning).

Chances are if the resistor still measures resistance across it, it’s fine – they’re pretty resilient. However, this sounds like excess current was being dumped because of an encoder issue.