I’ve been doing testing on my 24v ODrive board, and it was working fine up until an hour ago, when it just wouldn’t go into closed loop mode. Calibration seems normal, and I don’t know what to do.
I know the axis error 0x40 is ERROR_MOTOR_FAILED and the motor error is ERROR_MODULATION_MAGNITUDE but the calibration sequence looks completely normal and I’m using C4250 560KV motor. The troubleshooting guide doesn’t say anything about my case.
Hi tuftman! The docs have a section called “Common Motor Errors” with that motor error listed https://docs.odriverobotics.com/troubleshooting#common-motor-errors
The bus voltage was insufficent to push the requested current through the motor. If you are getting this during motor calibration, make sure that
motor.config.resistance_calib_max_voltage is no more than half your bus voltage.
For gimbal motors, it is recommended to set the
motor.config.current_lim to half your bus voltage, or less.
I’ve seen that, I’m not using gimbal motors and my resistance_calib_max_voltage is 2v and my bus voltage is 24v
Oh, I misread your original post. Modulation Magnitude error during runtime but not during calibration seems really strange. Can you check your phase_resistance from
Also, what is your calibration_current?
my phase resistance is 0.050685275346040726 and my calibration current is 10.0
here’s the rest of the motor config
pre_calibrated = False (bool)
pole_pairs = 7 (int)
calibration_current = 10.0 (float)
resistance_calib_max_voltage = 2.0 (float)
phase_inductance = 2.1762045435025357e-05 (float)
phase_resistance = 0.050685275346040726 (float)
direction = -1 (int)
motor_type = 0 (int)
current_lim = 15.0 (float)
current_lim_tolerance = 1.25 (float)
inverter_temp_limit_lower = 100.0 (float)
inverter_temp_limit_upper = 120.0 (float)
requested_current_range = 60.0 (float)
current_control_bandwidth = 1000.0 (float)
my motor’s page says it can handle up to 80 amps
Hmm, looks normal. Can you confirm your firmware version?
odrv0 will print it out
hw_version_major = 3 (int)
hw_version_minor = 6 (int)
hw_version_variant = 24 (int)
fw_version_major = 0 (int)
fw_version_minor = 4 (int)
fw_version_revision = 11 (int)
fw_version_unreleased = 0 (int)