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

  • Cheese Slicer: XTC-3D Epoxy Coating

    We have, as you might expect, a Favorite Cheese Slicer of no particular provenance. Being made of cheap pot metal, it left black smudges wherever it went and, decades ago, I coated it with bright red rubbery grip material. Recently, the coating became lumpy and peeling off the loose sections revealed a definite problem:

    Cheese slicer - aluminum corrosion
    Cheese slicer – aluminum corrosion

    Vigorous scrubbing with a foam sanding block and a Scotchbrite pad, interspersed with rotary wire brushing, removed the corrosion and left a slightly pitted metal frame. Protip: scrub under water and wire-brush with a vacuum hose to keep the dust under control.

    A pair of 6-32 screws, nuts, and brass sleeves, with two oil dots protecting the frame threads, provided hand grips while I wiped it down with denatured alcohol and coated it with XTC-3D epoxy:

    Cheese slicer - epoxy curing
    Cheese slicer – epoxy curing

    Turns out the mixing stick worked quite well to cover the entire thing, as the epoxy does a great job of leveling itself. I suppose wasting a tiny brush would be more professional, but …

    It quietly dripped excess epoxy into a strategically placed trash can for about ten minutes. I wiped off the final drip before the epoxy solidified, leaving a smooth layer over the end of the handle:

    Cheese slicer - reassembled
    Cheese slicer – reassembled

    It’s back in service and works as well as ever, with a handle now smooth to the touch. I suppose I could have tinted the epoxy to hide the metal, but we regard those corrosion pits as beausage.

    I’ve slathered XTC-3D on some 3D printed parts, but have no idea how durable it is; this should serve as an accelerated survival test under rather harsh usage.

    The instruction sheet says XTC-3D isn’t the most transparent epoxy they make and, indeed, the layer left in the mixing pan came out more hazy than I expected:

    XTC-3D Epoxy - thin cured layer
    XTC-3D Epoxy – thin cured layer

    They point out the haze doesn’t matter for thin surface coatings, which is certainly true.

  • Whirlpool Refrigerator Drawer Slide: Another Bracket

    Thirteen years after the original repair on the left side and eight years after I fixed the drawer slide on the right side, this happened:

    Refrigerator shelf slide - failed parts
    Refrigerator shelf slide – failed parts

    The general idea is to wrap a new bracket around the old bracket, because trying to remove the old one will probably cause more damage:

    Refrigerator shelf slide - trial assembly
    Refrigerator shelf slide – trial assembly

    A pair of screws hold the new bracket to the shelf support:

    Refrigerator shelf slide - support screw nut openings
    Refrigerator shelf slide – support screw nut openings

    Those two screws must support the entire weight of the drawer, which is exactly what broke the original all-plastic frame and slide.

    The epoxy chip and transparent plastic sheet in the first picture spaced the old aluminum bracket away from the shelf support and reduced the space beyond the new bracket enough to require drilling access holes. Fortunately, they’re hidden inside the support frame, so nobody will ever know.

    The shelf support is a huge floppy rectangle, so I clamped it to the bench vise while drilling the holes:

    Refrigerator shelf slide - upright vise clamp
    Refrigerator shelf slide – upright vise clamp

    The new bracket is on the right, with a sheet of white acrylic spacing it away from the shelf support by exactly the same distance as the angled aluminum snippet replacing the failed epoxy & plastic on the broken part:

    Refrigerator shelf slide - bracket parts
    Refrigerator shelf slide – bracket parts

    The two holes in the middle of the aluminum parts show that I used exactly the same angle brackets as raw material. It’ll be a sad day when I eventually use the last of those brackets.

    Putting the parts together, with double-stick tape holding all the parts in place, shows how they fit:

    Refrigerator shelf slide - repair trial assembly
    Refrigerator shelf slide – repair trial assembly

    And then it just snapped into place. I didn’t bother pretending solvent glue would help anything, nor did I apply any epoxy, so this whole thing hangs from those two 4-40 screws. On the other paw, their steel beats the original white plastic.

    I devoutly hope to never rebuild the actual drawer slide, but these dimensions may help somebody else out of a jam:

    Refrigerator shelf slide - dimensions
    Refrigerator shelf slide – dimensions

    The vertical “40” dimension refers to the available space from the bottom of the white plastic part to the top of the shelf support frame; the new bracket is a tad shorter than that.

    The plastic parts in that refrigerator have been a complete disappointment: were it not for my relentless repair jones, we’d likely be on our third or fourth refrigerator by now. Oddly, the cooling parts continue to chug along (*), without more than the occasional loud noise in the middle of the night.

    We’re definitely doing our part to reduce our waste stream.

    (*) The most recent freezer fan hasn’t failed yet!

  • Hydrant Wrench

    Just because I can:

    Fire Hydrant Wrench
    Fire Hydrant Wrench

    The Slic3r preview shows a bit more detail:

    Hydrant Wrench - Slic3r preview
    Hydrant Wrench – Slic3r preview

    Even an inch-thick handle wouldn’t have enough mojo for the task.

    Wikipedia has the equations you need to go from the easily measured “height” (vertex to opposite side) dimension to the pentagon’s “outside radius”, which equals the radius of the circumscribed circle needed by OpenSCAD.

    The OpenSCAD source code as a GitHub Gist:

    // Hydrant Wrench
    // Ed Nisley KE4ZNU – September 2017
    /* [Extrusion] */
    ThreadThick = 0.25; // [0.20, 0.25]
    ThreadWidth = 0.40; // [0.40]
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    Protrusion = 0.01; // [0.01, 0.1]
    HoleWindage = 0.2;
    //- Sizes
    /* [Dimensions] */
    NumFlats = 5; // this is not a variable for this geometry!
    Height = 39.0; // pentagon flat-to-vertex measurement
    Side = Height / 1.539;
    echo(str("Side:",Side));
    Radius = Side / 1.176;
    echo(str("Radius: ",Radius));
    WrenchDia = 2*Radius; // pentagon circumcircle diameter
    echo(str("Wrench dia:",WrenchDia));
    JawWidth = 10.0;
    JawOD = 2*JawWidth + WrenchDia;
    echo(str("Jaw OD: ",JawOD));
    WrenchThick = 5.0;
    HandleLength = 2*JawOD;
    HandleWidth = 25.0;
    //- Build things
    difference() {
    linear_extrude(height=WrenchThick,convexity=4) {
    hull() { // taper wrench body to handle
    circle(d=JawOD);
    translate([0.75*JawOD,0,0])
    circle(d=HandleWidth);
    }
    hull() { // handle
    translate([0.75*JawOD,0,0])
    circle(d=HandleWidth);
    translate([HandleLength,0,0])
    circle(d=HandleWidth);
    }
    }
    translate([0,0,-Protrusion])
    rotate(180/NumFlats)
    cylinder(d=WrenchDia,h=(WrenchThick + 2*Protrusion),$fn=NumFlats);
    translate([WrenchDia,0,WrenchThick – 3*ThreadThick])
    linear_extrude(3*ThreadThick + Protrusion,convexity=10)
    text(text=str("Fire Hydrant!"),size=8,spacing=1.20,font="Arial",halign="left",valign="center");
    }

    Sorry ’bout that … had to do it.

  • Tour Easy Headset Wrench

    The headset on my Tour Easy ‘bent worked its way loose, which led to a disturbing discovery: the headset wrench I made from a discarded flat wrench vanished with the shop tools donated to MakerSmiths.

    Fortunately, we live in the future:

    Tour Easy Headset Wrench - Slic3r preview
    Tour Easy Headset Wrench – Slic3r preview

    A thin plastic wrench is absolutely no good for torquing down the locknut, but that’s not what it’s for. Adjust the bearing race to the proper preload with this wrench, hold it in place, then torque the locknut with the BFW.

    The OpenSCAD source code as a GitHub Gist:

    // Tour Easy Headset Wrench
    // Ed Nisley KE4ZNU – September 2017
    /* [Extrusion] */
    ThreadThick = 0.25; // [0.20, 0.25]
    ThreadWidth = 0.40; // [0.40]
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    Protrusion = 0.01; // [0.01, 0.1]
    HoleWindage = 0.2;
    //- Sizes
    /* [Dimensions] */
    WrenchSize = 32.0; // headset race across-the-flats size
    NumFlats = 8;
    JawWidth = 10.0;
    JawOD = 2*JawWidth + WrenchSize;
    echo(str("Jaw OD: ",JawOD));
    StemOD = 23.0;
    WrenchThick = 5.0;
    HandleLength = 2*JawOD;
    HandleWidth = 25.0;
    //- Build things
    difference() {
    linear_extrude(height=WrenchThick,convexity=4) {
    hull() { // taper wrench body to handle
    circle(d=JawOD);
    translate([0.75*JawOD,0,0])
    circle(d=HandleWidth);
    }
    hull() { // handle
    translate([0.75*JawOD,0,0])
    circle(d=HandleWidth);
    translate([HandleLength,0,0])
    circle(d=HandleWidth);
    }
    }
    translate([0,0,-Protrusion])
    rotate(1*180/NumFlats) { // cosine converts across-flats to circle dia
    cylinder(d=WrenchSize/cos(180/NumFlats),h=(WrenchThick + 2*Protrusion),$fn=NumFlats);
    }
    translate([-StemOD,0,WrenchThick/2])
    cube([2*StemOD,StemOD,(WrenchThick + 2*Protrusion)],center=true);
    translate([WrenchSize,0,WrenchThick – 3*ThreadThick])
    linear_extrude(3*ThreadThick + Protrusion,convexity=10)
    text(text=str("TE Headset"),size=8,spacing=1.20,font="Arial",halign="left",valign="center");
    }

    Now, I’d like to say that was easy, but in actual point of fact …

    First, I forgot to divide by cos(180/6) to convert the across-the-flats size to the diameter of OpenSCAD’s circumscribed hexagon-as-circle, which made the wrench uselessly small:

    Tour Easy Headset Wrench - v1
    Tour Easy Headset Wrench – v1

    If you have a 28 mm nut with low torque requirements, though, I’ve got your back.

    While I had the hood up, I slenderized the handle into a much shapelier figure:

    Tour Easy Headset Wrench
    Tour Easy Headset Wrench

    Trotting off to the garage with a warm plastic wrench in hand, I discovered the blindingly obvious fact that the headset nuts have eight sides. On the upside, the number of sides became a parameter, so, should you happen to need a five-sided wrench (perhaps on Mars), you can have one.

    So, yeah, it’s rapid prototyping in full effect:

    Tour Easy Headset Wrench Iterations
    Tour Easy Headset Wrench Iterations

    Remember, kids, never design while distracted …

  • Eyeglasses: New Nose Pads

    A stray nose pad appeared on the kitchen floor and, after some investigation, it corresponded with the stub in Mary’s oldest reading glasses. Some rummaging in the Bag o’ Eyeglass Stuff produced a similar pair of pads:

    Glasses - missing nose pad
    Glasses – missing nose pad

    Although the lenses have become somewhat scuffed over the years, masking the optics with Parafilm is always Good Practice:

    Glasses - new nose pads - masked
    Glasses – new nose pads – masked

    The split boxes clamped around the pad stems required a bit of delicate opening-up with a utility knife blade before the new ones pressed firmly into place.

    This was significantly easier than the Silhouette frame repair!

  • American Standard Kitchen Faucet: Cleaning and O-Rings

    The O-rings on the spout of our American Standard kitchen faucet wore out again; having described that repair many times, there’s no need to say much more about it. I didn’t want to get into this repair while thinking about the hot limit problem, but I did check to make sure the box under the sink had some O-ring replacement kits.

    A bench vise with soft jaws holds the spout while you remove the escutcheon ring retainer:

    Kitchen faucet spout - in vise
    Kitchen faucet spout – in vise

    Basically, just tap around the ring with a long drift punch and it’ll eventually fall out onto the reasonably clean rag below it.

    The interior of the spout before cleaning shows why you should never look into your plumbing:

    Kitchen faucet spout interior - before
    Kitchen faucet spout interior – before

    After a few hours in a white vinegar bath and a few minutes of scrubbing with a ScotchBrite pad:

    Kitchen faucet spout interior - after - 1
    Kitchen faucet spout interior – after – 1

    Another view:

    Kitchen faucet spout interior - after - 2
    Kitchen faucet spout interior – after – 2

    Obviously, you could do better, but it’s hard to get excited about the last few nodules. For whatever it’s worth, the nodules grow despite our water softener; I have no clue what’s going on in there.

    A few wipes of silicone grease, reassemble in reverse order, apply a firm shove, and it’s leakless again. For a while, anyhow.

  • RAMPS 1.4 Heatsinking

    The knockoff Arduino Mega board actually has eight thermal vias on the copper pour around the regulator:

    RAMPS Mega - regulator - thermal vias
    RAMPS Mega – regulator – thermal vias

    I sawed up a clip-on heatsink originally intended for a 14 pin DIP, bent it a bit, and epoxied it atop the regulator with enough of a blob to contact the copper pour:

    RAMPS Mega - regulator heatsink - clamping
    RAMPS Mega – regulator heatsink – clamping

    That’s metal-filled JB Weld for good thermal conductivity and electrical insulation:

    RAMPS Mega - regulator heatsink
    RAMPS Mega – regulator heatsink

    The blob affixing the heatsink to the crystal can was an oopsie, but won’t do any harm. It’s not clear the heatsink will do any good in that confined space, but those regulators lead a rough life and need all the help they can get.

    The five stepper drivers sport HR4988SQ chips, rather than Allegro A4988 chips:

    RAMPS - stepper driver - HR4988 chip
    RAMPS – stepper driver – HR4988 chip

    I’d rather see a knockoff than a counterfeit, although by now there’s really no way to tell if it’s a counterfeit knockoff. The Kynix datasheet looks like a direct rip from Allegro.

    They now sport cute little heatsinks, which, for all I know, might help a bit:

    RAMPS shield - stepper heatsinks
    RAMPS shield – stepper heatsinks

    The driver boards are slightly longer than the spacing mandated by the continuous socket strips under the three-in-a-row layout:

    RAMPS - stepper driver board fit
    RAMPS – stepper driver board fit

    Introducing them to Mr Disk Sander (turned by hand) knocked off just enough to make ’em fit.