Advertisements

Posts Tagged CNC

The Last Tee

There’s a good reason this was the last pneumatic tee fitting on the rack:

Malformed pneumatic fitting
Malformed pneumatic fitting

The center fitting should be a male 1/4 inch NPT connection, but it’s completely un-machined. Alas, I no longer have a 1/4 NPT die in my tool chest, so it’s not an easy fix.

The two female connections are fine, so it must have been one of those rare QC escapes.

Lowe’s marked it down to $0.47 on clearance and I still couldn’t justify buying the thing.

Advertisements

Leave a comment

Seam Ripper Cover

The cover for Mary’s favorite seam ripper cracked long ago, has been repaired several times, and now needs a replacement:

Seam Ripper cover - overview
Seam Ripper cover – overview

The first pass (at the top) matched the interior and exterior shapes, but was entirely too rigid. Unlike the Clover seam ripper, the handle has too much taper for a thick-walled piece of plastic.

The flexy thinwall cover on the ripper comes from a model of the interior shape:

Seam Ripper Cover - handle model
Seam Ripper Cover – handle model

It’s not conspicuously tapered, but OpenSCAD’s perspective view makes the taper hard to see. The wedge on top helps the slicer bridge the opening; it’s not perfect, just close enough to work.

A similar model of the outer surface is one thread width wider on all sides, so subtracting the handle model from the interior produces a single-thread shell with a wedge-shaped interior invisible in this Slic3r preview:

Seam Ripper Cover - exterior - Slic3r preview
Seam Ripper Cover – exterior – Slic3r preview

The brim around the bottom improves platform griptivity. The rounded top (because pretty) precludes building it upside-down, but if you could tolerate a square-ish top, that’s the way to go.

Both models consist of hulls around eight strategically placed spheres, with the wedge on the top of the handle due to the intersection of the hull and a suitable cube. This view shows the situation without the hull:

Seam Ripper Cover - handle model - cube intersection
Seam Ripper Cover – handle model – cube intersection

The spheres overlap, with the top set barely distinguishable, to produce the proper taper. I measured the handle and cover’s wall thicknesses, then guesstimated the cover’s interior dimensions from its outer size.

The handle’s spheres have a radius matching its curvature. The cover’s spheres have a radius exactly one thread width larger, so the difference produces the one-thread-wide shell.

Came out pretty nicely, if I do say so myself: the cover seats fully with an easy push-on fit and stays firmly in place. Best of all, should it get lost (despite the retina-burn orange PETG plastic), I can make another with nearly zero effort.

The Basement Laboratory remains winter-cool, so I taped a paper shield over the platform as insulation from the fan cooling the PETG:

Seam Ripper Cover - platform insulation
Seam Ripper Cover – platform insulation

The shield goes on after the nozzle finishes the first layer. The masking tape adhesive turned into loathesome goo and required acetone to get it off the platform; fortunately, the borosilicate glass didn’t mind.

The OpenSCAD source code as a GitHub Gist:

, , , ,

6 Comments

YAGV Hackage

I’ve been using YAGV (Yet Another G-Code Viewer) as a quick command-line Guilloché visualizer, even though it’s really intended for 3D printing previews:

YAGV previewer.png
YAGV previewer.png

Oddly (for a command-line program), it (seems to) lack any obvious keyboard shortcut to bail out; none of my usual finger macros work.

A quick hack to the main /usr/share/yagv/yagv file makes Ctrl-Q bail out, thusly:

diff yagv /usr/share/yagv/yagv 
18a19
> import sys
364a366,367
> 		if symbol==pyglet.window.key.Q and modifiers & pyglet.window.key.MOD_CTRL:
> 			sys.exit()

I tacked the code onto an existing issue, but yagv may be a defunct project. Tweaking the source works for me.

The Ubuntu 18.04 LTS repo has what claims to be version 0.4, but the yagv GitHub repository (also claiming to be 0.4) includes code ignoring G-Code comments. Best to build the files from source (which, being Python, they already are), then add my Ctrl-Q hack, because my GCMC Guilloché generator adds plenty of comments.

,

2 Comments

Engraving Guilloché Patterns

Flushed with success from engraving a hard drive platter for the 21HB5A tube, I bandsawed an acrylic square from a scrap sheet and unleashed the diamond drag bit on it:

Guilloche 540237875 - engraved at -0.50mm
Guilloche 540237875 – engraved at -0.50mm

That’s side-lit against a dark blue background. The long scratch and assorted dirt come from its protracted stay in the scrap pile.

If you look closely, you’ll see a few slightly wider loops, which came from a false start at Z=-0.1 mm.

Engraving at -0.5 mm looked pretty good:

Guilloche 540237875 - engraved at -0.50mm - detail
Guilloche 540237875 – engraved at -0.50mm – detail

Despite an angular resolution of 2°, the curves came out entirely smooth enough. The gritty scratchiness resulted in a pile of chaff covering the engraved area; perhaps some oil or lube or whatever would help.

Rescaling the pattern to fit a CD platter worked fine, too:

Guilloche 540237875 - CD engraving
Guilloche 540237875 – CD engraving

