The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

Category: Machine Shop

Mechanical widgetry

  • OMTech 60 W Laser: Wood Cutting

    OMTech 60 W Laser: Wood Cutting

    Just to see how the OMTech 60 W laser cuts wood:

    Laser cut wood samples
    Laser cut wood samples

    From left to right:

    • 5.3 mm oak plywood: 10 mm/s 70% (1/4 inch)
    • 7.7 mm plywood: 6 mm/s 70% (from OMTech crate)
    • 19 mm pine: 2 mm/s 70-80% (3/4 inch)
    • 20 mm oak: 2 mm/s 70% (3/4 inch lovely wood)
    • 19 mm maple: 2 mm/s 80% (3/4 inch shelving)
    • 20 mm plywood: fail at 2 mm/s 90% two passes

    I thought a pine plank would cut faster than oak, but they’re equally stubborn.

    Maple requires slightly more power, with the glued butt joints between the slabs putting up a stiff resistance.

    A sheet of 3 mm MDF cuts well at 20 mm/s 60% and I expect 3 mm plywood might need similar numbers.

    A pervasive odor of burned wood seems to be the only downside; if you think a wood stove is a good idea, you’ll love laser cutting the stuff. Sanding the blackened perimeter and sealing the surface surely helps, but it’s feasible only for the kind of simple convex shapes you don’t really need a laser to cut.

  • OMTech 60 W Laser: Engraving Scan Offset Adjustment

    OMTech 60 W Laser: Engraving Scan Offset Adjustment

    The fuzzy edges engraved on the acrylic test sample showed the need for scan offset adjustment:

    Please Close The Gate - acrylic test piece
    Please Close The Gate – acrylic test piece

    The problem arises from the finite delay between the controller turning the laser beam on and the rise time of the death ray energy at the focal point.

    LightBurn can produce a calibration coupon (on Trolase laminated acrylic) to help explore the multidimensional parameter space:

    Offset cal - zero offset - overview
    Offset cal – zero offset – overview

    The “Interval” value is the vertical (Y-axis) scan line spacing. The laser spot diameter is, at absolute best, about 0.2 mm on the focal plane, with the actual engraved line being smaller due to the energy distribution across the beamwidth and the power required to visibly damage the material, so a 0.1 mm interval should result a little bit of overlap between adjacent scan lines.

    A closer look shows the serrated edges on the left and right sides of the engraved squares:

    Offset cal - zero offset - detail
    Offset cal – zero offset – detail

    Peering at it through a measuring magnifier suggests the offset is a bit over 0.2 mm at 400 mm/s, corresponding to a 500 µs delay between laser turn-on in the rightward direction and turn-off in the leftward direction.

    The LightBurn Scanning Offset Adjustment is half the measured distance, with an Initial Offset parameter to adjust the starting point of the first scan line. You measure the distance at each speed and fill in the table accordingly.

    Iterating through offsets, speeds, powers, and intervals produces a series of test coupons slicing through the parameter space:

    Offset cal - iteration
    Offset cal – iteration

    All in all, a 0.1 mm offset at 400 mm/s with 14% power (about 8 W) and 0.075 mm interval looks pretty good:

    Offset cal - final offset - detail
    Offset cal – final offset – detail

    Engraving various fonts:

    Offset cal - text - overview
    Offset cal – text – overview

    A closer look (left coupon on the top):

    Offset cal - text detail
    Offset cal – text detail

    LightBurn linearly interpolates between table entries of offset values at specific speeds, so you must fill in several lines to give it something to munch on. The top text came from an offset table with two entries at 400 and 500 mm/s, which obviously wasn’t quite sufficient. The bottom text comes from a three-entry table:

    LightBurn scan offset table
    LightBurn scan offset table

    Which produces a better result, even at 500 mm/s and 20% power (12 W) on scrap acrylic:

    Close Gate - test acrylic - overview
    Close Gate – test acrylic – overview

    A closer look:

    Close Gate - test acrylic - detail
    Close Gate – test acrylic – detail

    Much better!

  • Garden Cart Handle Pivot

    Garden Cart Handle Pivot

    For reasons not relevant here, I was tapped to replace the plastic parts attaching the handle to a garden cart:

    Garden Cart - handle attachment
    Garden Cart – handle attachment

    The owner tried to contact the “manufacturer” to no avail; repair parts are simply not available, even if the name painted on the cart had a meaningful relationship to anything else.

    Well, I can fix that:

    Garden Cart - handle repair parts
    Garden Cart – handle repair parts

    Fortunately, another cart in the fleet provided the missing bits so I could reverse-engineer their measurements.

    The solid model looks about like you’d expect:

    Garden Cart Handle - show view
    Garden Cart Handle – show view

    Printing the two halves with those nice (yellow) bosses in place wasn’t feasible. They were exactly 1 inch in diameter, so I just parted two cookies from the end of a stout acetal rod after drilling a hole for the 2-¼ inch 5/16-18 bolt.

    The two pieces took nigh onto three hours with five perimeters and 50% infill:

    Garden Cart Handle - slicer preview
    Garden Cart Handle – slicer preview

    While delivering and installing the parts, I got volunteered to haul plants to cars with one of the carts during the upcoming Spring Plant Sale. That’ll teach me to stay in the Basement Shop …

    The OpenSCAD source code as a GitHub Gist:

    // Garden Cart Handle Pivot
    // Ed Nisley KE4ZNU 2022-05
    Layout = "Show"; // [Show,Build]
    /* [Hidden] */
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    HoleWindage = 0.2;
    Protrusion = 0.1; // make holes end cleanly
    inch = 25.4;
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    ID = 0;
    OD = 1;
    LENGTH = 2;
    //———-
    // Dimensions
    // Handle lies along X axis
    HandleOD = (7/8) * inch;
    BoltOD = (5/16) * inch;
    Washer = [BoltOD,1.0 * inch,2.0]; // just for Show
    Disk = [BoltOD,62.0,(3/16) * inch];
    ClampBase = [(1 + 7/8)*inch,(1 + 1/8)*inch,2.0];
    Kerf = 2.0;
    CornerRadius = 1.0;
    PivotOA = [Disk[OD],Disk[OD],HandleOD + 2*ClampBase.z + 2*Disk[LENGTH]];
    //———————-
    // Useful routines
    module PolyCyl(Dia,Height,ForceSides=0) { // based on nophead's polyholes
    Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);
    FixDia = Dia / cos(180/Sides);
    cylinder(d=(FixDia + HoleWindage),h=Height,$fn=Sides);
    }
    //———————-
    // Set up parts
    module Handle() {
    translate([-2*PivotOA.x,0,0])
    rotate([0,90,0])
    PolyCyl(HandleOD,4*PivotOA.x,24);
    }
    module Bolt() {
    translate([0,0,-PivotOA.z])
    PolyCyl(BoltOD,2*PivotOA.z,12);
    }
    module Pivot() {
    difference() {
    union() {
    hull()
    for (i=[-1,1], j=[-1,1]) // rounded block
    translate([i*(ClampBase.x/2 – CornerRadius),j*(ClampBase.y/2 – CornerRadius),-PivotOA.z/2])
    cylinder(r=CornerRadius,h=PivotOA.z,$fn=4*8);
    for (k=[-1,1])
    translate([0,0,k*(PivotOA.z/2 – Disk[LENGTH]/2)])
    rotate(180/36)
    cylinder(d=Disk[OD],h=Disk[LENGTH],$fn=36,center=true);
    }
    Handle();
    Bolt();
    cube([2*ClampBase.x,2*ClampBase.y,Kerf],center=true); // slice through center
    }
    }
    //———-
    // Build them
    if (Layout == "Show") {
    rotate([90,-45,0]) {
    Pivot();
    color("Green")
    translate([2*PivotOA.x – PivotOA.x/2,0,0])
    Handle();
    color("Red")
    Bolt();
    color("Yellow")
    for (k=[-1,1])
    translate([0,0,k*(PivotOA.z/2 + Washer[LENGTH])])
    rotate(180/36)
    cylinder(d=Washer[OD],h=Washer[LENGTH],$fn=36,center=true);
    }
    }
    if (Layout == "Build") {
    Offset = 5.0;
    intersection() {
    translate([-(PivotOA.x/2 + Offset),0,PivotOA.z/2])
    Pivot();
    translate([-2*PivotOA.x,-2*PivotOA.y,0])
    cube([4*PivotOA.x,4*PivotOA.y,PivotOA.z/2],center=false);
    }
    intersection() {
    translate([(PivotOA.x/2 + Offset),0,PivotOA.z/2])
    rotate([180,0,0])
    Pivot();
    translate([-2*PivotOA.x,-2*PivotOA.y,0])
    cube([4*PivotOA.x,4*PivotOA.y,PivotOA.z/2],center=false);
    }
    }

  • Laser-cut Cutworm Collars

    Laser-cut Cutworm Collars

    Mary, having had considerable trouble with cutworms in her gardens, routinely deploys cardboard collars around new plants:

    Cutworm Collars - assembled
    Cutworm Collars – assembled

    It seems cutworms trundle around until they find an edible plant, chew through the stem and topple the plant, then trundle off without taking another bite. A small cardboard barrier prevents them from sensing the plant: apparently, motivation to climb a short wall hasn’t yet evolved.

    Up to this point, Mary applied scissors to tissue boxes, but I proposed an alternative with an adjustable fit to any plant:

    Laser Cutting Cutworm Collars
    Laser Cutting Cutworm Collars

    A splayed cardboard box rarely lays flat, a condition enforced by a few MDF stops used as clamps.

    Come to find out no two tissue boxes have identical dimensions, even boxes from the same brand / retailer, so lay out duplicates of the collar template to match your stockpile.

    That was fun!

    The SVG image as a GitHub Gist:

    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.

  • OMTech 60 W Laser: Adjustable Honeycomb Stops

    OMTech 60 W Laser: Adjustable Honeycomb Stops

    When you (well, I) get fussy about angular alignment on the laser cutter’s honeycomb platform, an adjustable stop or two may come in handy:

    Laser Honeycomb - Adjustable Pins
    Laser Honeycomb – Adjustable Pins

    That’s a serving suggestion based on a true story, because I really wasn’t all that fussy about precise engraving alignment on those signs.

    A more typical situation on a smaller scale:

    Laser Honeycomb - Adjustable Pins - engraving
    Laser Honeycomb – Adjustable Pins – engraving

    The scrap of MDF with three holes provides angular alignment for the little two-color acrylic test coupon, so you can tuck successive squares into the corner, hammer them with slightly different patterns, then compare the results.

    The stops are an off-center hole (the ±3 text gives the offset) in an MDF disk with an acetal post:

    Laser Honeycomb - Adjustable Pins - detail
    Laser Honeycomb – Adjustable Pins – detail

    The 3 mm SHCS provides a convenient way to turn the post and disk, so the threading isn’t critical. Sufficiently snug threading will let you turn the screw counterclockwise without loosening it, but that surely depends on how tightly the 8 mm section fits into the honeycomb. The larger top section is 9mm, cleaned up from the rod’s nominal 3/8 inch OD, for a jam fit into the 8.8 mm + 0.1 mm kerf hole.

    The SVG images as a GitHub Gist:

    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.

    The ±5 mm offset disk may be more useful with larger items and now you know where those three holes came from.

  • Tour Easy: Terracycle Chain Idler Bushing

    Tour Easy: Terracycle Chain Idler Bushing

    It turns out that under rare conditions, triggered by fumbling a front derailleur shift, the upper chain section (out of the picture on the top) can whip vertically enough to jam between the Terracycle Idler’s mounting bolt and its longer chain retaining pin:

    Tour Easy - Terracycle idler
    Tour Easy – Terracycle idler

    Whereupon the chain falls off the chainring, jams firmly between the spider and the crank, and brings the proceedings to a halt.

    Having finally figured out the cause, I made a simple bushing to fit around the mounting bolt, reduce the gap, and (I hope) eliminate the problem:

    Tour Easy - Terracycle idler bushing
    Tour Easy – Terracycle idler bushing

    Given its rarity, I will need a few more years to verify the solution.

    Might get around to cleaning the chain one of these days, too …

  • 3D Elephant Head

    3D Elephant Head

    Sometimes you gotta make silly things:

    Trotec laser-cut elephant
    Trotec laser-cut elephant

    It’s cut from 3 mm MDF, rather than the fancy Trotec Eco 1 mm cellulose sheet they recommend, which required embiggening the mounting slots in all the pieces.

    It served as good, albeit tedious, practice for my atrophied GUI alignment and editing skilz.