I'm a CNC newbie, running a small 3020 CNC mill with an Arduino Uno, a CNC shield 3.0, GRBL and Universal GCode Sender on Mac OS X. The system worked more or less flawlessly the last time I used it a couple of days ago.
Today I can't control the mill anymore. Now to put hours of research and testing into a short status quo: If the CNC shield is plugged into the Uno, the serial monitor stays blank. If I try to upload a sketch I get the "avrdude: stk500_recv(): programmer is not responding" message.
However, if I unplug the CNC shield, Arduino immediately talks to me (e.g. I can change GRBL settings).
The only differences between the last time it worked and today are:
I have installed a Mac OS X security update (coincidence?)
I have moved the mill some 5 meters between place A and place B in my apartment.
Do you mean that the Uno is a standard feature of the mill? My 3018 CNC mill came with a custom PCB and a nano clone plugged into it?
"3020" seems to be a designation for two very different types of mill - one very like the 3018 and the other altogether more robust. Which one have you got?
thanks for your reply. Think that my mill might be one of the machines that you are calling "more robust", and it came with the "standard" Win XP - parallel port - PCB setup. Being a long time Mac user, I converted the machine to Arduino/CNC shield/GRBL in order to make it more usable for me.
I also soldered a optocoupler PCB like the one described in the GRBL wiki since there were a lot of electrical noise problems. And I later switched my Chinese Uno clone for a genuine Arduino which again reduced problems a lot.
As for your last question: It seems that the USB-connection itself does work. It's only that the Arduino does not respond to commands over the serial port monitor, e.g. a "$$" command is not being answered as long as it is connected to the shield. The shield itself is connected to the stepper motors, to the optocoupler PCB, to a 24V source (coming from the stock Chinese spindle controller board) and to the emergency stop.
rockabyte:
The shield itself is connected to the stepper motors, to the optocoupler PCB, to a 24V source (coming from the stock Chinese spindle controller board) and to the emergency stop.
What happens if you disconnect all that stuff from the shield?
I followed your advice to start simple and to pull wire by wire from the cnc shield to see what happens. I started with the E-Stop wires, and my Arduino immediately started to work like it should. The emergency stop button had been locked.
Not sure if I ever will become a CNC hero, but at least my little mill is working again. Thanks again for this advice, and if anyone is currently writing debugging instructions for CNC shields: Don't forget "check if the emergency stop button is locked".
Thanks for the update - good to hear it is working.
I suggest the ESTOP button should be wired so it just cuts off power - especially for the motors. An Arduino should not be part of an emergency circuit in case the Arduino code fails