Polycarbonate seems to deform slightly, rather than scratch, leaving the final product with no chaff at all:

In this case, the doubled lines come from the reflection off the aluminized lower surface holding all the data.

That CD should be unreadable by now …

[Update: Welcome, Adafruit! More on Guilloché pattern generation and engraving them with the MPCNC. ]

, ,

1 Comment

Debossed Printed Legends

[Update: It seems I interchanged “em” and “de” throughout this post.  ]

Up to this point, I’ve been labeling printed parts with emdebossed legends that look OK on the solid model:

Astable Multivibrator Battery Holder

Astable Multivibrator Battery Holder

Alas, the recessed letters become lost in their perimeter threads:

3D Printed Legend - Embossed

3D Printed Legend – Embossed

Raising the legend above the surface (“deembossing”) works reasonably well, but raised letters would interfere with sliding the battery into the holder and tend to get lost amid the surface infill pattern.

The blindingly obvious solution, after far too long, raises the letters above a frame embossed into the surface:

Astable Multivibrator Battery Holder - Legend Debossed

Astable Multivibrator Battery Holder – Legend Debossed

Which looks OK in the real world, too:

3D Printed Legend - Debossed

3D Printed Legend – Debossed

The frame is one thread deep and the legend is one thread tall, putting the letters flush with the surrounding surface and allowing the battery to slide smoothly.

The legend on the bottom surface shows even more improvement:

NP-BX1 battery holder - Raised vs Recessed Legend

NP-BX1 battery holder – Raised vs Recessed Legend

An OpenSCAD program can’t get the size of a rendered text string, so the fixed-size frame must surround the largest possible text, which isn’t much of a problem for my simple needs.

, ,

3 Comments

Astable Multivibrator: NP-BX1 Base

Adapting the NP-BX1 battery holder to use SMT pogo pins worked well:

NP-BX1 Holder - SMT pogo pins

NP-BX1 Holder – SMT pogo pins

The next step is to add sockets for those 14 AWG wires:

NP-BX1 Battery Holder - Wire Posts - solid model

NP-BX1 Battery Holder – Wire Posts – solid model

Start by reaming / hand-drilling all the holes to their nominal size and cleaning out the pogo pin pocket.

Solder wires to the pogo pins and thread them through the holder and lid:

Astable - NP-BX1 holder - pogo pin soldering

Astable – NP-BX1 holder – pogo pin soldering

That’s nice, floppy silicone-insulated 24 AWG wire, which may be a bit too thick for this purpose.

The pogo pins will, ideally, seat with the end of the body flush at the holder wall. Make it so:

Astable - NP-BX1 holder - pogo pin protrusion

Astable – NP-BX1 holder – pogo pin protrusion

Dress the wires neatly into their pocket:

Astable - NP-BX1 holder - pogo pin wiring

Astable – NP-BX1 holder – pogo pin wiring

Butter the bottom of the lid with epoxy, clamp in place, set it up for curing, then fill the recess:

Astable - NP-BX1 base - curing

Astable – NP-BX1 base – curing

While it’s curing, make a soldering fixture for the 14 AWG wires:

Astable - drilling strut soldering fixture

Astable – drilling strut soldering fixture

The holes are on 5 mm centers, in the expectation other battery holders will need different spacing.

Solder it up and stick the wires into the base:

Astable - NP-BX1 base - detail

Astable – NP-BX1 base – detail

Jam a battery in and It Just Works™:

Astable - NP-BX1 3.8V - 20ma-div - cap V

Astable – NP-BX1 3.8V – 20ma-div – cap V

The traces:

  • Green = supply current at 20 mA/div
  • Yellow = LED driver transistor base voltage
  • Purple = other transistor collector voltage
  • White = base – collector voltage = capacitor voltage

The measurement setup was a bit of a hairball:

Astable - NP-BX1 base - current probe

Astable – NP-BX1 base – current probe

For completeness, here’s the schematic-and-layout diagram behind the circuitry:

Astable - NP-BX1 base - schematic

Astable – NP-BX1 base – schematic

I love it when a plan comes together!

The OpenSCAD source code as a GitHub Gist:

, , ,

5 Comments

Vacuum Tube LEDs: 21HB5A on a Guilloche Platter

With the Joggy Thing running in LinuxCNC 2.7, touching XY off on the fixture was trivially easy:

LinuxCNC - Sherline Mill - Logitech Gamepad

LinuxCNC – Sherline Mill – Logitech Gamepad

The pips are 100 mm apart at (-50,-50) and (+50,50). Astonishingly, the laser aligner batteries are in fine shape.

I should have protected the platter before drilling all those holes:

Guilloche platter - drilling

Guilloche platter – drilling

All’s well that ends well:

21HB5A - Guilloche platter

21HB5A – Guilloche platter

It looks even better in the dark, although you’d never know it from this picture:

21HB5A - Guilloche platter - dark

21HB5A – Guilloche platter – dark

I wish I could engrave those patterns on already-drilled platters, but dragging a diamond point into a hole can’t possibly end well. I could deploy the Tiny Sandblaster with a vinyl mask, if I had enough artistic eptitude to lay out a good-looking mask.

, ,

9 Comments