OMTech 60 W Laser: Adjustable Honeycomb Stops

When you (well, I) get fussy about angular alignment on the laser cutter’s honeycomb platform, an adjustable stop or two may come in handy:

Laser Honeycomb - Adjustable Pins
Laser Honeycomb – Adjustable Pins

That’s a serving suggestion based on a true story, because I really wasn’t all that fussy about precise engraving alignment on those signs.

A more typical situation on a smaller scale:

Laser Honeycomb - Adjustable Pins - engraving
Laser Honeycomb – Adjustable Pins – engraving

The scrap of MDF with three holes provides angular alignment for the little two-color acrylic test coupon, so you can tuck successive squares into the corner, hammer them with slightly different patterns, then compare the results.

The stops are an off-center hole (the ±3 text gives the offset) in an MDF disk with an acetal post:

Laser Honeycomb - Adjustable Pins - detail
Laser Honeycomb – Adjustable Pins – detail

The 3 mm SHCS provides a convenient way to turn the post and disk, so the threading isn’t critical. Sufficiently snug threading will let you turn the screw counterclockwise without loosening it, but that surely depends on how tightly the 8 mm section fits into the honeycomb. The larger top section is 9mm, cleaned up from the rod’s nominal 3/8 inch OD, for a jam fit into the 8.8 mm + 0.1 mm kerf hole.

The SVG images as a GitHub Gist:

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

The ±5 mm offset disk may be more useful with larger items and now you know where those three holes came from.

Tour Easy: Terracycle Chain Idler Bushing

It turns out that under rare conditions, triggered by fumbling a front derailleur shift, the upper chain section (out of the picture on the top) can whip vertically enough to jam between the Terracycle Idler’s mounting bolt and its longer chain retaining pin:

Tour Easy - Terracycle idler
Tour Easy – Terracycle idler

Whereupon the chain falls off the chainring, jams firmly between the spider and the crank, and brings the proceedings to a halt.

Having finally figured out the cause, I made a simple bushing to fit around the mounting bolt, reduce the gap, and (I hope) eliminate the problem:

Tour Easy - Terracycle idler bushing
Tour Easy – Terracycle idler bushing

Given its rarity, I will need a few more years to verify the solution.

Might get around to cleaning the chain one of these days, too …

MTD Snowthrower Friction Drive Rebuild

During the last snowstorm of the season, the venerable MTD snowthrower carved a trench out of the garage and across the driveway, then abruptly stopped moving. The motor roared and the auger turned, but the drive clutch handle had no effect, so I dragged its carcass into the garage and we completed the mission by hand.

Popping the belly plate on the next sunny day revealed the problem: the jam nut (part 34) anchoring the Friction Disk Wheel (part 28) to the Friction Wheel Bracket Assembly (part 32) had gone missing:

MTD Snowblower - page 26 - friction drive parts
MTD Snowblower – page 26 – friction drive parts

Worse, the Wheel’s threaded shaft spent some time rattling around in the Bracket while chewing up its thread:

MTD Snowthrower - friction disk wheel - damaged thread
MTD Snowthrower – friction disk wheel – damaged thread

This would ordinarily be No Big Deal, but what you see of the shaft is all you get: it rotates freely in the bearing embedded in the Wheel with no way to hold it while cleaning up its threads.

Having already promised to replace the Wheel, I installed the new Wheel using a castle nut secured with a generous dollop of red Loctite, then tapped two of its castellations into the shaft’s slot as a mechanical anchor:

MTD Snowthrower - friction disk wheel - castle nut
MTD Snowthrower – friction disk wheel – castle nut

I really wanted to lay a nice hard roll pin along that slot through the nut, but there’s no convincing way to secure such a thing without a second nut. Maybe next time?

While I had the drive train apart, the sad state of the Wheel Shift Rod Assembly (part 29) became apparent:

MTD Snowthrower - wheel shift rod - worn
MTD Snowthrower – wheel shift rod – worn

I scuffed up the shiny wear mark, turned a suitable acetal bushing, filled the trench with epoxy, and squished the bushing in place:

MTD Snowthrower - wheel shift rod - acetal bushing
MTD Snowthrower – wheel shift rod – acetal bushing

The flange might hold it in place against the Frame Shift Bracket (part 18), which snugly contains the rest of the bushing against the epoxy, so the whole affair might outlast the next season’s first snowstorm. We shall see.

A nice new R-clip secures the Friction Wheel Bracket Assembly in place against the old washer:

MTD Snowthrower - friction bracket R-pin
MTD Snowthrower – friction bracket R-pin

You might want to insert it the other way, but the black plastic housing above it extends just far enough to thwart your (well, my) desire.

Ottlite Conversion: Mini-Lathe LED Lighting

An ancient Ottlite fluorescent floor lamp (one of a pair bought during a closeout sale at a minute fraction of their absurd sticker price) finally aged out. Pondering what to do with the carcass led to this discovery:

Ottlite conversion - LED panel fit check
Ottlite conversion – LED panel fit check

Half of a Samsung (!) LED panel (presumably sheared by the surplus supplier) fit so perfectly in place of the fluorescent tube that I just had to make it happen.

The original fluorescent ballast mounted in the smaller compartment:

Ottlite conversion - OEM fluorescent driver
Ottlite conversion – OEM fluorescent driver

I like the air-cooled triac sticking off the side of the PCB.

The lamp originally mounted parallel to the flex arm, but I wanted it at a right angle, so the molded bracket had to go:

Ottlite conversion - bracket milling setup
Ottlite conversion – bracket milling setup

Which required a few minutes of manual jogging:

Ottlite conversion - bracket milled
Ottlite conversion – bracket milled

Some coordinate drilling on the Sherline converted a rectangle of aluminum sheet into a backing plate inside the base (visible through the original holes) to spread the stress over a larger area:

Ottlite conversion - flex arm mount
Ottlite conversion – flex arm mount

The new 24 V 1 A power supply mounts pretty much where the OEM ballast came from, although I had to hack out the molded screw bosses and perch the PCB atop four aluminum standoffs anchored in globs of high-temperature hot-melt glue:

Ottlite conversion - power supply
Ottlite conversion – power supply

You might think the white and black wires on the right are interchanged, because you’re not supposed to switch the neutral, but only if you also insist anybody cares about the colors of wires inside a molded cord. This one came from a nominally good-quality cord with an IEC connector now in the e-waste box: trust yet always always verify.

The LED panel sticks to the aluminum sheet with thermal tape and is clamped in place with a quartet of M2.5 standoffs:

Ottlite conversion - bottom view
Ottlite conversion – bottom view

I’ll eventually make a better cover than a strip of overhead projector film (remember overhead projectors?), as spattering the LEDs with cutting oil and random conductive swarf is Bad Practice™.

A little more cutting and drilling produced an angle bracket for the lathe backsplash panel:

Ottlite conversion - installed
Ottlite conversion – installed

Thing looks like it grew there, doesn’t it?

The end of the backsplash might need a 3D printed bracket to stabilize its right-angle bends and prevent wobbulation, although I’ll wait until that becomes a real problem before solving it.

The top of that stylin’ lamp shade tapers along its length and, unfortunately, appears directly in front of the MPCNC bench across the basement (out of sight at the top) as I stand at the lathe. Having the shade not align exactly parallel to the bench is more annoying than it really should be; perhaps I can get used to it after spending more time at the lathe.

I loves me some good LED lighting …

Stylus Cover: Tiny Threading Tool

For unknown reasons, Mary’s Pixel 3a phone sometimes does not react to her fingertip, so she now has a stylus for such occasions. The cap covers the delicate fine-tip end (with the weird clear disk), leaving the rounded mesh end exposed to dock the cap.

I made a pair of covers for the mesh end, mostly because the styli came in a two-pack and I carry mine in a pocket pouch that will likely abrade the mesh:

Stylus Covers
Stylus Covers

They’re made from 3/8 inch = 9.52 mm acetal / Delrin rod, turned down to match the 9.4 mm stylus OD. The thread resembles a standard M8×1.25 with very rounded crests:

Stylus Covers - thread
Stylus Covers – thread

While it’s possible to tap such a thinwalled cylinder with some exterior reinforcement, the (standard / normal / regulation / crispy) thread form of the hitherto entirely unused M8×1.25 tap cowering in the back of the drawer seemed a poor fit and, not being a bottoming tap, it wouldn’t cut full threads where they’re needed.

Besides, what’s the fun in that?

Lacking a threading tool small enough to fit inside the 7.4 mm bore, I gnawed one from a snippet of spring steel wire harvested from a dead box spring. The first pass was much too wide, but gave me the opportunity to make a few mistakes while shaping the tip:

Tiny Threading Tool - first pass
Tiny Threading Tool – first pass

The discoloration on the shank betrays the torching required to knock the hardness down to something file-able. A little more Dremel cutoff wheel / grinder / file action produced a tiny tooth matching the rounded thread form on the stylus:

Tiny Threading Tool - second pass
Tiny Threading Tool – second pass

A side / bottom view shows the crude grinding and excessive angles:

Tiny Threading Tool - side view
Tiny Threading Tool – side view

A real machinist would harden and temper it, but I didn’t bother for a tool cutting two non-critical threads in plastic.

Somewhat to my surprise, the mini-lathe can cut a 1.25 mm thread without any fancy metric change gears: a simple 35-40-45-50 train did the trick. Running dead slow gave me enough time to poke the power button and let it coast down as it approached the carriage stop marking the end of the thread: cutting plastic is much less exciting than, say, Real Steel.

When all the cutting was done, I beveled the cap for my stylus to fit better into the bottom of the pouch, but that’s definitely in the nature of fine tuning:

Stylus Cover - bevels
Stylus Cover – bevels

The second one went much faster and I should have made a third while I was hot.

A doodle giving the key dimensions:

Stylus Cover - dimensions
Stylus Cover – dimensions

Another day of Quality Shop Time™!

Tektronix AM503: Balance Pot Bushing

One of the Tekronix AM503 current probe amplifiers arrived without the panel bushing for the Balance trim pot. Back in the day, you could presumably order part number 350-0301-02 and have it delivered (most likely) by your local Tek representative:

Balance pot panel bushing - Tek part listing
Balance pot panel bushing – Tek part listing

Those days are over.

A few minutes produced a doodle with pretty-close measurements:

Balance pot panel bushing - dimension doodle
Balance pot panel bushing – dimension doodle

The as-built bushing turned out just a smidge too long, so make yours a scant eighth of an inch. Maybe the Tek dimension is the overall length?

An SLA resin printer might crank out such a thing, but it’s well below the looks-good / fits-well resolution limit of an ordinary fused-filament printer.

Applying the mini-lathe to a 1/4 inch white acrylic rod produced a reasonable facsimile:

Tek AM503 Balance pot bushing - front
Tek AM503 Balance pot bushing – front

The side view:

Tek AM503 Balance pot bushing - side
Tek AM503 Balance pot bushing – side

Acrylic is definitely the wrong material for the job, but it came readily to hand while pondering the Shelf o’ Rods. Acetal would be better, as you could easily trim off the aforementioned excess length with a knife.

All’s well that ends well:

Tek AM503 Balance pot bushing - installed
Tek AM503 Balance pot bushing – installed

A dab of white acrylic adhesive around the raw opening holds the bushing in place and it looks good enough to me.

The motivation for this boils down to having the bushing center the pot twiddler required to set the balance, which I must do every time I fire up the amps, even after waiting for the half-hour required to stabilize them at their operating temperature.

Bafang Battery Charge Port: Battery Reset Tool

A lithium battery management system can (and should!) disable the battery output to prevent damage from overcurrent or undervoltage, after which it must be reset. The inadvertent charge port short may have damaged the BMS PCB, but did not shut down the battery’s motor output, which means the BMS will not should not require resetting. However, because all this will happen remotely, it pays to be prepared.

A description of how to reset the BMS in a similar battery involves poking bare hot wires into the battery terminals, which IMO is akin to Tickling The Dragon’s Tail. The alert reader will note that the “Shark” battery shown on that page has its terminal polarity exactly opposite of the “Ultra Slim Shark” battery on our bikes. Given the energies involved, eliminating any possible errors makes plenty of sense.

The battery connector looks like this:

Bafang battery - Ultra-Slim Shark connector
Bafang battery – Ultra-Slim Shark connector

For this battery, the positive terminal is on the right, as shown by the molded legend and verified by measurement.

A doodle with various dimensions, most of which are pretty close:

Bafang battery - connector dimension doodle
Bafang battery – connector dimension doodle

Further doodling produced a BMS reset adapter keyed to fit the battery connector in only one way:

Bafang battery - adapter doodle
Bafang battery – adapter doodle

Which turned into the rectangular lump at the top of the tool kit, along with the various shell drills and suchlike discussed earlier:

Bafang battery tools
Bafang battery tools

Looking into the solid model from the battery connector shows the notches and projections that prevent it from making incorrect contact:

Battery Reset Adapter - show front
Battery Reset Adapter – show front

The pin dimensions on the right, along with a mysterious doodle that must have meant something at the time :

Bafang battery - adapter pin doodle
Bafang battery – adapter pin doodle

The pins emerged from 3/16 inch brass rod, with pockets for the soldered wires:

Bafang battery - reset tool - pins
Bafang battery – reset tool – pins

The wires go into a coaxial breakout connector that’s hot-melt glued into the recess. The coaxial connectors are rated for 12 V and intended for CCTV cameras, LED strings, and suchlike, but I think they’re good for momentary use at 48 V with minimal current.

I printed the block with the battery connector end on top for the best dimensional accuracy and the other end of the pin holes held in place by a single layer of filament bridging the rectangular opening:

Bafang battery - reset tool - hole support layer
Bafang battery – reset tool – hole support layer

I made a hollow punch to cut the bridge filaments:

Bafang battery - reset tool - pin hole punch
Bafang battery – reset tool – pin hole punch

The holes extend along the rectangular cutout for the coaxial connector, so pressing the punch against the notch lines it up neatly with the hole:

Bafang battery - reset tool - hole punching
Bafang battery – reset tool – hole punching

Whereupon a sharp rap with a hammer clears the hole:

Bafang battery - reset tool - hole cleared
Bafang battery – reset tool – hole cleared

A dollop of urethane adhesive followed the pins into their holes to lock them in place. I plugged the block and pins into the battery to align the pins as the adhesive cured, with the wire ends carefully taped apart.

After curing: unplug the adapter, screw wires into coaxial connector, slobber hot melt glue into the recess, squish into place, align, dribble more glue into all the gaps and over the screw terminals, then declare victory.

It may never be needed, but that’s fine with me.

[Update: A few more doodles with better dimensions and fewer malfeatures appeared from the back of the bench.]

Bafang battery - adapter better doodle
Bafang battery – adapter better doodle
Bafang battery - adapter dimension doodle
Bafang battery – adapter dimension doodle
Bafang battery - connector key doodle
Bafang battery – connector key doodle

The OpenSCAD source code as a GitHub Gist:

// Adapter to reset Bafang battery management system
// Ed Nisley KE4ZNU Dec 2021
Layout = "Block"; // [Show, Build, Pins, Block, CoaxAdapter, Key]
Gap = 4.0;
/* [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);
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);
}
ID = 0;
OD = 1;
LENGTH = 2;
//----------------------
// Dimensions
WallThick = 3.0;
PinSize = [3.5,4.75,9.0 + WallThick]; // LENGTH = exposed + wall
PinFerrule = [3.5,4.75,10.0]; // larger section for soldering
PinOC = 18.0;
PinOffset = [-9.0,0,9.0];
Keybase = 4.0; // key bottom plate thickness
KeyBlockSize = [15.0,50.0,15.0];
CoaxSize = [35.0,15.0,11.0];
CoaxGlue = [0,2*2,1];
// without key X section
BlockSize = [CoaxSize.x + WallThick + PinFerrule[LENGTH],KeyBlockSize.y,KeyBlockSize.z + WallThick];
echo(BlockSize=BlockSize);
//----------------------
// Battery connection pin
// Used to carve out space for real brass pin
// Long enough to slide ferrule through block
module Pins() {
for (j=[-1,1])
translate(PinOffset + [0,j*PinOC/2,0])
rotate([0,90,0])
rotate(180/6) {
PolyCyl(PinSize[ID],BlockSize.x,6);
translate([0,0,PinSize[LENGTH]])
PolyCyl(PinSize[OD],BlockSize.x,6);
}
}
//----------------------
// Coaxial socket adapter nest
// X=0 at left end of block, Z=0 at bottom
// includes glue, extends rightward to ensure clearance
module CoaxAdapter() {
translate([0,0,CoaxSize.z])
cube(CoaxSize + CoaxGlue + [CoaxSize.x,0,CoaxSize.z],center=true);
}
//----------------------
// Block without key
// X=0 at connector face, Z=0 at bottom of block
module BareBlock() {
difference() {
translate([BlockSize.x/2,0,BlockSize.z/2])
cube(BlockSize,center=true);
Pins();
translate([BlockSize.x,0,Keybase])
CoaxAdapter();
}
translate([BlockSize.x - CoaxSize.x,0,BlockSize.z/2]) // bridging layer
cube([ThreadThick,BlockSize.y,BlockSize.z],center=true);
}
//----------------------
// Complete block
module Block() {
BareBlock();
BatteryKey();
}
//----------------------
// Battery connector key shape
// Chock full of magic sizes
// Polygons start at upper left corner
module BatteryKey() {
// base outline
kb = [[-15,KeyBlockSize.y/2],[0,KeyBlockSize.y/2],[0,-KeyBlockSize.y/2],[-15,-KeyBlockSize.y/2]];
// flange cutout
kf = [[kb[0].x,20],[-3,20],[-3,15],[-8,15],[-8,-15],[-3,-15],[-3,-20],[kb[0].x,-20]];
// sidewalls
kw = [[-15,KeyBlockSize.y/2],[0,KeyBlockSize.y/2],[0,20],kf[0]];
linear_extrude(height=Keybase)
difference() {
polygon(kb);
polygon(kf);
}
linear_extrude(height=KeyBlockSize.z)
polygon(kw);
mirror([0,1,0])
linear_extrude(height=KeyBlockSize.z)
polygon(kw);
translate([0,0,KeyBlockSize.z])
linear_extrude(height=BlockSize.z - KeyBlockSize.z)
polygon(kb);
}
//----------------------
// Build it
if (Layout == "Block") {
BareBlock();
}
if (Layout == "Pins") {
Pins();
}
if (Layout == "Key") {
BatteryKey();
}
if (Layout == "CoaxAdapter") {
CoaxAdapter();
}
if (Layout == "Show") {
Block();
color("Brown",0.3)
Pins();
}
if (Layout == "Build") {
rotate([0,90,0])
translate([-BlockSize.x,0,0])
Block();
}