Welcome to Our Community

Some features disabled for guests. Register Today.

Ask Grbl CNC questions here.

Discussion in 'Control Software' started by Sonny Jeon, Aug 12, 2015.

  1. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 6, 2013
    Messages:
    3,458
    Likes Received:
    1,915
    I added laser control to SketchUcam in a recent release, so you could try that.
    SketchUcam is a plugin for Sketchup.
    Download from http://www.phlatforum.com/xenforo/threads/sketchucam-download.3128/

    Once you have it installed you can read the help on using the laser output (big blue question mark in toolbar).
    It does support controlling laser power using the spindle PWM.

    If you have not used Sketchup + SketchUcam before, there is video...


    You will want to use 'centerline' cuts for engraving.

    Inkscape has a laser mode too, but I could not get it to work, must have missed some fundamental setting somewhere :)
     
    MaryD likes this.
  2. the1pro52

    the1pro52 New
    Builder

    Joined:
    Sep 8, 2016
    Messages:
    3
    Likes Received:
    1
     
  3. the1pro52

    the1pro52 New
    Builder

    Joined:
    Sep 8, 2016
    Messages:
    3
    Likes Received:
    1
    thank you david for the quick reply well gui? dont know what that means i uploaded the instruction pdf that came with the unit as you can see its not in english . I have read almost everything about grbl controll but no instruction on how to set x-y-z . I dont know if your instruction will work with the grbl that i have but I'm will try anything at this point. thanks to all
     

    Attached Files:

    MaryD likes this.
  4. Scott Watson

    Builder

    Joined:
    Sep 3, 2015
    Messages:
    14
    Likes Received:
    4
    Hi i'm new to this forum and just finished building the ob Routy cnc machine and I am having a few problems that hopefully someone here has already dealt with and has knowledge of. I am using the grbl controller software with an arduino and cnc shield v3. I have done all the g code files for the ox already and tried it out on the routy, but everytime i run the code its like it blows up the size of the parts 2 or 3 times the actual size. I have tried everything I know of to find the problem but no success. I am not fluent in the code for the grbl controller and should probably start learning it cause im sure it has something to do with it. any help would be greatly appreciated.
     
  5. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 6, 2013
    Messages:
    3,458
    Likes Received:
    1,915
    GRBL has settings for steps/mm, you need to set those correctly otherwise the motion will be the wrong size.
    You need to read this
    and this to calculate the initial values
    or you can use this to calculate the settings for GRBL
    (yes, that is the famous DrRob's calculator now updated for GRBL0.9 and hosted on my server because DrRob is busy with other stuff, you saw it here first folks)

    and then this one about calibrating:
    with a more full discussion here
     
    Scott Watson and Mark Carew like this.
  6. Mark Carew

    Mark Carew OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Jun 28, 2013
    Messages:
    2,758
    Likes Received:
    2,440
    I say this is the one and I say this because I make this mistake every time I set up a new machine ;)
     
    Scott Watson likes this.
  7. Scott Watson

    Builder

    Joined:
    Sep 3, 2015
    Messages:
    14
    Likes Received:
    4
    Thank you very much for the info. The links are informative and exactly what I needed to get this routy up and routing. Hopefully these numbers will fix the problem, I will probably have questions in the near future so thank you again for the quick response.
    Scott
     
    Mark Carew and David the swarfer like this.
  8. Jbh

    Jbh New
    Builder

    Joined:
    Dec 7, 2015
    Messages:
    1
    Likes Received:
    0
    Hello. Have had my machine running for a few weeks now and have sorted a lot of issues myself. I have an issue where the accuracy of my machine changes between inside and out side cuts. My setup is

    $0=10 (step pulse, usec)
    $1=255 (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=5 (homing debounce, msec)
    $27=5.000 (homing pull-off, mm)
    $100=13.36 (x, step/mm)
    $101=13.36 (y, step/mm)
    $102=51.800 (z, step/mm)
    $110=3000.000 (x max rate, mm/min)
    $111=3000.000 (y max rate, mm/min)
    $112=1000.000 (z max rate, mm/min)
    $120=150.000 (x accel, mm/sec^2)
    $121=150.000 (y accel, mm/sec^2)
    $122=100.000 (z accel, mm/sec^2)
    $130=1230.000 (x max travel, mm)
    $131=815.000 (y max travel, mm)
    $132=80.000 (z max travel, mm

    In the photo it shows actual measurements on the cut out part. Inside / outside cuts should be 20mm (I have checked the Gcode file as being correct). The inside cuts seem to be higher and outside lower. The 3 internal holes should be 9.4mm x 20mm.
    Total width is accurate at 100mm so I have got the calibration right.
    Any suggestion? I'm running at 1/8 steps but also same at 1/4 steps. By my calculation I should have an accuracy of .075mm. I have an OX CNC machine.
    Any suggestions would be appreciated.
     

    Attached Files:

  9. Sonny Jeon

    Sonny Jeon Well-Known
    Staff Member Moderator Builder

    Joined:
    Aug 6, 2015
    Messages:
    165
    Likes Received:
    66
    It's hard to tell without knowing how you are cutting, conventional or climb cutting and if you are doing a finishing pass. But, this is usually related to some play in the machine and/or doing too aggressive of a cut. Machines are not infinitely stiff and material have internal stresses that move the material after its cut (each material is different). Usually machinists will do a roughing pass to get close to their target, the follow up with a finishing pass that lightly cuts the material to get to spec. How close they get in the roughing pass is dependent on the material and the tolerance required.
     
  10. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 6, 2013
    Messages:
    3,458
    Likes Received:
    1,915
    For a change, this is not a moan or complaint or question (-:

    Instead, I achieved something cunning and think others should have a chance to find out 'howto'

    I am busy on a project that needs a lot of milling work, since I only have a small lathe (Myford ML7) the milling is slow, with feedrates around 30mm/min.
    This gets boring since my cross-slide has no power feed, and being boring it is hard to keep the feed even when turning the handles by hand, ones tends to hurry toward the end of each cut.

    Enter GRBL, 1 Big Easy Driver, 1 NEMA23 motor and a 24v power supply.

    But to run GRBL you need a computer, and I have no space in the workshop for a computer (it is 10'x10').

    and then I had an aha moment. Startup strings!

    I set
    $N0=G4P3
    to give some startup delay
    then I set
    $N1=G1X75F30
    so X feeds 75mm after startup. The actual material is 60mm long so this moves the cutter from before part to clear out the other side.

    So for each cut I just had to reset the Arduino and wait for it to boot and then start the 75mm feed.

    To drive the handle I made a simple 'fork' from some 12x12mm steel bar and some 5mm bolts, I just hold the motor so that the fork engages the leadscrew handle, simple.
     
  11. Sonny Jeon

    Sonny Jeon Well-Known
    Staff Member Moderator Builder

    Joined:
    Aug 6, 2015
    Messages:
    165
    Likes Received:
    66
    Grbl's startup lines has been a point of internal contention for me. It allows for motions to be automatically executed upon a power-up or reset, but this can be very dangerous. You have no control over when these automatic motions execute, especially if you are in an emergency state and need to move the machine carefully around things. These startup lines can make your machine crash.

    Given that you have a machine that is very slow and you know Grbl well, it's probably not a problem. But I'd like to make this point to other users that don't try something like this unless you know the potential consequences. You can ruin a job, your fixtures, or damage your machine, if you're not careful.

    As for the computer issue, I'm planning on creating an open-source UI that can solve problems like this at the machine. It'd be a separate project that would just connect to Grbl via the serial pins. So it's an extra micro controller. This has multiple advantages. First any alteration you make to the UI doesn't effect Grbl. It's completely independent. Second, you can change on a dime when new technology becomes available, like touchscreens, Wifi, Bluetooth LE, etc. Third, it's a lot more conducive for people to help out, since there aren't a lot of critical systems. Fourth, it can be written in and maintained directly in the Arduino IDE easily. If anyone is interested in helping out with this, let me know.
     
    Lob0426 likes this.
  12. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 6, 2013
    Messages:
    3,458
    Likes Received:
    1,915
    agree absolutely, don't do this at home folks.
    In my case the motor is not connected to the machine until I pick it up and engage the drive fork. I can just as easily disengage the drive fork.
    Well now, I have been thinking of doing something very similar to be a more comprehensive 'single axis power feed' for my lathe. It would be a bit specific though, just an Arduino with LCD and a couple of buttons to allow setting direction, feedrate and distance to travel. Hit the go button to cut, hit the return button to return to 0. and of course the 'ESTOP' button wired directly to the GRBLduino. just in case....

    For your idea, do you want to add an SDcard for delivering gcode files? I am keen to help....
     
  13. Sonny Jeon

    Sonny Jeon Well-Known
    Staff Member Moderator Builder

    Joined:
    Aug 6, 2015
    Messages:
    165
    Likes Received:
    66
    Yes. The idea would be to allow for complete flexibility, including adding an SD card, having basic controls at the machine, and customizable for different machines, i.e. lathe. For this to work, I'll have to build a communication platform for people to build on. Basically a simple API that will take care of all of the Grbl comm in the background. Once Grbl v1.1 is out, I think I'll have time to start working on this idea.
     
    David the swarfer likes this.
  14. Lob0426

    Lob0426 New
    Builder

    Joined:
    Aug 17, 2016
    Messages:
    7
    Likes Received:
    1
    I have been playing with 1.1b and 1.1c. Very nice work. Using it on a Blue laser system. Very smooth and quiet in "Laser Mode". Literally a couple seconds behind J-tech's firmware and more accurate at higher rates in my tests.

    I just wanted to thank you for the work you and the others have been doing!

    Thank You!
     
  15. Sonny Jeon

    Sonny Jeon Well-Known
    Staff Member Moderator Builder

    Joined:
    Aug 6, 2015
    Messages:
    165
    Likes Received:
    66
    Thanks. The time difference should be from some force planner syncs that v1.1 is now mandating. It addresses an old EEPROM issue, where it could crash Grbl in very rare circumstances.

    I found your benbox forum threads talking about your testing. Did you reduce the planner blocks to 14 because you found it not running correctly? You should be able to ignore the "low memory" warning that the Arduino IDE produces. Grbl handles the memory stack pretty well and doesn't use too much stack-allocated memory at any one time. If you increase the number of planner blocks, GRbl will run better at higher speeds when doing raster engraving in particular.
     
  16. Lob0426

    Lob0426 New
    Builder

    Joined:
    Aug 17, 2016
    Messages:
    7
    Likes Received:
    1
    I tried 1.1b with the stock blocks setting. I only changed it to be cautious and get rid of the low memory warnings. Your changes from yesterday I am calling 1.1c2. I will change it back.

    I am chomping at the bit for a Mega version. I made an adapter board that plugs into the Nano header on an Eleks Maker L7 board, that has a Mini-Mega board on it.

    Patience is not one of my virtues! LOL. I tried putting the cpu_map.h in 1.1c2 in and I had errors about coolant pins not designated. Not surprising with the amount of changes since 1.0d!

    Thank You for the advice. We really are trying to make these machines better than they currently are, yet keep the prices low. We plan to keep it all open!
     
  17. Synths

    Synths New
    Builder

    Joined:
    Aug 26, 2016
    Messages:
    24
    Likes Received:
    6
    Has anyone tried Bigfoot BSD109A Stepper Drivers and the Gradus M1 PRO GRBL CNC Controller?
     
  18. Luiz86

    Luiz86 New
    Builder

    Joined:
    Oct 20, 2016
    Messages:
    1
    Likes Received:
    0
    I also have interest in this board. A few days ago I sent an email and message on their facebook page asking if they send here to Brazil, but until now they did not answer me.
    But the driver I saw in a picture that the chip is the TB67S109A. It is a lower driver compared to TB6600. Some chinese TB6600 boards actually comes with this TB67S109A chip. I found the comment below on an ad on Aliexpress:
    "Great seller all questions are answered immediately and to the point. although in the description stated that the chip tb 6600, but in reality tb 67S109AFTG"

    Here in Brazil it is hard to find on sale specific components, but you can try THB6064AH. The authors below seem to have made a very serious work on the design of these drivers:
    6064: 4AMP Stepper Motor Driver Kit. massmind
    THB6064 drive kit

    I have much interest in Gradus M1 basically to these:
    -Isolated USB using ADUM4160 chip
    -3 Home/Limit switch inputs, ESD and EMI filtered

    I've had several problems with limit switch false triggering and loss of USB communication. In several cutting motors configurations I had problems with noise. Small chinese DC spindle, high frequency spindle with VFD, Makita RT0700c, etc.


    I would take the post to ask you guy:
    (I'm sorry all you guys if are noob question =/ )

    1) Where can I find a tutorial for noob about limit switch connection to grbl? I would love to see a very detailed draw of the most common and stable configuration, and values of resistors and capacitors. When I read about, people talk about pull-up, pull-down, NC, etc., also my english is very poor, so I just have no idea about circuit connection.
    Sometimes I read GND, when people talk about shielding, and I don't know if is the GND 0V of the Arduino, or the Earth GND.

    1.5) Opto-coupler between the limit switch and the arduino would be nice choice to remove false triggering? And build the electronics into a Faraday cage?

    2) Also I will love to found a tutorial about on/off and control the spindle rotation, both DC and an inverter frequency VFD. I saw that PWM is between 0V and 10V. But the Arduino's 5V. To do this control I need some additional electronics? Is there comercial board to do that with Grbl?

    3) I read here that the guys is testing the 1.1 version of GRBL, right? Where do I find? Github I just saw v0.9j.

    4) Now we have the option of two independent limit switch on the Y axis?
     
  19. Carl Henrick

    Builder

    Joined:
    Nov 28, 2015
    Messages:
    3
    Likes Received:
    1
    Hi,

    I'm I'm fairly new to CNC and loving playing around with gbrl. I have built a 2 axis machine (x and y) and got both axis running smoothly and accurate.
    I also have installed a rotary 4th axis (stepper and headstock) that I wish to be able to use a standard lathe chuck.
    My question is can I use the z axis output to continuously rotate the stepper on the rotary 4th axis whilst send in a g code program?
    The reason I ask is that I currently have it running from a stand alone pulse generator but wish to have more control using gbrl
     
  20. Jimmybuckets

    Jimmybuckets Well-Known
    Builder

    Joined:
    Aug 15, 2014
    Messages:
    234
    Likes Received:
    36
    So I have been able to find and install GRBL 1.1, my question is to load GRBL 0.9, I just added the grbl folder to libraries and then hit upload and it would do it. Using 1.1 I have to go into sketchbook under file and do it from there otherwise it won't compile. I am far from any kind of expert on Arduino or Grbl, but was just curious as to why the differences in what I had to do to get it to load. Thanks Sonny for all the great work....GRBL is amazing. Glad it sounds like the family is doing well.
     
  21. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 6, 2013
    Messages:
    3,458
    Likes Received:
    1,915
    I have been messing with both GRBL1.1 and grbl-Mega and found that I cannot install both in the libraries folder at the same time (well, not without a lot of editing on both copies).

    So what I have done is create a folder 'somewhere else' (a different drive in my case) into which I have checked out the projects from Github.
    Then, I copy the grbl folder from there to the sketchbook/libraries folder for the version I want, open the example loader and it works every time.

    Just make sure to copy your config.h somewhere if you want to keep your settings that you changed for a compile.

    So my Sketchbook\Libraries folder looks like
    Code:
    D:.
    ├───libraries
    │  ├───grbl
    │  │  └───examples
    │  │  ├───grblUpload
    │  │  └───grblWrite_BuildInfo
    
    and the folder where I have checked out the project repositories looks like
    Code:
    D:.
    ├───grbl                 (this is grbl 1.1)
    │   ├───build
    │   ├───doc
    │   │   ├───csv
    │   │   ├───log
    │   │   ├───markdown
    │   │   │   └───old_wiki_pages
    │   │   ├───media
    │   │   └───script
    │   └───grbl   (this folder is all that is needed in 'libraries')
    │       └───examples
    │           ├───grblUpload
    │           └───grblWrite_BuildInfo
    ├───grbl-09    (0.9j )
    │   ├───cpu_map
    │   ├───defaults
    │   └───examples
    │       └───grblUpload
    └───grbl2560     (grbl-mega)
        └───examples
            └───grblUpload2560
    
    you can see that I checked out 0.9 and mega differently to the 1.1 tree but it works, somehow (-:
     
    Mark Carew likes this.
  22. Jimmybuckets

    Jimmybuckets Well-Known
    Builder

    Joined:
    Aug 15, 2014
    Messages:
    234
    Likes Received:
    36
    Thanks for the reply. I figured out pretty quickly that they both can't live in the Library. I pretty much did what you were suggesting. My question is a little bit different though. In the Arduino ide I create a new library for 0.9 I simply go Sketches----grbl---- then upload and it compiles and uploads no issue. If I try the same thing with 1.1 it will not compile. I have to go File-----sketchbook---grbl then it opens a new window and when I hit upload it will compile correctly and upload. That is what I don't get. It works either way but I'm sure it's something I'm not doing right to make the two processes different. Just want to have a better grip on how things work. Thanks!
     
  23. Shaheer

    Shaheer New
    Builder

    Joined:
    Dec 20, 2016
    Messages:
    2
    Likes Received:
    0
    I am very much new to GRBL. I am trying to make a cnc plotter with multiple pens. most probably 4 pens. and i was trying to figure whether grbl supports multiple pens or it can be altered to support multiple pens or not? can i build it for arduino mega? although there are still sufficient pins on uno to support 4 pens.
     
  24. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 6, 2013
    Messages:
    3,458
    Likes Received:
    1,915
    GRBL does not support multiple 'pens', but it does not need to.
    G-code supports multiple work offsets, and tool offsets, so there are two ways to use your pens.
    1) Using work offsets, you can set each pen to an offset (G54,G55,G56,G57) and then the Gcode can select which co-ordinate system (Google for details on co-ordinate systems, also search this forum) to use for each part of your drawing.
    2) using tool offsets. GRBL can be told what offset to use for the current tool. So your G-code only needs to set the offset for the current pen . So pen 1 is at 0,0,0 offset, pen 2 is at 20,0,0 (20mm away in X), pen 3 is at 40,0,0 and so on.

    The tricky bit arises in getting a pen to be lower than the other pens so only it will draw. You will have to invent a mechanical way to do this, and incorporate the relevant Gcode to operate it at the start of each pen segment..
    This is the same as a 'tool change' in the cnc world.

    If you look up old pen plotters you will find they used many different methods for pen control.
    Like having 4 pens on the head and a solenoid to push each one down as needed (hard with GRBL).

    or having a rack of pens and the head goes and fetches the pen it wants. Easy with GRBL. Use the 'coolant on/off' pin to power the gripper. This becomes a 'tool change macro' in the Gcode... in 'pseudocode'
    Code:
    G55; switch to G55 which has been set up for pen changing (G54 set for drawing)
    move to the offset for the current pen
    place it into the holder
    M9 ; coolant off to release the pen
    move away
    move to offset of the desired pen
    grab the pen
    M8 to activate gripper
    move away
    G54 ;    switch back to drawing co-ordinate system
    go off and draw
    
    That is not the only way to do it and is just an idea to get you thinking and inventing.
    Learn the G-code commands that GRBL has available and you will have the tools to come up with a plan.
     
    Moag likes this.
  25. Shaheer

    Shaheer New
    Builder

    Joined:
    Dec 20, 2016
    Messages:
    2
    Likes Received:
    0
    Thank you for such elaborate reply. its really helpful and has cleared some things. I have looked at other plotters and figured out from other threads that pen changing during job can produce minor error with custom build pen holders. I was thinking to manually calibrate each pen before start of job.
    One more idea i had after looking at grbl for mega is that what if i assign different rpm to each tool and then when the spindle pwm gives the required signal i add another small controller to simply read the frequency and lower the desired pen which is preset in its code... however this method will require me to have separate steppers or servos for each pen and move the entire assembly with a master z axis stepper. But i have found tiny gear motors which wont have much effect on the size and weight of the entire assembly for 4 pens.
    MY aim is to produce a proper working plotter with minimal error margin to produce professional looking drawings from pen. in the meantime i will be looking into gcode since i m building a custom gcode exporter for autocad which i can run from within autocad.
     
  26. Stephan Schmidl

    Builder

    Joined:
    Nov 30, 2016
    Messages:
    21
    Likes Received:
    1
    Hi folks,
    my Name is Stephan, I´m from germany and proud owner of an OX CNC machine from ooznest. I am an absolute newbie to the Topic CNC, GRBL, G-Code,CAM and everything else :) I assembled my machine succesfully and have got a question. My Controller board is an CNC X Pro board and as a Controller Software, I use the Universal G-code Sender.
    Now my question: How do I define my home Position exactly? I have no endstops installed. I want to do the home cycle, when typing $H...but nothing happened, ha ha. So I want to know, how I could tell Universal g-code Sender, what dimensions my machine has. I have got a 1m x 1,50m machine. Maybe someone could give me a hint, where to define the homepoint...and safe that permanent to my Controller board.
    Thank you in advance and sorry for my rusty english.
    Greetings
    Stephan
     
  27. shai kaplan

    Builder

    Joined:
    Dec 29, 2016
    Messages:
    1
    Likes Received:
    0
    Hello,

    We are using XPro V2 to drive a CNC (C-Beam kit) from open builds (3 linear actuators based on lead screw).
    On low speed movements we get significant vibrations from the stepper motors.
    When doing homing for example...the homing speeds are low and it is a very unsmooth noisy movement.
    The XPro microstepping is set to 8.
    The GRBL settings attached below.
    It seems as if microstepping doesn't take place as in slow speed you can actually hear the steps ticks.

    We assume that something is not correctly set.
    Any idea what should be fixed?

    Here is a short movie of the noise at slow move (and GRBL params are below):

    CNC xPro v2 choppy movement in slow speed
    [​IMG]



    Thanks
    Shai


    [​IMG]
     
  28. Metalguru

    Metalguru Veteran
    Builder

    Joined:
    Dec 29, 2015
    Messages:
    752
    Likes Received:
    548

    Your homing feed should be set to something like 200 instead of 25. This is the cause of the choppy movement. At very low speeds the number of steps/minute becomes low enough that you can hear each pulse.

    MG
     
  29. Metalguru

    Metalguru Veteran
    Builder

    Joined:
    Dec 29, 2015
    Messages:
    752
    Likes Received:
    548

    Hi Stephan:

    You can simply move your machine to your desired zero point and set G28 to this point. This will give you a zero point to return to. I use GRBL Panel, not UGS, so I am not sure how UGS accomplishes this.

    You can also set the size of your machine in the last 3 positions of the GRBL settings, which tell the machine the maximum travel limits for soft limits. Then you can enable soft limits.

    The only way to have a preset home position is to install homing switches on all 3 axes and enable homing in GRBL Settings. You cannot do a homing cycle without homing switches installed.

    MG
     
    Stephan Schmidl likes this.
  30. Ryan Lock

    Ryan Lock Veteran
    Builder

    Joined:
    Oct 12, 2014
    Messages:
    530
    Likes Received:
    293

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice