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: Mini-lathe

Tweaking an LMS 5200 Mini-Lathe

  • Mini-Lathe ER Collet Chuck Drawbar

    Mini-Lathe ER Collet Chuck Drawbar

    The ER-16 and ER-32 collet chucks use an M12×1.75 bolt to snug their MT3 tapers in the Mini-Lathe spindle. As nearly as I could figure, I needed a 190 mm bolt to get enough thread engagement, but the nearest available sizes were either too short or too long.

    Fortunately, making round things is what a lathe is all about:

    MT3 drawbar - assembled
    MT3 drawbar – assembled

    The aluminum bellyband adds 30 mm to the length and aligns the bolt sections, with the threaded section from a long 5/16-18 bolt inside holding the metric bolt together:

    MT3 drawbar - parts
    MT3 drawbar – parts

    Although I got it right on the first try (!), the bellyband lets me fine-tune the length as needed.

    The original dimension doodle and some in-flight updates:

    ER Collets - MT3 drawbar bolt - dimension doodles
    ER Collets – MT3 drawbar bolt – dimension doodles

    The fancy brass / bronze washer comes from a battered rod with mushroomed ends. A pair of V-blocks let me cut a chunk off one end with negligible drama:

    Bronze Bar Stock - support fixture
    Bronze Bar Stock – support fixture

    It’s clamped firmly to the right block and a few licks with a file knocked off enough of the mushroom on the left end to put it flat(-ish) into the V; the near side of the right block is barely raised off the surface.

    Face off the mushroom to get a flat spot for a center drill:

    MT3 drawbar - battered bronze rod
    MT3 drawbar – battered bronze rod

    Some peaceful turning & boring produces a pretty washer:

    MT3 drawbar - washer cutoff
    MT3 drawbar – washer cutoff

    The bore needed a bit of relief to seat the bolt head squarely on the outer surface:

    MT3 drawbar - spindle washer
    MT3 drawbar – spindle washer

    And then It Just Fit™:

    MT3 drawbar - installed
    MT3 drawbar – installed

    Loctite on the inner bolt threads should keep everything together.

  • Screw Thread Measurement

    Screw Thread Measurement

    While I was cutting threads for the Floor Lamp poles, I tried measuring my progress over wires:

    Floor Lamp - tube fitting - thread measurement
    Floor Lamp – tube fitting – thread measurement

    Those are three lengths of music wire, slightly bent from their storage roll, held in place with a precision clamp metric micrometer. Given the crudity of the setup, the uncalibrated wire diameter, and my lack of thread-fu, the results came out both close and unconvincing.

    A set of real thread measuring wires being cheap & readily available, I’m prepared for the next time around this block:

    Thread Measuring Wires - eBay set
    Thread Measuring Wires – eBay set

    The 185 mil “wires” (they’re all allegedly ground rod) will let me cut threads matching things like a Jesus nut; they’re suited for 3 TPI / 8 mm pitch screws. Mostly, wires from the front row will be all I ever need.

    Which look like this in action:

    Thread Measuring Wires - eBay setThread Measuring Wires - detail
    Thread Measuring Wires – eBay setThread Measuring Wires – detail

    The black doodad (the set includes half a dozen for all the wire sizes) fits over the micrometer anvil and holds two wires betwixt anvil and screw, leaving me to manipulate the screw, the third wire, and the micrometer with my remaining hands. Hence the vise holding the micrometer, which is known to be Very Bad Practice.

    From the side:

    Thread Measuring Wires - overview
    Thread Measuring Wires – overview

    All of the smaller wires measure 0.5 mil too thin, which is likely due to my lack of calibrated measurement equipment:

    Thread Measuring Wires - scant 24 mil
    Thread Measuring Wires – scant 24 mil

    The few thread pitch diameters I measured also came out slightly too small, again likely due to calibration and screw tolerances.

    The LittleMachineShop description of measuring threads over wires seems entirely adequate.

    To forestall link rot, a slightly rearranged version of their tables of wire constants:

    Thread Wire Measurement Constants
    Thread Wire Measurement Constants

    The lower table has metric thread pitches with the wire sizes in inches.

    You measure the distance over the recommended wire (in inches or millimeters, as appropriate), subtract the constant, and get the pitch diameter in the same units. Conversely, add the constant to the desired pitch diameter to get the target over-wire distance, carefully cut the thread until it measures a bit less than that, back up sixty seconds, and cut it spot on.

    Verily, it is written: there is no UnDo key (⎌) in machine shop work.

  • Floor Lamp: Threaded Fittings

    Floor Lamp: Threaded Fittings

    The reshaped copper elbow on the floor lamp now has the right angle, but lacks threaded connections to the tubes. The OEM tube threads are close to M15×1, thus prompting the change gear exercise persuading Tiny Lathe™ to cut metric threads.

    Chuck up a length of 5/8 inch aluminum tube, clean up the end, and poke a thread runout slot into it:

    Floor Lamp - tube fitting - thread runout
    Floor Lamp – tube fitting – thread runout

    Turn the soon-to-be-thread OD to 14.7 mm, well under the minimum 14.794 mm major thread diameter. I figure it’s better to match the existing not-quite-standard tube threads than to get all fussy about tolerances:

    Floor Lamp - tube fitting - thread OD
    Floor Lamp – tube fitting – thread OD

    Drill out the tube to 27/64 inch = 0.422 inch = 10.7 mm, a bit larger than the OEM fittings, to easily pass the JST-SM connector I added so I could take the lamp apart:

    Floor Lamp - tube fitting - drilling bore
    Floor Lamp – tube fitting – drilling bore

    Yeah, you’re not supposed to let the swarf build up like that, but it’s hard to stop when you’re getting good chip.

    Break the sharp edges:

    Floor Lamp - tube fitting - ready for threading
    Floor Lamp – tube fitting – ready for threading

    Set up for threading:

    Floor Lamp - tube fitting - external threading setup
    Floor Lamp – tube fitting – external threading setup

    That’s a really nice Warner laydown threader I won as a Cabin Fever door prize quite some years ago.

    A comprehensive discussion of threading may be handy.

    The compound is at 90° to the cross slide, because the DRO housing doesn’t let the compound swivel to the proper angle for thread cutting. I’m just ramming the threader straight into the tube, taking sissy cuts, and hoping for the best.

    Kiss the OD with the cutter, set the cross slide DRO to zero, position the cutter just off the end of the tube, close the split nuts around the leadscrew, engage the threading dial at a conspicuous mark:

    Mini-Lathe Threading Dial - aligned
    Mini-Lathe Threading Dial – aligned

    The first real pass looked good:

    Floor Lamp - tube fitting - first thread pass
    Floor Lamp – tube fitting – first thread pass

    The runout slot is 1/16 inch = 1.6 mm wide and I’m running the lathe dead slow, so there’s plenty of time to punch the STOP button as the cutter enters the slot and let the spindle coast down. Flip the switch to REVERSE, crank the cross slide out a turn (1 mm with 0.3 mm of crank backlash), run the cutter back to the starting point, crank the cross slide in, and iterate until the fitting screws into one of the OEM lamp tubes:

    Floor Lamp - tube fitting - final thread
    Floor Lamp – tube fitting – final thread

    The 5/8 inch tube is just a smidge too small for the copper fitting, so knurl the fitting to enlarge the OD slightly more than a smidge:

    Floor Lamp - tube fitting - knurled
    Floor Lamp – tube fitting – knurled

    Break the knurl edges, part off the fitting, clean up the new end, and do it all over again:

    Floor Lamp - tube fitting - threaded adapters
    Floor Lamp – tube fitting – threaded adapters

    The knurls got filed down to an exact slip fit in the copper elbow and will eventually be epoxied in place.

    The cut-off tube on the lamp head also needs internal threads, so bore out the interior to flatten the weld seam:

    Floor Lamp - tube fitting - cleaning tube bore
    Floor Lamp – tube fitting – cleaning tube bore

    No pix of the threading, but you have the general idea; the tube wall is a scant 0.6 mm thick, so this isn’t the place for full-spec threads. I stopped when the OEM tube screwed in place.

    Apart from the hideous solder job, it came together pretty well:

    Floor Lamp - tube fitting - unpainted
    Floor Lamp – tube fitting – unpainted

    It’s much more stable than Kapton-wrapped tubes jammed into a bare copper fitting, although that’s not saying much.

    A rattle-can finish seems appropriate …

  • Mini-Lathe: Threading Dial Alignment

    Mini-Lathe: Threading Dial Alignment

    As received, the mini-lathe’s threading dial was misaligned by about 1/4 division, which is nearly halfway to the next engagement point midway between the divisions:

    Mini-Lathe Threading Dial - as received - colorized
    Mini-Lathe Threading Dial – as received – colorized

    I added the red lacquer crayon while contemplating what to do, because I thought the dial was swaged onto the shaft. It turns out to be threaded, so I marked where the dial should be, grabbed the shaft in the (soft-jawed) bench vise, and twisted the dial with a Vise-Grip until it lined up:

    Mini-Lathe Threading Dial - aligned
    Mini-Lathe Threading Dial – aligned

    Well, it’s closer than it was, OK?

    There’s about that much slop on either side of the index line coming from the loose gear engaging the leadscrew, so that’s as good as it gets.

  • Mini-Lathe: Metric Change Gear Tables

    Mini-Lathe: Metric Change Gear Tables

    Running my assortment of custom 3D printed change gears through the LittleMachineShop calculator and copying the results into a spreadsheet for E-Z formatting produces a useful table:

    The same table in text-ish format, minus the colored highlights marking the custom gears:

    PitchABCDActualErrorIn 10 pitches
    0.10
    208020800.0990.786%0.008
    207920800.1000.468%0.005
    208020790.1000.468%0.005
    0.20
    207940800.2010.473%0.009
    208040790.2010.473%0.009
    407920800.2010.473%0.009
    408020790.2010.473%0.009
    0.25
    205535810.2490.225%0.006
    208135550.2490.225%0.006
    355520810.2490.225%0.006
    0.30
    205735650.3000.023%0.001
    206535570.3000.023%0.001
    0.40
    205545650.4000.088%0.004
    206545550.4000.088%0.004
    0.50
    215045600.5000.012%0.001
    216045500.5000.012%0.001
    218060500.5000.012%0.001
    423521800.5000.012%0.001
    605021800.5000.012%0.001
    0.60
    355740650.6000.022%0.001
    356540570.6000.022%0.001
    405735650.6000.022%0.001
    406535570.6000.022%0.001
    0.70
    355545650.6990.087%0.006
    356545550.6990.087%0.006
    455535650.6990.087%0.006
    456535550.6990.087%0.006
    507755810.7000.006%0.000
    508155770.7000.006%0.000
    557750810.7000.006%0.000
    0.75
    425045800.7500.012%0.001
    428045500.7500.012%0.001
    455042800.7500.012%0.001
    458042500.7500.012%0.001
    0.80
    405545650.7990.088%0.007
    406545550.7990.088%0.007
    455540650.7990.088%0.007
    456540550.7990.088%0.007
    205579570.8000.010%0.001
    205779550.8000.010%0.001
    1.00
    215060401.0000.012%0.001
    425045601.0000.012%0.001
    426045501.0000.012%0.001
    428060501.0000.012%0.001
    455042601.0000.012%0.001
    456042501.0000.012%0.001
    605042801.0000.012%0.001
    1.25
    215060321.2500.013%0.002
    354045501.2500.013%0.002
    424045601.2500.013%0.002
    428060401.2500.013%0.002
    454042601.2500.013%0.002
    602021801.2500.013%0.002
    604042801.2500.013%0.002
    1.50
    424045501.5000.013%0.002
    454042501.5000.013%0.002
    1.75
    654257801.7510.029%0.005
    2.00
    424060502.0000.012%0.003
    425060402.0000.012%0.003
    604042502.0000.012%0.003
    2.50
    423260502.5000.012%0.003
    424060402.5000.012%0.003
    425060322.5000.012%0.003
    602042802.5000.012%0.003
    603242502.5000.012%0.003
    3.00
    655080553.0020.061%0.018
    655580503.0020.061%0.018
    805065553.0020.061%0.018
    3.50
    574065423.5010.029%0.010
    574265403.5010.029%0.010
    652157803.5010.029%0.010
    654057423.5010.029%0.010
    654257403.5010.029%0.010
    4.00
    602042504.0000.012%0.005
    5.00
    552160504.9890.215%0.107
    553580404.9890.215%0.107
    554080354.9890.215%0.107
    602155504.9890.215%0.107
    803555404.9890.215%0.107
    804055354.9890.215%0.107
    354581205.0010.012%0.006
    455577205.0010.012%0.006
    772045555.0010.012%0.006
    Mini-Lathe Metric Change Gear Trains

    The basic formulas:

    TPI = 16 / ((A/B) x (C/D))
    Pitch = 25.4 / TPI = 1.5875 x ((A/B) x (C/D))

    So, for example, a 45-50-42-60 train will produce a 1 mm thread pitch with 120 ppm error adding up to a mere 1 micron in 10 pitches:

    Mini-Lathe change gears - stacked 50-42 - installed
    Mini-Lathe change gears – stacked 50-42 – installed

    Overall, the errors are so low as to not matter, even without using the custom gears, but it’s the principle of the thing …

  • Mini-lathe Metric Threading: Stackable Change Gear Generator

    Mini-lathe Metric Threading: Stackable Change Gear Generator

    Although OpenSCAD’s MCAD library includes a gear generator, I don’t profess to understand the relations between reality and its myriad parameters, plus I vaguely recall it has a peculiar definition for Diametral Pitch (or some such). Rather than fiddle with all that, I start with an SVG outline from Inkscape’s Gears extension and go all 3D on it.

    So, the “gear blank” looks like this after extruding the SVG:

    Mini-lathe change gear - 42 tooth - SVG import
    Mini-lathe change gear – 42 tooth – SVG import

    Producing this is a lot easier in OpenSCAD than in real life:

    Mini-lathe change gear - 42 tooth - solid model
    Mini-lathe change gear – 42 tooth – solid model

    OpenSCAD centers the blank’s bounding box at XY=0, which won’t be exactly on the bore centerline for gears with an odd number of teeth. One tooth sits at 0° and two teeth bracket 180°, so the bounding box will be a little short on one side

    A reference for gear nomenclature & calculations will come in handy.

    For a 21 tooth module 1 gear, which should be pretty close to the worst case in terms of offset:

    • Pitch dia = d = 21 × 1 = 21 mm
    • Tip dia = da = d + 2m = 23 mm
    • Tip radius = da/2 = 11.5 mm
    • Tooth-to-tooth angle = 360/21 = 17.143°
    • Radius to tangent across adjacent teeth = 11.5 × cos 17.143°/2 = 11.372 mm

    An actual metal 21 tooth gear measures 22.87 mm across a diameter, dead on what those numbers predict: 11.5 + 11.372 = 22.872 mm.

    So the bounding box will be 11.5 mm toward the tooth at 0° and 11.372 mm toward the gap at 180°. The offset will be half that, with the tooth at 0° sitting 0.063 mm too close to the origin. Gears with more teeth will have smaller errors.

    Given that we’re dealing with a gear “machined” from plastic goo, that’s definitely close enough:

    Mini-Lathe change gears - 1 mm - 45-50-45-60
    Mini-Lathe change gears – 1 mm – 45-50-45-60

    That’s an earlier version with the debossed legend.

    The code can also generate stacked gears for the BC shaft in the middle:

    Mini-lathe change gear - 42-55 tooth stacked - solid model
    Mini-lathe change gear – 42-55 tooth stacked – solid model

    In principle, the key locking the gears together isn’t needed and the bore could fit the inner shaft, rather than the keyed bushing, but then you’d (well, I’d) be at risk of losing the bushing + key in one easy operation.

    So it’s better to go with the bushing:

    Mini-Lathe change gears - stacked 50-42 - installed
    Mini-Lathe change gears – stacked 50-42 – installed

    Now, to cut some threads!

    The OpenSCAD source code as a GitHub Gist:

    // LMS Mini-Lathe
    // Change gears with stacking
    // Generate SVG outlines with Inkscape's Gear extension
    // Ed Nisley – KE4ZNU
    // 2020-05
    /* [Gears] */
    TopGear = 0; // zero for single gear
    BottomGear = 42;
    /* [Hidden] */
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    HoleWindage = 0.2;
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    Protrusion = 0.1; // make holes end cleanly
    Dir = ""; // empty string for current directory
    /* [Dimensions] */
    ShaftOD = 12.0;
    ShaftSides = 4*3;
    GearThick = 7.75;
    Keyway = [3.5 + HoleWindage,3.0 + HoleWindage,3*GearThick]; // x on radius, y on perim, z on axis
    LegendThick = 2*ThreadThick;
    LegendZ = (TopGear ? 2*GearThick : GearThick) – LegendThick;
    LegendRecess = [10,7,LegendThick];
    LegendEnable = (TopGear == 0 && BottomGear > 41) || (TopGear > 41);
    //———————-
    // Useful routines
    // Enlarge holes to prevent geometric shrinkage
    // based on nophead's polyholes
    // http://hydraraptor.blogspot.com/2011/02/polyholes.html
    // http://www.thingiverse.com/thing:6118
    module PolyCyl(Dia,Height,ForceSides=0) {
    Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);
    FixDia = Dia / cos(180/Sides);
    cylinder(r=(FixDia + HoleWindage)/2,
    h=Height,
    $fn=Sides);
    }
    //———————–
    // Build it!
    union() {
    difference() {
    union() {
    linear_extrude(GearThick,center=false,convexity=5)
    import(file=str(Dir,"Change Gear – ",BottomGear," teeth.svg"),
    center=true);
    if (TopGear)
    translate([0,0,GearThick])
    linear_extrude(GearThick,center=false,convexity=5)
    import(file=str(Dir,"Change Gear – ",TopGear," teeth.svg"),
    center=true);
    }
    rotate(180/ShaftSides)
    translate([0,0,-Protrusion])
    PolyCyl(ShaftOD,3*GearThick);
    translate([ShaftOD/2,0,Keyway.z/2 – Protrusion])
    cube(Keyway,center=true);
    if (LegendEnable) {
    translate([0,1.1*ShaftOD,LegendZ + LegendRecess.z/2])
    cube(LegendRecess + [0,0,Protrusion],center=true);
    if (TopGear) {
    translate([0,-1.1*ShaftOD,LegendZ + LegendRecess.z/2])
    cube(LegendRecess + [0,0,Protrusion],center=true);
    }
    }
    }
    if (LegendEnable)
    translate([0,0,LegendZ – Protrusion])
    linear_extrude(height=LegendThick + Protrusion,convexity=10) {
    translate([-0*2.5,1.1*ShaftOD])
    rotate(-0*90)
    text(text=str(BottomGear),size=5,font="Arial:style:Bold",halign="center",valign="center");
    if (TopGear)
    translate([-0*2.5,-1.1*ShaftOD])
    rotate(-0*90)
    text(text=str(TopGear),size=5,font="Arial:style:Bold",halign="center",valign="center");
    }
    }

  • Monthly Image: Wappinger Dam Gears

    Monthly Image: Wappinger Dam Gears

    A walk around Wappinger Lake brought me to the old penstock controls:

    Wappinger Dam - old penstock gearing - E view
    Wappinger Dam – old penstock gearing – E view

    Still meshed after all these years:

    Wappinger Dam - old penstock gearing - SE view
    Wappinger Dam – old penstock gearing – SE view

    The “new” penstock intake control, a pair of utterly practical and totally non-photogenic screw drives, sits just to the left of these relics.

    A night view of the penstock from some years ago:

    Wappingers Falls Bridge - Pixel XL HDR - 2017-09-22
    Wappingers Falls Bridge – Pixel XL HDR – 2017-09-22

    It still carries water to the recently refurbished power plant downstream on the right.

    Those gears will remain meshed after everything else rots away …