[Testing hypothesis] Everything going great until it just stops

I cannot for the life of me figure out what is wrong. My design will cut perfectly, no issues, until it just suddenly stops. The motors stop going in any direction and the spindle is just left there running but nothing to cut. I have done a few different projects, and maybe only half of them have had this sudden stop problem.

Please help! Christmas time is almost upon us!

Can you give a little more detail? What software you are using and post your project file?

This has just happened to me 2 days ago. I was cutting out a sign that was created in Easel. It cut out the bottom 2 lines of text, then a picture in the middle, then the first line of text, but suddenly stopped like Candace is describing and all it had left was the second line of text, which was 3 words. I had to create a new project in Easel with the last 3 words to finish the project.

Sounds like the arduino is using too much USB power. If you have multiple devices plugged into your computer’s USB ports, unplug them. Also, people who have had this problem seem to resolve it by using a powered USB hub. I’ve seen the same issue on many different USB devices in my day, and it’s funny that it’s still an issue with computers to this day. The arduino does have a power jack but it’s hidden inside the case and a power adapter is not included with it, so it must rely on whatever the computer is able to provide via USB, which isn’t much, especially for something as demanding as the arduino with its two ATMega microcontrollers.

Another potential problem could be if the brushes on your spindle are worn down the EMP from the sparks on the brushes can be enough to cause the usb connection to the auduino to drop (sounds strange but I have had this problem a few time). If the stopping location is random this is something to check.

I’ve seen this explaination used in multiple posts on this forum, without much to back up the theory.

I have measured the current draw on the USB port and it’s only 50mA. Most run of the mill USB ports can drive 500mA which is ten times the draw that the Arduino/gShield requires.

I think it’s some other issue and I’m not sure why a powered USB hub makes a difference, however, in practice I know that it does.

I’ve never seen this problem with any other device, so it could be an Arduino USB implementation issue.

1 Like

That’s always been the cases that I’ve witnessed USB power failing: the devices never seem to be capable to use up all of the USB power but they do. I’ve seen with my own eyes when there are multiple USB-powered devices plugged in, they start becoming ‘unpredictable’. I cannot explain why, only that I know it’s a real thing that happens: especially in the cases where some people are not running their machine from an actual desktop PC with a 400 watt power supply. EDIT ie: from a cheap tablet, notebook, etc…

I think your instinct is probably right about the arduino’s USB interface though… But it could be just as simple as a budget motherboard not supplying current consistently as well.

EDIT what I would like to see is someone who is experiencing these stalls to have a console output of everything GRBL is relaying back over the USB, and see if it’s resetting (ie: shows its little startup text). It could be Easel itself, perhaps? Has anybody experienced random stalls outside of Easel?

I ran my machine from an unpowered usb hub for 4 months no problems and one day it wouldn’t recognize the arduino. I plugged it straight in and it found it again. Black magic, I say.

1 Like

This type of problem is usually caused by electrical interference or power supplies. Sometimes simply moving the spindle AC power cord out and well away from the controller, computer, and USB cable can fix it. Other times, a USB cable with a ferrite core will help tremendously. Even plugging the spindle into a separate outlet is required or on an entirely different household circuit. I’ve even seen external aspects effect communication, like a shopvac, dyer, or saw running, that would create a large power spike near the machine.

1 Like

Absolutely. That 60 cycle hum from motors on an outlet are hell on electronics. I remember one time I was having a problem with some audio gear and it was all because of a fan plugged into the same run of electric.

@candace how are you doing dust collection? @FrankGraffagnino might have some ideas.

I have my shop vac plugged in on a different circuit, so I use that sometimes, but I don’t have anything permanently rigged because I haven’t really found a way that will work

Sorry, I draw in Illustrator and then use Easel, the toolpath in Easel looks good, no red spots where it can’t cut etc (it was just the Led Zeppelin logo, nothing fancy at all)

can you link to the file so we an open it and look at it? I can try to run it myself.

I’m sure it will run with no problems, that’s what drives me most insane about it, is that it seems totally random when it stops

If you are running on Windows, one thing you can do is check in Device Manager to see if the Arduino COM port is still there when the carve stops. This would tell you whether or not it is likely to be a USB issue.

The random nature of the problem points in the direction of electrical noise.

Do you have homing switches? Are soft or hard limits enabled?

1 Like

I agree with @LarryM @FrankGraffagnino was having the same problem and he was trying to pin point what was happening. He had a hypothesis that the vacuum was creating static electricity that was then discharging and causing the failure. He disconnected his vacuum completely, unplugged it, and re-ran the carve and it worked fine. I was wondering if you could run the same test.

