Power Outage

Just before Tropical Storm Isaias rolled through, my hygrometer reached a new high:

Pre-Isaias humidity
Pre-Isaias humidity

The National Weather Service reported 99% at the airport a few miles away, so the meter’s calibration seems about right.

Shortly thereafter, the humidity dropped to the mid-70s as the wind picked up and, over the next few hours, falling branches took out vast swaths of Central Hudson’s electrical infrastructure. My little generator saved our refrigerator & freezer during 15 hours of outage; three days later, thousands of folks around us still have no power.

A confluence of other events, none nearly so dramatic, will throttle my posting over the next two weeks.

We’re OK and hope you’re OK, too …

EonSmoke Vape Debris

Being the type of guy who uses metal bits & pieces, I thought this might be a useful aluminum rod:

EonSmoke vape stick
EonSmoke vape stick

It turns out to be an aluminum tube holding a lithium cell and a reservoir of oily brown juice:

EonSmoke - peeled open
EonSmoke – peeled open

The black plastic cap read “EonSmoke”, which led to a defunct website at the obvious URL. Apparently, EonSmoke went toes-up earlier this year after ten years of poisoning their customers, most likely due to “competitor litigation”.

The black cap held what looks like a pressure switch:

EonSmoke - switch
EonSmoke – switch

Suck on the icky end of the tube to activate the switch, pull air past the battery (?), pick up some toxic vapor around the heater, and carry it into your lungs:

EonSmoke - reservoir heater
EonSmoke – reservoir heater

Maybe there’s a missing mouthpiece letting you suck on the icky end, activate the switch, pull vapor through the heater, and plate your lungs with toxic compounds. I admit certain aspects of my education have been sadly neglected.

The lithium cell was down to 1.0 V, with no overdischarge protection and no provision for charging, so it’s a single-use item. I’m sure the instructions tell you to recycle the lithium cell according to local and state regulations, not toss it out the window of your car.

I had to wash my hands so hard

Shuttles Game: Tapered Pegs

As is all too common with 3D printed replacement parts done remotely, the first Shuttles game pegs didn’t quite fit into the game board’s holes. Fortunately, living in the future means rapid prototyping and quick turnaround:

Shuttles Game pegs - tapered - solid model
Shuttles Game pegs – tapered – solid model

They’re slightly smaller, tapered toward the bottom, and take slightly less time to print.

The OpenSCAD code in the GitHub Gist now has has the tweaks.

Extruder Clog

The test pieces for the Mesh Screen Frame came out a bit short:

Extruder Clog - failed print
Extruder Clog – failed print

Which turned out to be the M2’s first extruder clog in a long, long time. The printer shut down normally, with no error messages, and the objects look fine as far as they go, making the diagnosis fairly simple.

Just to be sure, I verified:

It’s worth noting I use only PETG plastic from a single supplier, so Slic3r uses set-and-forget temperature and speed values, and I manually change colors only on those rare occasions when color matters. Most clogs occur after switching from a higher- to a lower-temperature plastic (PETG to PLA), where a chunk of soft-but-not-molten plastic jams in the nozzle; not the situation here.

Unscrew the clamp screw enough to release the spring pressure on the idler bearing:

Makergear M2 - spring-loaded filament drive
Makergear M2 – spring-loaded filament drive

Undo the various screws holding the block to the drive gear housing and pull it off. The drive block looked fine, with a clear round hole along the entire filament path, so that’s not the problem.

The filament snippet sticking up out of the hot end also looked fine, apart from the expected drive gear gouge, with nice serrations below that point into the hot end. It’s the third filament from the top in this group photo:

Extruder Clog - filament snippets
Extruder Clog – filament snippets

Although it’s called a “cold pull“, you can’t yank a solid hunk of plastic out of the hot end. Warming the PETG to around 200 °C and pulling the snippet out produced the long tapered end shown above.

I rammed another snippet into the hot end to bond with whatever was inside:

Extruder Clog - PETG pull
Extruder Clog – PETG pull

Which produced the top snippet above, with no particular trouble found.

Repeating the process with some nylon (?) cleaning filament:

Extruder Clog - cleaner pull
Extruder Clog – cleaner pull

In need of more traction, I sank a #60 twist drill into the molten plastic:

Extruder Clog - drill bit insertion
Extruder Clog – drill bit insertion

Let things cool a bit, haul it out (it’s halfway in the picture above), and we’re making progress:

Extruder Clog - drill bit extraction
Extruder Clog – drill bit extraction

I warmed the PETG-encrusted bit over a butane flame, wiped it on a shop rag to get most of the plastic off, then drilled a few holes in a hardwood block.

Note that a #60 drill (40 mil = 1 mm) is much much much larger than the nozzle hole:

Extruder Clog - nozzle view
Extruder Clog – nozzle view

The vertiginous view looks downward into a small hand-held mirror.

Although some folks swear by 0.3 mm carbide drills for nozzle cleaning, I doubt I could avoid wrecking that nice round 0.35 mm hole. The new red silicone coat has chipped from around the nozzle over the last few sessions, so it’s no longer wiping the top layer.

During all this flailing, something that might have been a glass fiber emerged from the nozzle while shoving one of those PETG snippets into the hot end. Of course, when I pried it out of the goo with tweezers, it snapped away into the clutter, never to be seen again. Despite being covered in PETG, it was a rigid sliver, rather than the gooey extruded thread. Perhaps the whisker extending from the PETG surrounding the drill bit was a similar fiber, but I didn’t notice it at the time.

One of the PETG cold warm pulls contained two brownish lumps:

Extruder Clog - PETG inclusions
Extruder Clog – PETG inclusions

This chunk doesn’t appear in the group portrait. It’s obviously been melted, measures a bit under 1.75 mm diameter, and the drive gear tooth marks show it passed through the filament drive block under motor control, most likely retraction.

Passing the Xacto Knife of Inquiry through the leftmost lump split it neatly in two. The left section:

Extruder Clog - PETG inclusion - section L
Extruder Clog – PETG inclusion – section L

And the right section:

Extruder Clog - PETG inclusion - section R
Extruder Clog – PETG inclusion – section R

In person, the sections look like granular / burned residue surrounded by clear PETG. I’d expect anything burned to come from inside the hot end, but I don’t know how those lumps would get surrounded by nice, clear PETG inside a reasonably cylindrical section with drive gear notches.

Anyhow, the clog has now Gone Away™ and the M2 extrudes just fine. I’ll declare victory and move on …

Seedling Shelter Frame

Plant seedlings started in pots require some hardening off time outdoors before being transplanted. Veggie seedlings also require protection from critters regarding them as a buffet, so Mary covers them with a sheet of floating row cover, which must be both suspended over the plants to give them growing room and tucked under the tray to keep the bugs out. She asked for a frame to simplify the process:

Mesh Shelter Frame - assembled
Mesh Shelter Frame – assembled

The solid model shows the structure with no regard for proportion:

Mesh Shelter Frame - show view
Mesh Shelter Frame – show view

The 5 mm fiberglass rods come from our decommissioned six-passenger umbrella, cut to length in the Tiny Lathe™ by applying a Swiss Pattern knife file around the perimeter, over the ShopVac’s snout to catch the glass dust. I started with a pull saw (also over the vacuum) during the weekly Squidwrench v-meeting, whereupon Amber recommended either a Dremel slitting wheel or a file, so I mashed everything together and it worked wonderfully well, without producing any errant glass-fiber shards to impale my fingers.

The corners consist of three tubes stuck together at the origin:

Mesh Shelter Frame - non-hulled corner model
Mesh Shelter Frame – non-hulled corner model

Shrink-wrapping them with a hull() adds plenty of strength where it’s needed:

Mesh Shelter Frame - hulled corner model
Mesh Shelter Frame – hulled corner model

I decided putting the belly side (facing you in the picture) downward on the platform and the peak upward would distribute the distortion equally among the tubes and produce a nicely rounded outer surface for the mesh fabric:

Mesh Shelter Frame - build layout
Mesh Shelter Frame – build layout

Which led to some Wikipedia trawling to disturb the silt over my long-buried analytic geometry, plus some calculator work to help recall the process; back in the day I would have used a slipstick, but I was unwilling to go there. Although I could special-case this particular layout, the general method uses Euler’s Rotation Theorem, simplified because I need only one rotation.

Should you need concatenated rotations, you probably need quaternions, but, at this point, I don’t even remember forgetting quaternions.

Anyhow, the Euler rotation axis is the cross product of the [1,1,1] vector aimed through the middle of the corner’s belly with the [0,0,-1] target vector pointing downward toward the platform. The rotation amount is the acos() of the dot product of those two vectors divided by the product of their norms. With vector and angle in hand, dropping them into OpenSCAD’s rotate() transformation does exactly what’s needed:

rotate(acos((BaseVector*Nadir)/(norm(BaseVector)*norm(Nadir))),
       v=cross(BaseVector,Nadir))   // aim belly side downward
  Corner();

Dang, I was so happy when that worked!

Because the corner model rotates around the origin where all three tube centerlines meet, the result puts the belly below the platform, pointed downward. The next step applies a translation to haul the belly upward:

translate([ArmOAL,0,    // raise base to just below platform level
           ArmOC/sqrt(3) + (ArmRadius/cos(180/SocketSides))*cos(atan(sqrt(3)/2)) + Finagle])

This happens in a loop positioning the four corners for printing, so the first ArmOAL as the X axis parameter translates the shape far enough to let four of them coexist around the origin, as shown above.

The mess in the Z axis parameter has three terms:

  • Raise the centerline of the ends of the tubes to Z=0
  • Raise the rim of the tube to Z=0
  • Add a wee bit to make the answer come out right

The 0.18 mm Finagle constant fixes things having to do with the hull() applied to miscellaneous leftover angled-circles-as-polygons approximations and leaves just a skin below the platform to be sheared off by a huge cube below Z=0, matching the corner bellies with the bottoms of the feet.

Because the corners have awful overhangs, the results look a bit raggedy:

Mesh Shelter Frame - corner underside
Mesh Shelter Frame – corner underside

That’s after knocking off the high spots with a grubby sanding sponge and making a trial fit. They look somewhat less grotendous in person.

If we need another iteration, I’ll think hard about eliminating the overhangs by splitting the corner parallel to the belly, flipping the belly upward, and joining the pieces with a screw. What we have seems serviceable, though.

The OpenSCAD source code as a GitHub Gist:

Reinforced QD Propane Adapter Tool

Having just emptied a propane tank while making bacon, I couldn’t find any of the wrench adapters I made to remove the QD adapter from the tank’s POL fitting. With memory of the broken garden valve wrench still fresh, I tweaked the solid model to include a trio of 1 mm music wire reinforcements:

Propane QD Adapter Tool - reinforced - Slic3r
Propane QD Adapter Tool – reinforced – Slic3r

Holes that small require clearing with a 1 mm drill, after which ramming the wires in place poses no problem:

Reinforced QD Adapter Tool - inserting wire
Reinforced QD Adapter Tool – inserting wire

Except for the one that got away:

Reinforced QD Adapter Tool - errant wire
Reinforced QD Adapter Tool – errant wire

The music wire came from a coil and each snippet required gentle straightening; perhaps that one wasn’t sufficiently bar-straight.

Anyhow, I printed two tools for that very reason:

Reinforced QD Adapter Tool - side view
Reinforced QD Adapter Tool – side view

They’re now where I can’t miss ’em the next time I need them, although that’s not where the previous ones reside.

The OpenSCAD source code as a GitHub Gist:

Half-Teaspoon Soldering

My favorite half-teaspoon measure hit the floor with a surprising sproing:

Half-teaspoon soldering - broken
Half-teaspoon soldering – broken

The weld lasted far longer than anyone should own a spoon, I suppose, but it wasn’t much to begin with:

Half-teaspoon soldering - sprung handle
Half-teaspoon soldering – sprung handle

Having had much the same thing happen to a measuring cup from the same set, I cleaned the back of the spoon and the front of the handle with a stainless steel wire brush in the Dremel and gingerly re-bent the handle to remove any inclination it might have to break free again:

Half-teaspoon soldering - cleaned and rebent
Half-teaspoon soldering – cleaned and rebent

Some 60% silver solder (the formula evidently changed in the last few decades), nasty flux, and propane torch work produced a decent fillet:

Half-teaspoon soldering - cooling
Half-teaspoon soldering – cooling

It looks a bit worse on the far side, but I’ll never tell.

Rinse off the flux, wire-brush the joint, wash again, and it’s all good.

I thought about excavating the resistance soldering gadget, but the torch was closer to hand and a bigger fillet seemed in order.