Successfully communicating / controlling a Roboclaw over USB (Raspberry). C++. USB. Boost libraries.
Every so often, probably once every 15-20 mins, sometimes even longer, my program loses control of the Roboclaw. Mostly when the robot has bumped up against something, or too many back-n-forth commands. Whatever the last command was, that's what it will continue to do.
I've attempted to kill the program, re-start it.. some times it is successful in opening communications again, and just sending another command gets the Roboclaw out of that 'stuck' condition.
But not always. Sometimes even though communication is re-established (port opens, no error, etc).. can't seem to get the Roboclaw to respond.
Other times, unable to even re-open serial port.
For both of those , I either have to disconnect/reconnect USB cable, or even power-cycle the Roboclaw.
I have (I think) plenty of separation between high-current area and logic, also have shielded cable, I have ferret coils, etc etc.. Even have a USB opto-isolator.
The Roboclaw and Raspberry have separate power feeds from the main battery.
The oscilloscope doesnt show any real noise on the various lines.