1. Hey guyz. Welcome to the All New Phlatforum!



    Sign Up and take a look around. There are so many awesome new features.

    The Phlatforum is a place we can all hang out and

    have fun sharing our RC adventures!

  2. Dismiss Notice

Cant get 3 axis CNC to cut full size or full depth

Discussion in 'SketchUcam Help' started by FatGut, Feb 25, 2016.

  1. FatGut

    FatGut New Member

    Offline
    Messages:
    4
    Trophy Points:
    1
    Location:
    United States
    Total new to this software stuff!
    My issue is that when I create a basic rectangle with radiused corners and 8 holes in SketchUcam then generate Gcode then send to CAMotics everything looks good in simulation when I send the file to my controller using Bcnc software it will cut smaller than plan and only about a third of the way through the material, (4"x 3" original looks to generate about 1/3 the original) I have the total depth of cut set to 120% and the setup to "Inches" before I start my drawing and the set up in Bcnc the same. I have watched the instructional video's countless times and searched the internet for similar problems with no success my frustration level has led me to finally post this to you all with the hopes of getting clarification so I can make my first part on my new CNC.
    I am sure it is something simple that I have missed and will feel real dumb when i get the correct answers.
     
  2. swarfer

    swarfer Moderator Staff Member

    Offline
    Messages:
    808
    Trophy Points:
    28
    Location:
    Grahamstown, South Africa
    Hi
    What CNC machine is it?
    What motors? steps per rev?
    what drivers? set to what microsteps?
    belt drive or leadscrew? what pitch?
    if belt, what size, and what size pulleys, number of teeth?
    what are the current GRBL settings? command '$$' in bCNC terminal to get the settings.

    lots of questions I know, but with these numbers we can calculate the correct settings for GRBL, and then it will cut nearly the correct size.
    After that you can calibrate for fine tuning.
    Use 'terminal' in bCNC for changing GRBL parameters.

    Thing is that Sketchucam outputs Gcode correctly, using either inch or metric mode depending on how Sketchup is set. Since it uses the actual numbers Sketchup is using, it cannot get the size wrong unless you did the drawing the wrong size.
    So, I must conclude that the machine is not calibrated correctly.
    This means that GRBL has been told to use a certain size of 'steps per mm' that is incorrect for your machine.

    So, first calculate the steps/mm
    motor: 200 steps per rev
    driver microstepping = 8
    belt pitch = 2mm
    pulley: 20 teeth

    so, one rev of the motor will move the belt (20 * 2) mm
    one rev of the motor takes (200 * 8) steps
    therefore:
    (200* 8)steps / (2 * 20)mm = 40 steps per mm

    That value would be set for GRBL config items $100 and $101 for X and Y. With belts you still need to calibrate after this, with quality ballscrews, it should be spot on (-:

    Maybe you can try the calibration procedure at (you may need to load the page twice to get to the correct post of mine)
    http://openbuilds.com/threads/openbuilds-ox-cnc-machine.134/page-57#post-8636
    and let us know what you find?
    (Using that procedure does not require answers to any of the the questions about the hardware , just measure what it is doing and recalculate the steps/mm from that.)

    Fundamentally, if you command the CNC to move an inch, assuming X is now at 0, then the Gcode command
    G20 G0 X1
    should move the tool exactly 1 inch to the right. If it does not move 1 inch, then the calibration is off.
    You need to calibrate each axis separately, you cannot assume that what works for X also works for Y (difference in belt tension), and definitely not for Z since it is usually a leadscrew when X and Y are belts.

    (added detail...)

    For anyone reading this that has a completely unknown hardware setup and no clue where to start, just set the steps/mm to '1'.
    This means that for every 1mm you command it to move, it will move the motor 1 step.
    now you can command a move of 200mm, and if the motor is not using microsteps and is a 200 step per rev motor (1.8degree per step) it will go around once. if it goes half way round, it might be a 0.9 degree per step motor (400 step per rev), or it may be in half step mode = 2x microstepping.

    You can also 'jog' until the motor does one revolution, and then read off the 'distance' covered which will give you a clue to the steps per rev.

    However, you don't need to know, you only need to follow the process I linked, command a long enough move to measure, do the math, adjust the steps/mm, and do it again until satisfied with the accuracy.
    but be careful! after calibrating the long moves you needed at first will be too long for the machine.
    say I have a 200 step/rev motor at 16x microstepping, and a 8mm pitch leadscrew. (but I don't know that).
    I set steps/mm to 1 and command a 200mm move.
    G0 X0
    G0 X200
    I observe a roughly 1/16th rotation of the leadscrew, a distance of 0.5mm, so I can obviously move more to get 1 rotation.
    I can jog till I get 1 rotation, or command
    G0 X3200
    which is 16 times 200.
    Now it should have moved 8mm if my guess at 1/16th of a rotation was correct.
    do 'Go X0' and then
    set the steps/mm for the X to 400 (for the case above), now a
    G0 X10
    should move X 10mm.

    required reading:
    https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9
     
    FatGut likes this.
  3. FatGut

    FatGut New Member

    Offline
    Messages:
    4
    Trophy Points:
    1
    Location:
    United States
    swarfer

    THANK YOU!! THANK YOU!!
    This is exactly what I need to learn and am truly grateful to you for taking the time to share your Knowledge and experience. I truly was getting ready to walk away from this project for awhile frustrated but when I woke up this morning and checked my e-mail hope was restored. I am at work but I can fill in most of the blanks as follows:

    What CNC machine is it? Open Builds C-Beam (well built and thought out)
    What motors? Nema 23 CNC Stepper Motor 2.8A 1.26Nm(178.5oz.in) 23HS22-2804
    Steps per rev? 1.8°step angle (200 steps/revolution).
    what drivers?Pololu DRV8825
    Set to what microsteps? any of the listed
    MODE0 MODE1 MODE2 Microstep Resolution
    Low Low Low Full step
    High Low Low Half step
    Low High Low 1/4 step
    High High Low 1/8 step
    Low Low High 1/16 step
    High Low High 1/32 step
    Low High High 1/32 step
    High High High 1/32 step
    Belt drive or leadscrew? Lead 8 (mm) Tr8*8-2p (4 starts)
    What pitch? Pitch 2 (mm)
    GRBL settings? N/A (Will post when I get Home)

    Electronics: Raspberry Pi 2, Alamode for Pi, Protoneer Arduino CNC Shield V3
    Software: raspbian for pi,arduino IDE for alamode, Bcnc running on Pi.
     
  4. swarfer

    swarfer Moderator Staff Member

    Offline
    Messages:
    808
    Trophy Points:
    28
    Location:
    Grahamstown, South Africa
    hi
    looks like one rev on a leadscrew will move 8mm. (2mm pitch * 4 start = 8mm)

    so, if you want to mill really small features, like thin tracks on PCB's, set to 400 steps/mm
    set drivers to do 16x microstepping
    and set GRBL parameters
    $100=400 (x, step/mm)
    $101=400 (y, step/mm)
    $102=400 (z, step/mm)
    theoretical resolution is 0.0025mm per step. this will vary, stepper motors are not exact.
    (this will limit your max speed!)

    if you just want to mill within 0.1mm, ie normal stuff (-:
    set the drivers to 4x microstepping
    and set GRBL to 100 steps/mm
    $100=100 (x, step/mm)
    $101=100 (y, step/mm)
    $102=100 (z, step/mm)
    theoretical resolution is 0.01mm, and speed should be quite good.

    the fewer microsteps you use, the more accurate it is, and the more power it has. more power = more speed.

    for each axis
    start with a low max feed rate, say 500mm/min, and adjust the acceleration up until it stalls, then use 75% of that figure.
    now adjust the feed rate up until it stalls, and then use 75 to 80% of that figure.
    now run an actual job and check for lost steps, if it loses any steps during the cut, drop the acceleration a bit.
    and so on.....

    standard test cuts are
    square - to check for size, and diagonals must be equal, if not frame is not square.
    circle - to check for backlash, any kinks indicate backlash.

    you must know the exact diameter of the bit, and check that the slot cut is that size, before judging the size of a cut square.
    if the slots are wider than the bit, then you have runout in the spindle.
     
  5. FatGut

    FatGut New Member

    Offline
    Messages:
    4
    Trophy Points:
    1
    Location:
    United States
    swarfer

    I cant thank you enough for all this great information!
    I have taken your advice and have gotten the 1" straight line. As you know life can be hectic so I will post follow ups as soon as I can cut the circle and square as per your suggestion. May I ask you to allow me to re-post this information with all credits referenced to you?
     
  6. swarfer

    swarfer Moderator Staff Member

    Offline
    Messages:
    808
    Trophy Points:
    28
    Location:
    Grahamstown, South Africa
    Hiya
    sure, just link to it here is probably best, then people can see the entire context. and that is after all the purpose of the web, link to existing information instead of endlessly repeating it.

    To link to a post, look for the permalink, just left of the 'Like' link, there is a #2 (or whatever number) that is the link to the post in quetion.
     
  7. FatGut

    FatGut New Member

    Offline
    Messages:
    4
    Trophy Points:
    1
    Location:
    United States
    OK I see the link and will link to this site! updates will follow.
     

Share This Page