Hello all,
I am running ODRIVE V3.6-56V and hooked up same hoverboard motors for M0 and M1.
I was able to run both motors with RC pwm input and they both work ok however sometimes motor located at M0 motor starts later then the other one at M1.
I also noticed if I set the range of pwm_mapping.min/max to -2/2, M0 stops when both commanded to the maximum speed while M1 works just fine.
I increased motor.config.requested_current_range values for both M0, M1 but not entirely solved the problem.
Here are the result of motor axis configurations for M0 and M1
For M0
In [5]: odrv0.axis0.motor
Out[5]:
DC_calib_phA: 3.517024040222168 (float)
DC_calib_phB: -1.7067151069641113 (float)
DC_calib_phC: -1.810135841369629 (float)
I_bus: 0.0013006658991798759 (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.00019992685702163726 (float)
phase_resistance: 0.15574193000793457 (float)
pole_pairs: 52 (int32)
pre_calibrated: True (bool)
requested_current_range: 40.0 (float)
resistance_calib_max_voltage: 4.0 (float)
torque_constant: 0.515999972820282 (float)
torque_lim: inf (float)
current_control:
I_measured_report_filter_k: 1.0 (float)
Ialpha_measured: 0.06962728500366211 (float)
Ibeta_measured: 0.010656392201781273 (float)
Id_measured: -0.19087843596935272 (float)
Id_setpoint: 0.0 (float)
Iq_measured: 0.03574948012828827 (float)
Iq_setpoint: 0.0 (float)
Vd_setpoint: 0.0 (float)
Vq_setpoint: 0.0 (float)
final_v_alpha: 0.0689476728439331 (float)
final_v_beta: 0.009720954112708569 (float)
i_gain: 15.574193000793457 (float)
p_gain: 0.019992684945464134 (float)
phase: -3.1273794174194336 (float)
phase_vel: 0.0 (float)
power: -0.04311427101492882 (float)
v_current_control_integral_d: -0.0693642795085907 (float)
v_current_control_integral_q: -0.009283065795898438 (float)
current_meas_phA: 0.19098377227783203 (float)
current_meas_phB: 0.05465245246887207 (float)
current_meas_phC: 0.036263227462768555 (float)
effective_current_lim: 10.0 (float)
error: 0 (uint64)
fet_thermistor:
config: ...
temperature: 26.523540496826172 (float)
is_armed: True (bool)
is_calibrated: True (bool)
last_error_time: 0.0 (float)
max_allowed_current: 60.75 (float)
max_dc_calib: 6.075000286102295 (float)
motor_thermistor:
config: ...
temperature: 0.0 (float)
n_evt_current_measurement: 191613 (uint32)
n_evt_pwm_update: 191617 (uint32)
phase_current_rev_gain: 0.02500000037252903 (float)
For M1
In [4]: odrv0.axis1.motor
Out[4]:
DC_calib_phA: 2.0772056579589844 (float)
DC_calib_phB: -1.2302274703979492 (float)
DC_calib_phC: -0.8470157384872437 (float)
I_bus: -6.1524857301265e-05 (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.00022141363297123462 (float)
phase_resistance: 0.16487160325050354 (float)
pole_pairs: 52 (int32)
pre_calibrated: True (bool)
requested_current_range: 40.0 (float)
resistance_calib_max_voltage: 4.0 (float)
torque_constant: 0.515999972820282 (float)
torque_lim: inf (float)
current_control:
I_measured_report_filter_k: 1.0 (float)
Ialpha_measured: 0.17734575271606445 (float)
Ibeta_measured: -0.03473661467432976 (float)
Id_measured: -0.015630308538675308 (float)
Id_setpoint: 0.0 (float)
Iq_measured: 0.03526519984006882 (float)
Iq_setpoint: 0.0 (float)
Vd_setpoint: 0.0 (float)
Vq_setpoint: 0.0 (float)
final_v_alpha: -0.00511576421558857 (float)
final_v_beta: 0.0003379323170520365 (float)
i_gain: 16.487159729003906 (float)
p_gain: 0.022141363471746445 (float)
phase: 3.1203484535217285 (float)
phase_vel: 0.0 (float)
power: 0.00018441592692397535 (float)
v_current_control_integral_d: 0.0045619229786098 (float)
v_current_control_integral_q: -0.00021512647799681872 (float)
current_meas_phA: 0.09631681442260742 (float)
current_meas_phB: -0.017705798149108887 (float)
current_meas_phC: 0.042138636112213135 (float)
effective_current_lim: 10.0 (float)
error: 0 (uint64)
fet_thermistor:
config: ...
temperature: 25.505901336669922 (float)
is_armed: True (bool)
is_calibrated: True (bool)
last_error_time: 0.0 (float)
max_allowed_current: 60.75 (float)
max_dc_calib: 6.075000286102295 (float)
motor_thermistor:
config: ...
temperature: 0.0 (float)
n_evt_current_measurement: 70809 (uint32)
n_evt_pwm_update: 70812 (uint32)
phase_current_rev_gain: 0.02500000037252903 (float)
Any suggestions would be greatly appreciated.
Kyu