Hi! My Name is Tucker, I am an MAE student at WVU. I bought 3 3.6 54v ODrive Motor controllers recently, and am having trouble communicating with them. I am using a Windows 10 machine.
I got two of them configured and working using odrivetool. I went to do further configuration a few days later, and I was not able to get odrivetool to connect. If i run odrivetool in anaconda prompt, I get this:
(base) C:\Users\URC>odrivetool
ODrive control utility v0.4.11
C:\Users\URC\Anaconda3\lib\site-packages\fibre\shell.py:104: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('import sys')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
C:\Users\URC\Anaconda3\lib\site-packages\fibre\shell.py:105: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('superexcepthook = sys.excepthook')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
C:\Users\URC\Anaconda3\lib\site-packages\fibre\shell.py:106: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('def newexcepthook(ex_class,ex,trace):\n'
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
C:\Users\URC\Anaconda3\lib\site-packages\fibre\shell.py:109: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('sys.excepthook=newexcepthook')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Please connect your ODrive.
You can also type help() or quit().
In [1]:
ODrive #1 is recognized by the computer (and shows up in the device manager), but ODrive #2 does not. I messed with the drivers with zadig, but no dice on that route.
After googling, I figured it might be a firmware issue, and tried upgrading the firmware with
odrivetool dfu
This returned errors, which were the same as this topic. The topic says that this method of flashing firmware doesnt work, so I tried to use the DfuSeDemo route of upgrading firmware on the odrive that windows recognized. It refuses to show up in DfuSeDemo. (DFU switch, deleting drivers, changing drivers with zadig, and steps 9.1/9.2 in the link above)
Now, even when not in DFU mode(even after power cycling), the ODrive will not be recognized by windows. At this point I decided to pull my fresh, 3rd ODrive out of the box, and try connecting to it. I could, no problem. I then tried updating the firmware on it using DfuSeDemo, and now it refuses to connect to my laptop.
Other info:
- ODrive #1 & #2 are connected to two motors and hall effect encoders, and have the brake resistors connected. ODrive #3 is not connected to any motors or encoders.
- All ODrives have the heatsinks in place
- ODrives #1 & #2 still work using the config that was placed on them before I lost the ability to change it.
- I had these configured to receive PWM signals from a receiver/arduino on GPIO 3 and 4, following
the guide on the ODrive documentation (I would link it, but I am limited to two links in a post) - My PC picks up the STM32 BOOTLOADER if iâm in the dfu dipswitch mode
TLDR: I have 3 ODrives that will not connect to my laptop. What should my next step be to debug?