Welcome to Our Community

Unlock hidden features. Sign Up for Free Today!

Debugging Oversized Part

Discussion in 'General Talk' started by Jonathon Duerig, Jun 13, 2016.

  1. Jonathon Duerig

    Jonathon Duerig Veteran
    Builder

    Joined:
    Nov 25, 2015
    Messages:
    89
    Likes Received:
    57
    On a test cut for my new CNC router, I measured the resulting part to be 0.9mm larger than I had programmed. It was supposed to be 50mm across, but was about 50.9 instead. I can think of a few things that it might be. What is the most likely?

    - Backlash (I am using anti-backlash nuts)
    - Incorrect steps/mm setting (Currently set at 200 while using linear c-beam actuators with 8mm lead screws and the default microstepping jumpers on an xPro).
    - Bit is cutting away a 0.45 mm larger diameter than the spec which I used for the CAM software. Maybe this is runout?
    - What else?

    I'd appreciate any ideas on what could be going wrong and advice on how to test the various hypotheses.

    -D
     
  2. GrayUK

    GrayUK Master
    Staff Member Moderator Builder

    Joined:
    May 5, 2014
    Messages:
    952
    Likes Received:
    232
    Not knowing the size of the bit you are using, but I get the feeling that there may be a problem with...., are you cutting within the line or outside the line, if you know what I mean. :rolleyes:
    Double check your base drawing and ensure your calculations are taking the line cut method into consideration.
    Get back to us if still no luck. :)
    Gray
     
  3. Jonathon Duerig

    Jonathon Duerig Veteran
    Builder

    Joined:
    Nov 25, 2015
    Messages:
    89
    Likes Received:
    57
    @GrayUK I'm using a 3.175 mm (1/8") bit. I specified cutting outside the line. I'll try tweaking the size of the bit in software to test whether maybe this is the result of runout.

    -D
     
    GrayUK likes this.
  4. Jonathon Duerig

    Jonathon Duerig Veteran
    Builder

    Joined:
    Nov 25, 2015
    Messages:
    89
    Likes Received:
    57
    @GrayUK I have done a number of tests today and I am still scratching my head. Every time I do an 'outside' square, the part is about 0.9mm too big. But when I do an 'inside' square, the part is perfect.

    I just went through the G-Code generated and both seem to have the same offset. The inside square is cutting a diameter smaller than the drawn square. And the outside square is cutting a diameter larger than the drawn square. I'll run some more experiments tomorrow just to see if the size might be making a difference. My inside square is smaller than my outside square.

    I think this means it can't be backlash or an incorrect bit size since this would make both parts come out wrong. If the size is what matters, then that would seem to be a problem of my steps/mm setting. But if it really is that inside cuts are accurate while outside cuts aren't, I'm not sure what the explanation could be.

    -D
     
  5. Jonathon Duerig

    Jonathon Duerig Veteran
    Builder

    Joined:
    Nov 25, 2015
    Messages:
    89
    Likes Received:
    57
    No. I can't see how it is a steps/mm issue either. If it were, then I would see proportionally larger errors as I cut proportionally larger items. And I'm not seeing that. I am seeing a perfectly accurate inside cut of a 20mm square and a 0.9mm too large cut on an outside cut of a 50mm square. If it were a steps/mm issue, then I should see an error of 20/50*0.9mm or so on the small square.

    So there is one more theory. On my CAM program, there is a 'sharp external corners' checkbox. With this checkbox unchecked, the outer (but not the inner) path has a whole bunch of commands like these on every corner so that it 'rolls' around the corner:

    Code:
    G1X74.7545Y62.8934
    G1X74.7450Y62.7927
    G1X74.7286Y62.6905
    G1X74.7051Y62.5876
    G1X74.6742Y62.4846
    G1X74.6358Y62.3824
    G1X74.5897Y62.2817
    G1X74.5361Y62.1834
    G1X74.4751Y62.0882
    G1X74.4070Y61.9971
    G1X74.3323Y61.9108
    G1X74.2514Y61.8300
    G1X74.1651Y61.7552
    G1X74.0740Y61.6872
    G1X73.9789Y61.6262
    G1X73.8806Y61.5726
    G1X73.7799Y61.5265
    G1X73.6776Y61.4880
    G1X73.5747Y61.4571
    G1X73.4718Y61.4336
    G1X73.3696Y61.4173
    G1X73.2688Y61.4078
    G1X73.1701Y61.4047
    If I check the 'sharp external corners' box, it omits them and has a simple (oversized based on bit diameter) box. So perhaps a whole bunch of tiny motions at the very limits of resolution of the machine on each corner is making it wander. I'll check to see if this makes a difference tomorrow.

    Any other theories? I feel a bit like I'm grasping at straws here.

    -D
     
  6. GrayUK

    GrayUK Master
    Staff Member Moderator Builder

    Joined:
    May 5, 2014
    Messages:
    952
    Likes Received:
    232
    GCode isn't my thing I'm afraid, but there many who know the ins and outs of this subject, and I hope will come up with some ideas.
    Like you, I'm grasping at straws here, create a square, but without the corners, if you know what I mean.
    So, a 3" x3" square, but with the lines stopping about half an inch from each corner.
    i.e. Take the actual corners out of the equation and see what the width and depth equal.
    Gray
     
  7. Jonathon Duerig

    Jonathon Duerig Veteran
    Builder

    Joined:
    Nov 25, 2015
    Messages:
    89
    Likes Received:
    57
    Tweaking the g-code didn't seem to make much of a difference.

    I've been working on other issues parallel to this one. I had to level my spoilboard and figure out some z-axis issues I was having. But then I realized that my z-axis issues might be related after all. I was using a z touch plate of a known thickness. But my bit was plunging slightly into the spoilboard anyhow (0.5mm for a touch plate size of 25.4mm). That ratio looks close to my 'too large' part ratio as well.

    So I am back to adjusting the steps/mm value. I am going to tweak this down a bit. My current theory is that I have a spindle that isn't perfectly trammed and this is causing a slight oversize in the outside dimension and corresponding undersize in the inside dimension. On the inside, this mostly cancels out the mm/s issue. On the outside dimension, this exacerbates the mm/s issue.

    I will be testing some more with tweaked steps/mm settings. If that seems to help, I'll try to figure out the best way to re-tram my spindle given the mounting setup I have.

    -D
     
    GrayUK likes this.
  8. Jonathon Duerig

    Jonathon Duerig Veteran
    Builder

    Joined:
    Nov 25, 2015
    Messages:
    89
    Likes Received:
    57
    I ran some tests with different sizes to try to determine how much of this might be steps/mm. What I found was that the carriages on the x and y axes are travelling about 0.5mm too far for every 100mm of travel. This does account for some of the issue I saw above, but leaves a little more than half a mm unaccounted for.

    Just to ensure that it wasn't merely an issue with my caliper, I made a piece identical to one I had lasercut earlier and it was indeed a bit larger.

    The crazy thing to me is that it is so consistent. If it were randomly plus or minus half a mm, I would just think I'd reached the limits of the precision of the machine. But since it is so reliably oversized by a small margin, it makes me think there is just some adjustment I need to do.

    -D
     
  9. Jonathon Duerig

    Jonathon Duerig Veteran
    Builder

    Joined:
    Nov 25, 2015
    Messages:
    89
    Likes Received:
    57
    I think I have finally got this figured out. I took a step back and decided to follow @GrayUK's advice and just carve slots in my stock instead of a square. I would not try to cut anything out of the material, just engrave them. Then I measured from left edge to left edge with a caliper so that I was *only* measuring the distance moved by the spindle (no runout or tramming issues). And the difference between the measured and specified distance then gives me an accurate idea of how to change my steps/mm and only that.

    I found that my steps/mm was off by about 1% (measured 101 mm, specified 100 mm). I adjusted my steps/mm and suddenly the oversized part problem disappeared. Instead, the next square that I cut was slightly undersized. This was expected, because my cutting tool certainly has some runout. So I can adjust my software to account for the slightly larger-than-spec kerf of my bit with runout.

    So my callibration woes are at an end. If you want to callibrate your machine, I recommend following this procedure yourself. First figure out the error in steps/mm alone (with no confounding factors). Then figure out runout by cutting a standard square and measuring.

    -D
     
    GrayUK likes this.
  10. GrayUK

    GrayUK Master
    Staff Member Moderator Builder

    Joined:
    May 5, 2014
    Messages:
    952
    Likes Received:
    232
    I'm really pleased you have managed to sort it out. :thumbsup::)
    It is too easy to get too close and not see the problem for what it is.
    Anyway, I want to hear that you are happily making chips, that you are enjoying the CNC machine, and making some great stuff.
    I'm sure there will be some more little problems, but you know you can always give us a shout here.
    Well done. :thumbsup:
    Gray
     
  11. Jonathon Duerig

    Jonathon Duerig Veteran
    Builder

    Joined:
    Nov 25, 2015
    Messages:
    89
    Likes Received:
    57
    @GrayUK I cut my first 'real' part out and it was nearly perfect even without adjusting for runout. I compared it with an identical part which I had paid to have waterjet. The only difference between the two was that the new part I carved with my C-beam router looked better. It actually had a nicer finish on the edges. So I will definitely be making a lot more chips soon. :)
     
    GrayUK likes this.
  12. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder

    Joined:
    Aug 6, 2013
    Messages:
    549
    Likes Received:
    270
    Note just an idea, but actual math (-:
    C-Beam™ Machine - Plate Maker
    You will need to measure the actual kerf size and use that for 'bit diameter' before generating G-code.
    good process...
     

Share This Page

  • About Us

    The OpenBuilds Team is dedicated helping you to Dream it - Build it - Share it! Collaborate on our forums and be sure to visit the Part Store for all your Building needs!
  • Like us on Facebook

  • Support Open Source FairShare Program!

    OpenBuilds FairShare Give Back Program provide resources to Open Source projects, developers and schools around the world. Invest in your future by helping others develop theirs!

    Donate to FairShare!