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

Making the world a better place, one piece at a time

  • Monthly Science: Silica Gel Regeneration In Bags

    Just for the record, heating four 500 g bags of silica gel at 230 °F for 12 hours overnight works exactly the way it should. Two of the bags baked down to 490 g, another was at 509 g, and the fourth had bulldog clips (rather than staples); given that they started with a measured 500 g of beads, that’s entirely good enough.

    Memo to Self: don’t try to cut corners: heat the silica gel packs above water’s boiling point, let them cook overnight, don’t worry about wrecking the weird ground-cloth landscaping bags, and be done with it.

  • Dust Collection: Vacuum Fittings

    The Micro-Mark bandsaw’s vacuum port forced me to finish up a long-stalled project: adding a bit of plumbing to simplify connecting the small shop vacuum I use for dust collection.

    It turns out that a 45° 3/4 inch Schedule 40 PVC elbow fits snugly into the bandsaw’s rubbery vacuum port and angles the hose in the right general direction:

    Vacuum Adapters - 3-4 PVC to vac nozzle
    Vacuum Adapters – 3-4 PVC to vac nozzle

    The elbow OD fits into an adapter with a tapered socket for the vacuum cleaner’s snout:

    Vacuum Hose Fittings - 3-4 PVC fitting to vac nozzle
    Vacuum Hose Fittings – 3-4 PVC fitting to vac nozzle

    That solid model doesn’t resemble the picture, because that gracefully thin tapered cylinder around the snout will definitely test PETG’s strength under normal shop usage; fat is where it’s at when it breaks. The interior has a tapered section between the elbow’s OD (at the bottom) and the nozzle taper (at the top) to eliminate the need for a tedious support structure.

    The elbow’s OD pretty much matches the nozzle’s ID and leaves the air flow unrestricted. The aperture in the bandsaw frame might be half the pipe’s area, so I’m surely being too fussy.

    With that in hand, I built more adapters to mate 1 inch PVC fittings with the two vacuum ports on the belt / disk sander to keep the canister out of my way and make the dust just vanish. A tee plugged into the belt sander side accepts the vacuum nozzle (bottom) and inhales dust from the disk sander (top):

    Vacuum Adapters - belt sander - tee
    Vacuum Adapters – belt sander – tee

    A U made from two 90° elbows aims the disk sander dust into the hose going across the back side of the belt:

    Vacuum Adapters - disk sander - double elbow
    Vacuum Adapters – disk sander – double elbow

    Those elbows have a 40 mm length of 1 inch PVC pipe between them; no need to print that!

    The hose has a left-hand thread rib which, of course, required throwing the first adapter away into the Show-n-Tell box:

    Vacuum Hose Fittings - hose to 1 inch PVC fitting
    Vacuum Hose Fittings – hose to 1 inch PVC fitting

    That’s a descendant of the broom handle thread, turned inside-out and backwards.

    Building two hose adapters with the proper chirality worked fine:

    Vacuum Hose Fittings - hose to 1 inch PVC fitting - Slic3r pair
    Vacuum Hose Fittings – hose to 1 inch PVC fitting – Slic3r pair

    Although you could lathe-turn adapters that plug PVC fittings into the sander’s vacuum ports starting with a chunk of 1 inch PVC pipe, it’s easier to just print the damn things and get the taper right without any hassle:

    Vacuum Adapters - vac port to 1 PVC
    Vacuum Adapters – vac port to 1 PVC

    The straight bore matches the ID of 1 inch PVC pipe for EZ air flow:

    Vacuum Hose Fittings - vac port to 1 inch PVC pipe
    Vacuum Hose Fittings – vac port to 1 inch PVC pipe

    The sleeve barely visible on the bottom leg of the tee looks like 1 inch PVC pipe on the outside and a vacuum port on the inside:

    Vacuum Hose Fittings - 1 inch PVC to vac nozzle
    Vacuum Hose Fittings – 1 inch PVC to vac nozzle

    The source code includes a few other doodads that I built, tried out while deciding how to make all this work, and eventually didn’t need.

    All the dimensions are completely ad-hoc and probably won’t work with PVC fittings from your local big-box retailer, as the fitting ODs aren’t controlled like the IDs that must fit the pipe. I cleaned things up a bit by putting the ID, OD, and length of the pipe / fittings / adapters into arrays, but each module gets its own copy because, for example, 1 inch 45° elbows have different ODs than 1 inch 90° elbows and you might want one special fitting for that. Ptui!

    The OpenSCAD source code for all those adapters as a GitHub Gist:

    // Vacuum Hose Fittings
    // Ed Nisley KE4ZNU July 2016
    Layout = "FVacFitting"; // PVCtoHose ExpandRing PipeToPort FVacPipe FVacFitting
    //- Extrusion parameters must match reality!
    // Print with 2 shells and 3 solid layers
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    HoleWindage = 0.2;
    Protrusion = 0.1; // make holes end cleanly
    //———————-
    // Dimensions
    ID = 0;
    OD = 1;
    LENGTH = 2;
    Pipe = [34.0,(41.0 + HoleWindage),16.0]; // 1 inch PVC pipe fitting
    VacPortSander = [30.0,31.3,25]; // vacuum port on belt sander (taper ID to OD over length)
    VacNozzle = [30.1,31.8,30.0]; // nozzle on vacuum hose (taper ID to OD over length)
    MINOR = 0;
    MAJOR = 1;
    PITCH = 2;
    FORM_OD = 3;
    HoseThread = [32.0,(37.0 + HoleWindage),4.25,(1.8 + 0.20)]; // vacuum tube thread info
    NumSegments = 64; // .. number of cylinder approximations per turn
    $fn = NumSegments;
    ThreadLength = 4 * HoseThread[PITCH];
    ScrewOAL = ThreadLength + HoseThread[PITCH];
    WallThick = 2.5;
    echo(str("Pitch dia: ",HoseThread[MAJOR]));
    echo(str("Root dia: ",HoseThread[MAJOR] – HoseThread[FORM_OD]));
    echo(str("Crest dia: ",HoseThread[MAJOR] + HoseThread[FORM_OD]));
    //———————-
    // Wrap cylindrical thread segments around larger plug cylinder
    module CylinderThread(Pitch,Length,PitchDia,ThreadOD,PerTurn,Chirality = "Right") {
    CylFudge = 1.02; // force overlap
    ThreadSides = 6;
    RotIncr = 1/PerTurn;
    PitchRad = PitchDia/2;
    Turns = Length/Pitch;
    NumCyls = Turns*PerTurn;
    ZStep = Pitch / PerTurn;
    HelixAngle = ((Chirality == "Left") ? -1 : 1) * atan(Pitch/(PI*PitchDia));
    CylLength = CylFudge * (PI*(PitchDia + ThreadOD) / PerTurn) / cos(HelixAngle);
    for (i = [0:NumCyls-1]) {
    Angle = ((Chirality == "Left") ? -1 : 1) * 360*i/PerTurn;
    translate([PitchRad*cos(Angle),PitchRad*sin(Angle),i*ZStep])
    rotate([90+HelixAngle,0,Angle]) rotate(180/ThreadSides)
    cylinder(r1=ThreadOD/2,
    r2=ThreadOD/(2*CylFudge),
    h=CylLength,
    center=true,$fn=ThreadSides);
    }
    }
    //– PVC fitting to vacuum hose
    module PVCtoHose() {
    Fitting = [34.0,41.0,16.0]; // 1 inch PVC elbow
    Adapter = [HoseThread[MAJOR],(Fitting[OD] + 2*WallThick + HoleWindage),(ScrewOAL + Fitting[LENGTH])]; // dimensions for entire fitting
    union() {
    difference() {
    cylinder(d=Adapter[OD],h=Adapter[LENGTH]); // overall fitting
    translate([0,0,-Protrusion]) // remove thread pitch dia
    cylinder(d=HoseThread[MAJOR],h=(ScrewOAL + 2*Protrusion));
    translate([0,0,(ScrewOAL – Protrusion)]) // remove PVC fitting dia
    cylinder(d=(Fitting[OD] + HoleWindage),h=(Fitting[LENGTH] + 2*Protrusion));
    }
    translate([0,0,HoseThread[PITCH]/2]) // add the thread form
    CylinderThread(HoseThread[PITCH],ThreadLength,HoseThread[MAJOR],HoseThread[FORM_OD],NumSegments,"Left");
    }
    }
    //– Expander ring from small OD to large ID PVC fittings
    // So a small elbow on the bandsaw fits into the hose adapter, which may not be long-term useful
    module ExpandRing() {
    Fitting_L = [34.0,41.0,16.0]; // 1 inch PVC pipe elbow
    Fitting_S = [26.8,32.8,17]; // 3/4 inch PVC elbow
    difference() {
    cylinder(d1=Fitting_L[OD],d2=(Fitting_L[OD] – HoleWindage),h=Fitting_L[LENGTH]); // overall fitting
    translate([0,0,-Protrusion])
    cylinder(d=(Fitting_S[OD] + HoleWindage),h=(Fitting_L[LENGTH] + 2*Protrusion));
    }
    }
    //– 1 inch PVC pipe into vacuum port
    // Stick this in the port, then plug a fitting onto the pipe section
    module PipeToPort() {
    Pipe = [26.5,33.5,20.0]; // 1 inch Schedule 40 PVC pipe
    difference() {
    union() {
    cylinder(d=Pipe[OD],h=(Pipe[LENGTH] + Protrusion));
    translate([0,0,(Pipe[LENGTH] – Protrusion)])
    cylinder(d1=VacNozzle[OD],d2=VacNozzle[ID],h=VacNozzle[LENGTH]);
    }
    translate([0,0,-Protrusion])
    cylinder(d=Pipe[ID],h=(Pipe[LENGTH] + VacNozzle[LENGTH] + 2*Protrusion));
    }
    }
    //– Female Vac outlet inside PVC pipe
    // Plug this into PVC fitting, then plug hose + nozzle into outlet
    module FVacPipe() {
    Pipe = [26.5,33.5,20.0]; // 1 inch Schedule 40 PVC pipe
    difference() {
    cylinder(d=Pipe[OD],h=VacPortSander[LENGTH]);
    translate([0,0,-Protrusion])
    cylinder(d1=VacPortSander[ID],d2=VacPortSander[OD],h=(VacPortSander[LENGTH] + 2*Protrusion));
    }
    }
    //– Female Vac outlet on 3/4 inch fitting OD
    // Jam this onto OD of fitting, plug hose + nozzle into outlet
    module FVacFitting() {
    Adapter = [26.5,(33.5 + 2*WallThick),17.0]; // overall adapter
    VacPortSander = [30.0,31.3,25]; // vacuum port on belt sander (taper ID to OD over length)
    Fitting = [26.8,32.8,17]; // 3/4 inch PVC elbow
    TaperLength = 5.0; // inner taper to avoid overhang
    difference() {
    cylinder(d=Adapter[OD],h=Adapter[LENGTH]); // overall fitting
    translate([0,0,-Protrusion])
    cylinder(d=(Fitting[OD] + HoleWindage),h=(Adapter[LENGTH] + 2*Protrusion));
    }
    translate([0,0,Adapter[LENGTH]])
    difference() {
    cylinder(d=Adapter[OD],h=TaperLength);
    translate([0,0,-Protrusion])
    cylinder(d1=(Fitting[OD] + HoleWindage),d2=VacPortSander[ID],h=(TaperLength + 2*Protrusion));
    }
    translate([0,0,(TaperLength + Adapter[LENGTH])]) // vac fitting
    difference() {
    cylinder(d=Adapter[OD],h=VacPortSander[LENGTH]);
    translate([0,0,-Protrusion])
    cylinder(d1=VacPortSander[ID],d2=VacPortSander[OD],h=(VacPortSander[LENGTH] + 2*Protrusion));
    }
    }
    //———-
    // Build things
    if (Layout == "PVCtoHose")
    PVCtoHose();
    if (Layout == "ExpandRing") {
    ExpandRing();
    }
    if (Layout == "PipeToPort") {
    PipeToPort();
    }
    if (Layout == "FVacPipe") {
    FVacPipe();
    }
    if (Layout == "FVacFitting") {
    FVacFitting();
    }

    Sketches of dimensions and ideas, not all of which worked out:

    Vacuum Fitting Doodles - hose thread - 3-4 pipe - nozzle
    Vacuum Fitting Doodles – hose thread – 3-4 pipe – nozzle
    Vacuum Fitting Doodles - hose thread forms - 3-4 elbow
    Vacuum Fitting Doodles – hose thread forms – 3-4 elbow
    Vacuum Fitting Doodles - port - male port - 45 deg 3-4 elbow
    Vacuum Fitting Doodles – port – male port – 45 deg 3-4 elbow
  • Tool Drawers: Cheap Foam Liner

    You can get fancy closed-cell foam sheets for the bottom of your tool chest drawers and tote, but it seems awfully spendy, even with Harbor Freight quality plastic, for something that you must cut-to-fit. The drawers are just under 22×11 and 22×17 inches, so a 18×72 inch roll would line maybe three drawers; call it three bucks per drawer and, with nearly three dozen drawers to line, I’d rather drop a hundred bucks on tools.

    Rather than do that, the usual eBay supplier provided 150 feet of 1/8 inch x 24 inch white polyethylene closed-cell foam sheet for $27 delivered:

    Polyethylene foam sheet - roll
    Polyethylene foam sheet – roll

    It’s intended for packaging small items for shipping, but I’ll never tell.

    I mooched Mary’s 2×3 foot rotary cutting mat (this reenactment shows the awkwardly sized 17×23 inch mat), her longest quilting rulers, and dullest rotary blades:

    Rotary cutting foam sheets
    Rotary cutting foam sheets

    After a few mis-steps, I got the hang of it:

    Foam-lined tool tray
    Foam-lined tool tray

    It’s not as contrast-y as black foam, but I can still find the tools:

    Foam-lined tool drawer
    Foam-lined tool drawer

    And I have plenty of foam left over for shipping small things, if I ever do any of that…

     

  • Mini-Lathe: De-oiling the Chuck

    The mini-lathe arrives covered in oil and the chuck is no exception. Wrap it in a paper towel, spin it up, let it sling out (nearly all) of the excess oil:

    LMS mini-lathe - chuck de-oiling
    LMS mini-lathe – chuck de-oiling

    Unwrap, enjoy…

  • Mini-Lathe: Carriage Stop Improvements

    I got an LMS adjustable carriage stop along with the mini-lathe to simplify cutting things to length. A few tweaks make it much less annoying to use:

    LMS Mini-lathe - carriage stop - crude shim
    LMS Mini-lathe – carriage stop – crude shim

    The fluorescent red tape makes the handle stand out vividly against the general clutter. It lives in the shadow of the chuck, where an extended jaw could end its life, so some protective coloration seemed in order.

    The screw threaded into the lower part holds it together, but, as with the carriage retaining plates, only the outer edge clamped onto the lower part of the bed. Three layers of credit card plastic fill the gap and allow just enough compression to go from “freely sliding” to “firmly clamped” in half a turn of the lever.

    The washer lets the lever turn easily on the upper block.

    Remove the screw and spring from the lever to lift and properly re-index it on the internal nut.

    The spring on the adjusting screw seems too long and exceedingly stiff for the task at hand. The Big Box o’ Little Springs didn’t offer a suitable replacement, so adapting / making one goes on the to-do list.

    It really needs a sliding pin just to the left of the lever screw to hold the lower block in alignment, but that’s definitely in the nature of fine tuning.

  • Mini-Lathe: Apron Shim

    Eks gave the traverse crank a few twirls, told me the gear was engaging the rack entirely too tightly, and recommended shimming the apron:

    LMS mini-lathe - apron shim
    LMS mini-lathe – apron shim

    Of course, he was right.

    Took two 18 mil shims to make it feel right, for whatever that’s worth.

    That isn’t the prettiest solution, but it’ll suffice until the ways wear a bit more, things settle in, and I can cut a proper shim to surround the bolt holes across the entire bearing surface.

    You can just make out the transparent plastic sheet that serves as a chip shield around the traverse gear shaft; kudos to LMS for that upgrade.

    A chip shield tube / roof over the leadscrew is in order, too.

  • Mini-Lathe: Reducing Compound Backlash

    While mulling over the DRO situation, I clamped the compound rest to the cross slide, backed the knob to the limit of the backlash, and poked feeler gauges into the opening:

    LMS mini-lathe - measuring compound backlash
    LMS mini-lathe – measuring compound backlash

    The backlash turned out to be around 20 mil = 0.020 inch = 0.5 mm, which seemed excessive to me, so I fiddled around with the contents of the Big Box o’ Polypropylene Sheets (harvested from various clamshell retail packages), deployed the hollow punches, performed some deft scissors work, and made some shims:

    LMS mini-lathe - compound knob shims
    LMS mini-lathe – compound knob shims

    Eventually, one of ’em offered a Good Enough combination of reduced backlash and E-Z turning to suffice for now. The proper solution involves facing off / rebuilding the fat metal washer on the right to put the bore at right angles to the bearing surfaces, but that’s another project.

    The final backlash ended up around 4 mils, with a bit of drag due to the slightly irregular metal washer on the left preventing anything tighter. The cross slide knob also has a bit of backlash, but the thinnest sheets are a bit too thick.

    Polypropylene isn’t the right plastic for a bearing, but it’s cheap, readily available, easily worked, and served as a bring-along project at Squidwrench…