![]() | ![]() | ![]() |
| |||||||
| Electronic Projects Design/Ideas/Reviews Are you building an electronic project or want to? Maybe you need some assistance? Come and submit your electronic questions here and let our experienced members find a solution. |
![]() |
| | Tools |
| | #31 |
|
Looks like a pretty neat project. I wish I had the free time to do something like this. I just thought I'd point out these chips from TI - http://focus.ti.com/lit/ds/symlink/tlc5940.pdf 16 channel LED driver IC with built in current limiting. You could replace your mpc23017's with it and would be able to remove the current limiting resistors. It has a SPI interface too.
__________________ Jeff To the optimist, the glass is half full. To the pessimist, the glass is half empty. To the engineer, the glass is twice as big as it needs to be. | |
| |
| | #32 |
|
I think you can sample those chips, but as SMD.
__________________ IF YOU WANT TO HELP FINE IF NOT PLEASE DON"T PEE IN MY CHEERO'S | |
| |
| | #33 |
|
Thanks for the tip jrz126, I've been looking into some other I/O expanders that are specifically meant for LEDs to try. The other part I've been looking into is the MAX7313 which is also meant specifically for LEDs. Its also I2C and is pretty much the same as my Mcp23017s but also adds the intensity controls. Unfortunately I can only get the part in surface mount packages which is making it a bit tricky to test. I've got a little SMT prototype board that I've soldered a MAX7313 to but the boards pinout has four lines of headers (two parallel headers on each side of the IC) which prevents me from using it in a breadboard. So, I'm working on soldering some wires to female headers that I can plug into my board (it will be a huge mess, but it should work as a proof of concept). Unfortunately, because the pinout is a little bit different and the SMT package is a bit wider, it requires that I reroute my PCB almost entirely, but I suppose thats a good thing anyways because there are a few things that I'd like to change on the PCB anyways. But using this chip lets me get rid of the mosfets I had to control brightness and I've also gotten rid of some extra interrupt circuitry (as discussed in another topic) which gives me some breathing room on the PCB. I'm sticking all of my configuration jumpers in one corner now so that they arent all over the place. Another addition that i need to add is a mechanism to switch off a large portion of the IR leds so that the table can go into a low power mode that switches off all of the white LEDs and waits for something to change before awakening. It doesnt make much sense to be blasting 23W of IR in the middle of the night. | |
| |
| | #34 |
|
I'm almost ready to start ordering components and PCBs for my LED controller boards for this project. The design I settled on is described below: - 16x10 cm PCB - 32 1x1cm Sensor board PCBs - 128 LEDs per board (8 MAX7313s) - 32 IR sensors per board (2 MAX7313s) - DS1307 Real Time Clock with battery (to put the display on a schedule) - PIC18F4455 USB Micro (with USB B connector) - 8 boards (7 slaves and 1 master) could be controlled by one micro (total of 1024 LEDs and 256 IR sensors). - All of the LEDs can be activated with several intensity levels to vary brightness. - To use this as a signboard, each master board could drive two characters (8x8). This may not seem like much, but keep in mind that these LEDs are not multiplexed. I have been pricing things out, and I believe that I could get all of the components and PCBs for about $75 per master board, and a bit less for the slave boards. This would include all of the board components, IR sensors, and 128 white LEDs. The only thing that you would have to add would be a computer power supply and some stranded wire (lots of it) to connect the LEDs and Sensors to the controller board. If I could get it for this price, would anybody here be interested in purchasing it with me? I was thinking about making this into an interesting kit and would provide assembly instructions and some basic C code to do something simple like the LED coffee table app or a signboard. Please let me know if anybody here is interested. I'd like to order components soon, the lead time for the Max7313s is a few weeks so the kits would not be ready until mid to late January, but I want to know before I order how many people would be interested. | |
| |
| | #35 |
|
Why are you not multiplexing the LEDs? 128LEDs 8x16 matrix?
| |
| |
| | #36 |
|
hey core, in addition to the not multiplexing question, why are you using expensive i2c led driver chips? build your tiles using 74HC595 shift registers for driving rows, and something like a ULN2803A for driving columns. Someone out there used to make a '595 and a 2803a rolled together into a single chip, so you can drive heavy duty leds. of course, the modern 595 can source something like 50-70ma per port.
__________________ If you don't have a planet, what good are gold bars? want to contact me directly? gmail gordonthree check out my project website: http://projects.dimension-x.net Favorite numbers: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 | |
| |
| | #37 |
|
Hrm... thats a good point. The biggest reason that I can think of for not multiplexing is that I dont think it would work very well because of the low duty cycle (1/128), and it would also make it more complex (or impossible?) to change the intensity of individual LEDs. I guess I should experiment with some multiplexing to see exactly how many LEDs I can effectively multiplex without it looking bad. The entire setup could potentially have as many as 128 columns (8x128), or perhaps I could do 16x64 instead. With 16x64 I would need 2 74HC595s for the selecting rows and 8 for selecting the column, correct? And then the procedure for activating one row would be for me to compute a 10 byte vector representing the data in the rows and the cols to select , shift it out serially to the 74HC595s which are daisychained as fast as possible, toggle the line on the 74HC595s to latch the data, wait a ms or so and then do the next col? How large can I really scale this multiplexing setup before it becomes unreasonable? Anybody have any clue? If I were to do it this way and then double or triple the number of LEDs that I decide to multiplex (pass the savings from my LED driver chips to more LEDs instead), how big can it get before it cant easily be multiplexed? | |
| |
| | #38 |
|
I don't think you'll have any speed problems - the 595's are way faster than any i2c; with simplicity comes speed. The brightness is a bit trickier, but I don't think managing the brightness of 1000+ leds would be any easier with i2c. you need time domain divison: lets say you divide your time into 16 chunks (4 bit grayscale) ... leds that are 100% get scanned every 'frame', 50% get scanned every other frame, etc etc... so in a sense, you're pwming the leds at the same time as multiplexing them as far as how large while still looking cool? I guess the closest project I can think of is the hypnocube which is 8x8x8 of RGB leds so 8x8x8x3 = 1536? of course, they're using a damn computer to run the thing, not a puny microcontroller. http://www.hypnocube.com/
__________________ If you don't have a planet, what good are gold bars? want to contact me directly? gmail gordonthree check out my project website: http://projects.dimension-x.net Favorite numbers: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 | |
| |
| | #39 |
|
Ok I'm missing something, 128 LEDs per board, each board has it's own microcontroller with USB. It would be futile to run at 128:1 duty but you can do a row / column arragement of 8x16 and the drive / power requirements become much more manageable. A few Maxim 6952 could do all the work and a large matix could be run from a single and small microcontroller. http://www.maxim-ic.com/appnotes.cfm/an_pk/1033 | |
| |
| | #40 |
|
8x16 could be three 595's and a 2803a too
__________________ If you don't have a planet, what good are gold bars? want to contact me directly? gmail gordonthree check out my project website: http://projects.dimension-x.net Favorite numbers: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 | |
| |
| | #41 | |
| Quote:
I think I'll consider the multiplexing thing a bit more.. I did a quick little test with an LED multiplexed with various duty cycles and I think it will work, I'll just have to significantly reduce the current limiting resistor so that the "average" current over an entire cycle is about 20mA. Do you think that running the LEDs at a higher current buy lower duty cycle would damage the LEDs? Last edited by Stellarcore; 30th November 2007 at 06:00 AM. | ||
| |
| | #42 | |
| Quote:
besides, you're bound to drop a few leds buildin this thing - just make sure it's easy to cut out the bad one and solder in a new one.
__________________ If you don't have a planet, what good are gold bars? want to contact me directly? gmail gordonthree check out my project website: http://projects.dimension-x.net Favorite numbers: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 | ||
| |
| | #43 |
|
Ok, well if I am going to scrap the max7313s, I'd like to come up with a better way to handle the IR sensors. Right now I've been just treating the output of the phototransistor as a digital input, and tailoring the pull up resistor to get the sensitivity that I want. But this doesnt work very well as I'm throwing away alot of info and its very picky about different types of glass, etc... I'd like to find a way to cheaply multiplex the analog sensors to available A/D pins on the PIC. Currently I was planning on 128 IR sensors but I am considering increasing this to 256. What if I were to multiplex the IR leds the same way, and then feed all of the IR sensors back to a op-amp summer and then I will just assume that whatever signal I get from the opamp is coming from the only device with an active IR led... Wont be perfect, but it should work well enough. What do you think? Can you suggest an adequate (and cheap) opamp? | |
| |
| | #44 |
|
You can pump a fair amount of current into an LED when it's muxed. Nice and bright at 50ma at 1/8 duty won't do them any harm. A cheap driver would be simply transistors. A PIC with SPI would be very fast and you could put several together. SPI can even be daisy chained instead of addressed. | |
| |
| | #45 | |
| Quote:
if analog is your thing, you can get an 16x1 analog mux pretty cheap, the CD4067 (or 74HC4067). 16 of those would give you 256 inputs. the down side is controlling all those mux would be a mess, you'd need a 4 bit address bus plus a 4 bit chip select run to something like a 4514 4 to 16 decoder. bus the address line to all the of the muxes, and then each enable line to one of the 16 outputs on the on the decoder. Then I guess the 16 mux outputs could bus onto a single pic input - don't know what the parasitic capacitance would do to you there, or grab a pic with 16 AD inputs, which is just another mux inside the chip. Reading this, it sounds complicated, but I think it'd be pretty straight forward once you drew it out in Eagle.
__________________ If you don't have a planet, what good are gold bars? want to contact me directly? gmail gordonthree check out my project website: http://projects.dimension-x.net Favorite numbers: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 | ||
| |
|
| Tags |
| coffee, led, table |
| Thread Tools | |
| Display Modes | |
| |
Similar | ||||
| Title | Starter | Forum | Replies | Latest |
| Flashing a LED with Mouse | Gayan Soyza | Electronic Projects | 20 | 6th February 2009 03:24 AM |
| Accessing EEPROM | Clayton | Micro Controllers | 15 | 23rd March 2007 04:00 AM |
| PIC: Table lookup across page boundary | eblc1388 | Micro Controllers | 11 | 16th August 2005 03:43 PM |
| 18F Lookup Table Cose Snippet [ASM] | pittuck | Micro Controllers | 0 | 14th December 2004 08:40 AM |
| Lookup table for LCD and 7 segment display | patricktran | Micro Controllers | 3 | 23rd April 2004 02:43 PM |