I have five ODrives and can’t get a Hoverboard Motor working or even calibrated.
After extensive tries, updating, refreshing and assuring the hardware is fine, here is my general issues:
Operating System macOS Big Sur
odrivetool Version v0.5.4
Firmware Version v0.5.4
ODrive Version V3.6 56V
ODrive Number (personal) 3
Powersupply MEAN WELL 12V 22A
Motor Hoverboard
Motor Number (personal) 1
Axis Number 0
- After following the hoverboard tutorial the Odrive doesn’t appear after rebooting from terminal
- Powercycling makes it appear
- AXIS_STATE_MOTOR_CALIBRATION only makes the motor beep
- error: 0 (uint64)
- phase_inductance: 0.0003140495391562581 (float)
- phase_resistance: 0.20403261482715607 (float)
- AXIS_STATE_ENCODER_HALL_POLARITY_CALIBRATION makes the motor spin in one direction
- error: 16 (uint16)
- AXIS_STATE_ENCODER_OFFSET_CALIBRATION does nothing
- error: 528 (uint16)
Lets try to refresh the firmware!
- odrivetool dfu (DIP switch on RUN)
- 16:27:28.777217 [LEGACY_PROTOCOL] received unexpected ACK: 218
- Powercylce doesn’t help
- After multiple powercylces and unplugging the USB connection the ODrive was found
ODrive control utility v0.5.4
Waiting for ODrive…
Found ODrive 335B314C3536 (v3.6-56V) with firmware v0.5.4
Checking online for newest firmware… found v0.5.4
You are about to flash firmware v0.5.4 which is the same version as the firmware on the device (v0.5.4).
Do you want to flash this firmware anyway? [y/N] y
Downloading firmware v0.5.4…
Saving configuration to /var/folders/c5/f9jyw7ms6hl4j590tqg6k9vw0000gn/T/odrive-config-335B314C3536.json…
The file /var/folders/c5/f9jyw7ms6hl4j590tqg6k9vw0000gn/T/odrive-config-335B314C3536.json already exists. Do you want to override it? [Y/n] Y
Configuration saved.
Putting device 335B314C3536 into DFU mode…
Erasing… done
Flashing… (sector 6/7)
Traceback (most recent call last):
File “/usr/local/bin/odrivetool”, line 149, in
odrive.dfu.launch_dfu(args, logger, app_shutdown_token)
File “/usr/local/lib/python3.9/site-packages/odrive/dfu.py”, line 512, in launch_dfu
update_device(device, firmware, logger, cancellation_token)
File “/usr/local/lib/python3.9/site-packages/odrive/dfu.py”, line 434, in update_device
dfudev.write_sector(sector, data)
File “/usr/local/lib/python3.9/site-packages/odrive/dfuse/DfuDevice.py”, line 216, in write_sector
self.write(blocknum, block)
File “/usr/local/lib/python3.9/site-packages/odrive/dfuse/DfuDevice.py”, line 108, in write
return self.dnload(block + 2, data)
File “/usr/local/lib/python3.9/site-packages/odrive/dfuse/DfuDevice.py”, line 62, in dnload
cnt = self.control_msg(DFU_REQUEST_SEND, DFU_DNLOAD, blockNum, list(data))
File “/usr/local/lib/python3.9/site-packages/odrive/dfuse/DfuDevice.py”, line 56, in control_msg
return self.dev.ctrl_transfer(requestType, request, value, self.intf.bInterfaceNumber, buffer, timeout=timeout)
File “/usr/local/lib/python3.9/site-packages/usb/core.py”, line 1082, in ctrl_transfer
ret = self._ctx.backend.ctrl_transfer(
File “/usr/local/lib/python3.9/site-packages/usb/backend/libusb1.py”, line 893, in ctrl_transfer
ret = _check(self.lib.libusb_control_transfer(
File “/usr/local/lib/python3.9/site-packages/usb/backend/libusb1.py”, line 604, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 5] Input/Output Error
user@Users-MacBook-Pro ~ %
Here is my hardware setup:
So how should I proceed to get my ODrives working properly?
Thanks in advance!
Marv