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.

Author: Ed

  • Pride Lift Chair: Fuzzy Felt Feet

    Pride Lift Chair: Fuzzy Felt Feet

    By the Universal Principle of the Conservation of Perversity, the base of the floor lamp just barely doesn’t fit under the edge of the Comfy Chair:

    Floor Lamp - copper 70° elbow - installed
    Floor Lamp – copper 70° elbow – installed

    Well, I can fix that!

    Lift Chair Foot - installed
    Lift Chair Foot – installed

    The feet descend from the fuzzy felt feet on the plant shelves, with the hex head socket transmogrified into a circle to match the chair feet. The support structure grew a flat plate to ensure it doesn’t pull loose from the platform:

    Lift Chair Feet - solid model - support view
    Lift Chair Feet – solid model – support view

    Print ’em out, stick the felt in place:

    Lift Chair Feet - assembly
    Lift Chair Feet – assembly

    Lift the chair (maybe with a small prybar atop some plywood to protect the floor), position the feet, lower gently: done!

    While the M2 was warm, I ran off another set for the other Comfy Chair, just for symmetry.

    The OpenSCAD source code as a GitHub Gist:

    // Feet for Pride lift chair
    // Ed Nisley KE4ZNU 2020-05
    Layout = "Build"; // [Show, Build]
    Support = true;
    //- Extrusion parameters must match reality!
    // Print with 2 shells and 3 solid layers
    /* [Hidden] */
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    HoleWindage = 0.2;
    Protrusion = 0.1; // make holes end cleanly
    inch = 25.4;
    //———————-
    // Dimensions
    /* [Dimensions] */
    ChairFootOD = 33.0;
    ChairFootRecess = 5.0;
    FeltOD = 39.0;
    FeltRecess = 2.5;
    FootPlate = 6*ThreadThick;
    FootWall = 4*ThreadWidth;
    FootOD = 2*FootWall + max(ChairFootOD,FeltOD);
    echo(str("Foot OD: ",FootOD));
    FootTall = ChairFootRecess + FootPlate + FeltRecess;
    echo(str(" … height: "),FootTall);
    NumSides = 9*4;
    //———————-
    // Useful routines
    module FootPad() {
    difference() {
    cylinder(r=FootOD/2,h=FootTall,$fn=NumSides);
    translate([0,0,FeltRecess + FootPlate])
    cylinder(d=ChairFootOD,h=2*ChairFootRecess,$fn=NumSides);
    translate([0,0,-Protrusion])
    cylinder(d=FeltOD,h=(FeltRecess + Protrusion),$fn=NumSides);
    }
    }
    //——————-
    // Build it…
    if (Layout == "Show")
    FootPad();
    if (Layout == "Build") {
    translate([0,0,FootTall])
    rotate([180,0,0])
    FootPad();
    if (Support)
    color("Yellow") {
    for (Seg=[0:5])
    rotate(30 + 360*Seg/6)
    translate([0,0,(ChairFootRecess – ThreadThick)/2])
    cube([(ChairFootOD – 3*ThreadWidth),
    2*ThreadWidth,
    (ChairFootRecess – ThreadThick)],
    center=true);
    rotate(180/6)
    cylinder(d=0.5*ChairFootOD,h=ThreadThick,$fn=6);
    }
    }

  • Snakeskin

    Snakeskin

    A shed snakeskin appeared when I opened the garage door:

    Snakeskin - overview
    Snakeskin – overview

    The skin sits atop the retaining wall next to the door, on a stone(-like) background with poor contrast: even an empty snake has good camouflage!

    The exterior looks like genuine snakeskin:

    Snakeskin - exterior
    Snakeskin – exterior

    I didn’t know the interior has an entirely different pattern:

    Snakeskin - interior
    Snakeskin – interior

    As far as I can tell, the snake was going about its business elsewhere in the yard.

    To be fair, there’s some luck involved.

    Update: After Mitch nudged me, I found the (somewhat the worse for wear) snakeskin again. The head end was split, much as I described, but the tail end was intact (the snake having pulled out like a finger from a glove) and what I though was the inside of the top was the outside of the bottom, just pushed inward to form a very thin double layer.

    Today I Learned … to always look closer!

  • Monthly Image: Wappinger Dam Gears

    Monthly Image: Wappinger Dam Gears

    A walk around Wappinger Lake brought me to the old penstock controls:

    Wappinger Dam - old penstock gearing - E view
    Wappinger Dam – old penstock gearing – E view

    Still meshed after all these years:

    Wappinger Dam - old penstock gearing - SE view
    Wappinger Dam – old penstock gearing – SE view

    The “new” penstock intake control, a pair of utterly practical and totally non-photogenic screw drives, sits just to the left of these relics.

    A night view of the penstock from some years ago:

    Wappingers Falls Bridge - Pixel XL HDR - 2017-09-22
    Wappingers Falls Bridge – Pixel XL HDR – 2017-09-22

    It still carries water to the recently refurbished power plant downstream on the right.

    Those gears will remain meshed after everything else rots away …

  • Mini-Lathe Metric Threading: 42 Tooth Gear

    Mini-Lathe Metric Threading: 42 Tooth Gear

    Going from a 21 tooth gear to a 42 tooth gear means you must reduce the remaining train ratio by a factor of two for a given thread pitch. Here’s a 42-50-45-60 train, with the same -125 ppm error as the 21-50-60-40 train and no screw / washer clearance issues between the A screw and the C gear:

    Mini-Lathe change gears - 1 mm - 45-50-45-60
    Mini-Lathe change gears – 1 mm – 45-50-45-60

    The original 60-40 CD pair has a 3:2 ratio, the 45-60 CD pair is 3:4, so that’s where the factor-of-two reduction happens.

    The first pass at the solid model included a debossed legend:

    Mini-lathe 42 tooth change gear - Slic3r
    Mini-lathe 42 tooth change gear – Slic3r

    With a printed gear in hand, I realized the legend must be embossed below the surface, so as not to rub against an adjacent gear; better modeling is in order.

    The general idea is to set Inkscape’s (known-good) gear generator to the correct gear parameters (module 1 → 3.14 mm circular pitch, 20° pressure angle):

    Inkscape Gear Generator dialog
    Inkscape Gear Generator dialog

    Save the outline as an SVG:

    Inkscape Gear Generator result
    Inkscape Gear Generator result

    If you do like I did and neatly position the gear at the bottom-left origin, all SVG viewers will show only the Quadrant I arc, probably because Inkscape sets the SVG file to display it that way. I’ve made that mistake before and maybe, someday, I’ll remember.

    Load the SVG into OpenSCAD, which will find the entire gear, no matter where it falls in the coordinate space, and spike it at the origin:

    linear_extrude(8.0,center=false,convexity=5) 
     import(file="/the-source-directory/Mini-Lathe/Change Gear - 42 teeth.svg",center=true);
    

    The linear_extrude( … center=false … ) keeps the bottom of the blank at Z=0. The import( … center=true … ) puts the 2D shape at the XY origin. Because OpenSCAD centers the bounding box, gears with an odd number of teeth will be ever so slightly off-center, which would matter a whole lot more in a fancier machine tool than a mini-lathe.

    All of which produces a tidy 3D gear blank:

    Mini-lathe change gear - 42 tooth - SVG import
    Mini-lathe change gear – 42 tooth – SVG import

    OpenSCAD ignores SVG holes, which isn’t a problem for me, because I’d rather punch the bore, keyway, and so forth programatically.

    But that’s another story …

  • Mini-Lathe Metric Threading: 32 Tooth Gear

    Mini-Lathe Metric Threading: 32 Tooth Gear

    While not strictly necessary for metric threading on a USA-ian mini-lathe, a 32 tooth gear can produce reasonable approximations, so I printed a pair from a Thingiverse collection:

    Mini-lathe 32 tooth change gear - Slic3r
    Mini-lathe 32 tooth change gear – Slic3r

    The model was designed for a slightly different mini-lathe, as it includes a short boss and thinner plate, but it did fit on the shaft:

    Mini-Lathe change gears - 1 mm - bad 32 60 65 55
    Mini-Lathe change gears – 1 mm – bad 32 60 65 55

    The gear mesh seemed odd, though, and comparing it with a standard 30 tooth gear and a different printed 32 tooth gear (about which, more later) showed it was definitely not compatible:

    Mini-lathe change gears - 32 30 odd 32
    Mini-lathe change gears – 32 30 odd 32

    Yes, the 32 tooth Thingiverse gear on the right is slightly smaller than the stock 30 tooth gear in the middle.

    The larger 32 tooth gear (on the left, above) meshes better:

    Mini-Lathe change gears - 1 mm - 65 55 32 60
    Mini-Lathe change gears – 1 mm – 65 55 32 60

    Both of those trains have a 600 ppm error, so they’re definitely suboptimal compared to the results with a 21 tooth gear in the train.

    The real reason you need a 32 tooth gear is for exact 25, 50, and 100 TPI threads with a 1/16 inch leadscrew. I don’t foresee much need for those around here, but you can never have too many change gears …

  • Mini-Lathe Metric Threading: 21 Tooth Gear

    Mini-Lathe Metric Threading: 21 Tooth Gear

    Mini-lathes sold everywhere except the USA have hard-metric leadscrews with a 1.5 mm pitch, so they can cut metric threads without any trouble at all. USA-ian mini-lathes have hard inch leadscrews with a 1/16 inch pitch and require gymnastics to cut decent metric threads.

    For inch threads:

    Mini-lathe - inch thread equation
    Mini-lathe – inch thread equation

    For metric threads, it’s upside-down and converted:

    Mini-lathe - metric thread equation
    Mini-lathe – metric thread equation

    Including a 21 tooth change gear at A or C in the train will get closer to metric threads, but the stud holding the B-C gears on my lathe imposes a minimum B gear size. Here’s a 1 mm thread with a 21-30-45-50 train:

    Mini-Lathe change gears - 1 mm - 21 vs 30 tooth - AB
    Mini-Lathe change gears – 1 mm – 21 vs 30 tooth – AB

    Oops.

    You can interchange the AB and CD gear pairs, but the CD pair also has a minimum spacing:

    Mini-Lathe change gears - 1 mm - 21 vs 30 tooth - CD
    Mini-Lathe change gears – 1 mm – 21 vs 30 tooth – CD

    If it worked, the 1 mm thread would be off by -125 ppm, which is surely close enough.

    Without the 21 tooth gear, the LittleMachineShop gear calculator produces a 45-55-50-65 train that fits much better, albeit with +875 ppm thread error:

    Mini-Lathe change gears - 1 mm - 45 55 50 65
    Mini-Lathe change gears – 1 mm – 45 55 50 65

    Dropping the 21 tooth gear into the LMS calculator produces a (barely) workable 21-50-60-40 train with -125 ppm error:

    Mini-Lathe change gears - 1 mm - 21 50 60 40
    Mini-Lathe change gears – 1 mm – 21 50 60 40

    The very very snug fit of the screw (omitted here) on the 21 tooth gear nearly hits the 60 tooth gear. Your mileage may vary, of course.

    Various sources suggest the gears are module 1, 20° pressure angle, 12 mm bore, and 8 mm thick (mine measure a scant 7.75 mm), with a 3 × 1.4 mm keyway (the key itself is 3 mm square, but it’s half-buried in the shaft).

  • Garden Rake Cross Bolt

    Garden Rake Cross Bolt

    Mary’s long-suffering garden rake pulled apart while we were flattening a section of what will become something like a lawn next to the garden:

    Garden rake - shank and ferrule
    Garden rake – shank and ferrule

    For whatever reason, there’s no cross bolt holding the shank into the ferrule, like there should be on any tool subject to pulling force.

    After marking the wide spot on the shank, a couple of good shots with a two pound hammer flattened the ferrule around it well enough to start a hole with a 3/16 step drill:

    Garden rake - cross drilling
    Garden rake – cross drilling

    Go through the far side with a 13/16 inch drill for a generous 5 mm fit, drop a bolt into the hole while it can’t get away, tighten the nyloc nut, and it’s all good:

    Garden rake - cross bolt
    Garden rake – cross bolt

    In fact, it’s better than it ever was, because now the shank can’t pull out until the ferrule falls off the handle. Which could happen, but I’m not averse to another bolt.

    Admittedly, it’s not a stainless steel socket head cap screw, because that’d just about double the value of the rake. The handle is in such bad shape that the bolt will probably outlast the wood …

    Done!

    Update: The consensus says I totally missed the Ritual Invocation of the Epoxy, so:

    Garden rake - epoxy fill
    Garden rake – epoxy fill

    Now all is right with the world …