Hi everyone !
My setup is the following one:
Encoder: LM13ICD20DA10A00 with MR075E060A120M00 so this is an incremental magnetic encoder the cpr should be 120 poles * 200 (interpolation factor) = 24000
ODrive: v3.6
Setup: The encoder is on the pedals’ axis. The reduction ratio between the motor and the pedals is 8 / 36 * 10 / 91 (pedals are slower than the motor)
odrv0.axis0.encoder.config
abs_spi_cs_gpio_pin: 1 (uint16)
bandwidth: 3000.0 (float)
calib_range: 0.05000000074505806 (float)
calib_scan_distance: 2060.10009765625 (float)
calib_scan_omega: 150.0 (float)
cpr: 24000 (int32)
direction: -1 (int32)
enable_phase_interpolation: True (bool)
find_idx_on_lockin_only: False (bool)
hall_polarity: 0 (uint8)
hall_polarity_calibrated: True (bool)
ignore_illegal_hall_state: False (bool)
index_offset: 0.0 (float)
mode: 0 (uint16)
phase_offset: -68 (int32)
phase_offset_float: -0.26711928844451904 (float)
pre_calibrated: True (bool)
sincos_gpio_pin_cos: 4 (uint16)
sincos_gpio_pin_sin: 3 (uint16)
use_index: False (bool)
use_index_offset: True (bool)
odrv0.axis0.motor.config.pole_pairs = 327
During a calib, I’ve checked the signal between:
- GND and +Vcc: 5V
- GND and A (or B): square signal between 50mV and 4.5V at 1800 Hz
- GND and Z: 50mV
I’ve tried to change the config a few times but each time I have Encoder.Error.NO_RESPONSE
when running odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE
. I have some question to understand better the problem,
- What is the
bandwidth
and what value should I set it to ? - Same question for the
calib_range
- What do you think about the other settings ?
- To what value should I set the pole pairs, the one of the motor or the one of the motor / my reduction ratio ?
- Is the resolution too high for the ODdrive ?
- Do you have any idea what I could check or change ?
Thank you for your time !