Advertisements

Posts Tagged M2

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

, ,

2 Comments

Astable Multivibrator: RGB LED Circuitry First Light

It lights up just like it should:

Astable RGB LED - green phase

Astable RGB LED – green phase

In colors:

Astable RGB LED - red phase

Astable RGB LED – red phase

The blue LED works, too, but I didn’t catch any of those blinks.

The spider should be done in black PETG, just like the battery holder, but I didn’t realize which filament was running until too late. Even the blue LED lights up the orange spider just fine!

The circuitry behind (well, below) the RGB LED Radome consists of three copies of the original multivibrator, with mirror image layouts to match the wire struts:

RGB LED Schematic - NPN transistors

RGB LED Schematic – NPN transistors

The solder joints adhere to exactly none of the usual good practices:

Astable RGB LED - assembled

Astable RGB LED – assembled

The simulation matches the actual blink times reasonably well:

Astable - 2N2222 cap voltages

Astable – 2N2222 cap voltages

It’s unpleasantly frenetic in real life. The next version must have much much longer time constants.

Unfortunately, the simulation also confirms my suspicion that I’ve been abusing the electrolytic capacitors with reverse-polarity waveforms. I suspect it doesn’t really matter too much, as the maximum voltage in either direction remains under a volt at very low currents, but it’s the principle of the thing.

Soooo, lengthening the time constants by increasing the capacitances seems like a Bad Idea.

Alas, increasing the resistors by an order of magnitude won’t work, either, because (despite appearances) the whole thing sits right on the hairy edge of not working. As the battery discharges toward its 2.5 V cutoff level, the currents drop and the circuitry becomes increasingly sensitive to touch. After a day or two, one of the LEDs will jam solidly on, while the others continue to blink merrily away. Removing and reinstalling the battery will sometimes resume proper operation, but it’s definitely not stable enough for production use.

Which makes a MOSFET astable multivibrator seem like a Good Idea.

One could achieve the same visible result with a few cents of microcontroller and a dab of software, but most of the charm comes from its analog nature and all those visible components.

3 Comments

Astable Multivibrator: RGB LED and Radome Spider

Well, a spider with half the proper leg count:

RGB LED - radome test

RGB LED – radome test

One could argue the LED spider has an unusually large abdomen, but I’m not going there.

The solid model looks the same way:

Astable Multivibrator Battery Holder - RGB LED Spider - radome

Astable Multivibrator Battery Holder – RGB LED Spider – radome

And, yes, those are eye protection caps over the four wire struts, most useful during construction while maneuvering the radome into position.

For reasons unknown to me, they’re called “Pirhana” LEDs:

RGB LED - wiring

RGB LED – wiring

I trimmed off half of each pin, soldered on 28 AWG color-coded silicone wires, threaded wires through openings, then rammed the LED package into the recess so it sits just below the radome’s curve. The dent matching the ball comes from the chord equation, as always, and looks pretty good.

The radome is, of course, a one-star ping pong ball from the usual big box retailer’s sporting goods section. The stamped logo sits at a random position with respect to the ball’s interior structure (visible when lit, as in the top picture), so I erased it with a fine-grit sanding sponge. Hollow plastic golf balls might work just as well, with an even more interesting surface texture.

The source code includes a cutaway look at the printed parts to verify their innards:

Astable Multivibrator Battery Holder - RGB LED Spider - fit view

Astable Multivibrator Battery Holder – RGB LED Spider – fit view

The OpenSCAD source code as a GitHub Gist:

The original doodles give useful dimensions, plus some details not withstanding the test of time:

RGB LED Radome Spider - doodles

RGB LED Radome Spider – doodles

The actual center-to-center distances for the wire posts come from the battery dimensions, rounded up or down as appropriate, to the nearest multiple of 5 mm, so those are just serving suggestions.

,

2 Comments

Tour Easy Front Fender: Redux

The front fender on Mary’s bike snapped loose while we were on our way for groceries, but my repair kit now once again includes a few feet of duct tape and we continued the mission:

Tour Easy front fender - duct tape FTW

Tour Easy front fender – duct tape FTW

The final fracture seems to be just the little gray section amid the older fractures, so the Planet Bike clip was hanging on by a thread:

