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

  • Always Bring Duct Tape

    My pre-trip checklist now includes “Duct Tape”, so, when the tiny screw holding my sunglasses together went spung and dropped the lens on the parking lot gravel, I was prepared:

    Sunglasses - duct tape FTW
    Sunglasses – duct tape FTW

    I continued the mission in full-frontal Harry Potter mode.

    Fortunately, it’s a captive screw and returned home with us. Back in the Basement Laboratory, with a Philips 00 screwdriver and threadlocker at hand, the repair was no big deal:

    Sunglasses - loose lens screw
    Sunglasses – loose lens screw

    You’re looking at the screw head, believe it or not.

    And, no, I’m not packing a Philips 00 screwdriver on our next trip.

  • Tektronix Circuit Computer: Layout Analysis

    Following a linkie I can no longer find led me to retrieve the Tektronix Circuit Computer in my Box o’ Slide Rules:

    Tektronix Circuit Computer - front
    Tektronix Circuit Computer – front

    I’m pretty sure it came from Mad Phil’s collection. One can line up the discolored parts of the decks under their cutout windows to restore it to its previous alignment; most likely it sat at the end of a row of books (remember books?) on his reference shelf.

    The reverse side lists the equations it can solve, plus pictorial help for the puzzled:

    Tektronix Circuit Computer - rear
    Tektronix Circuit Computer – rear

    Some searching reveals the original version had three aluminum disks, shaped and milled and photo-printed, with a honkin’ hex nut holding the cursor in place. The one I have seems like laser-printed card stock between plastic laminating film; they don’t make ’em like that any more, either.

    TEK PN 003-023 (the paper edition) runs about thirty bucks (modulo the occasional outlier) on eBay, so we’re not dealing in priceless antiquity here. The manual is readily available as a PDF, with photos in the back.

    Some doodling produced key measurements:

    Tektronix Circuit Computer - angle layout
    Tektronix Circuit Computer – angle layout

    All the dimensions are hard inches, of course.

    Each log decade spans 18°, with the Inductive Frequency scale at 36° for the square root required to calculate circuit resonance.

    Generating the log scales requires handling all possible combinations of:

    • Scales increase clockwise
    • Scales increase counterclockwise
    • Ticks point outward
    • Ticks point inward
    • Text reads from center
    • Text reads from rim

    I used the 1×100 tick on the outer scale of each deck as the 0° reference for the other scales on that deck. The 0° tick appears at the far right of plots & engravings & suchlike.

    The L/R Time Constant (tau = τ) pointer on the top deck and the corresponding τL scale on the bottom deck has (what seems like) an arbitrary -150° offset from the 0° reference.

    The Inductive Frequency scale has an offset of 2π, the log of which is 0.79818 = 14.37°.

    The risetime calculations have a factor of 2.197, offsetting those pointers from their corresponding τ pointer by 0.342 = log(2.197) = 6.15°.

    A fair bit of effort produced a GCMC program creating a full-size check plot of the bottom deck on the MPCNC:

    Tektronix Circuit Computer - Bottom Deck - scale check plot
    Tektronix Circuit Computer – Bottom Deck – scale check plot

    By the conservation of perversity, the image is rotated 90° to put the 1 H tick straight up.

    The 3018 can’t handle a 7.75 inch = 196 mm disk, but a CD-size (120 mm OD) engraving came out OK on white plastic filled with black crayon:

    Tek CC bottom - ABS 160g 2400mm-min
    Tek CC bottom – ABS 160g 2400mm-min

    The millimeter scale over on the right shows the letters stand a bit under 1 mm tall. And, yes, the middle scale should read upside-down.

    Properly filling the engraved lines remains an ongoing experiment. More downforce on the diamond or more passes through the G-Code should produce deeper trenches, perhaps with correspondingly higher ridges along the sides. Sanding & polishing the plastic without removing the ink seems tedious.

    The Great Dragorn of Kismet observes I have a gift for picking projects at the cutting edge of consumer demand.

    More doodles while figuring the GCMC code produced a summary of the scale offsets:

    Tektronix Circuit Computer - scale angle tabulation
    Tektronix Circuit Computer – scale angle tabulation

    Musings on the parameters of each scale:

    Tektronix Circuit Computer - scale parameters
    Tektronix Circuit Computer – scale parameters

    How to draw decades of tick marks:

    Tektronix Circuit Computer - decade tick doodles
    Tektronix Circuit Computer – decade tick doodles

    It turned out easier to build vectors of tick mark values and their corresponding lengths, with another list of ticks to be labeled, than to figure out how to automate those values.

    More on all this to come …

  • Soundbar Power

    A Dell soundbar under the landscape monitor suffices for my simple audio needs, and, when the Dell U2711 went toes-up, I conjured a 12 V wart from the heap. A recent cleanup made a smaller wart available, but required mating two coaxial plugs:

    Coax power plugs - brass tube connector
    Coax power plugs – brass tube connector

    A snippet of brass tube suffices for the center pin. The outer shell is a larger brass tube, slit lengthwise, trimmed to fit the plug circumference and rolled around a smaller drill bit to make it springy in the right direction.

    A wrap of silicone tape and it’s all good:

    Dell Sound Bar power splice
    Dell Sound Bar power splice

    Ugly, but good.

  • Wireless Keypad Cap Swap

    One of the wireless numeric keypads I’ve been using with the streaming radio players developed some intermittent key switch failures resisting all the usual blandishments. Eventually it hard-failed, but I was unwilling to scrap the tediously printed keycap labels:

    Wireless keypads - swapped caps
    Wireless keypads – swapped caps

    Hard to believe, but I’ve been using the white keypad for plain old numeric entry with the keypad-less Kinesis Freestyle 2 keyboard.

    I swapped the Frankenpad + receiver to the least-conspicuous streamer and, someday, I’ll update all the labels on all the keypads to match the current streams. Until then, the white keycaps shall remain in the same bag as the defunct black keypad, tucked into the Big Box o’ USB mice & suchlike.

  • CNC 3018-Pro: Collet Pen Holder

    Along the same lines as the MPCNC pen holder, I now have one for the 3018:

    CNC3018 - Collet pen holder - assembled
    CNC3018 – Collet pen holder – assembled

    The body happened to be slightly longer than two LM12UU linear bearings stacked end-to-end, which I didn’t realize must be a constraint until I was pressing them into place:

    CNC 3018-Pro Collet Holder - LM12UU - solid model
    CNC 3018-Pro Collet Holder – LM12UU – solid model

    In the unlikely event I need another one, the code will sprout a max() function in the appropriate spot.

    Drilling the aluminum rod for the knurled ring produced a really nice chip:

    CNC3018 - Collet pen holder - drilling knurled ring
    CNC3018 – Collet pen holder – drilling knurled ring

    Yeah, a good drill will produce two chips, but I’ll take what I can get.

    There’s not much left of the original holder after turning it down to 8 mm so it fits inside the 12 mm rod:

    CNC3018 - Collet pen holder - turning collet OD
    CNC3018 – Collet pen holder – turning collet OD

    Confronted by so much shiny aluminum, I realized I didn’t need an 8 mm hole through the rod, so I cut off the collet shaft and drilled out the back end to clear the flanges on the ink tubes:

    CNC3018 - Collet pen holder - drilling out collet
    CNC3018 – Collet pen holder – drilling out collet

    I figured things would eventually go badly if I trimmed enough ink-filled crimps:

    Collet holder - pen cartridge locating flanges
    Collet holder – pen cartridge locating flanges

    The OpenSCAD source code as a GitHub Gist:

    // Collet Pen Holder in LM12UU linear bearings for CNC3018
    // Ed Nisley KE4ZNU – 2019-10-30
    Layout = "Build"; // [Build, Show, Base, Mount, Plate]
    /* [Hidden] */
    ThreadThick = 0.25; // [0.20, 0.25]
    ThreadWidth = 0.40; // [0.40, 0.40]
    /* [Hidden] */
    Protrusion = 0.1; // [0.01, 0.1]
    HoleWindage = 0.2;
    inch = 25.4;
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    ID = 0;
    OD = 1;
    LENGTH = 2;
    //- Adjust hole diameter to make the size come out right
    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);
    }
    //- Dimensions
    PenOD = 3.5; // pen cartridge diameter
    Bearing = [12.0,21.0,30.0]; // linear bearing body
    SpringSeat = [0.56,10.0,3*ThreadThick]; // wire = ID, coil = OD, seat depth = length
    WallThick = 4.0; // minimum thickness / width
    Screw = [3.0,6.75,25.0]; // holding it all together, OD = washer
    Insert = [3.0,5.5,8.2]; // brass insert
    //Insert = [4.0,6.0,10.0];
    Clamp = [43.2,44.5,34.0]; // tool clamp ring, OD = clearance around top
    LipHeight = IntegerMultiple(2.0,ThreadThick); // above clamp for retaining
    BottomExtension = 25.0; // below clamp to reach workpiece
    MountOAL = LipHeight + Clamp[LENGTH] + BottomExtension; // total mount length
    echo(str("Mount OAL: ",MountOAL));
    Plate = [1.5*PenOD,Clamp[ID] – 0*2*WallThick,WallThick]; // spring reaction plate
    NumScrews = 3;
    ScrewBCD = Bearing[OD] + Insert[OD] + 2*WallThick;
    echo(str("Retainer max OD: ",ScrewBCD – Screw[OD]));
    NumSides = 9*4; // cylinder facets (multiple of 3 for lathe trimming)
    // Basic mount shape
    module CNC3018Base() {
    translate([0,0,MountOAL – LipHeight])
    cylinder(d=Clamp[OD],h=LipHeight,$fn=NumSides);
    translate([0,0,MountOAL – LipHeight – Clamp[LENGTH] – Protrusion])
    cylinder(d=Clamp[ID],h=(Clamp[LENGTH] + 2*Protrusion),$fn=NumSides);
    cylinder(d1=Bearing[OD] + 2*WallThick,d2=Clamp[ID],h=BottomExtension + Protrusion,$fn=NumSides);
    }
    // Mount with holes & c
    module Mount() {
    difference() {
    CNC3018Base();
    translate([0,0,-Protrusion]) // bearing
    PolyCyl(Bearing[OD],2*MountOAL,NumSides);
    for (i=[0:NumScrews – 1]) // clamp screws
    rotate(i*360/NumScrews)
    translate([ScrewBCD/2,0,MountOAL – Clamp[LENGTH]])
    rotate(180/8)
    PolyCyl(Insert[OD],Clamp[LENGTH] + Protrusion,8);
    }
    }
    module SpringPlate() {
    difference() {
    cylinder(d=Plate[OD],h=Plate[LENGTH],$fn=NumSides);
    translate([0,0,-Protrusion])
    PolyCyl(Plate[ID],2*MountOAL,NumSides);
    translate([0,0,Plate.z – SpringSeat[LENGTH]]) // spring retaining recess
    PolyCyl(SpringSeat[OD],SpringSeat[LENGTH] + Protrusion,NumSides);
    for (i=[0:NumScrews – 1]) // clamp screws
    rotate(i*360/NumScrews)
    translate([ScrewBCD/2,0,-Protrusion])
    rotate(180/8)
    PolyCyl(Screw[ID],2*MountOAL,8);
    }
    }
    //—–
    // Build it
    if (Layout == "Base")
    CNC3018Base();
    if (Layout == "Mount")
    Mount();
    if (Layout == "Plate")
    SpringPlate();
    if (Layout == "Show") {
    Mount();
    translate([0,0,1.25*MountOAL])
    rotate([180,0,0])
    SpringPlate();
    }
    if (Layout == "Build") {
    translate([0,-0.75*Clamp[OD],MountOAL])
    rotate([180,0,0])
    Mount();
    translate([0,0.75*Plate[OD],0])
    SpringPlate();
    }

  • Crock Pot Base Screw

    While washing our ancient electric crock pot (“slow cooker”), I wondered how corroded the inside of the steel shell had become. A simple nut secured the base plate and unscrewed easily enough, whereupon what I thought was a stud vanished inside the shell.

    The shell wasn’t rusty enough to worry about, but the stud turned out to be a crudely chopped-off thumbscrew on a springy rod pulling the base toward the ceramic pot:

    Crock Pot Base - OEM thumbscrew
    Crock Pot Base – OEM thumbscrew

    Evidently, they pulled the thumbscrew through the base, tightened the nut, then cut off the thumbscrew flush with the nut.

    I desperately wanted to drill a hole in a new thumbscrew and repeat the process, but I no longer have a small drawer full of assorted thumbscrews. So I must either lengthen the existing thread just enough to complete the mission or build a screw from scratch.

    The thumbscrew is threaded 10-24, I have a bunch of 10-32 threaded inserts, so pretend they have the same thread diameter and tap one end to 10-24:

    Crock Pot Base - tapping insert
    Crock Pot Base – tapping insert

    Jam the new threads on the thumbscrew and jam a 10-32 setscrew into the un-wrecked end:

    Crock Pot Base - thumbscrew extender
    Crock Pot Base – thumbscrew extender

    You can see the surface rust in there, right?

    Make a Delrin bushing to fit around the insert poking through the base:

    Crock Pot Base - drilling Delrin button
    Crock Pot Base – drilling Delrin button

    Reassemble the internal bits with permanent Loctite, top with a nyloc nut, and it’s only a little taller than the original nut:

    Crock Pot Base - assembled
    Crock Pot Base – assembled

    The setscrew let me hold the new “stud” in place while torquing the nut, plus it looks spiffy.

    Memo to Self: If it ain’t broke, don’t look inside. Hah!

    Surprisingly, both Amazon and eBay lack useful thumbscrew assortments …

  • Tire FOD

    We rented a van to haul our bikes on a vacation trip, but the tire pressure warning alarm sounded when I turned into the driveway. Measuring the tire pressures showed the left rear tire was at 51 psi, far below the 72 psi shown on the doorframe sticker, and a quick check showed a possible problem:

    Tire FOD - in place
    Tire FOD – in place

    The small circle in the tread to the left of that mark turned out to be a metal tube:

    Tire FOD object
    Tire FOD object

    Their tire contractor determined the tire wasn’t leaking, the metal tube hadn’t punctured the carcass, and all was right with the world. After, of course, two hours when we expected to be loading the van.

    The rental company was good about it, perhaps because I reported they sent the van out with the other rear tire grossly overinflated to 86 psi (!); obviously, their prep didn’t include checking the tires. Somewhat to my surprise, the space under the passenger seat for a jack was empty.

    During the trip, the van laid an egg:

    Transit Van with Egg
    Transit Van with Egg

    A good time was had by all, but our next bicycling vacation will definitely have much more bicycling and much less driving!