HI,all
I use Odrive v3.5(24V) with T-motor MN5212 340KV and encoder(AS5047D).
But when I run odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE
The motor just ran in one direction and stopped. Then I got the error: ERROR_MODULATION_MAGNITUDE
Here are error information:
In [59]: dump_errors(odrv0)
axis0
axis: Error(s):
ERROR_MOTOR_FAILED
motor: Error(s):
ERROR_MODULATION_MAGNITUDE
encoder: no error
controller: no error
axis1
axis: no error
motor: no error
encoder: no error
controller: no error
And I checked motor.config.resistance_calib_max_voltage=10, no more than half my bus voltage (24v). Since T-motor MN5212 is a gimbal motor,I also checked motor.config.calibration_current=10 and
motor.config.current_lim=10.
That looks OK , so I did’t know what the problem is.
And here are my config:
Reconnected to ODrive 205C339B344D as odrv0
In [17]: odrv0.axis0.motor.config
Out[17]:
pre_calibrated = False (bool)
pole_pairs = 11 (int)
calibration_current = 10.0 (float)
resistance_calib_max_voltage = 2.0 (float)
phase_inductance = 0.0 (float)
phase_resistance = 0.0 (float)
direction = 0 (int)
motor_type = 2 (int)
current_lim = 10.0 (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)
In [18]: odrv0.axis0.encoder.config
Out[18]:
mode = 0 (int)
use_index = False (bool)
find_idx_on_lockin_only = False (bool)
pre_calibrated = False (bool)
zero_count_on_find_idx = True (bool)
cpr = 2000 (int)
offset = 0 (int)
offset_float = 0.0 (float)
enable_phase_interpolation = True (bool)
bandwidth = 1000.0 (float)
calib_range = 0.019999999552965164 (float)
calib_scan_distance = 50.26548385620117 (float)
calib_scan_omega = 12.566370964050293 (float)
idx_search_unidirectional = False (bool)
ignore_illegal_hall_state = False (bool)
In [19]: odrv0.axis0.config
Out[19]:
startup_motor_calibration = False (bool)
startup_encoder_index_search = False (bool)
startup_encoder_offset_calibration = False (bool)
startup_closed_loop_control = False (bool)
startup_sensorless_control = False (bool)
enable_step_dir = False (bool)
counts_per_step = 2.0 (float)
watchdog_timeout = 0.0 (float)
step_gpio_pin = 1 (int)
dir_gpio_pin = 2 (int)
lockin:
current = 10.0 (float)
ramp_time = 0.4000000059604645 (float)
ramp_distance = 3.1415927410125732 (float)
accel = 20.0 (float)
vel = 40.0 (float)
finish_distance = 100.0 (float)
finish_on_vel = False (bool)
finish_on_distance = False (bool)
finish_on_enc_idx = False (bool)
Can someone help me with it ?