This is a follow up to my recent post about the redesigned Beogram Commander remote control board, which now works in both (DC-motor) Beogr...
Friday, October 17, 2014
Beomaster 6000 4-Channel (2702): LED Based Scale Illumination (Pt.2) - Arduino Comes to Town
This post discusses my current solution for replacing the incandescent scale lights of my Beomaster 6000 4-Channel (2702). My last post reported about my failed attempt to use amber or white LEDs to replace the incandescents. The problem was that these LEDs provide no (amber) or only an insufficient amount of (white) red light that is needed to illuminate the red scale indicators on the Beomaster's indicator bands. After implementing these LEDs the red indicators were only barely visible. This meant I needed an LED solution that would provide a sufficient amount of red photons.
The only solution to this are RGB LEDs. In fact, red and green is enough to make incandescent lookalike light by mixing proper amounts of red and green. This meant that I needed at least a two LED bulb, with two resistors to control the currents in the red and green LEDs independently - too many components and wires for a smooth implementation on the Beomaster's scales.
So I came up with something different: Chainable RGB LEDs with built in control electronic, aka as 'Neopixels' or WS2812B.
They are the rage among Makers right now, due to the cool light effects one can produce with them when using a microcontroller. For my application I appreciated that one can string them on a bus of only three wires, and that they are only 5 mm x 5 mm and have a nice direct light emission, perfect for blasting light into the plexiglass scale bodies of the Beomaster.
Furthermore, I found them on almost perfectly sized breakout boards at Tindie.com offered by Bot-Thoughts:
All I needed to do was to Dremel them a bit narrower to the actual width of the chips:
After this step they fit snugly into the aluminum tubules that previously shielded the incandescent light bulbs. The next step was to integrate them into light strings with four LEDs for the FM dial, and six LEDs for the controls indicators. Each LED has four pins, two are for 5V and GND, the other two are for data in and out. All one has to do is to hook them in parallel to the power rails, and daisy chain each data outputs into the input of the next LED. I built this using leads from an old parallel printer cable. This photo shows one of the two assemblies for the FM scale:
And here is the string for the controls illumination:
The red lead is the control line that is hooked up to the 18V output that previously powered the incandescent lights. The four pin Molex connector connects to the control electronics. For insulation I wrapped the neopixel boards with two turns of Scotch tape. Not the prettiest solution, but that was all that came to mind at this point.
Here is a picture of the control board. It is based on an Atmega328p, aka 'Arduino Nano'. The two 4-pin connectors control one light string each, the 2x3 connector in the background is the ISP port for programming the microcontroller, and the 2-pin Molex is the power connector. The controller 'listens' to the 18V connectors for the lights, which tell it when to turn on each of the LED strings for the scales. The 18V lines are connected to the two external interrupt pins of the Arduino via transistors that translate the 18V signal to proper 5V signals that are compatible with the Arduino.
I designed and 3D printed a small enclosure that fit into the only free space within the Beomaster, above the tuner board. It clamps onto the right shield on that board, i.e. is completely non-intrusive. In fact the entire setup is fully removable without a trace, as it should be for a project like this, in case one would want to go back to incandescent at some point in the future.
Here is a shot of the entire assembly:
I called it Advanced Light Source (ALS) in homage to the real ALS at Berkeley National Labs. After all they also can change the color of their (x-ray) light...;-).
Anyway, this baby needed a precise 5V supply, something difficult to find in the Beomaster. The Beomaster's power supply is pretty basic, typical for its pre-digital design. First I thought I would simply run this set-up from the -5 supply of the Beomaster using a low dropout regulator to make sure that there are no unruly above 5V spikes that could kill the Arduino. But it turned out that the on-board 'stabilized' power supply is not very capable to stabilize the -5 output. It is better at keeping the +18V supply constant, but this was not useful. During trials with this setup the LEDs would pull the Beomaster ground down by about 2V, which resulted in a -3 and +20V split of the regulated voltage of the power supply...that did not work, the Arduino browned out and became unreliable in its operation. So I needed to find my power elsewhere.
My next thought was to use the entire -5 to +18 range and employ a DC/DC converter that would make 5V with only little conversion loss. This worked for the LEDs, but introduced some digital harmonics from the 100kHz DC/DC chopper into the amplifier of the Beomaster. This was audible when cranking the volume up to maximum without input signal...sounded like a bunch of mice having a wild party. Of course this was not acceptable for a rarefied piece of audio history such as the Beomaster 6000!
The final solution turned out to be as follows:
I went directly to the AC output of the transformer, and used the 40V AC signal, which I fed via 9 diodes for an initial voltage drop and half-wave rectification into a 7824 voltage regulator using a 220uF capacitor to stabilize the voltage into a DC voltage with acceptable ripple. The stabilized 24 output was fed into an XP-Power common ground DC/DC converter (TR05S05) that produces a stabilized 5V supply from up to 28V for output currents up to 500mA (my setup draws about 350 mA when all LEDs are on). The dissipating elements of this circuit were mounted on a small heatsink, which was modified to fit on top of the 23V supply capacitor at the right front corner of the Beomaster enclosure next to the tuner wheel. Here are a few pictures of the set-up:
The diode drop and half-wave rectifier. The green part is 3D printed and serves to clamp the diodes and the 24V regulator against the heatsink.
Entire set-up from the bottom. The green part also holds the 7824 against the heat sink:
From the top:
And installed in the Beomaster. The entire set-up is held in place by a tab that goes underneath the fuse holder and is clamped in-place when the fuse holder is bolted down. Again fully reversible with no alteration on the Beomaster. The heat sink reaches about 30C after an hour of operation, which is tolerable without forced air flow.
Here is a pic with the ALS in place above the tuner:
And finally: The set-up in action. Warmly incandescent-like light pouring from evenly illuminated scales, while properly illuminating the red indicators. Beautiful!
And here a detail shot of the controls indicators with the plexiglass cover on. The picture was taken in a darkened environment. One would never notice that there is a bit of new-millenium under the hood...;-):
More details about the circuit and the Arduino code in Part 3 of this story.