Re: Helical milling drill holes with endmill #pcbgcode #drill #helical


John Johnson
 

Hello Folks,

Here are some details about the logic of hole milling:

  • If the hole size is smaller than the endmill, and between the endmill's minimum and maximum as set in the rack file, the endmill is used as a drill, and just drills the hole (no pecking).
  • If the hole size is larger than the endmill, the hole will be milled as you have selected in pcb-gcode-setup:
    • Concentric
      • Begin in the center, plunge by FEED_ETCH_Z (Machine tab, Feed Rates, Etch, Z)
        • Feed +x to step_xy (as set in the rack file).
        • Feed clockwise by FEED_RATE_ETCH_XY in an arc to the left side of the hole
        • Feed clockwise by FEED_RATE_ETCH_XY in an arc to the right side of the hole
        • Repeat until at hole diameter (- tool offset)
      • Return to hole center
      • Repeat until at hole depth (Machine tab, Z Axis, Drill Depth)
    • Helical
      • Begin at right side of hole (- tool offset)
        • Feed clockwise by FEED_RATE_ETCH_XY in an arc to the left side of the hole, and in z-axis to step_z/2 (set it rack file)
        • Feed clockwise by FEED_RATE_ETCH_XY in an arc to the right side of the hole, and in z-axis to step_z (set it rack file)
        • Repeat until at hole depth
      • (clean up remainder at bottom from interpolation)
      • Feed to hole depth
      • Feed clockwise by FEED_RATE_ETCH_XY in an arc to the left side of the hole
      • Feed clockwise by FEED_RATE_ETCH_XY in an arc to the right side of the hole

Here's a video of how helical hole milling is treated.

https://app.box.com/s/lebzsdj06bi1pdp048gk2pk8m5wujmjn

Art and Harald are alpha testing, let me know if you want in on the fun!

Regards,
JJ


On 8/10/22 2:45 PM, John Johnson wrote:

Hello Folks,

I've been thinking about and working on the long-requested (ca. 2018) feature that would let one mill holes of different diameters using an endmill.

I would like your input.

  • Is this useful?
  • Do let me know if you have suggestions on gcode. My knowledge on this is limited. I would like to support as many controllers as possible (TurboCNC (happy to see TCNC is still around!), Mach3, grbl, LinuxCNC, etc.), so make it as generic as possible.
    • I'm thinking G03 (counter clockwise) for all holes.
    • From what I've read, using IJ is preferable over R, and I recall from my experience R arcs can get whacky.
    • I'm thinking 4x 90° arcs to make a circle. Again, to accommodate as many controllers as possible.
  • I'm concerned about holes that are larger than 2x the tool diameter.
    • For example, in the image attached, the tool is 0.015"/0.381mm and the holes are 0.020"/0.508mm, 0.035"/0.889mm, and 0.050"/1.27mm. There is a 0.005"/0.127mm post in the center hole, and 0.020"/0.508mm on the right-hand hole.
      • The debris left in the center (see attached pics), which could potentially become ensnared by and break the tool.
    • One way to eliminate this is as two (or more) holes, a smaller one to full depth, then larger ones.
      • This would probably need "pecking."
    • I could also use a sort-of center-out strategy, where the cutter starts in the center, then mills at increasingly larger diameters until the desired size is reached. Rather than the helical path shown, I would probably just plunge some amount in the center, then start milling the concentric circles at that depth out to the max diameter, plunge at the center a bit deeper, rinse and repeat.
  • How do we control chip load?
    • Step down for Z axis as an absolute amount (e.g. 0.25mm/0.010") per pass?
      • Sounds reasonable.
    • What about increasing the diameter if concentric holes or multiple passes are used?
      • Could be a fixed maximum, I suppose, or some percentage of the tool diameter.
  • Code that generated the images is attached.
    • Let me know what you think about it too. I just generated it in Excel for the time being.

Would appreciate your input and expertise!

Regards,

JJ



Join pcbgcode@groups.io to automatically receive all group messages.