Advertisements

Posts Tagged CNC

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.

Advertisements

, ,

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

LinuxCNC 2.7 vs. Logitech Joggy Thing

The old Atom running LinuxCNC for the Sherline finally stopped booting, so I popped the Optiplex 760 off the stack and did a live-USB trial run. The latency / jitter worked out around 25 µs, slightly worse than before, but still Good Enough, and the StepConf utility coerced the motors into working OK.

What didn’t work was the old Eagle-to-HAL code defining the Logitch Gamepad as a Joggy Thing to allow smooth joystick jog control. Well, stuff changes over the course of eight years, but, in this case, the fix turned out to be a one-liner: the probe_parport module isn’t needed nowadays.

With that out of the way, it runs fine:

LinuxCNC - Sherline Mill - Logitech Gamepad

LinuxCNC – Sherline Mill – Logitech Gamepad

The INI and HAL files defining the Sherline configuration as a GitHub Gist:

, ,

1 Comment

MPCNC: Jogging Keypad for bCNC

The bCNC G-Code sender sends jogging commands to GRBL from an ordinary numeric keypad:

MPCNC - Jogging keypad

MPCNC – Jogging keypad

Unlike the keypads on my streaming radio players, this one requires no configuration at all, because bCNC regards it as just another keyboard input. The catch: you must select any screen element other than a text entry field to have bCNC recognize the keystrokes as “not text”.

You would get the same results from the numeric keys on the right side of a full-size / 104-key plank. I’m using a small “tenkeyless” keyboard, which means I can put the keypad wherever it’s easiest to reach while tweaking the MPCNC.

The ÷10 and ×10 keys along the top row alter the step size by factors of ten, which is pretty much what you need: jog to within a big step of the target, drop to the next lower decade, jog a few more times, maybe drop another decade, jog once, and you’re as close as you need to be with an MPCNC. The -1 and +1 keys aren’t as useful, at least to me: changing from 5 mm to 4 mm or 6 mm doesn’t make much difference.

Jogging to align the spindle (well, a pen or drag knife) with a target using the video camera works really well:

bCNC - Video align

bCNC – Video align

GRBL and bCNC don’t do smooth jogging and the discrete steps aren’t as nifty as the Joggy Thing with LinuxCNC, but it gets the job done.

, ,

4 Comments

MPCNC: Ground Shaft Pen Holder

Drilling a pair of holes into a length of ground steel shaft turned it into a holder for a Sakura Micron pen:

DW660 Pen Holder - printed plastic vs ground steel

DW660 Pen Holder – printed plastic vs ground steel

The aluminum ring epoxied to the top keeps it from falling completely through the linear bearing.

The hole sizes are the nearest inch drills matching the pen’s hard metric sizes:

Ground 12 mm rod - Sakura pen drill diameters

Ground 12 mm rod – Sakura pen drill diameters

While I was at the lathe, I turned another layer of epoxy on the printed holder down to a consistent 11.95+ OD. It fits the bearing nearly as well as the steel shaft, although it’s not quite as smooth.

The steel version weighs about 20 g with the pen, so it applies about the same downforce on the pen nib as the HP 7475A plotter. The force varies from about 19 g as the Z axis moves upward to 23 g as it move downward, so the stiction amounts to less than 10% of the weight:

DW660 Pen Holder - ground shaft

DW660 Pen Holder – ground shaft

However, the more I ponder this setup, the less I like it.

When the Z-axis moves downward and the nib hits the paper, it must decelerate the weight of the pen + holder + ballast within a fraction of a millimeter, without crushing the nib. If the pen moves downward at 3000 mm/min = 50 mm/s, stopping in 0.3 mm requires an acceleration of 4.2 m/s² and a 20 g = 2/3 oz mass will apply 0.08 N = 0.3 oz to the nib. Seems survivable, but smashing the tip a few hundred times while drawing the legends can’t possibly be good for it.

Also, the tool length probe switch trips at 60 (-ish) g, which means the pen can’t activate the switch. Adding a manual latch seems absurd, but you can get used to anything if you do it enough.

, , ,

10 Comments

MPCNC: USB Camera Alignment

Adding a lock screw to the camera mount stabilized the camera-to-spindle offset enough to make calibration meaningful. Mark the spot directly under the camera:

bCNC - Camera - hot glue align

bCNC – Camera – hot glue align

Then mark the spot directly under the spindle, perhaps by poking a small cutter into the tape, measure the XY distances between the two center points, and use bCNC’s camera registration process to set the camera offset.

With those numbers in place, switching to the tool view (the green button with the end mill to the right in the ribbon bar) puts the camera at the spindle location:

bCNC - Spindle - hot glue align

bCNC – Spindle – hot glue align

The view from outside shows the relation between those two pieces of tape:

MPCNC - USB camera-to-spindle alignment

MPCNC – USB camera-to-spindle alignment

Now I can align the camera view to a fixture position and be (reasonably) sure the spindle will automagically align to the same XY coordinate when I switch to the “tool” view. Seems to work well in preliminary tests, anyhow.

, ,

1 Comment