Posts Tagged Arduino

Glass vs. Epoxy: Divot!

The WS2812 RGB LED atop the Bowl of Fire Floodlight

Reflector floodlight - purple phase

Reflector floodlight – purple phase

failed in the usual way after a bit over a year of constant use.

I’d done an unusually good job of epoxying the ersatz heatsink in place:

Reflector floodlight - finned LED holder

Reflector floodlight – finned LED holder

I wrapped the bulb in a towel with only the heatsink sticking out, whacked the side of the heatsink parallel to the glass with a plastic-face hammer, and it popped right off:

Epoxy vs glass - divot

Epoxy vs glass – divot

The missing piece of the epoxy ring turned out to be a divot ripped out of the glass, which I didn’t notice until I’d chipped the fragment off the aluminum, so no pictures.

Given the relative strengths of epoxy and glass, pulling a divot seems impossible, but folks doing 3D printing on glass platforms have been reporting exactly that failure for years. The prevailing theory seems to involve small scratches and defects in the glass surface, with subsequent weakening, and stresses applied to the epoxy perpendicular to the glass surface pulling the cracks apart.

Replacing the RGB LED will require drilling it out and probably a complete rewiring, because I seem to have made liberal use of epoxy inside the heatsink and brass tube.




60 kHz Quartz Tuning Fork Resonator Data

The first batch of 25 resonators:

60 kHz TF26 resonators - Batch 1 data

60 kHz TF26 resonators – Batch 1 data

The second batch from the same eBay source arrived a few months later and I finally got around to measuring them:

60 kHz TF26 resonators - Batch 2 data

60 kHz TF26 resonators – Batch 2 data

A dot of green Sharpie on the AT26 cans identifies the second batch:

60 kHz TF26 resonators - Batch 2 marking

60 kHz TF26 resonators – Batch 2 marking

The alert reader will notice an un-measured 25th resonator at the bottom of the first batch. I dropped one from the second batch under the Electronics Workbench, found it, then also found its long-missing brother; now I have a genuine it’s-never-been-used resonator, just in case the need arises.

A quick-and-dirty simulation shows the series and parallel resonant peaks come out close, but not dead on, the actual measurements:

Simulation - 60 kHz resonator

Simulation – 60 kHz resonator

The model obviously doesn’t exactly match reality, which isn’t too surprising. However, I don’t understand something about tuning fork resonators, because the parallel resonance shouldn’t shift upward with the series resonant peak when the circuit gains a 24 pF series capacitance:

Resonator 0 Spectrum

Resonator 0 Spectrum

Suffice it to say that doesn’t happen with the simulation.

More study is needed, as the saying goes.



RAMPS 1.4 Heatsinking

The knockoff Arduino Mega board actually has eight thermal vias on the copper pour around the regulator:

RAMPS Mega - regulator - thermal vias

RAMPS Mega – regulator – thermal vias

I sawed up a clip-on heatsink originally intended for a 14 pin DIP, bent it a bit, and epoxied it atop the regulator with enough of a blob to contact the copper pour:

RAMPS Mega - regulator heatsink - clamping

RAMPS Mega – regulator heatsink – clamping

That’s metal-filled JB Weld for good thermal conductivity and electrical insulation:

RAMPS Mega - regulator heatsink

RAMPS Mega – regulator heatsink

The blob affixing the heatsink to the crystal can was an oopsie, but won’t do any harm. It’s not clear the heatsink will do any good in that confined space, but those regulators lead a rough life and need all the help they can get.

The five stepper drivers sport HR4988SQ chips, rather than Allegro A4988 chips:

RAMPS - stepper driver - HR4988 chip

RAMPS – stepper driver – HR4988 chip

I’d rather see a knockoff than a counterfeit, although by now there’s really no way to tell if it’s a counterfeit knockoff. The Kynix datasheet looks like a direct rip from Allegro.

They now sport cute little heatsinks, which, for all I know, might help a bit:

RAMPS shield - stepper heatsinks

RAMPS shield – stepper heatsinks

The driver boards are slightly longer than the spacing mandated by the continuous socket strips under the three-in-a-row layout:

RAMPS - stepper driver board fit

RAMPS – stepper driver board fit

Introducing them to Mr Disk Sander (turned by hand) knocked off just enough to make ’em fit.



Knockoff RAMPS 1.4 Printer Controller Hardware Kit

For 36 bucks delivered halfway around the planet, you can get a remarkable pile of gadgetry:

RAMPS 1.4 - eBay parts

RAMPS 1.4 – eBay parts

With a bit of persuasion, it can become a 3D printer controller based on a RepRap RAMPS 1.4 shield or serve as a generic stepper / servo motor driver with three honkin’ MOSFET power switches, two thermistor inputs, a variety of I/O bits from the Arduino Mega PCB, and a monochrome LCD with a knob.

The persuasion includes un-bending various header pins:

RAMPS shield - bent pin

RAMPS shield – bent pin

Correcting bowlegged pin strips:

And clipping offending pins:

