Hello all,
I have a problem trying to control Odrive 3.6 (0.5.1-dev) from a Pixhawk ardupilot.
As soon as the AP is armed, axis 0 goes into error (see bellow).
This happens only if both servo signal wires are connected (GPIO 3 and 4, configured for PWM).
If only one wire is connected, the respective motor runs as it should (it works for axis0 as well as for axis1). It doesn’t matter which servo wire is connected to which GPIO, as long as it’s only one, that axis works just fine.
Servo signals from AP are good, no noise, 50Hz stable - I used this device with other ESCs and no problem.
It’s not a ground loop issue, as it happens even if Odrive is powered from a different source (with a dedicated signal GND wire from AP to Odrive)
If I replace the AP with an Arduino (2 servo outputs), the Odrive behaves normally, no issues.
I’ve checked everything and now I’m out of options.
Please help!
dump_errors(odrv0) output is bellow.
Why is this happening?
In [20]: dump_errors(odrv0)
axis0
axis: Error(s):
AXIS_ERROR_MOTOR_DISARMED
motor: Error(s):
MOTOR_ERROR_CONTROL_DEADLINE_MISSED
fet_thermistor: no error
motor_thermistor: no error
encoder: no error
controller: no error
axis1
axis: no error
motor: no error
fet_thermistor: no error
motor_thermistor: no error
encoder: no error
controller: no error