Hi, I’ve recently been trying to use ODrive V3.6 56V to power some Turnigy Aerodrive SK3 motors. I’m using a Meanwell 48V 2kw PSU, no power spikes > 50V observed on oscilloscope.
See error dump:
In [27]: dump_errors(odrv0,True)
axis0
axis: Error(s):
AXIS_ERROR_MOTOR_FAILED
motor: Error(s):
MOTOR_ERROR_DRV_FAULT
fet_thermistor: no error
motor_thermistor: no error
encoder: no error
controller: no error
axis1
axis: Error(s):
AXIS_ERROR_MOTOR_FAILED
motor: Error(s):
MOTOR_ERROR_DRV_FAULT
fet_thermistor: no error
motor_thermistor: no error
encoder: no error
controller: no error
In [28]: dump_errors(odrv0,True)
axis0
axis: Error(s):
AXIS_ERROR_MOTOR_FAILED
motor: Error(s):
MOTOR_ERROR_DRV_FAULT
fet_thermistor: no error
motor_thermistor: no error
encoder: no error
controller: no error
axis1
axis: Error(s):
AXIS_ERROR_MOTOR_FAILED
motor: Error(s):
MOTOR_ERROR_DRV_FAULT
fet_thermistor: no error
motor_thermistor: no error
encoder: no error
controller: no error
In [29]: odrv0.axis0.motor.gate_driver.drv_fault
Out[29]: 1024
In [30]: odrv0.axis1.motor.gate_driver.drv_fault
Out[30]: 0
I’ve erased my configuration and am using the defaults with no modifications.
I measured GVCC on C32 and C47, both are stable at 12V. From the DRV8301 datasheet, this fault code on bit 10 is just called “fault” with no further information that I can see.
This ODrive board was able to do some calibration spins and some index seeks for a while, but no dice anymore. It’s been stuck in this state – so I assume either the board/driver chip is defective, or I’ve done something obscure to break it. It boots in this state, regardless of dcbus voltage, motors connected, and/or encoders connected.
I’ve seen some posts referencing this, but no concrete solutions. Does anyone know whats up or how I should proceed debugging?
Could be an over-current lock-out on the gate driver caused by a short circuit between phases. Check your wiring. https://e2e.ti.com/support/motor-drivers/f/38/t/677684
Although given that it persists after a power cycle without enabling motors, it’s probably something else with the chip.
You could try disabling overcurrent protection in the chip (firmware hack) but if the chip really does have an internal fault then doing that may cause smoke.
It is possible to remove and replace the chip with a hot air station if you have one. Otherwise, you should probably contact info@odriverobotics.com and see if they will send you a replacement.
I checked the motor phase outputs, no shorts between them. I also checked for DCBUS voltage rise by connecting psu after it has been on for a bit – no change. I contacted ODrive about a replacement, thanks @towen.
Great idea!
I did just that, I got the following error codes:
In [12]: odrv0.axis1.last_drv_fault
Out[12]: 0
In [13]: odrv0.axis0.last_drv_fault
Out[13]: 1058
Also interesting is that I didn’t get a fault until I tried to request calibration (I really got my hopes up there lol). I guess it delayed initialization of drivers? I’ll try to find in the firmware what this number means.
It appears to say the high side of A and C on motor 0 are overcurrent – I checked and A is apparently shorted to ground. C does not appear to – might just be a sideaffect of A being shorted though. Some of the solder pads on the transistors for M0A look low-flux/low-quality – maybe it got shorted to ground pad through them? I’ll keep looked but I probably will keep a soldering iron away from it now – I’ve already destroyed one too many of these boards with my skills.
could you give me your devel branch hex firmware?
I compiled it myself. But the usb can’t be used and The serial port doesn’t work either。
Look forward to your reply,thanks
Hi!
I had the same problem today, and I guess I overflowed yesterday. I don’t know if you solved it, but if you did, I want to know how you handled it.