What kind of climate do you live in? Is it really dry in the room? This is just a hypothesis but it did just start happening and so far everyone who it’s happened to has had a vacuum connected. I don’t know if this is indeed the reason but it seems plausible since the weather just changed.

I read that once before that the vacuum could be causing some sort of static interference, but I didn’t have my vacuum on when the problem happened. I also have my vacuum on a separate circuit, because I don’t have enough sockets in my spare bedroom. But I have run my vacuum while carving several times with no problems.

I live on the ocean, so its never dry anywhere, western Canada.

I can try unplugging my vacuum completely, but as it was off and nowhere near the table/electronics, I’m not sure that’s the answer

Are you using the limit switches? Also which spindle do you have?

here’s my $0.02 after dealing with this for a while. Sorry for the long post, but I think the details of my journey might help others.

First off, if you have limit switches installed and you don’t have some sort of active noise filtering (like either opto-isolators or relays or something that is driven by current), then really all bets are off. I did some experiments years ago with limit switches and just pull up/down resistors and was seeing VERY high noise from just the stepper motors alone, not to mention external factors of spindles, vacuums, shop equipment, fluorescent lighting, etc. There were folks on the shapeoko forum showing oscilloscope captures with over 3 volts peak-to-peak just from the motors. (I still can’t understand how isolating these isn’t part of the G-shield itself). So again, if you have limit switches and are just relying on a strong pull up or pull down resistor, you are asking for an alarm in the middle of a long job. It might work now, but eventually, it is going to trip. Those wires to the limit switches are effectively big, long, antennas.

So, I added some circuitry to opto-isolate all of my limit switches and even my push button inputs. Things ran fine for many months and many cuts. Just yesterday I was doing one of my longer jobs and removing lots of material and making lots of dust. Right in the middle of the job, easel stopped. I checked and the COM port had completely disappeared from Device Manager. So, I updated to the latest drivers for the Arduino.

Luckily I wrote down the machine coordinates of my zero point so I reset and cut again. About a third of the way in, it stopped again, but this time, the COM port was still there (so I’m guessing the driver update must have helped).

I decided it might be Easel Local. So, I uninstalled Easel Local, reinstalled so I could upgrade to the latest, reset my zero, and cut again. Once again it stopped. I decided to try another computer and another GCODE sender.

So, I downloaded the GCODE from Easel and ran it through Chilipeppr with the SPJS running on a raspberry pi 2 (so completely different USB port, power, operating system, everything). I ran with Chilipeppr and it ran for a while and then stopped. GRBL was going into Alarm and presumably, I just couldn’t see it in Easel. I cut again, and saw that it was reporting a limit alarm. That’s weird - I’m not anywhere near any limit switches! And I don’t think there could be enough electromagnetic interference to light up an LED in the opto-isolator. What could be tripping it?

In any case, I’ve got stuff to do before Christmas, so I issued a “$21=0” to disable hard limits. Then I re-ran. Amazingly, it still stopped even with GRBL ignoring the limit switches. I checked it and it didn’t say alarm, but basically all of GRBL had locked up. It did this a few more times so it wasn’t a one time thing.

So, I was convinced something is affecting the Arduino and since it has happened on two different computers, I don’t think it is USB or software related. I noticed something peculiar though. All that dust I was sucking up through my dust deputy cyclone… it was sticking to the outside of the hoses and to everything. If I passed my finger over it, the dust would jump up to cling to my finger! I remembered that when I bought the dust deputy, it came with some metal tape for controlling static electricity and I just tossed that aside, “bah… who needs that”. That made me wonder if all this dust I was sucking up was building up huge potential of tens of thousands of volts. So, I turned it off and cut for a while. When the dust became too much, I started sucking up dust straight to the vacuum without the cyclone. I finished all my cuts with no resets.

So, am I crazy? Apparently not. Watch this: https://www.youtube.com/watch?v=jqsMYftsMNM

Given that a rough estimate of the dielectic breakdown of air is somewhere around 70,000 Volts per inch, a big ol’ zap like those could be tens of thousands, or even hundreds of thousands of volts. This tells me that along with proper noise insulation on limit switch lines, if folks are using dust collection, we are going to have to figure out ways to ground everything and dissipate the static buildup from the dust removal.

I’m 80% convinced that this is what was zapping my Arduino in the middle of a job. In closing I would:

  1. Make sure you have active (not passive) filtering on any limit switch inputs to the Arduino. Also, the power supply on the input side of your isolation should be the 24 V supply and not the 5V that the Arduino is running on. Keeping those power supplies completely isolated is important.
  2. Update your serial port driver using the latest from the Arduino package.
  3. Update Easel Local to the latest if you haven’t already.
  4. If you are running with dust collection, take proper steps to dissipate the static electricity buildup.

OK, sorry for the extremely long grandpa rant. I hope that helps someone.