Tour Easy front fender - broken clip

Tour Easy front fender – broken clip

Our bikes being equipped as alike as I can make them, another copy of the bracket I used on my bike sufficed:

Tour Easy front fender - new bracket

Tour Easy front fender – new bracket

Stipulated: duct tape is déclassé, but it works better than anything else I’ve tried.

,

Leave a comment

Astable Multivibrator: Battery Base for RGB LED

Collecting the battery dimensions into a table should make it easier to generate new holders for astable multivibrators:

//- Battery dimensions - rationalized from several samples
//  Coordinate origin at battery end with contacts, key openings downward

T_NAME = 0;
T_SIZE = 1;
T_CONTACTS = 2;
T_KEYS = 3;

BatteryData = [
  ["NP-BX1",[43.0,30.0,9.5],[[-0.75,6.0,6.2],[-0.75,16.0,6.2]],[[1.70,3.70,2.90],[1.70,3.60,2.90]]],
  ["NB-5L", [45.0,32.0,8.0],[[-0.82,4.5,3.5],[-0.82,11.0,3.5]],[[2.2,0.75,2.0],[2.2,2.8,2.0]]],
  ["NB-6L",[42.5,35.5,7.0],[[-0.85,5.50,3.05],[-0.85,11.90,3.05]],[[2.0,0.70,2.8],[2.0,2.00,2.8]]],
];

echo(str("Battery: ",BatteryName));

BatteryIndex = search([BatteryName],BatteryData,1,0)[0];
echo(str(" Index: ",BatteryIndex));

BatterySize = BatteryData[BatteryIndex][T_SIZE];          // X = length, Y = width, Z = thickness
echo(str(" Size: ",BatterySize));

Contacts = BatteryData[BatteryIndex][T_CONTACTS];         // relative to battery edge, front, and bottom
echo(str(" Contacts: ",Contacts));

ContactOC = Contacts[1].y - Contacts[0].y;                // + and - terminals for pogo pin contacts
ContactCenter = Contacts[0].y + ContactOC/2;

KeyBlocks = BatteryData[BatteryIndex][T_KEYS];            // recesses in battery face set X position
echo(str(" Keys: ",KeyBlocks));

A new boolean, RGBCircuit, adds a second pair of wire strut bases and punches holes in them:

Astable Multivibrator Battery Holder
Astable Multivibrator Battery Holder

Which looks about like you’d expect in real life:

 Astable - NP-BX1 RGB holder
Astable – NP-BX1 RGB holder

The lettering, of course, doesn’t come through clearly, but it suffices as a hint for which battery to use.

The four vertical struts will support three astable multivibrators, each driving one color of a common-anode RGB LED. It remains to be seen if there’s enough room for all the parts along the sides of the battery pack.

The OpenSCAD source code as a GitHub Gist:

1 Comment

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:

, , ,

4 Comments

Six Gallon Can Lid Adapter to Platform Bird Feeder

A House Finch suffering from Finch Eye Disease prompted me to sterilize our feeder, which meant providing a temporary feeder to keep the birds flying. Having an abundance of lids from six gallon plastic cans / buckets, this made sense:

Can Lid Feeder - installed

Can Lid Feeder – installed

Which required an adapter betwixt pole and lid:

Can Lid Feeder - assembled

Can Lid Feeder – assembled

Which requires a bit of solid modeling:

Can Lid Platform Feeder Mount - solid model - bottom

Can Lid Platform Feeder Mount – solid model – bottom

The lids have a central boss, presumably for stiffening, so the model includes a suitable recess:

Can Lid Platform Feeder Mount - solid model - support structure

Can Lid Platform Feeder Mount – solid model – support structure

As usual, automatically generated support fills the entire recess, so I designed a minimal support structure into the model and cracked it out with very little effort:

Can Lid Feeder - support structure

Can Lid Feeder – support structure

The tangle off to the right comes from a bridge layer with a hole in the middle, which never works well even with support:

Can Lid Platform Feeder Mount - Slic3r - bridge layer

Can Lid Platform Feeder Mount – Slic3r – bridge layer

Didn’t bother the birds in the least, though, so it’s all good.

I loves me my 3D printer …

The OpenSCAD source code as a GitHub Gist:

Leave a comment