Re: Multiplexing LEDs - calculating resistor value



On 27 Jun 2006 01:42:32 -0700, "roxlu" <diederickh@xxxxxxxxx> wrote:


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.

---
That's the problem.

You need to consider the array as 8 rows with 48 LEDs in each row,
like this: (View in Courier)

COL48>-----------------------------------//----------+
|
COL02>----------------------+ |
| |
COL01>-------+ | |
| | |
[R1] [R2] [R48]
| | |
| | |
+5v>---------|----+---------|----+-------//----------|----+
| | | | | |
| E | E | E
+--B PNP1 +--B PNP2 +--B PNP48
C C C
| | |
[R49] [R50] [R96]
| | |
ROW1---+----------|---+----------|------//-----+ |
| | | | | |
+-[LED001]-+ +-[LED002]-+ +-[LED048]-+
| | |
| | |
| | |
ROW2---+----------|---+----------|------//-----+ |
| | | | | |
+-[LED049]-+ +-[LED050]-+ +-[LED096]-+
| | |
| | |
| | |
ROW8---+----------|---+----------|------//-----+ |
| | | | | |
+-[LED337]-+ +-[LED338]-+ +-[LED384]-+


Each of the column lines goes to one of the outputs of six cascaded
8 bit serial-in parallel out shift registers which are used to shift
and latch data onto the column lines.

At the same time data is latched, the row driver corresponding to
that data is enabled, causing ever how many of the 48 LEDs in that
row that are supposed to light up, to light up.

Then you shift the 48 bits of data data for the next row into the 48
column lines and enable that row driver, and on and on, like that,
endlessly.

I haven't shown it above, but the rows will be connected to the
collectors of the NPNs or NMOSFETS described in an earlier post.

For 8 lines you'll probably want to use something like an HC238 to
do the decoding, so your total load on the µC will be 6 I/Os:
clock, data, and latch for the shift registers, and the three
address bits for the decoder.

The end result of all this is that instead of shifting in 8 bits at
a time to the rows and then multiplexing 48 columns, you're shifting
in 48 bits of data to the columns and multiplexing the rows, which
will allow you to run the LEDs much brighter than you could the
other way.


--
John Fields
Professional Circuit Designer
.



Relevant Pages

  • Re: Controlling hundreds of LEDs
    ... >Subject: Controlling hundreds of LEDs ... >which LED I'm controlling, ... You could use a bunch of series wired 8 bit shift registers, ... Another way if your up for it, is to use a Large IC that has a JTAG test port ...
    (sci.electronics.design)
  • Re: Multiplexing - how to speed up
    ... I'm working on a project where I need to multiplex a matrix of 512 LEDs ... Currently I'm testing with 5 cascaded shift registers (serial in, ... One shift register is used to control which LEDs must be ... BTW, is there a way I could share some lines, like the clock and data? ...
    (sci.electronics.design)
  • Re: x,y addressable LED matrix
    ... Typically the LEDS are multiplexed at around ... For your display the matrix would typically be arranged as 8 rows and 512 ... pattern for the next row is clocked into the shift registers. ... multiplex and generating the column data patterns and clocks, ...
    (sci.electronics.design)
  • Re: Controlling hundreds of LEDs
    ... >I want to created an led text display (like in the doctors waiting ... LEDs that comes out to 300/7 = 42.857 columns. ... characters that's a total of seven columns of LEDs per character, ... six shift registers per row, ...
    (sci.electronics.basics)
  • Re: Controlling hundreds of LEDs
    ... >I want to created an led text display (like in the doctors waiting ... LEDs that comes out to 300/7 = 42.857 columns. ... characters that's a total of seven columns of LEDs per character, ... six shift registers per row, ...
    (sci.electronics.design)

Loading