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:-
- Do I always have to do a save and reboot every time I change settings
- 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.
- Is the phase resistance and inductance calculated when I run AXIS_STATE_MOTOR_CALIBRATION
- 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.
- 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 ()
----> 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)):
–> 162 self._parent.channel.remote_endpoint_operation(self._trigger_id, None, True, 0)
163 if len(self._outputs) > 0:
164 return self._outputs.get_value()
/usr/local/lib/python3.7/dist-packages/fibre/protocol.py in remote_endpoint_operation(self, endpoint_id, input, expect_ack, output_length)
308 if wait_any(self._resend_timeout, ack_event, self._channel_broken) != 0:
–> 309 raise ChannelBrokenException()
310 except TimeoutError:
311 attempt += 1
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