I am trying to set up my motor with the hall effect board from equals zero but I keep getting the 0x10 error on encoder. I have read the post about putting capacitors on the board and have done that. I tried all the combinations of hall effect sensor wires and tried moving the board around in its adjustment slots. Unfortunately I don’t have an oscilloscope to debug further.
Has anyone used this board and motor together?
Here are my settings:
In [10]: odrv0.axis0.motor
Out[10]:
error = 0x0000 (int)
armed_state = 0 (int)
is_calibrated = True (bool)
current_meas_phB = -0.16088730096817017 (float)
current_meas_phC = -0.11244189739227295 (float)
DC_calib_phB = -0.866481602191925 (float)
DC_calib_phC = -1.0156095027923584 (float)
phase_current_rev_gain = 0.012500000186264515 (float)
thermal_current_lim = 45.139495849609375 (float)
get_inverter_temp()
current_control:
p_gain = 0.002253773622214794 (float)
i_gain = 4.393284797668457 (float)
v_current_control_integral_d = 0.0 (float)
v_current_control_integral_q = 0.0 (float)
Ibus = 0.0 (float)
final_v_alpha = 0.0 (float)
final_v_beta = 0.0 (float)
Iq_setpoint = 0.0 (float)
Iq_measured = 0.0 (float)
Id_measured = 0.0 (float)
I_measured_report_filter_k = 1.0 (float)
max_allowed_current = 30.375 (float)
overcurrent_trip_level = 33.75 (float)
gate_driver:
drv_fault = 0 (int)
timing_log:
TIMING_LOG_GENERAL = 0 (int)
TIMING_LOG_ADC_CB_I = 2562 (int)
TIMING_LOG_ADC_CB_DC = 12842 (int)
TIMING_LOG_MEAS_R = 0 (int)
TIMING_LOG_MEAS_L = 0 (int)
TIMING_LOG_ENC_CALIB = 0 (int)
TIMING_LOG_IDX_SEARCH = 0 (int)
TIMING_LOG_FOC_VOLTAGE = 0 (int)
TIMING_LOG_FOC_CURRENT = 0 (int)
config:
pre_calibrated = True (bool)
pole_pairs = 7 (int)
calibration_current = 20.0 (float)
resistance_calib_max_voltage = 4.0 (float)
phase_inductance = 2.2537735276273452e-05 (float)
phase_resistance = 0.043932847678661346 (float)
direction = -1 (int)
motor_type = 0 (int)
current_lim = 10.0 (float)
inverter_temp_limit_lower = 100.0 (float)
inverter_temp_limit_upper = 120.0 (float)
requested_current_range = 25.0 (float)
current_control_bandwidth = 100.0 (float)
In [11]: odrv0.axis0.encoder
Out[11]:
error = 0x0000 (int)
is_ready = True (bool)
index_found = False (bool)
shadow_count = 2 (int)
count_in_cpr = 2 (int)
interpolation = 0.5 (float)
phase = -1.5195980072021484 (float)
pos_estimate = 2.975128173828125 (float)
pos_cpr = 2.975128173828125 (float)
hall_state = 2 (int)
vel_estimate = 0.0 (float)
calib_scan_response = 0.0 (float)
config:
mode = 1 (int)
use_index = False (bool)
find_idx_on_lockin_only = False (bool)
pre_calibrated = True (bool)
zero_count_on_find_idx = True (bool)
cpr = 42 (int)
offset = 15 (int)
offset_float = 0.9511094093322754 (float)
enable_phase_interpolation = True (bool)
bandwidth = 100.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)
set_linear_count(count: int)