DIY-Machines / CNC-DrawingMachine

3D Prtined Arduino CNC Drawing Machine
82 stars 42 forks source link

GRBL issues with CNC Shield from tutorial #2

Open jonesg504 opened 3 years ago

jonesg504 commented 3 years ago

When I got to setup GRBL on my arduino Uno with the CNC shield that I got from your video (amazing tutorial btw, very easy to follow), Im able to flash mi-grbl to the arduino and change the configs no problem. But when I tell it to home with $H i get the following: Grbl 1.1f ['$' for help] [MSG:'$H'|'$X' to unlock] ALARM:8 ok and the steppers just kind of whine for a little bit and don't move. I have double checked all limit switches, wiring and even used a different CNC shield but get the same result. Has anyone else run into this problem?

kr3l commented 2 years ago

It seems the grbl version is different from the one used in the tutorial. In the tutorial the grbl version is 0.9j. I had a similar issue where I had both the 'regular' grbl and the mi-grbl libraries installed, and it seems to confuse both or something when uploading the grbl-mi upload example.

In your Arduino libraries folder, I would remove the folders starting with grbl. Then copy the grbl-mi folder https://github.com/DIY-Machines/CNC-DrawingMachine/tree/master/grbl-mi/grbl-mi to the libraries folder. Then try to build and upload the grbl-mi upload example again. In the terminal, it should mention Grbl Eh Servo 0.9j.

karlg100 commented 11 months ago

I recently flashed an Uno with the same shield, no issues. use the grbl-mi from this project

joehanko commented 2 months ago

It seems the grbl version is different from the one used in the tutorial. In the tutorial the grbl version is 0.9j. I had a similar issue where I had both the 'regular' grbl and the mi-grbl libraries installed, and it seems to confuse both or something when uploading the grbl-mi upload example.

In your Arduino libraries folder, I would remove the folders starting with grbl. Then copy the grbl-mi folder https://github.com/DIY-Machines/CNC-DrawingMachine/tree/master/grbl-mi/grbl-mi to the libraries folder. Then try to build and upload the grbl-mi upload example again. In the terminal, it should mention Grbl Eh Servo 0.9j.

I had the same issue (and seems to be the same issue as #3). Because this repo is using a different version of Grbl (0.9j), removing the library conflict and using the repo's included version of Grbl resolved my issue. ✅

Components used:

Issue Overview: Connected components to CNC shield as per tutorial. Flashed grbl-mi onto Arduino Uno via Arduino IDE. Grbl initialized with v1.1 and was locked (in alarm) as expected per the tutorial. When issuing the $H homing command to grbl, nothing happened initially (the X and Y stepper motors connected to the CNC shield did not move and were stalled in place) and then I got the following error message after about 20 seconds:

Error:

An error was detected while sending '$H': (ALARM:8) Homing fail. Pull off travel failed to clear limit switch. Try increasing pull-off setting or check wiring. Streaming has been paused.
Error while processing response <ok>: An unexpected command was completed by the controller.
Grbl 1.1h ['$' for help]
[MSG:'$H'|'$X' to unlock] 

Troubleshooting: I tried many troubleshooting steps, including:

Solution: Finally, I realized that the expected version in grbl-mi/grbl-mi/grbl.h is expecting Grbl version 0.9j. I had worked with grbl previously in Arduino and had the v1.1 installed. This library conflict meant that my Arduino UNO was being flashed with v1.1 (as you can see in the above error message). To fix the issue, I deleted all Grbl libraries as @kr3l recommended, and finally the homing sequence worked as expected.

I will be looking into how to use more recent versions of Grbl with this project.