Re: Multiplexing LEDs - calculating resistor value
- From: "roxlu" <diederickh@xxxxxxxxx>
- Date: 27 Jun 2006 04:18:54 -0700
Jonathan Kirwan wrote:
On 27 Jun 2006 01:42:32 -0700, "roxlu" <diederickh@xxxxxxxxx> wrote:
nospam wrote:
"roxlu" <diederickh@xxxxxxxxx> wrote:
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 >=.
Here is a small part of the circuit to show the current limiting
resistor of 100R.
http://imagebin.org/5461
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.
--
Hi nospam and John
Thanx a lot for all your comments and suggestions.
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.
Just to make clear what you mean here...... I'm driving the matrix like
this: At start I make the first column (vertical) high. Than I set
which of the eight LEDs (the "row") must be turned on. This is how I'm
driving the matrix now.
Which is as I thought, and bad news if you want a consistent
intensity.
Do you mean that I need to drive it like this:
Make the first column high, than lets say that LED 2 and 4 must be
turned on, I first shift this into the shift register: 0000 0010 (LED
2), than I put LED 2 off: 0000 0000 And than I put LED 4 on: 0000 1000.
Is this correct? If so, I think this will take a lot of processing
power from my uC.
Yes, it would but that's also not usually how it would be done. As
that wouldn't be so good as other options.
I'll assume that your schematic should be expanded so that it is
looked at this way:
row 1: 000000000000000000000000000000000000000000000000
row 2: 000000000000000000000000000000000000000000000000
row 3: 000000000000000000000000000000000000000000000000
row 4: 000000000000000000000000000000000000000000000000
row 5: 000000000000000000000000000000000000000000000000
row 6: 000000000000000000000000000000000000000000000000
row 7: 000000000000000000000000000000000000000000000000
row 8: 000000000000000000000000000000000000000000000000
col: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv
And that in this case what you use to drive each column is as you
showed, similarly for each row. In other words, staying with your own
definition of 'row' and 'column' and no one else's.
Since you are only permitted to drive zero or one LED per column at a
time, the idea would be to enable just row 1 after latching in each of
the column enables depending on your data for that row. Then disable
row 1, latch row 2's column data into the columns, enable row 2. Then
disable row 2, latch row 3's column data into the column enables, then
enable row 3. Etc. This provides a 1:8 multiplexing and that will
suggest that you will need to significantly over-drive each LED enough
so that they will appear sufficiently bright for your needs. That
affects the resistor size you were talking about before.
So let's say the image was this:
row 1: * * ***** * * *** * * * ***
row 2: * * * * * * * * * * *
row 3: * * * * * * * * * * *
row 4: ***** *** * * * * * ***** *
row 5: * * * * * * * * * * *
row 6: * * * * * * * * * * *
row 7: * * ***** ***** ***** *** * * * ***
row 8:
col: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv
You'd make sure all row drivers were off, to start. Then load in
"100010111110100000100000011100000010100010011100" into your column
shift register. Then enable row 1. Wait, as appropriate. Disable
row 1. Load "100010100000100000100000100010000100100010001000" into
your column shift register. Then enable row 2. Wait, ... Etc.
Does that make sense?
Jon
Hi John and Jonathan,
Really thanks a lot!! Now I get what you mean...I'm not a
electronics-man and still learning. When I'm using a current limiting
resitor of 100R, could I let my circuit as it is now? And what about
the speed? As suggested I need to shift in 48 bits for each row instead
of 8 (for all the rows). I can imagine this will take a lot more
processing power which will cause flickering.
Thanks,
Greetings
.
- Follow-Ups:
- Re: Multiplexing LEDs - calculating resistor value
- From: John Fields
- Re: Multiplexing LEDs - calculating resistor value
- References:
- Multiplexing LEDs - calculating resistor value
- From: roxlu
- Re: Multiplexing LEDs - calculating resistor value
- From: nospam
- Re: Multiplexing LEDs - calculating resistor value
- From: roxlu
- Re: Multiplexing LEDs - calculating resistor value
- From: Jonathan Kirwan
- Multiplexing LEDs - calculating resistor value
- Prev by Date: Re: what the hell is ROHS
- Next by Date: Re: Speaking of audiophools
- Previous by thread: Re: Multiplexing LEDs - calculating resistor value
- Next by thread: Re: Multiplexing LEDs - calculating resistor value
- Index(es):
Relevant Pages
|