Odrive 3.6 Hoverboard Motor Calibration

‘’’
Device 3565354C3133: Not a genuine ODrive! Some features may not work as expected.
Connected to device 3565354C3133 as dev0
In [1]: odrv0 = dev0

In [2]: odrv0.erase_configuration()
Oh no dev0 disappeared

In [3]: [UsbDiscoverer] Failed to open USB device: -12
Device 3565354C3133: Not a genuine ODrive! Some features may not work as expected.
Reconnected to device 3565354C3133 as dev0
In [3]: odrv0 = dev0

In [4]: odrv0.axis0.motor.config.pole_pairs = 15

In [5]: odrv0.axis0.motor.config.resistance_calib_max_voltage = 4

In [6]: odrv0.axis0.motor.config.requested_current_range = 25

In [7]: odrv0.axis0.motor.config.current_control_bandwidth = 100

In [8]: odrv0.axis0.motor.config.torque_constant = 8.27/16

In [9]: odrv0.save_configuration()
Oh no dev0 disappeared

Device 3565354C3133: Not a genuine ODrive! Some features may not work as expected.
Reconnected to device 3565354C3133 as dev0
In [10]: odrv0 = dev0

In [11]: odrv0.reboot()
Oh no dev0 disappeared

Device 3565354C3133: Not a genuine ODrive! Some features may not work as expected.
Reconnected to device 3565354C3133 as dev0
In [12]: odrv0 = dev0

In [13]: odrv0.axis0.encoder.config.mode = ENCODER_MODE_HALL

In [14]: odrv0.axis0.encoder.config.cpr = 90

In [15]: odrv0.axis0.encoder.config.calib_scan_distance = 150

In [16]: odrv0.axis0.encoder.config.bandwidth = 100

In [17]: odrv0.axis0.controller.config.pos_gain = 1

In [18]: odrv0.axis0.controller.config.vel_gain = 0.02 * odrv0.axis0.motor.config.torque_con
⋮ stant * odrv0.axis0.encoder.config.cpr

In [19]: odrv0.axis0.controller.config.vel_integrator_gain = 0.1 * odrv0.axis0.motor.config.
⋮ torque_constant * odrv0.axis0.encoder.config.cpr

In [20]: odrv0.axis0.controller.config.vel_limit = 10

In [21]: odrv0.axis0.controller.config.control_mode = CONTROL_MODE_VELOCITY_CONTROL

In [22]: odrv0.save_configuration()
Oh no dev0 disappeared

Device 3565354C3133: Not a genuine ODrive! Some features may not work as expected.
Reconnected to device 3565354C3133 as dev0
In [23]: odrv0 = dev0

In [24]: odrv0.reboot()
Oh no dev0 disappeared

Device 3565354C3133: Not a genuine ODrive! Some features may not work as expected.
Reconnected to device 3565354C3133 as dev0
In [25]: odrv0 = dev0

In [26]: odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION

In [27]: odrv0.axis0.motor
Out[27]:
DC_calib_phA: 2.4091238975524902 (float)
DC_calib_phB: -1.1769719123840332 (float)
DC_calib_phC: -1.2320091724395752 (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.0005396523047238588 (float)
phase_resistance: 0.29139429330825806 (float)
pole_pairs: 15 (int32)
pre_calibrated: False (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.0 (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: 29.139429092407227 (float)
p_gain: 0.05396522954106331 (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: -2.4090020656585693 (float)
current_meas_phB: 1.1769286394119263 (float)
current_meas_phC: 1.232043981552124 (float)
effective_current_lim: 10.0 (float)
error: 0 (uint64)
fet_thermistor:
config: {…}
temperature: 31.051179885864258 (float)
is_armed: False (bool)
is_calibrated: True (bool)
last_error_time: 0.0 (float)
max_allowed_current: 30.375 (float)
max_dc_calib: 3.0375001430511475 (float)
motor_thermistor:
config: {…}
temperature: 0.0 (float)
n_evt_current_measurement: 254988 (uint32)
n_evt_pwm_update: 254993 (uint32)
phase_current_rev_gain: 0.012500000186264515 (float)

In [28]: odrv0.axis0.motor.config.phase_inductance
Out[28]: 0.0005396523047238588

In [29]: odrv0.axis0.motor.config.phase_resistance
Out[29]: 0.29139429330825806

In [30]: odrv0.axis0.motor.error
Out[30]: 0

In [31]:
‘’’

I’m going to run the hoverboard motor by referring to the site below. However, “odrv0.ax0.requested_state = AXIS_STATE_MOTOR_CALIBRATION” when this code is executed, the motor makes a sound and does not rotate, so there is no error as a result of checking the error. The site was checked and it says “Make sure the motor is free to move, then activate the motor calibration.”
What can I do to solve this problem?

Reference Site : Hoverboard motor and remote control setup guide — ODrive Documentation 0.5.6 documentation