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

  • Laser Cutter: OEM 24 V Power Supply Annoyances

    Laser Cutter: OEM 24 V Power Supply Annoyances

    In the process of replacing the laser cutter’s OEM 24 V 6 A power supply with a 15 A supply, one of the two screws holding it in place remained stuck in the underlying sheet metal plate:

    Laser OEM 24V Power Suppy - installed
    Laser OEM 24V Power Suppy – installed

    You can’t see either of the screws from that position, but they’re in the upper-left and lower-right corners. The offending screw is, of course, on the top, tucked between the top of the supply and the wire raceway. The bottom screw came out easily and I could maneuver the supply out of the way.

    Vigorous persuasion involving a bent-nose pliers and muttering got the screw out and revealed the problem:

    Laser OEM 24V Power Suppy - stripped screw
    Laser OEM 24V Power Suppy – stripped screw

    The reason why the screwdriver didn’t get much traction in the head also became obvious:

    Laser OEM 24V Power Suppy - goobered screw head
    Laser OEM 24V Power Suppy – goobered screw head

    Folks on the LightBurn forum seem astonished when they discover their fresh-from-the-factory has loose screws, missing screws, and occasionally the wrong screws.

    I always wondered where the switch pointed to by the conspicuous label might be:

    Laser OEM 24V Power Suppy - voltage label
    Laser OEM 24V Power Suppy – voltage label

    Unlike most supplies, it’s inside the case:

    Laser OEM 24V Power Suppy - voltage switch
    Laser OEM 24V Power Suppy – voltage switch

    After you spot it, you can also find it just below the tip of the arrow in the previous picture. I suppose putting it inside the case prevents it from being inadvertently flipped, but somebody had to dismantle All. The. Supplies. to flip that switch for the USA-ian market.

    The dataplate also became visible:

    Laser OEM 24V Power Suppy - dataplate
    Laser OEM 24V Power Suppy – dataplate

    You’ll recall the 5 V 2 A output was dedicated to the red-dot pointer drawing about 20 mA.

    In contrast, the 24 V 6 A output handled:

    • X axis stepper driver: 3.5 A peak
    • Y axis stepper driver: 3.5 A peak
    • U axis stepper driver: 5.1 A peak
    • KT332N controller &c: 1 or 2 A
    • Gantry LED strip: 0.25 A

    The stepper drivers are set to drop the motor current by half when they’re idle, which means their load would be only around 6 A. That’s as delivered to the motor windings, with the power supply’s average current being lower by roughly the ratio between the motor’s rated voltage and the power supply voltage. The instantaneous peak current, however, is the sum of all those currents.

    At some point I must measure all that, but for now I want to shoehorn a bigger supply in there to take care of the additional load of the rotary stepper driver, plus the existing platform lighting and improved electronics bay blower.

  • Dryer Vent Filter Snout: More Warping

    Dryer Vent Filter Snout: More Warping

    I have unfairly maligned the TPU snout, because the PETG snout failed the same way:

    Clothes Dryer Vent Filter Snout - warped PETG
    Clothes Dryer Vent Filter Snout – warped PETG

    Seen with the shock cord in place, it’s obvious that combining moderately high temperature with steady compression sufficed to bend the PETG enough to pop those tabs loose from the vent.

    So the OpenSCAD model now produces a stiffening ring to be laser-cut from acrylic:

    Clothes Dryer Vent Filter Snout - OpenSCAD stiffener
    Clothes Dryer Vent Filter Snout – OpenSCAD stiffener

    The whole snout builds as a single unit in the obvious orientation:

    Clothes Dryer Vent Filter Snout - V2 - slicer
    Clothes Dryer Vent Filter Snout – V2 – slicer

    Because the part of the snout with the tabs is 7 mm tall, I glued a 4 mm acrylic ring to a 3 mm ring, with both of them glued to the snout:

    Clothes Dryer Vent Filter Snout - acrylic gluing
    Clothes Dryer Vent Filter Snout – acrylic gluing

    That’s “natural” PETG, which I expected to be somewhat more transparent, but it’s definitely not a dealbreaker.

    Mary will sew up another cheesecloth filter and we’ll see what happens to this setup.

    As the saying goes, “Experience is what you get when you don’t get what you want.”

    Fortunately, living in the future makes it easy to iterate on the design & implementation until experience produces what should have been obvious at the start.

  • Bob Yak Trailer: Triple-New Grenade Pin Straps

    Bob Yak Trailer: Triple-New Grenade Pin Straps

    It turned out those window screen splines lasted a dozen years until this happened:

    Bob YAK trailer - splitting screen spline
    Bob YAK trailer – splitting screen spline

    Some rummaging in the Big Box o’ String produced the spool of 1000 pound test Kevlar cord most recently applied to the seat back on Mary’s bike, so this happened:

    Bob YAK trailer - Kevlar cords
    Bob YAK trailer – Kevlar cords

    Having re-confirmed that frayed Kevlar cannot be melted into a blob, another UV-stabilized cable tie at each end will control those tufts.

    Those cords should last forever

  • OMTech 60 W Laser: Revised Red-Dot Pointer Power

    OMTech 60 W Laser: Revised Red-Dot Pointer Power

    The OMTech 60 W laser has a 24 V + 5 V power supply for the stepper motors and, I had always assumed, the feeble LED strip light on the gantry:

    OMTech 60W laser - OEM lighting
    OMTech 60W laser – OEM lighting

    The stepper motor driver settings, plus a few amps for the controller and suchlike, added up to something over 12 A, far more than the 24 V supply’s 6 A spec should produce. When I added the COB strip lights around the platform, I dropped a 24 V wall wart into the electronics bay to avoid abusing that poor supply:

    OMTech 60W laser - COB LED strips
    OMTech 60W laser – COB LED strips

    For reasons to be described later, it’s now time to upgrade that 24 V power supply to a 15 A supply that’s been on the shelf for far too long. However, it does not have a 5 V output, so it’s also time to figure out how much 5 V power the laser really needs.

    A quick measurement suggested the 5 V output delivered 20 mA to something. After convincing myself the multimeter was working and that the gantry LED strip was still lit, I finally tracked the wire pair to the red-dot pointer:

    OMTech red dot pointer - polarizing filter installed
    OMTech red dot pointer – polarizing filter installed

    Yeah, a whole dual-output power supply for one red-dot laser module.

    Conveniently, the KT332N controller has several 5 V outputs and the LIMIT terminal block even has a GND terminal on the other end:

    KT332N Limit Terminals - OEM
    KT332N Limit Terminals – OEM

    Prying off the hot melt glue, extracting the red-dot pointer wiring from the raceway, crimping ferrules on a couple of jumpers, and deploying a pair of Wago connectors:

    KT332N Limit Terminals - red dot wiring
    KT332N Limit Terminals – red dot wiring

    I am still not accustomed to the color code:

    • Black = signal
    • Brown = power
    • Blue = GND

    But it’s like that and that’s the way it is.

    The red dot lit right up, the gantry LED strip obviously uses 24 V power, and I must shoehorn a slightly larger 24 V supply into the space currently occupied by the old supply.

  • Smashed Glass Coaster: Rivers of Crack

    Smashed Glass Coaster: Rivers of Crack

    Looking at that big smashed-glass coaster from a different angle showed interesting patterns:

    Printed Fragment Coaster - 165mm - long cracks
    Printed Fragment Coaster – 165mm – long cracks

    Although the larger fragments were still holding together when I laid them in their recesses, they apparently consist of several sub-fragments with larger continuous cracks letting the epoxy flow / ooze inside.

    Now that I know what to look for, the original picture also shows them, albeit less distinctly:

    Printed Fragment Coaster 165mm - overview
    Printed Fragment Coaster 165mm – overview

    They’re not obvious in the scanned image of the fragments, although I could convince myself I see some:

    Fragments 165mm square - scan sample
    Fragments 165mm square – scan sample

    The many smaller fragments I’ve been turning into coasters probably separated from similar large chunks along such cracks, which is why I’ve never seen rivers of crack before.

    Apologies if you arrived here expecting a tirade concerning the drug trade … :grin:

  • Garden Step2 Seat: Axle Repair

    Garden Step2 Seat: Axle Repair

    The cart in Mary’s Vassar Farm plot returned in need of repair:

    Garden Seat - fractured body
    Garden Seat – fractured body

    Those fractures near the end of the axle let the axle erode the side wall:

    Garden Seat - eroded body
    Garden Seat – eroded body

    This will obviously require some sort of reinforcement on the body holding the axle, but the first challenge involved getting the wheels off the axle:

    Garden Seat - axle cover
    Garden Seat – axle cover

    Some brute force revealed the hub covers snapped over an install-only locking fastener:

    Garden Seat - axle retaining clip
    Garden Seat – axle retaining clip

    More brute force cut those fasteners (a.k.a. star-lock washers) to get the wheels off the axles.

    While contemplating the situation, a box of 606 bearings (as used in the PolyDryer auto-rewind spindles) failed to scamper out of the way and produced a victim fitting perfectly on the 8 mm axle:

    Garden Seat - bearing idea
    Garden Seat – bearing idea

    I regard such happenstance as a message from the Universe showing I’m on the right track. The alert reader will note the axle should not rotate, but does sport scars showing it’s done some turning in the recent past, so the bearing may not be a completely Bad Idea™.

    Finding a Lexan snippet exactly as thick as the bearing suggested bolting a plate across the side of the body to support the bearing, like this:

    Garden Seat - reinforcing plate installed
    Garden Seat – reinforcing plate installed

    Some layout work in LightBurn produced a template to mark the body for hand-drilling the holes:

    Garden Seat - drill marking template
    Garden Seat – drill marking template

    In retrospect, that was a mistake. I should have:

    • Laser-cut an MDF sheet to make a drill jig
    • Drilled one hole and inserted a screw
    • Drilled the rest of the holes in exactly the right places

    Instead, three of the holes in that nice Lexan sheet ended up slightly egg-shaped to adjust for mis-drilled holes in the body.

    Lexan does not laser-cut well at all, so that sheet was drilled to suit after using the template to mark the holes:

    Garden Seat - plate drilling
    Garden Seat – plate drilling

    Then it got bandsawed / belt-sanded into shape.

    I squeezed 5 mm rivnuts into whatever fiber-reinforced plastic they used for the body, which worked better than I expected. They’re intended for sheet metal, so I set the tool for 5 mm compression and they seem secure. I hope using plenty of screws across a large plate will diffuse the stress on each screw.

    Then I threaded the axles and used acorn nuts:

    Garden Seat - repaired axle installed
    Garden Seat – repaired axle installed

    In this situation, I regard JB KwikWeld epoxy as “removable with some effort”, as opposed to the destruction required with those star-lock washers. High-strength Locktite might also be suitable, but I do not anticipate ever having to remove these again for any reason and do not want the nuts to fall off in the garden.

    The re-replaced seat conjured from a cafeteria tray continues to work fine, as do its 3D printed hinges.

    It’ll reside in the shed until Spring rolls around …

  • Mini-lathe Change Gear Generator: Redux

    Mini-lathe Change Gear Generator: Redux

    Because the BOSL2 library includes a gear generator, I can now avoid creating a gear outline in Inkscape and importing it into my stacked change gear generator.

    The labels now snuggle closer to the shaft and (barely) fit on smaller gears:

    Mini-lathe stacked change gears - 28T - solid model
    Mini-lathe stacked change gears – 28T – solid model

    The stacked B-C gears for the jack shaft work as before, with both labels on the top gear:

    Mini-lathe stacked change gears - 28-50T - solid model
    Mini-lathe stacked change gears – 28-50T – solid model

    The admittedly flimsy motivation for all this was to make a 28 tooth gear to cut a 0.9 mm pitch, thus filling an obvious hole in the gear table.

    My collection of gears could do 21-60-81-50, but the 81 T gear collides with the screw holding the 21 T gear. Rearranging it to 21-50-81-60 showed the B-C gears exceeded the space available.

    Because it’s all ratios and a 28 T gear is 4/3 bigger than 21 T, reducing the rest of the train by 3/4 should work. In fact, it produced a reasonable 28-80-81-50 chain:

    Mini-lathe change gears - 28T installed
    Mini-lathe change gears – 28T installed

    The fact that I do not anticipate ever needing to cut a 0.9 mm pitch has nothing whatsoever to do with it; that gear will surely come in handy for something.

    While I was at it, I made a 27 T gear, because 27 = 21 × 9/7:

    Mini-lathe stacked change gears - 27T - PrusaSlicer preview
    Mini-lathe stacked change gears – 27T – PrusaSlicer preview

    You can never have enough change gears. Right?

    The OpenSCAD source code as a GitHub Gist:

    // LMS Mini-Lathe
    // Change gears with stacking
    // Ed Nisley – KE4ZNU
    // 2020-05 use Inkscape SVG gears
    // 2025-12 use BOSL2 gear generator
    include <BOSL2/std.scad>
    include <BOSL2/gears.scad>
    /* [Gears] */
    TopGear = 0; // zero for single gear
    BottomGear = 28;
    /* [Hidden] */
    ThreadThick = 0.20;
    HoleWindage = 0.2;
    Protrusion = 0.1; // make holes end cleanly
    /* [Dimensions] */
    ShaftOD = 12.0;
    GearThick = 7.75;
    Keyway = [3.5,3.0,3*GearThick]; // x on radius, y on perim
    LegendEnable = (TopGear == 0 && BottomGear > 27) || (TopGear > 27);
    LegendThick = 2*ThreadThick;
    LegendZ = (TopGear ? 2*GearThick : GearThick) – LegendThick;
    LegendSize = 5;
    LegendRecess = [8,6,LegendThick];
    LegendOffset = [0,LegendRecess.y/2 + ShaftOD/2 + HoleWindage,LegendZ + LegendRecess.z/2];
    //———————–
    // Build it!
    union() {
    difference() {
    union() {
    spur_gear(mod=1,teeth=BottomGear,thickness=GearThick,shaft_diam=ShaftOD + HoleWindage,anchor=BOTTOM);
    if (TopGear)
    spur_gear(mod=1,teeth=TopGear,thickness=2*GearThick,shaft_diam=ShaftOD + HoleWindage,anchor=BOTTOM);
    }
    right(ShaftOD/2)
    down(Protrusion)
    cube(Keyway,anchor=CENTER+BOTTOM);
    if (LegendEnable) {
    translate(LegendOffset)
    cube(LegendRecess + [0,0,Protrusion],anchor=CENTER);
    if (TopGear)
    zrot(180)
    translate(LegendOffset)
    cube(LegendRecess + [0,0,Protrusion],anchor=CENTER);
    }
    }
    if (LegendEnable)
    translate([0,0,LegendZ – Protrusion])
    linear_extrude(height=LegendThick + Protrusion,convexity=10) {
    translate([LegendOffset.x,LegendOffset.y])
    text(text=str(BottomGear),size=LegendSize,font="Arial:style:Bold",halign="center",valign="center");
    if (TopGear)
    zrot(180)
    translate([LegendOffset.x,LegendOffset.y])
    text(text=str(TopGear),size=LegendSize,font="Arial:style:Bold",halign="center",valign="center");
    }
    }