543,675 active members*
2,191 visitors online*
Register for free
Login
IndustryArena Forum > OpenSource CNC Design Center > Arduino > Arduino CNC Shield GRBL not working
Results 1 to 15 of 15
  1. #1

    Join Date
    Mar 2021
    Posts
    23

    Arduino CNC Shield GRBL not working

    Its my first effort to setup CNC for now I'm using two axis X and Y to build a pen plotter or may be getting them move is enough.

    I'm setting up Arduino CNC Shield with DRV8825 drivers on it, stepper motors are RB 17HD0004-7 they are 12V 0.28A I set the DRV8825 accordingly, connections are as below

    Motor DRV8825
    1. Black....... A1
    2. N/A
    3. GREEN....B1
    4. BLUE.......A2
    5. N/A
    6. RED.........B3

    After that i wrote an Arduino based simple program to move motors X and Y and I was able to move both motors in both directions by just sending pulse.

    Now it was the time to download GRBL, after upload GRBL to Arduino and connect through Universal GCode Sender
    On setup wizard I setup limit switch as i have installed two for homing the machine, on wizard window i was able to see switches are working and they are normally open. (by pressing switch it shows RED and normally it shows GREEN)

    From UGS Jog I can move motors to X and Y directions (both plus and minus directions) If i send command G28 X5 axis moves as expected.

    When i press Home button on the UGS motors make a squeaky sound and do not move at all, if I try to move axis by hand they are badly stuck, if i turn of the power again I can move both axis smoothly by hand. I have been spent more than 3 days to solve this issue but no luck.

    Here are the current GRBL settings.

    $0=10 (step pulse, usec)
    $1=25 (step idle delay, msec)
    $2=0 (step port invert mask:00000000)
    $3=0 (dir port invert mask:00000000)
    $4=0 (step enable invert, bool)
    $5=0 (limit pins invert, bool)
    $6=0 (probe pin invert, bool)
    $10=3 (status report mask:00000011)
    $11=0.010 (junction deviation, mm)
    $12=0.002 (arc tolerance, mm)
    $13=0 (report inches, bool)
    $20=0 (soft limits, bool)
    $21=1 (hard limits, bool)
    $22=1 (homing cycle, bool)
    $23=3 (homing dir invert mask:00000011)
    $24=25.000 (homing feed, mm/min)
    $25=500.000 (homing seek, mm/min)
    $26=250 (homing debounce, msec)
    $27=5.000 (homing pull-off, mm)
    $100=1000.000 (x, step/mm)
    $101=100.000 (y, step/mm)
    $102=250.000 (z, step/mm)
    $110=500.000 (x max rate, mm/min)
    $111=500.000 (y max rate, mm/min)
    $112=500.000 (z max rate, mm/min)
    $120=10.000 (x accel, mm/sec^2)
    $121=10.000 (y accel, mm/sec^2)
    $122=10.000 (z accel, mm/sec^2)
    $130=200.000 (x max travel, mm)
    $131=200.000 (y max travel, mm)
    $132=200.000 (z max travel, mm)

  2. #2
    Registered
    Join Date
    Mar 2015
    Posts
    308

    Re: Arduino CNC Shield GRBL not working

    Looking at the numbers and the squeaky sound I think the maximum rate set, is way to high.
    Reduce the max rate 10 times and try again.
    $110, 111,112, 25
    Let us know if it helped!

  3. #3

    Join Date
    Mar 2021
    Posts
    23

    Re: Arduino CNC Shield GRBL not working

    That did not help its same,

    I believe to run G28 X5 command it uses same configurations.

    One more thing, if i moves X & Y axis with jog and then press Return to Zero button it act exactly as it should, sounds like going home position

    There is one more thing i noticed, while in wizard when i press limit switch it triggers alarm, in past it shows me status of limit switch

    How can i fix it, when switch triggers it triggers alarm

  4. #4
    Registered
    Join Date
    Mar 2015
    Posts
    308

    Re: Arduino CNC Shield GRBL not working

    I am puzzled about the sound.

    Try these commands one by one, they will move a axis relative at max rate

    The commands will move one axis at max rate. Checking the max rate
    G0 G91 X100
    G0 G91 Y100
    G0 G91 Z100

    The commands will move multiple axis at max rate. Checking the power supply
    G0 G91 X-100 Z-100
    G0 G91 X-100 Z-100 Y100

  5. #5

    Join Date
    Mar 2021
    Posts
    23

    Re: Arduino CNC Shield GRBL not working

    Those commands works all good.

    I believe first i should solve Alarm issue, whenever i load UGS and connect to Arduino running GBRL on it UGS goes into alarm mode automatically I'm sure its not a correct behavior as in past it does not go in alarm mode upon connecting to arduino.

    While trying to fix alarm issue i came to know if Homing Cycle $22 = 1 then it shows Alarm Alert whenever i connect to device. if i set $22 = 0 it does not show alarm warning on start.

    In past when i press limit switch it shows me status changed but now nothing happens when i press limit switch it shows Alarm warning that means limit switches are working but because of some reason it shows warning, I also re uploaded GBRL firmware on arduino and run all commands to reset $RST=$, $RST=# and $RST=* but not luck.

    Please note that i do not have Z axis as i want to build pen plotter after get my X,Y axis working

  6. #6

    Join Date
    Mar 2021
    Posts
    23

    Re: Arduino CNC Shield GRBL not working

    At last got some success, looks like changing $25 helped, previously i was working something wrong.

    but now limit switch are not working,
    any thoughts why limit switch stopped working?

  7. #7
    Registered
    Join Date
    Mar 2015
    Posts
    308

    Re: Arduino CNC Shield GRBL not working

    When I enable Homing, $22=1, I also get an alarm. grbl starts in alarm state to inform you to first home the machine. You can unlock (bypass this request) by sending the unlock command ($X) or Home the machine by sending the home command ($H).
    [verbose] <Alarm|WPos:-2.660,0.000,-0.120|Bf:33,255|FS:0,0|Se:0.00>
    >>> $H
    [verbose] <Alarm|WPos:-2.660,0.000,-0.120|Bf:33,255|FS:0,0|Se:0.00>
    [Error] An error was detected while sending '$H': (ALARM:9) Homing fail. Could not find limit switch within search distances. Try increasing max travel, decreasing pull-off distance, or check wiring. Streaming has been paused.
    [Error] Error while processing response <An error was detected while sending '$H': (ALARM:9) Homing fail. Could not find limit switch within search distances. Try increasing max travel, decreasing pull-off distance, or check wiring. Streaming has been paused.>
    [Error] Error while processing response <ok>: An unexpected command was completed by the controller.
    You can see the grbl output in UGS by right clicking in the console screen (output screen) and enabling verbose. You can also disable scrolling to make it easier to search for information. You can also use the Arduino IDE (serial monitor) to see the grbl output. This can help locating the problem.
    So enable verbose (or use the Arduino serial monitor), boot the grbl controller and send the home command (it may take a while before the grbl controller sends it output). Copy the grbl output and post it.

  8. #8
    Registered
    Join Date
    Apr 2005
    Posts
    271

    Re: Arduino CNC Shield GRBL not working

    When Homing is enabled, you will always have an alarm at power on.
    Make no mistake between my personality and my attitude.
    My personality is who I am. My attitude depends on who you are.

  9. #9
    Registered
    Join Date
    Mar 2015
    Posts
    308

    Re: Arduino CNC Shield GRBL not working

    Quote Originally Posted by sairfan1 View Post
    Those commands works all good.
    Please note that i do not have Z axis as i want to build pen plotter after get my X,Y axis working
    For 2 axis machines, homing needs some compiler options change because grbl defaults tries to home 3 axis and starts to Home the Z-axis!

    Read this page of the WiKi for more information https://github.com/gnea/grbl/wiki/Tw...Considerations

  10. #10

    Join Date
    Mar 2021
    Posts
    23

    Re: Arduino CNC Shield GRBL not working

    Thanks that was really helpful I configured config.h to use only X,Y axis
    and by setting rate in $25 motors start moving

    now challenge is limit switches when i trigger limit switch i can see in Console verbose state changes to 1 that means it working but:

    - On wizard it does not work (please refer to picture)
    - When i trigger limit switch it goes in Alarm mode, (see lower part of attached image)

    What i expect while seeking home when limit switch is triggered it should stop motors and slowly trigger limit switch again to get precise location (that's what i saw most of youtube videos)

    please note that initially limit switches were working as expected but they don't work anymore, even though i re-uploaded the firmware and reset everything

  11. #11
    Registered
    Join Date
    Mar 2015
    Posts
    308

    Re: Arduino CNC Shield GRBL not working

    I have never used the usg wizard to setup grbl.
    The message seems to indicate a distance is null.
    You should check the grbl settings, maybe ugs has messed up something. (pull off limit, or seek rate or ??)

    What i expect while seeking home when limit switch is triggered it should stop motors and slowly trigger limit switch again to get precise location (that's what i saw most of youtube videos)
    After the limit switch is hit, grbl should pull off and find the switch again using the $24 locate feed rate.

    please note that initially limit switches were working as expected but they don't work anymore, even though i re-uploaded the firmware and reset everything
    Uploading the firmware could reset all grbl settings to defaults.

  12. #12

    Join Date
    Mar 2021
    Posts
    23

    Re: Arduino CNC Shield GRBL not working

    I was able to fix switch issue, i need to reduce de-bounce delay on switch, when axis reach to switch after hitting it, it got a little away from the switch and that was causing no trigger detected.

    I believe, I have one more issue left, I changed the value for travel resolution and now axis moves exactly 10mm as expected, but there is too much vibration on the motors how can i fix it. or what are general reasons for vibration.

  13. #13
    Registered
    Join Date
    Mar 2015
    Posts
    308

    Re: Arduino CNC Shield GRBL not working

    Your are using steppers. Vibration could come from running them at full or half step, especially when running at low speed. Increase the micro stepping and adjust the grbl steps/mm settings.

  14. #14

    Join Date
    Mar 2021
    Posts
    23

    Re: Arduino CNC Shield GRBL not working

    I was not able to fix it yet, I tried following values to update

    $0 Step Pulse time
    $1 Step idle delay

    $100 X Travel resolution
    $101 Y Travel resolution

    $110 X Max rate
    $111 Y Max rate

    $120 X Acceleration
    $121 Y Acceleration

    I also changed M0, M1, M2 jumpers, if i set Microstep to half, 1/4 or 1/8 it become very slow and vibration stays there,
    if i change resolution like 200 with full step only that impacts speed and less vibration rest everything else have not effect

    amazingly setting Max Rate, Acceleration also have almost no effect.

  15. #15
    Registered
    Join Date
    Mar 2015
    Posts
    308

    Re: Arduino CNC Shield GRBL not working

    if i set Microstep to half, 1/4 or 1/8 it become very slow
    If you change the microstepping, you also have to change the steps/mm setting in grbl, than the speed should be the same and the stepper will still travel the requested distance.

    Maybe your driver's output is oscillating!

    - What stepper size are you using
    - what is the amp (A) rating of the stepper
    - What is the output voltage of the powersupply

    Reduce the stepper/driver current until the stepper doesn't rotate any more, than increase is a little bit. Your stepper should run very smooth and pretty silent.

    If it doesn't help, make a short video, maybe that clarifies something.

Similar Threads

  1. Replies: 9
    Last Post: 04-02-2021, 12:07 AM
  2. Arduino Shield CAD-CAM and CNC Software for GRBL 1.1 f
    By fstmar in forum Controller & Computer Solutions
    Replies: 0
    Last Post: 06-12-2019, 01:42 AM
  3. Replies: 4
    Last Post: 03-17-2017, 06:58 PM
  4. Replies: 3
    Last Post: 06-03-2016, 02:48 PM
  5. 3020T Arduino + GRBL + CNC Shield V3 Conversion
    By metropolicity in forum Chinese Machines
    Replies: 2
    Last Post: 09-07-2015, 02:42 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •