My previous post about speeding up multiplexing resulted in a display with
8x48 LEDs. As I suggested and read, the LEDs are becomming less bright when more than 2 LEDs are on in a matrx of 8x48 >=.
Can anyone help me to calculate the resistor value I need to get bright LEDs. Or, how can I caclulate this? Now I'm using a 100R per column which is probably to much.
Here is a small part of the circuit to show the current limiting resistor of 100R.
Thanks for your reply, but thats what I did, and its not giving me good results. I calculated the value like this: 5v - 1.7v (led) - 1.2 (2x0.6 or the transistors) = 2.1 v Now I'm using a 100R, so thats around 2.1 / 100 = 21mA. Though they are still not bright, which is probably due to the 'refresh rate'.
One thing that comes to mind is that you should be able to drive any number of 'columns' at once, but only one 'row.' If you are enabling two or more rows at once for a given column, then there is a problem. There are other things I might arrange differently, but it sounds as though this may be an issue for now.
Arrange it so that 48 LEDs are on at once (48 columns and 8 rows). You want the resistor to pass about 8 times the average current you would like for the LEDs. eg. if they are reasonably bright at 3mA, you want about 24mA through the resistor. Just use G.S. Ohm's law, from the 5V supply minus the LED forward drop (at 24mA, not 3mA) minus two Vce(sat) drops.
Best regards, Spehro Pefhany
--
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
P.S. Each of you row drivers is going to have to handle 48 * 24mA =
1.2A in the example I gave above (at 1/8 duty cycle). That will also be the total maximum current draw of the array. Your PNP BJTs will probably not be saturated at that current without a lot more base current than ~4mA. Or just use 8 P-channel MOSFETs for the source drivers.
Best regards, Spehro Pefhany
--
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
Yes, but didn't he also say "becoming less bright?" Sizing that 100 ohm resistor in the collector leg assuming 8 LED rows being on will brighten the case where only one LED row is used, yes?
Above the (visual) fusion frequency, brightness is mostly a function of average current. See my PS. BTW, 1.7V sounds a bit low for the LED, even for red, but 0.6V is high for Vce(sat) if the transistor is actually saturated.
Best regards, Spehro Pefhany
--
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
Oke thanx, I measured the 1.7, and the 0.6 is told to me. Someone told me that when a column is on 1/48 of the time, the current which is pushed through the LED must be 48 times the normal value.. well.. this can't be used in this case.. But what if I push 50mA trhough the LEDs will that be oke?
Maybe. Check the specs. Provided the mux doesn't stop for too long. Also, each LED will only have an average of < 1mA current, so it may not be bright enough.
Best regards, Spehro Pefhany
--
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
There should be some sort of pulse rating given on the data sheet, and you'll need a separate resistor for each LED if you intend for them not to interact with each other.
Also, you'd be able to get full apparent brightness out of the LEDs if you interchanged rows and columns. That is, if you strobed the rows instead of the columns. That way you'd only have to increase the current to the LEDs 8 times since you'd be multiplexing them 8:1
The down side is that if you're using 20mA LEDs which can take 160mA for 1/8 of the time, your row drivers would have to be able to switch 160mA * 48 lamps ~ 8 amperes. That's not bad at all and if you use N channel MOSFETs as the row witches and get some devices with lowish Rds(on) 100mV, say, then they'll only be dissipating
P = EIT = 0.1V * 7.68A * 0.125 = 0.096 watts,
so they won't even get warm.
If you kept your PNP's for column drivers they'd only have to pass
160mA, so with a saturation voltage somewhere around 0.3V they'd dissipate 48 milliwatts while they were on, but they'd only be on
1/48th of the time, so they'd really only be dissipating a milliwatt!
If you're using a 5V supply, calculate the LED resistors like this:
--
Oops...
If you do 8:1 multiplexing (see below) you\'ll only need one resistor
per column since there\'ll never be more than one LED on, per column,
at any given time, and its power dissipation (since it could be on
100% of the time) will be:
P = I²R = 0.16A² * 22R = 0.56 watts,
so a 22 ohm 1 watt resistor would be a good choice
It sounds like you are still driving the matrix wrong. With the circuit you linked only one bit in the row shift register should be on so only one LED connected to that 100R resistor will be on at a time and that LED gets the whole 21 mA.
When you start driving the matrix the right way remember all 48 LEDs could be on and the row drivers will have to source just over 1 Amp which the transistors you chose may not be capable of.
--- I don't know what you mean when you say "8x48" but no, you can only use the 22 ohms if you strobe the rows.
---
--- Your schematic makes no sense to me. It seems you're going about the whole thing backwards.
In my opinion you should send, and latch, 48 bits onto the columns and then strobe the row you're on to make all the LEDs on that row light up.
Then, 1/8th of a second later, do the same thing on the next row, and on and on...
But... 1/8th of a second will cause flicker, so you'll need to increase the refresh rate of the display to where it looks continuous. Something faster than 30HZ will work.
Bingo. It seemed wrong at the outset, sounding as though the row values were latched and the columns were scanned -- 'row' and 'column' as taking their meaning from the schematic, I mean.
Yes.
I prefer something faster than 47Hz, as that is the moment it gets hard for me to notice (without moving my head around.)
If there's motion (including head motion) or vibration, a couple of hundred Hz would be better. It's still no skin off the bandwidth of most micros (assuming you're not doing silly stuff like writing ISRs in inefficient HLLs). Get in there, save context, shove the data out, clean up and exit, real fast like.
Best regards, Spehro Pefhany
--
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
Agreed. I played around with these rates (very simple to do) using a proto board and with my son helping out. We each could increment or decrement the rate to see what we each thought about the appearances. My own place of comfort was above 47Hz, his was more like 53Hz I think. When we moved our heads around, though, it had to be well above 85Hz (we didn't try and lock down quantities for head motion with as much accuracy because it was harder for us to judge just how fast we were moving our heads in those experiments, so we judged an exact number to not be so useful there unless we could calibrate our head motion -- thus a rough figure for general quality sufficed.)
Having written code to drive arrays of up to 9600 bi-color LEDs a few hundred Hz would have taken a lot of skin off the processor used. A 62.5Hz refresh rate which required the generation and clocking of 2 600kb/s data streams took 90% of the skin it had.
Also many of the display 'effects' particularly the very common sideways scrolling must be synchronised to the display multiplex so if you multiplex too fast it scrolls too fast. Scrolling sideways at 62.5 LEDs per second is already a bit fast for small fonts.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.