In a prior post, I had mentioned that I had communication issues between the PC and Arduino which I attributed to RF noise. @WoodCutter4 asked if I would add a topic to document my effort.
It was about a couple of months ago that I fixed the issue, so I’m not 100% certain I recall all the details but here’s a summary of what I encountered and my solutions.
I had 2 basic issues. While running a part, the CNC would err in 1 of two ways. (sorry I don’t recall the exact message)
1 The cnc would stop moving and “ok” would be displayed in ground control where the g-codes are shown while executing, or
2 The cnc would stop but I would get a pop-up indicating the USB communications had failed.
My electronics were mounted at the top center (back) of the CNC so all cables would reach. I also added a 500w spindle to my system which replaced the Rigid router. The spindle works great, btw.
At first (prior to reading the forums) I assumed it was probably noise from the power because the CNC was in a shop and there were other saws, routers, etc running. Additionally, I had the PC and vacuum plugged into the same 120v outlet. To try to remedy this I bought a 12V power supply (for a PC) and mounted it by the arduino. I then ran clean 12V from the power supply to the shield. This did not not help. Sometimes a part would run and sometimes it would fail. Very frustrating.
I had both my spindle power and signal cable running under the spoil board, so I thought maybe they were getting too close. I separated them but it didn’t help.
After months of struggling, I spent time reading the forum and I found a few mentions of USB issues. I figured I was on the right track but I didn’t realize how sensitive the USB really is.
My final solution (which worked) was:
- replaced the cheap USB cables with cables that have Ferrite chokes on them.
- I put a powered USB hub between the Arduino and the PC. I don’t know if this was necessary, but I didn’t want a weak USB on the PC to cause issues.
- I completely rewired the machine and moved all the power and (power supplies) on the left (back 2x4) side of the machine and all the data on the right side. This, I think is what really helped.
- I ran a 12V wire pair from the 12V power supply up to the board where the Arduino is located.
- I moved my Z axis signal cable so it goes over the top of the machine and down to the sled. I use a old fishing rod to hold the cable up as the sled goes +Y. I left the spindle power cable going under the spoil board.
After this rewire, I haven’t had a single USB failure like I had before. It has been over a month and we have done some largish parts (> 30minutes) with no problems. Before this change, the system would fail randomly, but usually within 5-10 minutes or less of starting the part.
The other issue (#1 above) I assumed was caused by the temperate on the Arduino/Shield. I can’t be sure, but the system just stopped without complaining about the usb. I had read about heat issues and thought that might be an issue for me. The symptom seemed occur after running for a longer time. In the morning when it was cool, I didn’t see that error. After it warmed up outside, I would see it. To try a fix, I installed a 12v fan next to the Arduino, using the same 12v I had run to power the Arduino. This was just a car/truck fan purchased locally for about $20. I haven’t seen that issue since, but I don’t know for sure if the fan fixed it or if it was related to wiring as well. I’m in Texas and the inside temp where the Maslow sits can get to 90 or above and it is still working.
Since these upgrades, I have not had any of the aforementioned issues.
If you have any questions, feel free to ask.