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: Repairs

If it used to work, it can work again

  • BOB Yak Fender Fracture: Fixed

    We agreed that repairing the failed flag ferrule made the trailer much quieter, but it still seemed far more rattly than we remembered. It just had to be the fender, somehow, and eventually this appeared:

    BOB Yak Fender Mount - fractures
    BOB Yak Fender Mount – fractures

    The obviously missing piece of the fender fell out in my hand; the similar chunk just beyond the wire arch fell out after I took the pictures. Yes, the wire has indented the fender.

    The arch supports the aluminum fender, with a pair of (flat) steel plates clamping the wire to the fender:

    BOB Yak Fender Mount - screw plates and pads
    BOB Yak Fender Mount – screw plates and pads

    The cardboard scraps show I fixed a rattle in the distant past.

    Being aluminum, the fender can’t have a replacement piece brazed in place and, given the compound curves, I wasn’t up for the requisite fancy sheet metal work.

    Instead, a bit of math produces a pair of shapes:

    BOB Yak Fender Mount - solid model
    BOB Yak Fender Mount – solid model

    In this case, we know the curve radii, so the chord equation gives the depth of the curve across the (known) width & length of the plates; the maximum of those values sets the additional thickness required for the plates. The curves turn out to be rather steep, given the usual layer thickness and plate sizes, which gives them a weird angular look that absolutely doesn’t matter when pressed firmly against the fender:

    BOB Yak Fender Mount - Slic3r preview
    BOB Yak Fender Mount – Slic3r preview

    The computations required to fit Hilbert Curve surface infill into those small exposed areas took basically forever; given that nobody will ever see them, I used the traditional linear infill pattern. A 15% 3D Honeycomb interior infill turned them into rigid parts.

    The notch in the outer plate (top left, seen notch-side-down) accommodates the support wire:

    BOB Yak Fender Mount - outer
    BOB Yak Fender Mount – outer

    The upper surface would look better with chamfered edges, but that’s in the nature of fine tuning. That part must print with its top surface downward: an unsupported (shallow) chamfer would produce horrible surface finish and life is too short for fussing with support. Given the surrounding rust & dings, worrying about aesthetics seems bootless.

    The original screws weren’t quite long enough to reach through the plastic plates, so I dipped into my shiny-new assortment of stainless steel socket head cap screws. Although the (uncut) M5x16 screws seem to protrude dangerously far from the inner plate, there’s another inch of air between those screws and the tire tread:

    BOB Yak Fender Mount - inner
    BOB Yak Fender Mount – inner

    Given the increase in bearing area, that part of the fender shouldn’t fracture for another decade or two.

    I loves me my M2 3D printer …

    The OpenSCAD source code as a GitHub Gist:

    // BOB Yak Fender Mounting Bracket
    // Ed Nisley – KE4ZNU – July 2016
    Layout = "Build"; // Build Fender Rod BlockInner BlockOuter
    //- Extrusion parameters must match reality!
    // Print with 1 shell and 3 solid layers
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    HoleWindage = 0.3;
    Protrusion = 0.1; // make holes end cleanly
    inch = 25.4;
    //———————-
    // Dimensions
    IR = 0; // radii seem easier to measure here
    OR = 1;
    LENGTH = 2;
    Fender = [25,220,1]; // minor major thickness
    FenderSides = 128;
    FenderRod = [5.0/2,(Fender[IR] + 10),5.0/2]; // support rod dia/2, arch radius, rod dia/2 again
    ChordMajor = Fender[OR] – sqrt(pow(Fender[OR],2) – pow(40,2)/4);
    ChordMinor = Fender[IR] – sqrt(pow(Fender[IR],2) – pow(25,2)/4);
    ChordFit = max(ChordMajor,ChordMinor);
    echo("Chords: ",ChordMajor,ChordMinor,ChordFit);
    BlockInnerOA = [40,25,1 + ChordFit];
    BlockOuterOA = [35,25,2 + ChordFit];
    echo(str("Inner Block: ",BlockInnerOA));
    echo(str("Outer Block: ",BlockOuterOA));
    ScrewOD = 5.0;
    ScrewOC = 20.0;
    NumSides = 6*4;
    //———————-
    // 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);
    }
    module FenderShape() {
    rotate([90,0*180/FenderSides,0])
    rotate_extrude(angle=180,$fn=FenderSides)
    translate([(Fender[OR] – Fender[IR]),0])
    circle(r=Fender[IR],$fn=2*NumSides);
    }
    module RodShape() {
    rotate([90,0*180/FenderSides,0])
    rotate_extrude(angle=180,convexity=2,$fn=FenderSides)
    translate([(FenderRod[OR] – FenderRod[IR]),0])
    circle(r=FenderRod[IR],$fn=NumSides);
    }
    module BlockInner() {
    intersection() {
    difference() {
    linear_extrude(height=BlockInnerOA[LENGTH],convexity=3)
    hull() {
    for (i=[-1,1])
    translate([i*(BlockInnerOA[0]/2 – BlockInnerOA[1]/2),0,0])
    circle(d=BlockInnerOA[1]);
    }
    for (i=[-1,1])
    translate([i*(ScrewOC/2),0,-Protrusion])
    PolyCyl(ScrewOD,2*BlockInnerOA[2],6);
    }
    translate([0,0,(BlockInnerOA[2] – Fender[OR])])
    FenderShape();
    }
    }
    module BlockOuter() {
    difference() {
    linear_extrude(height=BlockOuterOA[LENGTH],convexity=4)
    hull() {
    for (i=[-1,1])
    translate([i*(BlockOuterOA[0]/2 – BlockOuterOA[1]/2),0,0])
    circle(d=BlockOuterOA[1]);
    }
    for (i=[-1,1])
    translate([i*(ScrewOC/2),0,-Protrusion])
    PolyCyl(ScrewOD,2*BlockOuterOA[2],6);
    translate([0,0,(BlockOuterOA[2] – ChordFit + Fender[OR])])
    rotate([180,0,0])
    FenderShape();
    translate([0,0,(FenderRod[OR] – 2*FenderRod[IR])])
    rotate([180,0,90])
    RodShape();
    }
    }
    //- Build things
    if (Layout == "Fender")
    FenderShape();
    if (Layout == "Rod")
    RodShape();
    if (Layout == "BlockInner")
    BlockInner();
    if (Layout == "BlockOuter")
    BlockOuter();
    if (Layout == "Build") {
    translate([0,-BlockInnerOA[0]/2,0])
    BlockInner();
    translate([0,BlockOuterOA[0]/2,0])
    BlockOuter();
    }

    The original dimension measurement and design doodle:

    BOB Yak Fender Mount - doodles
    BOB Yak Fender Mount – doodles
  • BOB Yak Flag Ferrule Failure

    At some point along a recent grocery ride, the top half of the flag mast on the BOB Yak trailer went missing.

    We had a general idea of where it happened, but, fortunately, I Have The Technology:

    This slideshow requires JavaScript.

    The flag and pole ended up just off the road, only slightly the worse for wear. I hadn’t planned on riding two dozen miles on a rather hot and humid summer day, but so it goes.

    The lower ferrule chafed away enough of the fiberglass pole that it could slip downward, eventually releasing the upper ferrule:

    BOB Yak Flag - ferrule chafing
    BOB Yak Flag – ferrule chafing

    That split near the end enlarged the pole enough that the ferrule couldn’t slide off, so I contented myself with cross-drilling the whole affair for a 1-72 screw, packing epoxy into the hole, tucking more epoxy up inside the bottom end of the ferrule, then burying the screw and nut:

    BOB Yak Flag - reassembled ferrule
    BOB Yak Flag – reassembled ferrule

    While I had it on the bench, I replaced the somewhat shredded fluorescent orange tape just under the flag and added a strip of diagonally striped red-and-white retroreflective tape for an attractive barber-pole appearance.

    That should last for a little while longer…

     

  • Mini-Lathe: Electronics Box Screw Insert

    Two bags of knurled brass M4 inserts arrived from halfway around the planet, so I could fix the offending hole behind the LMS mini-lathe’s electronics box:

    LMS Mini-lathe - mistapped cover hole
    LMS Mini-lathe – mistapped cover hole

    Although you should remove the lathe from the chip pan and do it right, I gimmicked up a reducer for the long drill extension that, IIRC, came with the house:

    LMS mini-lathe - drill bit extension
    LMS mini-lathe – drill bit extension

    I figured that would be close enough, given the starting situation. The cast iron frame is perhaps half an inch thick at that point, with steel brackets bolted to the far side, so use the hole as a guide and don’t drill with wild abandon.

    A long M4 screw serves to align the insert eyeballometrically perpendicular to the surface while the JB Kwik epoxy cured:

    LMS mini-lathe - insert alignment
    LMS mini-lathe – insert alignment

    It definitely doesn’t look like it grew there and, indeed, looks like the obvious repair job it is:

    LMS mini-lathe - insert epoxied
    LMS mini-lathe – insert epoxied

    I thought about replacing all the screws, but decided it was so well hidden that, if I didn’t tell anybody, they’d never know:

    LMS mini-lathe - cover screw installed
    LMS mini-lathe – cover screw installed

    Done!

  • Kenmore Model 158 Power Switch: Laying-on-of-hands Repair

    The power switch on Mary’s “embroidery” Kenmore Model 158 sewing machine became exceedingly stiff, to the extent she said it was painful to push. Buying a shiny new switch seemed iffy, because a cursory search through the usual reputable electronic suppliers suggested there’s no way to specify how stiff the button might be, nor how that might feel in actual practice.

    The switch harvested from the pulse-drive machine felt somewhat less stiff, so I decided to (try to) loosen it up and, if that worked, swap it for the stubborn one.

    A pair of rivets hold the two halves of the switch together, obviously intended as a permanent solution. A carbide burr in the Dremel tool dealt with them easily enough:

    Model 158 Power Switch - grinding rivets
    Model 158 Power Switch – grinding rivets

    Inside, the actuator drives a rotating brass contact:

    Model 158 Power Switch - rotor
    Model 158 Power Switch – rotor

    Two stationary brass contacts are spot-welded to the wires:

    Model 158 Power Switch - contacts
    Model 158 Power Switch – contacts

    The actuator under the button consists of a helix-twisted steel rod, a rather stiff spring, and a four-vaned phenolic blade that engages those two little flaps on the rotor. The rivet holes exactly fit plain old 1-72 screws:

    Model 158 Power Switch - actuator stem
    Model 158 Power Switch – actuator stem

    Not seeing anything obviously fix-able inside, I wiped the excess oil off and reassembled it in reverse order:

    Model 158 Power Switch - reassembled
    Model 158 Power Switch – reassembled

    Astonishingly, that bit of attention loosened it up: the button now presses easily!

    I swapped it with the too-stiff switch and declared victory…

  • Tuning Whistle Case Cap

    Mostly as an excuse to use the mini-lathe’s MT3 headstock collets, I made a cover for a tuning whistle (it’s an A, if that matters) case that’s been rolling around on the bench for far too long:

    Tuner cap - trial fit
    Tuner cap – trial fit

    Yeah, it needs a bit more polishing and maybe a fancy 3D printed wrapper…

    By some small miracle, one of the cutoffs in the brass tubing heap was exactly the right diameter and length, needing only a cap.

    A cap looks a lot like a random piece of brass shimstock held in place with silver solder:

    Tuner cap - solder setup
    Tuner cap – solder setup

    Fire the propane torch:

    Tuner cap - soldered
    Tuner cap – soldered

    I trimmed the shimstock around the tube with scissors, grabbed it in a collet, and laid into it:

    Tuner cap - lathe trimming
    Tuner cap – lathe trimming

    That’s just before the last few passes bringing the shimstock and solder fillet down to the tube OD, which sat nicely concentric in the collet. The carbide insert worked surprisingly well and produced shavings resembling stringy dust.

    The collet drawbar, a.k.a. a hardened 3/8-15 bolt and washer, requires a distressing amount of effort to clamp the collet around the workpiece. I think it wants a Delrin / UHMW washer or some such to reduce the friction; a full-on thrust bearing seems uncalled for.

  • SRAM Shift Indicator: Repair FAIL

    The little red shift indicator tab in the SRAM X.9 rear shifter on Mary’s bike snapped:

    SRAM Shift Indicator - broken tab
    SRAM Shift Indicator – broken tab

    In a triumph of hope over experience, I tried gluing the pieces with a bit of fixturing and a dab of IPS #3 solvent:

    SRAM Shift Indicator - gluing
    SRAM Shift Indicator – gluing

    Didn’t work any better than the last time, of course. Every gear shift snap must apply 1000 G to that poor little tab…

    What’s new & different: one can now obtain Official Repair Kits consisting of the indicator tab, the plastic cover, and the two screws for $6.47 delivered from eBay.

    Done!

  • Mini-Lathe: Control Box Cover Screws

    It’s easier to remove the leadscrew while dismantling the carriage and apron, which requires removing the cover from the control box containing all the switches & knobs. Come to find out the “cover” actually holds all the gadgetry onto the headstock:

    LMS mini-lathe - control box interior
    LMS mini-lathe – control box interior

    I want to replace the Power indicator with something visible in normal shop light; judging from the connectors and overall brightness, it’s a neon bulb inside a green housing.

    Anyhow, the four screws holding cover to the headstock weren’t identical:

    LMS Mini-lathe - cover screws
    LMS Mini-lathe – cover screws

    I thought the oddball screw was deliberate, perhaps fastening that corner to a plastic frame of some sort, but it turned out to be a quick fix for a boogered tap job:

    LMS Mini-lathe - mistapped cover hole
    LMS Mini-lathe – mistapped cover hole

    A bag of 4 mm knurled brass inserts will arrive in a while, after which I’ll drill out all four holes and epoxy inserts in their place. Might have to use stainless hardware, just for nice…