Unable to use ODriveSerial when not connected to USB


#1

I am working with the Serial ASCII protocol to interface with the 48V ODrive 3.5.
I have found that when I connect to the drives USB port on my computer (even without ODriveTool running) I am able to send serial packets fine and observe the expected responses. However, when I unplug the USB cable, I am immediately unable to communicate to the ODrive.
ODrv%20USB%20Unconnected

In the picture above, data next to “—>” is what I am receiving from the ODrive on Serial. You can ignore the "0"s. That is just a debug print. As soon as I re-connect the USB to my computer I am able to control the drive through Serial once more.

I tested to make sure it was not a power issue by connecting the USB to an AC Power converter (Phone charger) and was still unable to connect.

I believe the increase in garbage outputs due to noise on the AC line.

I have also attempted all configurations of the nearby SW2 to no avail.

Is there a setting on the ODrive that I am missing to enable Serial control while not on USB?
Is there a reason Serial stops working when I am disconnected from USB data?
Is there a way I could hack the USB to trick the ODrive into thinking it is connected?


#2

Can you show your wiring scheme? Did you make sure to also connect the GND of the ODrive to that of the controller?


#3

That was it. I had:
Tx–>GPIO2
Rx<–GPIO1

but no ground connected. When the ODrive was connected to my computer its ground would have been at the same potential as my microcontroller as they were both connected to my computer through USB. Since I didn’t see any errors, I didn’t have GND jumpered together.

I just tested it again on my old setup and received the same result. I connected the grounds and everything worked fine.

Thank you