USB Connection Unreliable when Printing
-
@matt3o said in USB Connection Unreliable when Printing:
@dessiverse I don't have experience with octoprint, but it's sometimes suggested to cut the +5 from the usb cable. I don't know if that is suggested for the duet. They talk about ground loops and as far as I understand that would be a different problem.
USB ground loops can disrupt the comms. If you are running Octoprint on a PC then they can be hard to avoid while maintaining safety, except by using a USB isolator. As an absolute minimum, power the PC and the 3D printer and nothing else from the same mains distribution block. If you are running Octoprint on a Pi then they can be avoided, by using a typical RPi PSU (without a ground connection) to power the Pi.
-
@dc42 I am using the correct power supply though. I think it’s a USB issue, I had this sort of thing on the ender 3 a while ago
EDIT: Correct Power Supply for the Pi I mean
-
@dessiverse try with a different cable then and maybe add ferrite beads
-
ADUM3160 usb isolators are awesome for solving issues with ground loops
https://www.aliexpress.com/item/4000125240219.html
https://www.aliexpress.com/item/1005001877763774.html
https://www.ebay.com/itm/283836100887it's cheap and solves the problem by completely isolating USB. I use it on all equipment that has contact with high voltage (12V is high voltage as 12V on the USB data line will kill the USB port on the PC and probably a whole motherboard too depending on the day you are having)
-
Tried a new USB cable that I knew worked before, and having the same issue. I'll have to order the USB isolator and see how that goes.
-
This problem is also happening specifically when
G29
is running, not at any other point. -
@dessiverse said in USB Connection Unreliable when Printing:
This problem is also happening specifically when
G29
is running, not at any other point.What exactly is the problem? It's normal with GCode that each command is completed before execution of the next one from the same input channel starts. So if you send G29 from USB, then you can't get responses to further commands sent over USB until the G29 command completes.
-
@dc42 The problem is that when trying to print via OctoPrint there's an error being thrown
Too many consecutive timeouts, printer still connected and alive?
So I can't use OctoPrint with the Duet board. It seems like this problem is happening specifically whenG29
is running. -
@dc42 I think I realized the problem.
G29
doesn't give a response until the probing is completely finished, causing the issue. Is there a way to have it update as it's going? -
@dessiverse
This may be a red herring but ... for what its worth ...A year ago I was using Octoprint with std (8 bit) Creality controller and often got those errors - during actual prints, nothing to do with G29. Printing from SD did not exhibit the errors. UNfortunately - at that time - Octoprint did not have a very reliable download to SD card capability either.
This is what caused me to go get a Duet2 Wifi and use DWC. I'm very glad I did. Zero communication issues of any kind.
Things may have changed with Octoprint over the last year but maybe not. I do not want to steer you away from investigating other causes (like ground loop) but it's possible this is an Octoprint issue.
-
@stuartofmt It's definitely not a ground loop issue. The problem is Octoprint is waiting for a response when running G29, and it's not getting one because the duet doesn't send anything until it's done. No other commands can be run during that time either so it has no way of know it's still connected.
-
It's been a while since I've used octoprint, but doesn't it have a timeout setting you can turn off so that it ignores timed out commands?
-
@dessiverse said in USB Connection Unreliable when Printing:
@dc42 The problem is that when trying to print via OctoPrint there's an error being thrown
Too many consecutive timeouts, printer still connected and alive?
So I can't use OctoPrint with the Duet board. It seems like this problem is happening specifically whenG29
is running.There is config in octoprint to tell it about "long running commands" that will solve this problem for you.