Hello,
I am using an Odrive V3.6 56V to control a W9235 motor in combination with an AS5048A encoder, but for some reason the drive is unable to complete a calibration sequence. When I enter the calibration command, AXIS_STATE_FULL_CALIBRATION_SEQUENCE
, the motor moves just slightly and I see the power supply current jump for a moment, but then the motor stops moving and nothing else happens (no beep or back and forth movement). I thought that perhaps I needed to increase the current limit, but so far no luck. I have removed all mechanical loads from the motor so it is just free-spinning, and also have a brake resistor installed.
I have successfully been able to run in sensorless mode without the encoder, and I am able to see encoder counts by looking at the shadow_count
variable. I have a feeling that the error is most likely in my config as I have gotten the motor to move and the encoder appears to work properly. My motor config and axis config are below.
Any help or advice is greatly appreciated!
Motor 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: 1000.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: 2 (uint8)
phase_inductance: 2.0779292754014023e-05 (float)
phase_resistance: 0.0001250000059371814 (float)
pole_pairs: 36 (int32)
pre_calibrated: False (bool)
requested_current_range: 60.0 (float)
resistance_calib_max_voltage: 2.0 (float)
torque_constant: 0.08269999921321869 (float)
torque_lim: inf (float)
Axis Config:
calibration_lockin:
accel: 20.0 (float)
current: 10.0 (float)
ramp_distance: 3.1415927410125732 (float)
ramp_time: 0.4000000059604645 (float)
vel: 40.0 (float)
can:
encoder_rate_ms: 10 (uint32)
heartbeat_rate_ms: 100 (uint32)
is_extended: False (bool)
node_id: 0 (uint32)
dir_gpio_pin: 2 (uint16)
enable_sensorless_mode: False (bool)
enable_step_dir: False (bool)
enable_watchdog: False (bool)
general_lockin:
accel: 20.0 (float)
current: 10.0 (float)
finish_distance: 100.0 (float)
finish_on_distance: False (bool)
finish_on_enc_idx: False (bool)
finish_on_vel: False (bool)
ramp_distance: 3.1415927410125732 (float)
ramp_time: 0.4000000059604645 (float)
vel: 40.0 (float)
sensorless_ramp:
accel: 200.0 (float)
current: 10.0 (float)
finish_distance: 100.0 (float)
finish_on_distance: False (bool)
finish_on_enc_idx: False (bool)
finish_on_vel: True (bool)
ramp_distance: 3.1415927410125732 (float)
ramp_time: 0.4000000059604645 (float)
vel: 400.0 (float)
startup_closed_loop_control: False (bool)
startup_encoder_index_search: False (bool)
startup_encoder_offset_calibration: False (bool)
startup_homing: False (bool)
startup_motor_calibration: True (bool)
step_dir_always_on: False (bool)
step_gpio_pin: 1 (uint16)
watchdog_timeout: 0.0 (float)