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.

Tag: Laser Cutter

  • Craptastic Kitchen Scale: Shattered

    Craptastic Kitchen Scale: Shattered

    So it turns out the surface of the craptastic kitchen scale really was tempered glass:

    Kitchen scale - shattered glass
    Kitchen scale – shattered glass

    That’s after an inadvertent drop edgewise onto the concrete patio.

    Stipulated: given what I’ve already done to / for the thing, the usual warranties do not apply.

    The frame around the NP-BX1 lithium batteries held the glass fragments together surprisingly well:

    Kitchen scale - shattered glass - detail
    Kitchen scale – shattered glass – detail

    Of course, harvesting the good stuff resulted in a pile of fragments, but the carcass cleaned up nicely and, after grafting a temporary top made from scrap acrylic it still worked:

    Kitchen scale - temporary surface
    Kitchen scale – temporary surface

    I expected to just cut a slab of 6 mm acrylic to match the original 5 mm glass, but for reasons probably related to dielectric constants, the touch controls do not work through that much acrylic. In fact, they don’t work through anything other than the 1.5 mm acrylic shown above, which seems a bit too flimsy for normal use.

    The original glass had a design screened on the back surface and covered with paint, which I can certainly mimic, but right now I’m unsure how much effort to put into the thing.

  • Laser Cutter: Print-and-Cut Alignment Accuracy

    Laser Cutter: Print-and-Cut Alignment Accuracy

    Up to this point I’ve been making mirror alignment targets entirely on the laser cutter to ensure accurate alignment:

    OMTech 60W laser - beam alignment - focus detail - 2022-03-22
    OMTech 60W laser – beam alignment – focus detail – 2022-03-22

    While that works fine, using Dot Mode takes basically forever to chew its way through any nontrivial number of targets.

    Now that I have more familiarity with LightBurn’s Print-and-Cut feature, I tried printing the graticules, aligning the sheet, then laser-cutting just the perimeters:

    Laser Beam Alignment Targets - cut tabs - smoothed
    Laser Beam Alignment Targets – cut tabs – smoothed

    The smaller targets fit neatly into the hole perpendicular to the beam:

    OMTech CO2 Mirror 2 mount - Y Z screws
    OMTech CO2 Mirror 2 mount – Y Z screws

    The larger ones sit flush on the mirrors at 45° to the beam, so stretching the horizontal scale by 1.414 = √2 makes each tick mark correspond to 1 mm of perpendicular beam offset.

    All of which worked surprisingly well, with some caveats.

    The first gotcha: ordinary consumer-grade inkjet printers do not have CNC accuracy. The corner targets are on 150 mm horizontal centers and 240 mm vertical centers in the LightBurn layout, but my Epson ET-3830 printer put them on 150×241.3 mm centers. This isn’t unexpected, particularly for laser printers, but it means you must use LightBurn’s scaled version of the P-n-Cut alignment.

    I used the upper-right and lower-left targets for the P-n-Cut alignment step, confirming the positioning with a laser pulse putting a tiny hole in the paper:

    Print-and-Cut - target accuracy
    Print-and-Cut – target accuracy

    The lines are 0.5 mm wide and the inner circle is 2 mm in diameter, so my alignment at the upper right is as good as it’s gonna get and the lower left is off by maybe 0.3 mm. While it may be possible to be more accurate, I think half a millimeter is a reasonable error budget for targeting accuracy.

    The laser-perforated circles should overlay the inner printed circles after LightBurn applies the P-n-C corrections. That they obviously do not indicates the effect of the small target errors. In any event, the maximum error seems to be 1 mm, which gives you an idea of just how precise P-n-C might be.

    The perimeter laser cuts are off by about the same amount & direction as the dotted circle in the adjacent target:

    Print-and-Cut - perimeter matching
    Print-and-Cut – perimeter matching

    Overall, errors around 1 mm seem possible with careful attention to detail, but expecting anything better than a few millimeters is probably unreasonable, particularly for layouts larger than a Letter size page.

    Works for me, though!

    The LightBurn SVG layout 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.
    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.
  • Laser Cutter: Assist Air Flow vs. Pressure

    Laser Cutter: Assist Air Flow vs. Pressure

    A question on the LightBurn forum prompted a quick-n-dirty measurement of the assist flow rate vs. inlet air pressure, which required a bit more oomph than the laser’s air pump can provide.

    So a small air compressor with a buffer tank on a T fitting in the Basement Shop provides the air:

    Laser assist air flow test - compressor
    Laser assist air flow test – compressor

    The far end of the green 50 ft hose has a horrific quick-disconnect 1/4 inch NPT to 6 mm tube adapter replacing the laser cutter’s air pump:

    Laser assist air flow test - inlet adapter
    Laser assist air flow test – inlet adapter

    Protip: If you’re trying to run an actual air tool at the end of fifty feet of 1/4 inch ID hose, you’re doing it wrong.

    Flow measurements come from the flowmeter inside the cabinet:

    OMTech Laser - air flowmeter installed
    OMTech Laser – air flowmeter installed

    The normal dual-flow assist air setup has a flow control valve (the knob sticking up on the right) normally set for 2 l/min from the air pump:

    OMTech Laser - air assist - plumbing
    OMTech Laser – air assist – plumbing

    I cranked that valve completely open to allow unrestricted flow with the solenoid (block in the middle) closed and varied the compressor’s output pressure while measuring the air flow.

    Without further ado, the assist air flow rate as a function of the inlet air pressure just upstream of the Y fitting on the left:

    Assist Air flow vs inlet pressure
    Assist Air flow vs inlet pressure

    Fairly obviously, the flow is not 5.5 l/min at 0 psi inlet pressure and the long & skinny air hose limits the flow above 15 l/min. The eyeballometric line looks pretty good in the middle, though.

    Other measurements not shown here suggested the outlet pressure, as measured just downstream of all the plumbing / upstream of the flowmeter & hose to the laser head, is about 1 psi at 10 to 12 l/min flow, with 0.2 psi at 8 l/min. My pressure gauges have terrible accuracy at such low pressures, so I don’t trust those numbers, but the plumbing definitely accounts for most of the inlet-to-outlet pressure drop.

    The nozzle on the laser head is 4.1 mm ID → 13.2 mm²:

    Magnetic Honeycomb Spikes - MDF
    Magnetic Honeycomb Spikes – MDF

    A flow of 10 l/min produces a 13 m/s = 28 mile/hr wind through the nozzle, which seems adequate to blow the fumes out of the kerf, and the low-flow default of 2 l/min might be a 5 mph breeze.

    More air pressure would produce more wind, but it’s not clear how much better the resulting cuts would be.

  • Laser Cutter: Improved Tube Support Pads

    Laser Cutter: Improved Tube Support Pads

    A recent mirror alignment check led to complete failure at the laser head aperture just upstream of Mirror 3:

    Beam alignment - M3 fail
    Beam alignment – M3 fail

    Those five spots come from the center of the platform and the four corners; they will overlay into a single spot in a properly aligned machine.

    Pondering my options reminded me that I intended to build new laser tube support pads, because the ones shipped inside the machine seemed crudely made:

    CO2 Laser supports - OEM hardware
    CO2 Laser supports – OEM hardware

    It’s partly disassembled in preparation for the next step.

    The chipboard shims underneath the stack are mine, but the OEM pile was unstable even with the screws tightened. The reason became obvious when I took the stack apart:

    CO2 laser supports - OEM molded parts
    CO2 laser supports – OEM molded parts

    The bump in the middle of the upper block surrounds the post of the laser tube cradle. It looks like this from the side:

    CO2 Laser supports - OEM tube cradle - side view
    CO2 Laser supports – OEM tube cradle – side view

    All of the blocks were crudely molded and could not be stacked into a stable pile. The tech who assembled and aligned the machine tightened the screws so firmly that the washers crushed into saddles:

    CO2 Laser supports - OEM crushed washers
    CO2 Laser supports – OEM crushed washers

    I can do better than that, if only because I’m not on the clock.

    The tube support on the right end (toward the beam outlet) screwed into a nice set of threaded inserts brazed onto the floor of the laser compartment.

    As far as I can tell, the laser cabinet was intended for a real 60 W tube measuring 1200 mm that would stick out into a box on the side of the cabinet, but would allow the left tube support base (shown above) to screw into a similar quartet of threaded inserts. Instead, it has an overdriven 50 W tube measuring 1050 mm with the left support screwed into four crudely hand-drilled and -tapped holes so far off the centerline as to jam the screws against the front end of their slots in order to get the tube barely into alignment, with the screws on the output side jammed against the rear end of their slots.

    To answer a question you may have: the commercial tube supports one might buy from a reputable supplier (or, for that matter, Amazon) are either exactly as wide as the compartment (thus eliminating one degree of freedom) or obviously unsteady, and would surely require drilling more holes in awkward locations.

    So, we begin.

    The general idea is to make a larger set of blocks fitting another quartet of holes with threaded inserts on the right side of the compartment floor:

    CO2 Laser supports - installed right
    CO2 Laser supports – installed right

    On the right, I stuck the bottom block to the shelf with double-sided tape:

    CO2 Laser supports - installed left
    CO2 Laser supports – installed left

    Because I was unwilling to:

    • Drill and tap holes with the tube in place or
    • Remove the tube to get safer access

    The alert reader will note the four tapped holes immediately to the right of the new blocks. Those were evidently intended for a center tube support for the longer tube, because the crudely hand-drilled holes hide just out of view to the left of the new blocks.

    At the far left of that picture, beyond the two holes probably intended for coolant tubes, you can see one of the four holes with tapped inserts that would match longer tubes, where the 50 W tube has its anode and coolant connections.

    The larger blocks I made have a hole accommodating the bulge in the tube cradle to let it slide back and forth as needed:

    CO2 Laser supports - gluing top layers
    CO2 Laser supports – gluing top layers

    That seemed easier and less exciting than attempting to flycut the bottom of the OEM plastic tube cradle.

    The chipboard layer serves as a guide to keep the tube cradle lined up, with its now much shorter screws into the brass inserts epoxied into the plywood layer.

    I glued the top layers together to get a rigid assembly, with the lower layers being replaceable shims adding up to the right height, whatever that might be. The LightBurn layout has an assortment of useful pieces, some of which I didn’t need:

    Laser tube support blocks - LightBurn layout
    Laser tube support blocks – LightBurn layout

    If this were a greenfield project, the leftmost Base MDF pad would come in handy, as its slots are large enough to clear the flat side of the 4 mm rivnuts I’d install in the compartment floor.

    Thin shims come from paperboard boxes & chipboard:

    CO2 Laser supports - thin shims
    CO2 Laser supports – thin shims

    Thicker spacers come from (scrap) plywood and MDF:

    CO2 Laser supports - thIck shims
    CO2 Laser supports – thIck shims

    Skipping ahead a few days, the tube & mirror realignment came out much better:

    Alignment at Mirror 3 - four corners - 2023-09-02
    Alignment at Mirror 3 – four corners – 2023-09-02

    That’s only the four corners of the platform, but it’s OK by me.

    If you’re fussy, the scorches are all low by a bit under 2 mm. Fixing that requires raising the tube by 2 mm, which I can certainly do, but I’m going to let this whole affair mellow out for a while.

    The LightBurn SVG layout 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.
  • Laser Cutter: Mirror Pin Wrench

    Laser Cutter: Mirror Pin Wrench

    After struggling with pin pliers again, I finally made a pin wrench for the laser cutter’s mirror retaining rings:

    Laser Mirror Pin Wrench - in use
    Laser Mirror Pin Wrench – in use

    The odd grayish tint toward the flat end of the knob comes from residual black filament in the hot end after switching to retina-burn orange PETG.

    The solid model looks about like you’d expect:

    Mirror Pin Wrench - Solid Model
    Mirror Pin Wrench – Solid Model

    The pins are snippets of 3/32 inch = 2.4 mm steel rod with ground-round ends to fit the 2.5 mm pin sockets in the retaining ring.

    They’re rammed into place with a drill press to keep them aligned with the holes:

    Laser Mirror Pin Wrench - pin insertion
    Laser Mirror Pin Wrench – pin insertion

    Pressed flush with the central boss that aligns the wrench with the ring:

    Laser Mirror Pin Wrench - pin leveling
    Laser Mirror Pin Wrench – pin leveling

    Then put the ring on the bench, set the wrench atop the ring with the pins in the sockets, and press firmly to seat the pins to the proper depth. The end results should look like this:

    Laser Mirror Pin Wrench - mirror ring test
    Laser Mirror Pin Wrench – mirror ring test

    The next time I clean the mirrors, there will be less muttering.

    The OpenSCAD source code as a GitHub Gist:

    // OMTech laser cutter mirror pin wrench
    // Ed Nisley – KE4ZNU – August 2023
    // From https://www.thingiverse.com/thing:4146258
    use <knurledFinishLib_v2_1.scad>
    /* [Hidden] */
    ThreadThick = 0.20;
    ThreadWidth = 0.40;
    HoleWindage = 0.2; // extra clearance
    Protrusion = 0.1; // make holes end cleanly
    inch = 25.4;
    //———————-
    // Dimensions
    /* [Knob] */
    PinDia = 2.4; // pin diameter
    PinOC = 20.5; // … on-center spacing
    PinDepth = 10.0; // … hole depth
    LocDia = 14.5; // central stud
    LocLength = 3.0;
    ShaftDia = 26.0; // un-knurled section diameter
    ShaftLength = 15.0; // … length
    KnurlDia = 30.0; // diameter at midline of knurl diamonds
    KnurlLen = 20.0; // … length of knurled section
    /* [Hidden] */
    KnurlDPNom = 32; // Nominal diametral pitch = (# diamonds) / (OD inches)
    DiamondDepth = 0.5; // … depth of diamonds
    DiamondAspect = 2; // length to width ratio
    KnurlID = KnurlDia – DiamondDepth; // dia at bottom of knurl
    NumDiamonds = ceil(KnurlDPNom * KnurlID / inch);
    echo(str("Num diamonds: ",NumDiamonds));
    NumSides = 4*NumDiamonds; // 4 facets per diamond
    KnurlDP = NumDiamonds / (KnurlID / inch); // actual DP
    echo(str("DP Nom: ",KnurlDPNom," actual: ",KnurlDP));
    DiamondWidth = (KnurlID * PI) / NumDiamonds;
    DiamondLenNom = DiamondAspect * DiamondWidth; // nominal diamond length
    DiamondLength = KnurlLen / round(KnurlLen/DiamondLenNom); // … actual
    TaperLength = 0.75*DiamondLength;
    KnobOAL = ShaftLength + KnurlLen + 2*TaperLength;
    //———————-
    // 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(r=(FixDia + HoleWindage)/2,
    h=Height,
    $fn=Sides);
    }
    //- Build it
    difference() {
    union() {
    render(convexity=10)
    translate([0,0,TaperLength])
    knurl(k_cyl_hg=KnurlLen,
    k_cyl_od=KnurlDia,
    knurl_wd=DiamondWidth,
    knurl_hg=DiamondLength,
    knurl_dp=DiamondDepth,
    e_smooth=DiamondLength/2);
    color("Orange")
    cylinder(r1=ShaftDia/2,
    r2=(KnurlDia – DiamondDepth)/2,
    h=(TaperLength + Protrusion),
    $fn=NumSides);
    color("Orange")
    translate([0,0,(TaperLength + KnurlLen – Protrusion)])
    cylinder(r2=ShaftDia/2,
    r1=(KnurlDia – DiamondDepth)/2,
    h=(TaperLength + Protrusion),
    $fn=NumSides);
    color("Moccasin")
    translate([0,0,(2*TaperLength + KnurlLen – Protrusion)])
    cylinder(r=ShaftDia/2,h=(ShaftLength + Protrusion),$fn=NumSides);
    color("Brown")
    translate([0,0,KnobOAL – Protrusion])
    cylinder(r=LocDia/2,h=(LocLength + Protrusion),$fn=NumSides);
    }
    for (i=[-1,1])
    translate([i*PinOC/2,0,KnobOAL – PinDepth])
    rotate(180/6)
    PolyCyl(PinDia,PinDepth + Protrusion,6);
    }

    It descends from a long line of similar things dating back to the OG Sherline Speed Wrenches.

  • Onion Maggot Fly Sticky Trap Repair

    Onion Maggot Fly Sticky Trap Repair

    One of the sticky traps absorbed a mighty blow during the season and its ski-pole mount snapped off. Rather then rebuild the whole thing, I decided to just epoxy the pieces together and stick a reinforcing plate on the bottom.

    I added a pair of screw holes to the OpenSCAD model and produced a projection of the bottom layer:

    if (Layout == "Projection") {
        projection(cut=true) {
            Attachment();
            Cap();
        }
    }
    

    Which looked like this:

    Sticky Sheet Cage - projection
    Sticky Sheet Cage – projection

    Cutting that shape from an adhesive sheet looks the same:

    Onion Maggot Fly Trap - adhesive sheet
    Onion Maggot Fly Trap – adhesive sheet

    The somewhat raggedy large hole seems to come from OpenSCAD’s somewhat low-res SVG outline conversion.

    Fill the broken part with epoxy:

    Onion Maggot Fly Trap - epoxy ready
    Onion Maggot Fly Trap – epoxy ready

    Clamp it together on a plate to keep the bottom aligned:

    Onion Maggot Fly Trap - clamping
    Onion Maggot Fly Trap – clamping

    Cut an acrylic baseplate:

    Onion Maggot Fly Trap - acrylic cut
    Onion Maggot Fly Trap – acrylic cut

    Apply adhesive sheet to acrylic, stick it on the bottom of the cage, add a pair of stainless steel screws, and declare victory:

    Onion Maggot Fly Trap - bottom view
    Onion Maggot Fly Trap – bottom view

    We’ll see how long that lasts out in the garden next year …

  • Popsicle Mixing Sticks

    Popsicle Mixing Sticks

    Perhaps popsicle stick mixers?

    Popsicle stick mixer - in action
    Popsicle stick mixer – in action

    I made a batch to see if they’d simplify mixing my usual tiny batches of epoxy … and they do! Now I need not worry about forgetting to wipe off the screwdriver or cross-contaminating the resin / hardener tubes.

    Reshaping the tip so the laser beam enters at right angles to the stick produced a cleaner cut and a slightly narrower blade:

    Popsicle stick mixer - cutting
    Popsicle stick mixer – cutting

    The fixture and LightBurn template I made for the engraved markers came in handy. Aligning the template to the fixture proceeds as with the larger craft stick garden markers.

    A small holder keeps finished sticks ready for use:

    Popsicle stick mixer - presentation box
    Popsicle stick mixer – presentation box

    I don’t know how long the box originally holding 1000 sticks has been sitting on the shop shelf, but it’s at least half full despite my continuing efforts. Maybe I can get ahead on my holiday gift prep?

    The LightBurn SVG template layout 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.