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

  • Magnifying Desk Lamp Pivot Clamp: One More

    Magnifying Desk Lamp Pivot Clamp: One More

    For reasons not relevant here, I made another clamp for a magnifying desk lamp and mailed it off in a small box. A few measurements suggested all such lamps share a common design and similar parts, so I duplicated my previous attempt, with some improvements.

    On the upside, the same scrap of aluminum plate I used for the previous clamp emerged from the stockpile and, after a session with Mr Disk Sander, sported two square & reasonably perpendicular sides:

    Magnifying Lamp Clamp - squaring stock
    Magnifying Lamp Clamp – squaring stock

    Rather than rely on my original dimension scribble, I transfer-punched the hole location from my as-built clamp to the stock:

    Magnifying Lamp Clamp - locating stem hole
    Magnifying Lamp Clamp – locating stem hole

    That’s a reenactment based on a true story: the actual punching happened on the bench vise’s anvil surface, with too many moving pieces supported & aligned by an insufficient number of hands.

    Drilling the 5/16 inch hole required mounting the Greater Chuck on an MT1 taper adapter for the Sherline:

    Magnifying Lamp Clamp - drilling stem clamp
    Magnifying Lamp Clamp – drilling stem clamp

    It’s normally on an MT2 adapter for the mini-lathe tailstock, where it handles drills up to 3/8 inch. For the record, the Sherline’s Lesser Check tops out at 1/4 inch and the Least Chuck at 5/32 inch.

    Punch & drill the 4 mm cross hole for the clamping screw:

    Magnifying Lamp Clamp - drill cross hole
    Magnifying Lamp Clamp – drill cross hole

    Grab the plate in a toolmaker’s vise, set up some casual guidance, and bandsaw right down the middle:

    Magnifying Lamp Clamp - sawing clamp halves
    Magnifying Lamp Clamp – sawing clamp halves

    Bandsaw the outline to free the two halves from the stock, then clean up their perimeter:

    Magnifying Lamp Clamp - rounded
    Magnifying Lamp Clamp – rounded

    Saw the clamp clearance almost all the way through to leave a protrusion, then file the scarred kerf more-or-less flat:

    Magnifying Lamp Clamp - filing interior
    Magnifying Lamp Clamp – filing interior

    Do a trial fit in my lamp, which lacks the fancy brushed-metal finish of the remote one:

    Magnifying Lamp Clamp - trial fit
    Magnifying Lamp Clamp – trial fit

    It holds tight and rotates well, so break the edges and shine up the outside to a used-car finish (“high polish over deep scratches”):

    Magnifying Lamp Clamp - surface finish
    Magnifying Lamp Clamp – surface finish

    The inside remains gritty to improve traction on the lamp stem:

    Magnifying Lamp Clamp - interior
    Magnifying Lamp Clamp – interior

    Declare victory, box it up, and away it goes!

  • Nissan Fog Lamp: Salvage & Lens Clearing

    Nissan Fog Lamp: Salvage & Lens Clearing

    The debris field from a recent high-energy collision with a utility pole just north of Red Oaks Mill included another attractive hunk of jewelry:

    Nissan Fog Lamp - as found
    Nissan Fog Lamp – as found

    I asked the guy who runs the towing service across the intersection if this was a “high-performance car / low-performance driver” situation. He said “Nah, the car was a piece of crap.” It apparently collided with the pole after pulling out of the adjacent gas station with entirely too much foot on the throttle; the young driver was last seen having considerable difficulty with a field sobriety test.

    Anyhow, the labeling suggests it’s the right-side fog light from a Nissan car.

    After removing various shattered plastic mounts and scrubbing off the obvious dirt, the lens didn’t look much better:

    Nissan Fog Lamp - as-found lens
    Nissan Fog Lamp – as-found lens

    The bright triangle is one facet of the hood over the 55 W halogen bulb. The lens seems to be covered with a scattershot coat of gray spray paint or primer, rather than ordinary road grime, applied with surprising uniformity over the entire surface.

    A quick wet-sand operation with 400 through 3000 grit paper, then some Simichrome, cleaned it up pretty well:

    Nissan Fog Lamp - semi-cleared lens
    Nissan Fog Lamp – semi-cleared lens

    Repeating the whole process, this time with a vigorous circular motion:

    Nissan Fog Lamp - cleared lens
    Nissan Fog Lamp – cleared lens

    It’s definitely got a used-car finish: nice polish over deep gouges.

    Look closely to see 400 grit diagonal scratches headed upward to the right; I must use 600 or 800 grit paper between the 400 and 1000. I don’t care about optical clarity, just knocking back the worst of the damage will suffice.

    Methinks it would look pretty with internal RGB LED lighting, although the optics are obviously set up for a halogen filament just under the edge of the internal hood. If I get it just right, the thing could project a beam across the room …

  • Cheapnified Brother TZ Label Cartridge

    Cheapnified Brother TZ Label Cartridge

    After four years, I finally had occasion to use the blue label cartridge, only to have the tape refuse to feed. The mess on the tongue sticking out shows the result after I forcibly pulled the tape from the cartridge:

    Cheapnified Brother Label Cartridge - exterior
    Cheapnified Brother Label Cartridge – exterior

    The proximate cause was a fold in the imaging tape takeup path causing the driven spool to stop turning:

    Cheapnified Brother Label Cartridge - folded dye tape
    Cheapnified Brother Label Cartridge – folded dye tape

    Some delicate unspooling, unfolding, and respooling put things back in order.

    However, with the cartridge opened on the desk, it became obvious this was the cheapnified version:

    Cheapnified Brother Label Cartridge - overview
    Cheapnified Brother Label Cartridge – overview

    Compare with a genuine Brother cartridge:

    Brother P-Touch TZ tape cartridge - detail
    Brother P-Touch TZ tape cartridge – detail

    In the genuine cartridge, the base tape (with the sticky side and the colored side) feeds from the lower right directly into the assembly pressure roller. The transparent cover tape feeds from the spool in the lower left, up around the imaging tape supply spool, has the image fused to it, and is then pressed against the base tape on the assembly roller.

    Update: Per david’s comment, the cartridges are even more complex than I thought! The printer has sense pins matching a group of cartridge holes to determine (at least) the tape size & orientation. See the pix added below.

    Despite using the same cartridge body, the cheapnified tape path is entirely different. The base tape now feeds from the spool in the lower right through what should be the cover tape supply reel, around the imaging film supply spool, has the image fused directly to it, then passes out through the assembly pressure roller.

    The cover tape is completely missing!

    It turns out the cheapnified cartridges don’t bother with lamination. Instead, the printhead presses the imaging film against the top of the base tape, leaving the black image exposed to the elements. The assembly roller does nothing, apart from pulling the base tape through the cartridge.

    Now that I know what to look for, the visible difference is the orientation of the base tape. A cartridge with the correct innards feeds the base tape with the colored side + image facing away from the long side of the cartridge. A cheapnified cartridge has the color + image facing the long side, with the major benefit of making the advertising look more appealing:

    Fake Brother TZ cartridge - Amazon image
    Fake Brother TZ cartridge – Amazon image

    A genuine Brother cartridge would print the image on the bottom of the tape in that picture, so you’d see the blank side of the tape in that picture.

    The “Amazon Marketplace” being what it is, I assume any pictures will not, in general, have much in common with what you actually receive, but at least I now know which ones to reject out of hand.

    Update: The PT-1090 label printer has cartridge sensing pins:

    Brother PT-1090 Labelmaker - sense pins
    Brother PT-1090 Labelmaker – sense pins

    And the cartridges have corresponding holes, although the printer doesn’t sense all of them:

    Brother PT-1090 Labelmaker - cartridge ID holes
    Brother PT-1090 Labelmaker – cartridge ID holes

    Despite that, cheapnified cartridges are still cheapnified.

    I learn something new every day around here! Thanks!

  • Backyard Utility Pole: Anchor Clamp Hardware

    Backyard Utility Pole: Anchor Clamp Hardware

    This also appeared while clearing the forsythia:

    Pole anchor - abandoned in place
    Pole anchor – abandoned in place

    It’s the guy line anchor for the fallen utility pole, abandoned in place when the crew installed the new pole.

    The rod turned freely in its underground anchor, but the nut is apparently frozen to the rod. I deployed the bolt cutter on the cable and hauled the carcass into the Basement Shop:

    Pole anchor - nut loosening
    Pole anchor – nut loosening

    Steeping the nuts with Kroil for a few hours relaxed them enough to submit to gentle suasion, whereupon the cable sproinged as the last nut released the clamping force:

    Pole anchor - hardware
    Pole anchor – hardware

    As far as I can tell, the clamp hardware dates back to the pole’s original installation in 1940 and is in fine, if not pristine, shape.

    The bolt shanks have an oval section matching the holes in the plate, so the bolts don’t turn and the crew needs only one wrench. They don’t make ’em like they used to!

    I have no idea what I’ll do with these things, but they’re entirely too nice for the steel recycling bucket.

  • Tour Easy: Baofeng Radio PTT Cable Glitch

    Tour Easy: Baofeng Radio PTT Cable Glitch

    The signal from the Baofeng UV-5R HT tucked behind the seat of my Tour Easy became exceedingly choppy on recent rides. Here’s an earlier version to give you an idea of the situation:

    Radio in seat wedge pack in bottle holder
    Radio in seat wedge pack in bottle holder

    Of course, it worked perfectly in the garage and only failed while on a ride. The clue turned out to be having it fail more on rough roads and crappy scab patches (courtesy of NSYDOT) than on relatively smooth asphalt.

    That led me to wiggle of All The Cables while crouched beside the bike in the garage, listening to another HT, and watching the transmit LED. After about five minutes of this, I found wiggling the 3.5 mm connector between the cable from the PTT button on the handlebar and the radio blinked the transmit LED: ah-HA!

    The connector had worked itself loose from the straps holding the radio pack in place, pulled some slack in the cable, and was bouncing around in mid-air. A wrap of duct tape now holds the connector halves together, the upper loop passes around the Velco-ish strap, and the lower loop (from the PTT button) goes through the bottom of the repurposed bottle holder:

    Tour Easy - Baofeng PTT cable connection
    Tour Easy – Baofeng PTT cable connection

    No trouble on the next two rides, so we’ll call it fixed.

    Protip: it’s always the connector.

  • Cheese Slicer Re-wiring

    Cheese Slicer Re-wiring

    This happens occasionally:

    Cheese slicer - snapped wire
    Cheese slicer – snapped wire

    Repairing it with a length of 20 mil = 0.5 mm music wire didn’t take long:

    Cheese slicer - new wire
    Cheese slicer – new wire

    What did take a while was removing one of the screws, turning off another millimeter of thread, and sticking it back in again. The new wire is slightly thinner, stacks up just slightly less under the screw head (maybe I used two turns instead of three?), and let the thread stick into the Delrin bushing I put inside the aluminum roller.

    Imagine the middle screw with a slightly longer smooth end and you’ve got the idea:

    Cheese slicer - screw shafts
    Cheese slicer – screw shafts

    That was easy …

    It’s worth noting the JB Weld epoxy coating remains in as-applied condition after well over a year.

  • Round Soaker Hose Splint

    Round Soaker Hose Splint

    One of two new round rubber soaker hoses arrived with a slight crimp, enough to suggest it would crumble at an inopportune moment. Rather than return the hose for something that’s not an obvious failure, I clamped the crimp:

    Round Soaker Hose Splice - top
    Round Soaker Hose Splice – top

    Unlike the clamps for the punctured flat soaker hoses, this one doesn’t need to withstand much pressure and hold back a major leak, so I made the pieces a bit thicker and dispensed with the aluminum backing plates:

    Round Soaker Hose Splice - bottom
    Round Soaker Hose Splice – bottom

    The solid model is basically the same as for the flat hoses, with a slightly oval cylinder replacing the three channels:

    Round Soaker Hose Splice - OpenSCAD model
    Round Soaker Hose Splice – OpenSCAD model

    The OpenSCAD source code as a GitHub Gist:

    // Rubber Soaker Hose Splice
    // Ed Nisley KE4ZNU 2020-03
    Layout = "Build"; // [Hose,Block,Show,Build]
    TestFit = false; // true to build test fit slice from center
    //- Extrusion parameters must match reality!
    /* [Hidden] */
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    HoleWindage = 0.2;
    Protrusion = 0.1; // make holes end cleanly
    inch = 25.4;
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    ID = 0;
    OD = 1;
    LENGTH = 2;
    //———-
    // Dimensions
    // Hose lies along X axis
    Hose = [200,14.5,13.6]; // X = longer than anything else
    // 8-32 stainless screws
    Screw = [4.1,8.0,3.0]; // OD = head LENGTH = head thickness
    Washer = [4.4,9.5,1.0];
    Nut = [4.1,9.7,6.0];
    Block = [50.0,Hose.y + 2*Washer[OD],4.0 + 1.5*Hose.z]; // overall splice block size
    echo(str("Block: ",Block));
    Kerf = 1.0; // cut through middle to apply compression
    CornerRadius = Washer[OD]/2;
    NumScrews = 3; // screws along each side of cable
    ScrewOC = [(Block.x – 2*CornerRadius) / (NumScrews – 1),
    Block.y – 2*CornerRadius,
    2*Block.z // ensure complete holes
    ];
    echo(str("Screw OC: x=",ScrewOC.x," y=",ScrewOC.y));
    //———————-
    // 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(d=(FixDia + HoleWindage),h=Height,$fn=Sides);
    }
    // Hose shape
    // This includes magic numbers measured from reality
    module HoseProfile() {
    NumSides = 12*4;
    rotate([0,-90,0])
    translate([0,0,-Hose.x/2])
    resize([Hose.z,Hose.y,0])
    cylinder(d=Hose.z,h=Hose.x,$fn=NumSides);
    }
    // Outside shape of splice Block
    // Z centered on hose rim circles, not overall thickness through center ridge
    module SpliceBlock() {
    difference() {
    hull()
    for (i=[-1,1], j=[-1,1]) // rounded block
    translate([i*(Block.x/2 – CornerRadius),j*(Block.y/2 – CornerRadius),-Block.z/2])
    cylinder(r=CornerRadius,h=Block.z,$fn=4*8);
    for (i = [0:NumScrews – 1], j=[-1,1]) // screw holes
    translate([-(Block.x/2 – CornerRadius) + i*ScrewOC.x,
    j*ScrewOC.y/2,
    -(Block.z/2 + Protrusion)])
    PolyCyl(Screw[ID],Block.z + 2*Protrusion,6);
    cube([2*Block.x,2*Block.y,Kerf],center=true); // slice through center
    }
    }
    // Splice block less hose
    module ShapedBlock() {
    difference() {
    SpliceBlock();
    HoseProfile();
    }
    }
    //———-
    // Build them
    if (Layout == "Hose")
    HoseProfile();
    if (Layout == "Block")
    SpliceBlock();
    if (Layout == "Show") {
    difference() {
    SpliceBlock();
    HoseProfile();
    }
    color("Green",0.25)
    HoseProfile();
    }
    if (Layout == "Build") {
    SliceOffset = TestFit && !NumScrews%2 ? ScrewOC.x/2 : 0;
    intersection() {
    translate([SliceOffset,0,Block.z/4])
    if (TestFit)
    cube([ScrewOC.x/2,4*Block.y,Block.z/2],center=true);
    else
    cube([4*Block.x,4*Block.y,Block.z/2],center=true);
    union() {
    translate([0,0.6*Block.y,Block.z/2])
    ShapedBlock();
    translate([0,-0.6*Block.y,Block.z/2])
    rotate([0,180,0])
    ShapedBlock();
    }
    }
    }