Phase_resistance error

Hi,
I managed to get a hoverboard motor spinning at different velocity following the hoverboard example.

And then i did odrv0.erase_configuration() so I can repeat the steps to make sure I understood everything. But I was having problems.

I followed all the instruction as before and when I did AXIS_STATE_MOTOR_CALIBRATION i get error = 0x0001 (int) and ERROR_PHASE_RESISTANCE_OUT_OF_RANGE (phase resistance and inductance are 0)
My firmware version is v0.4.11-dev
I even tried setting the phase resistance and inductance to the value in the instructions.

some of the questions I have:-

  1. Do I always have to do a save and reboot every time I change settings
  2. How to find out the odrive board is OK, any diagnostics I can do make sure. If the light is green does that mean the board is OK.
  3. Is the phase resistance and inductance calculated when I run AXIS_STATE_MOTOR_CALIBRATION
  4. Can I play around with the current or other settings to make it work. What are the main settings just to get error free state e.g is pole pairs, voltage ect.
  5. Is it possible to damage the board or motor if I use wrong settings

Also everytime i do reboot I always get the following, is that normal:-
Oh no odrv0 disappeared

ChannelBrokenException Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/fibre/shell.py in ()
1 odrv0.erase_configuration()
----> 2 odrv0.reboot()

/usr/local/lib/python3.7/dist-packages/fibre/remote_object.py in call(self, *args)
160 for i in range(len(args)):
161 self._inputs[i].set_value(args[i])
–> 162 self._parent.channel.remote_endpoint_operation(self._trigger_id, None, True, 0)
163 if len(self._outputs) > 0:
164 return self._outputs[0].get_value()

/usr/local/lib/python3.7/dist-packages/fibre/protocol.py in remote_endpoint_operation(self, endpoint_id, input, expect_ack, output_length)
307 try:
308 if wait_any(self._resend_timeout, ack_event, self._channel_broken) != 0:
–> 309 raise ChannelBrokenException()
310 except TimeoutError:
311 attempt += 1

ChannelBrokenException:

Can i do the diagnostics without connecting the hall sensors

I got it working again by Setting voltage to 4 and current to 6. Current above 6 gives error 0x0001

Thanks
Krish

Hey Krish,

To answer your first question, yes every time. When it comes to your ODrive health, the green light just indicates power, when you error dump you can check the controller to see errors. I have broken an ODrive in the past by having it plugged in for +12 hours. When it comes to phase resistance in the many I times I have encountered that error it stemmed from the wire in the connectors being too tight, loose, or thin. Look on the getting started page for more information on motor and board voltage, there is too much to explain in one post. And finally yes it is possible to damage the board if you use the wrong settings, I have in the past.

To reconnect the ODrive after save and reboot
import odrive
odrv0 = odrive.find_any()

If you have any more questions feel free to ask, I have used hoverboard motors in the past and know how to fix a couple of common issues. Also, you should post your code to add to the community!

Thanks for the extra info.