I am currently working on a system that involves ODrive, roboRIO, teensy and multiple other sensors. ODrive is powered by 12S lipo battery while roboRIO and teensy are powered by a 4S lipo battery. ODrive is communicating with roboRIO using CAN (ground between ODrive and roboRIO is connected), while teensy communicates with roboRIO using UART (Tx, Rx, GND). Here is a simple schematic of the system
What I have been noticing is that whenever the ODrive puts the motor in the closed-loop control mode, it creates a large dc offset and high noise on the load cell readings that are amplified from teensy side. I think this is definitely a ground loop issue. I was wondering if using a USB isolator for the roboRIO-teensy communication would be helpful for my problem.
To further eliminate this ground loop, should I consider adding a CAN isolator? I found most of the CAN isolators not suitable for roboRIO-ODrive communication since CAN transceivers are already embedded in the roboRIO and ODrive. The closest thing that I can find is CAN repeater similar to this
Any thoughts would be appreciated!
Best,
Chenzhang