The interference between the bottom of the RAMPS power connector pin and the top of the Arduino Mega coaxial power jack seems baked right into the original PCB layout, which is puzzling. If you don’t trim the pins, this is as close as the boards will get:

Well, of course, you could just jam all those headers together and bend the RAMPS PCB.

The bent pin near the Reset button connects to the PS_ON output used to enable ATX-style power supplies. You connect the supply’s 5V_SBY always-on output to the VCC pin, which powers the Mega and most of the logic, but not the stepper motor outputs or the heaters.

To make that work, remove D1 from the board where it’s snuggled along the header strip:

 RAMPS shield - D1 D2 locations

RAMPS shield – D1 D2 locations

D2, next to the fuse near the bottom of the picture, provides reverse-polarity protection for the RAMPS board.

The servo motor power comes from the 5V pin. If you don’t need the PS_ON output and 5V_SBY input, then jumper the VCC and 5V pins together. Otherwise, you could solder-blob those pins on the bottom of the board, which means the servos are always powered.

Configuring the latest 1.1.x version of Marlin should be straightforward …



Quartz Resonator Test Fixture: Cleanup

Isolating the USB port from the laptop eliminated a nasty ground loop, turning off the OLED while making measurements stifled a huge noise source, and averaging a few ADC readings produced this pleasing plot:

Resonator 0 Spectrum

Resonator 0 Spectrum

Those nice smooth curves suggest the tester isn’t just measuring random junk.

The OLED summarizes the results after the test sequence:

LF Crystal Tester - OLED test summary - Resonator 0

LF Crystal Tester – OLED test summary – Resonator 0

Collecting all the numbers for that resonator in one place:

  • C0 = 1.0 pF
  • Rm = 9.0 kΩ
  • fs = 59996.10 Hz
  • fc = 59997.79 Hz
  • fc – fs = 1.69 Hz
  • Cx = 24 pF

Turning the crank:

CC 2017-11 - Resonator 0 Calculations

CC 2017-11 – Resonator 0 Calculations

I ripped that nice layout directly from my November Circuit Cellar column, because I’m absolutely not even going to try to recreate those equations here.

Another two dozen resonators to go …





, ,

1 Comment

Monthly Science: Final WS2812 Failures

My “exhibit” at the MHV LUG Mad Science Fair consisted of glowy and blinky LED goodness, with an array of vacuum tubes, bulbs, and the WS2812 and SK6812 test fixtures:

MHVLUG Science Fair - Chastain - highres_463020980

MHVLUG Science Fair – Chastain – highres_463020980

They look much better without a flash, honest. The cut-up cardboard box threw much needed shade; the auditorium has big incandescent can lights directly overhead.

Anyhow, what with one thing and another, the two LED test fixtures spent another few dark and cool days in the Basement Laboratory. When I finally plugged them in, the SK6812 RGBW LED array light up just fine, but three more WS2812 RGB LEDs went toes-up:

WS2812 LED test fixture - more failures

WS2812 LED test fixture – more failures

That brought the total to about 8 (one looks like it’s working)  out of 28: call it a 28% failure rate. While WS2812 LEDs don’t offer much in the way of reliability, running them continuously seems to minimize the carnage.

So I wired around the new deaders and took that picture.

Flushed with success and anxious to get this over with, I sealed the tester in a plastic bag and tossed it in the freezer for a few hours …

Which promptly killed most of the remaining WS2812 chips, to the extent even a protracted session on the Squidwrench Operating Table couldn’t fix it. When I though I had all the deaders bypassed, an LED early in the string would wig out and flip the panel back to pinball panic mode.

It’s not a 100% failure rate, but close enough: they’re dead to me.

As the remaining WS2812 LEDs on the various vacuum tubes and bulbs go bad, I’m replacing them with SK6812 RGBW LEDs.

For whatever it’s worth, freezing the SK6812 tester had no effect: all 25 LEDs lit up perfectly and run fine. Maybe some of those chips will die in a few days, but, to date, they’ve been utterly reliable.


Vacuum Tube LEDs: Knockoff Arduino Nano USB Connector

The LEDs adorning the 0D3 rectifier tube became unreliable:

0D3 Octal - 25 mm socket - raised LED

0D3 Octal – 25 mm socket – raised LED

After failing to plug in a different USB power supply, a close look at the USB connector showed the problem:

Knockoff Arduino Nano - broken Mini-B connector

Knockoff Arduino Nano – broken Mini-B connector

A bit of needle-nose tweezering extracted the culprit from the power supply’s connector:

Knockoff Arduino Nano - broken Mini-B connector - fragment

Knockoff Arduino Nano – broken Mini-B connector – fragment

I tried applying the world’s smallest dot of epoxy to the fracture, probably slobbered epoxy along the pins while reinserting it, and the Nano still doesn’t light up.

Given that knockoff Nano boards cost a touch over two bucks delivered, it’s not clear transplanting a connector from one of the never-sufficiently-to-be-damned counterfeit FTDI USB adapters makes any sense.