I have been using the odrive 3.6 56V board for a few months to control a Hoverboard based robot. One of the motors stopped working so I troubleshot the problem thinking it was a connection problem upstream from the odrive. After finding no problems I turned the robot upside down, directed the motors to go forward and lo and behold they both worked. But about 30 seconds later the right motor slowly coasted to a stop.
After shutting down power I manually tried to move the right motor and found it was cogging as if two phases were shorted. I did not debug the motor further but hooked up a spare good motor instead. I could never get that axis to work again. I checked some of the resistors on the board and could see no signs of obvious damage to mosfets or anything. I moved the new motor to the other axis and it worked fine so I think I may have fried something on the odrive board.
Axis1 works fine.
The errors are from the old Axis1 motor working on axis0.
Errors come up during AXIS_STATE_MOTOR_CALIBRATION.
Suspect damaged odrive board is the problem.
No visible signs of thermal damage.
If anyone can give me advice here for troubleshooting or finding a bad component, it would be greatly appreciated. I have already reset and reconfigured the board with no change. I also use capacitors as described in the hoverboard guide and have checked them out with a meter.
error: 67108865 (uint64)
DC_calib_phA: 0.2663416564464569 (float)
DC_calib_phB: -0.6022433638572693 (float)
DC_calib_phC: 0.33506372570991516 (float)
I_bus: 0.0 (float)
config:
I_bus_hard_max: inf (float)
I_bus_hard_min: -inf (float)
I_leak_max: 0.10000000149011612 (float)
R_wL_FF_enable: False (bool)
acim_autoflux_attack_gain: 10.0 (float)
acim_autoflux_decay_gain: 1.0 (float)
acim_autoflux_enable: False (bool)
acim_autoflux_min_Id: 10.0 (float)
acim_gain_min_flux: 10.0 (float)
bEMF_FF_enable: False (bool)
calibration_current: 10.0 (float)
current_control_bandwidth: 100.0 (float)
current_lim: 10.0 (float)
current_lim_margin: 8.0 (float)
dc_calib_tau: 0.20000000298023224 (float)
inverter_temp_limit_lower: 100.0 (float)
inverter_temp_limit_upper: 120.0 (float)
motor_type: 0 (uint8)
phase_inductance: 0.0003804883745033294 (float)
phase_resistance: nan (float)
pole_pairs: 15 (int32)
pre_calibrated: True (bool)
requested_current_range: 25.0 (float)
resistance_calib_max_voltage: 4.0 (float)
torque_constant: 0.5168750286102295 (float)
torque_lim: inf (float)
current_control:
I_measured_report_filter_k: 1.0 (float)
Ialpha_measured: 0.0 (float)
Ibeta_measured: 0.0 (float)
Id_measured: 0.0 (float)
Id_setpoint: 0.0 (float)
Iq_measured: 0.0 (float)
Iq_setpoint: 0.29501980543136597 (float)
Vd_setpoint: 0.0 (float)
Vq_setpoint: 0.0 (float)
final_v_alpha: 0.0 (float)
final_v_beta: 0.0 (float)
i_gain: nan (float)
p_gain: 0.03804883733391762 (float)
phase: 0.0 (float)
phase_vel: 0.0 (float)
power: 0.0 (float)
v_current_control_integral_d: 0.0 (float)
v_current_control_integral_q: 0.0 (float)
current_meas_phA: -0.26695364713668823 (float)
current_meas_phB: 0.6019910573959351 (float)
current_meas_phC: -0.33459630608558655 (float)
effective_current_lim: 10.0 (float)
error: 67108865 (uint64)
fet_thermistor:
config: …
temperature: 21.185129165649414 (float)
is_armed: False (bool)
is_calibrated: True (bool)
last_error_time: 90.1968765258789 (float)
max_allowed_current: 30.375 (float)
max_dc_calib: 3.0375001430511475 (float)
motor_thermistor:
config: …
temperature: 0.0 (float)
n_evt_current_measurement: 1020290 (uint32)
n_evt_pwm_update: 1020295 (uint32)
phase_current_rev_gain: 0.012500000186264515 (float)
system: no error
axis0
axis: no error
motor: Error(s):
MOTOR_ERROR_PHASE_RESISTANCE_OUT_OF_RANGE
MOTOR_ERROR_UNKNOWN_PHASE_ESTIMATE
sensorless_estimator: no error
encoder: no error
controller: no error