Constant ILLEAL STATE plus motor phase resistance and inductance 0.0 nan

Any requested state change returns to 0 (INVALID state). double checked all configuration values with post on hoverboard setup page motors will not turn. my Motor phase inductance and resistance are either 0.0 and 0.0 or 0.0 and not a number nan. odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION turns on motor for less than a second. Any other requested states do nothing and return state 0. odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL set velocity to 2 nothing happens and state return is still 0. I have been trying to get this controllers to turn motors for 3 days straight no with no luck, I erased config before I started entering values from the hoverboard guide on web page. I scoped hall sensors and see clean pulses when I turn motors on all pins. I’m at a total loss. and ready to write off the $200 spent on this board. Is there someone who could point me in a direction where I can see some progress. Thank you all, Rusty Grieb.

  1. What firmware are you running? Have you tried updating with odrivetool dfu?
  2. If phase resistance and inductance are measured as 0 or NaN after calibration, then obviously you have a problem and it is pointless trying to move to the next step until we can sort it out…
  3. What do you get from dump_errors(odrv0, True) after you try the calibration sequence?

Thank you so much for responding, I’m really down in the dumps over this. odrivetool is 5.4 HW version is 3.6 var 56. Firmware is 0.5.4.1 No errors on dump, after running motor cal I get motor error 1 MOTOR_ERROR_PHASE_RESISTANCE_OUT_OF_RANGE. I agree 100% motor calibration is root of evil. I measured very low resistance between all 3 wires, double checked all connections, and tried 2 different motors. I also went through changing odrv0.axis0.motor.config.resistance_calib_max_voltage and odrv0.axis0.motor.config.requested_current_range as per troubleshooting errors on web page. same results. One motor returned 0.0 and 0.0 for inductance and resistance, the other 0.0 and nan. I also tried sensorless mode but if motor fail, as expected that did not work either. I believe the motors are OK as when running motor cal if I try to turn wheel I feel the motor pulling back in opposite direction. It bails out of MOTOR_CALIBRATION
almost immediately. I have not tried device firmware update, scares me a little that could brick it. I am running Anaconda and did pip install --upgrade od rive. and reported everything satisfied. I am basically a retired HW engineer and and C programmer, I know little python. Thanks again, Rusty… I just moved everything and configured axis1 to check if axis0 had issue, got same results as axis 0…As an added note: I received today one of the $18 amazon RioRand analog controllers (no feedback or control loops, just PWM or voltage in), but both motors spin perfectly using these, but obviously there is not near the control and options that odrive provides that I really want to use in this project.

Are encoders used or can they effect motor calibration. I found the ABZ lines extremely noisy while motor runs. This was causing major spurious interrupts in my arduino analog lash up. I’ve built a filter board which cleaned them up, however when I re-connected the Odrive setup, it still fails with resistance and inductance being 0.0. I used .01uf caps, I see Odrive board has 3.3k resister pullups on lines.

Are you using the ferrites? They help a lot.

No, I haven’t tried beads as yet, OScope shows the caps helped considerably, Bandwidth may not show high freq noise, however the Arduino input is not being false triggered now. I am about out of tricks to get past the axis0,1 MOTOR_CALIBRATION to complete, as soon as motor is turned on, it shuts off immediately. with R and I values of 0. I have tried with NO encoder inputs also, but would like to know if they are needed for cal, since board will operate sensor-less mode, I assume cal should pass without them. One thin that is a little confusing entering motor configuration values < motor KV >, and the variable measured KV I take is motor voltage in KiloVolts. this seems odd.