This page is in progress
Dax the Robot has a very unique set of eyes deigned by an industrial engineer and artist without input from engineers, for better or worse. The first set of Dax eyes used two Laser Projectors, casting an image onto a rear projection paint screen. Two Raspberry Pi Zeros generated the eye images to be sent over HDMI. This method made nice glowing blue rings but also had many drawbacks. The projectors took up a lot of space in the head, cost over a thousand dollars, and was not even visible in sunlight. After this became clear, I proposed an LED array and was given the go ahead.
- 2mm LED pitch
- LEDs are cool white with a light blue filter
- 112 x 48 Resolution
- 12fps (more with proper control)
- Output power over 20W
- Visible in direct sunlight
When designing It is a challenge to make an LED screen that can get bright enough to overpower direct sunlight.
The most important component of the array are the Forty-two MBI5051 IC's. The MBI5051 is essentially a fancy shift register with 16 constant current drain outputs to drive LEDs. To multiply the amount controllable LEDs even further, 8 high side MOSFETs cycle though 8 Columns of LEDs, increasing the amount of LED's per driver to 128. These 42, 128 LED sections are arranged in a 14 by 3 array, bringing the resolution to 112x48. The MBI5051 has 4K of SRAM that contains 16-bit brightness for each of the 16 outputs and 8 scan lines. The SRAM makes it a lot easier to control from a micro-controller, since image data only needs to be shifted into the chips once for each image, rather then every scanline update.
A powerful MOSFET Gate driver is used, not for the MOSFETs, but to buffer the high speed data signals transmitted to the MBI5051's. This is required to drive the very large total input capacitance of 42 chips. Under worse case conditions, 5V at 30Mhz into a 420pF load results in 150mA, which is far to much for your average logic buffer.
The LED Array itself is made up of 5376, Cool White, 20mA rated, 0402 LEDs. The LED's cost $0.014 each, $75 in total. These LED's are "Cool white" because they contain the most spectrum of colors needed for being filtered down to light blue. Natively light-blue LED's are far too expensive to be used in this quantity. The LED's are driven at 45mA by the MBI5051 but after 8-scan they only consume 6mA on average. These LED's are specifically vetted for their ability to survive 45mA continuously in case the array failed to scan for some reason.
When fully lit, the array can use up to 5A at 5V, supplied by an onboard DC DC switching converter. Instead of using a Polyimide flex PCB, a 0.6mm 4-layer PCB is used, helping to reduce manufacturing costs. Luckily there has never been any malfunctioning LED Arrays after bending the PCB into place.
Chinese manufactured RGB led arrays are common and cheap online, but a curved, fine pitched LED array of sufficient brightness are not available off the shelf. I started by making pixelated printouts of Dax's oval eyes at different pixel pitches, 4mm, 3mm, 2mm to get an idea of an acceptable maximum pixel pitch. Clearly 2mm was required for convincing oval shapes, but making and affordable array at this fine pitch was going to be an undertaking.
The first prototype was a small 48x32 pixel array that I assembled entirely by hand. It took 10 hours of work sorting and placing 1536 LEDs. Then my boss asked me to make another one in 3 days so there could be two eyes for an upcoming event. The key is to get conferable and let your arm do the robot placement work, not the wrist. :)
It was after that I found
This was the first PCB I have ever had assembled by a PCB assembly company. It was in the name of necessity since it was the only practical way to place 5,376 0402 LEDs.
One challenge is that the PCB needed to be bent in a curve to fit with Daxs design.
I originally thought That rudicing the arrray driver chips by using in order to reduce cost, minimizing Generic Chineese arrays are so cheap because they
originally the prototype array used MBI
The Dip-trace slowed to a crawl with the amount of objects the full array contained.
probably because the package width is small and has legs.
There were interesting signal integrity issues in communicating with 42 array drivers. The capacitance of 42 clock inputs is in total about 420pF and with the ~10Mhz clock signal requires about 130mA. Without realizing this, I tried to use a 74AC541 signal buffer which can only source 35mA. It quickly exploded. The solution was to use a more powerful signal buffer designed to drive large capacitance. A Mosfet Gate Driver is perfect for buffer the clock and data signals
The curved screen is achieved by bending the