Daft Punk Table Replica driver board reverse reconstruction.
I'm actually making a wall hanging rather than a table because theres no room in my studio for another table.
The author of that instructable didn't include the microcontroller program or a circuit for the driver board. From the description (and looking at another site) we can tell that it uses a a couple I2C port expanders connected to a transistor array. I have both the PFC port expander and the ULN2803A in my parts box, but I think it can be made cheaper, faster, and expandable.
I want to ditch the I2C bus. Why?
1. Its slow (100 or 400 khz), not that more is needed, but what about bigger boards?
2. Its bit intensive: each chip update requires a)start signal, b) address byte, c)port setting byte, d)stop signal. That's more than 8 bytes of bits per table update.
3. Its expensive: the i2c bus needs 2 pullup resistors, and you have to route Vcc to them on the PCB. I2C peripherals are a bit pricey ($1+ for the PFC i2c port expander). You need a UC with hardware I2C, or write a I2C software routine, etc.
4. Its not expandable beyond the assigned number of I2C addresses. The PFC chips have a limited number of address selections (determined by the state of 3 pins). If all addresses have been used then a second I2C bus would have to be added.
These goals can all be accomplished with a handy chip I learned about in lady ada's bike POV instructable, the 74HC(T)595.
The 595 is a serial to parallel port expander with 8 output bits. The interface is a simple 3 line affair with serial data/clock lines and a latch that puts the data on the pins. Now the cool part: several can be connected end-to-end so that you can create a chain with hundreds of extra outputs. Bits can be clocked in at up to 20Mhz, so large or multiplexed grids are possible.
Why its good:
1. Its fast, up to 20 Mhz
2. Simple interface - clock in only the bits needed then set the latch. 26 bits, <4 bytes per refresh.
3. Its cheap: 0.33 per chip, easy 3 wire interface can be operated with microcontroller, PC parallel port, or even buttons.
4. Massively expansion potential, multiple chips can be chained for a disgusting number of outputs.
The circuit is pretty basic. It only includes those things needed for the graphics card : I/O expanders, transistor array, connection headers. Power supply and control unit are separate components. The 595 has a 'blank' pin, it seems to reset all the chips to a known state when pulled low. I wanted to make it available for a 'more complete' design, but I also included a jumper so that it can be manually disabled for use in simpler implementations.
The 3d is just for fun: the PCB is mostly unrouted.
Any comments or suggestions? Has anyone used the 595 before? I've ordered a few to play with, but have not yet used them.
8
comments
|
Add Comment
|
You can drive up to an 8x8 matrix directly with one external resistor to set the output current. Send the commands over the i2c network and the 7219 does all the multiplexing for you.
Only downside is cost, they run about US$10 each in singles. But that is MORE than made up for in the simplicity of the circuit.
Heaps of examples of code and schematics from the arduino community, eg here and here
I know the satisfaction in designing your own solution from scratch. Sometimes though a kick in the right direction is welcome.
Keep us informed about this design - I've been obsessed with LED matrix furniture since DDF hit the web. I just can't find space for it in my house anywhere. Damn it would be sweet though!
http://www.arduino.cc/en/Tutorial/ShftOut11
gfx-Vb.zip23 KB
gfx-Va.zip23 KB
5x5led.zip23 KB![]() |
















Vancouver Mini Maker Faire 2012
Rebuilding NordicTrack ski machine drive rollers
Looking for New Zealand-based Instructables authors for conference on August 27 in Wellington
Call to makers - Brighton Mini Maker Faire
Milk Crates - not as green as you think
TEDxBaghdad - Iraq - violence, dust storms and open sourced manufacturing
UK Mini Maker Faire - The Derby Silk Mill - New Poster to Share!







