It is currently 19 May 2012, 18:32





Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 23 posts ] 
 Scrolling 640 LEDs 
Author Message
Post Scrolling 640 LEDs
Hello all,

I am building an 8 x 80 scrolling LED sign for fun. The basic design
centers around an Atmel Mega88 microcontroller which is connected to a
4-to-16 decoder and 5 74hc595 shift registers. The individual
matrices (each measuring 8 x 8, 10 in total) are arranged in a 2 x 5
configuration. The 4-to-16 decoder will act as the row driver while
the shift registers will handle the columns. There is no way that
neither the microcontroller nor the 4-to-16 decoder can supply enough
current to the LEDs (if an entire row is lit that means that the
display will consume 15ma * 40 LEDs = 0.6A) so I was thinking about
using transistors on each of the 16 row pins. The only problem with
this configuration is that the LEDs would have to be placed on the
emitter of the transistor which has a voltage drop of 0.7V thus
extinguishing my LEDs. Does anyone know of a better way to configure/
handle this kind of power switching? I am trying to avoid placing a
transistor on each of the 40 column pins in order to keep component
count down. Suggestions? Thanks.

-cheers
Brad


29 Dec 2007, 17:14
Post Re: Scrolling 640 LEDs
When using transistors as switches, the load should always be on the
collector side. If you're putting the transistor between V+ and the
load, use PNP transistors, else use NPN transistors.

If the Vce voltage drop is too much, perhaps MOSFETs would be a better
choice?


29 Dec 2007, 17:14
Post Re: Scrolling 640 LEDs
So if I were to use PNP transistors I would hook the emitter up to V+
and the collector up to the common anodes of that row? Then I could
hook the base up directly to the 4-to-16 decoder and all will be
well. Or will the transistors still drop the voltage before it
reaches the LEDs? I have not yet used PNP transistors in any of my
projects so I am not sure. Thanks again.

-cheers
Brad


29 Dec 2007, 17:14
Post Re: Scrolling 640 LEDs
On Thu, 16 Aug 2007 23:41:08 -0000, Mystik738@gmail.com wrote:

>I am building an 8 x 80 scrolling LED sign for fun. The basic design
>centers around an Atmel Mega88 microcontroller which is connected to a
>4-to-16 decoder and 5 74hc595 shift registers. The individual
>matrices (each measuring 8 x 8, 10 in total) are arranged in a 2 x 5
>configuration. The 4-to-16 decoder will act as the row driver while
>the shift registers will handle the columns.

So it's a 1:16 muxing arrangement. You specify 40 LED values via the
(5) 74HC595s and enable the 4-16 decoder (74154 type?) for a time,
then the next 40 LED values and the next decoder enable. Possibly
with a small blanking moment while you load the 74HC595s.

>There is no way that
>neither the microcontroller nor the 4-to-16 decoder can supply enough
>current to the LEDs (if an entire row is lit that means that the
>display will consume 15ma * 40 LEDs = 0.6A) so I was thinking about
>using transistors on each of the 16 row pins.

You might also want to consider transistors on the 40 74HC595 outputs,
as well. With 1:16 multiplexing going on, I suspect you will want to
drive the LEDs, when ON, at a substantial over-drive level -- on the
order of 10-20 times what they would get if left on all the time.

Are these the better low-current LEDs?

>The only problem with
>this configuration is that the LEDs would have to be placed on the
>emitter of the transistor which has a voltage drop of 0.7V thus
>extinguishing my LEDs.

Can you explain that? I've usually used the collectors on both the
row and column sides, towards the LED drive lines.

>Does anyone know of a better way to configure/
>handle this kind of power switching? I am trying to avoid placing a
>transistor on each of the 40 column pins in order to keep component
>count down. Suggestions? Thanks.

Well, at what current do you expect to drive the 40 column LEDs? I'm
guessing it will be a lot more than the 74HC595 will sink. Assuming
only 2mA as about enough, continuous duty, you are talking about 32mA
aren't you? (With the 4-16 output driving up to 80mA?)

Jon


29 Dec 2007, 17:14
Post Re: Scrolling 640 LEDs
On Thu, 16 Aug 2007 23:41:08 +0000, Mystik738 wrote:
>
> I am building an 8 x 80 scrolling LED sign for fun. The basic design
> centers around an Atmel Mega88 microcontroller which is connected to a
> 4-to-16 decoder and 5 74hc595 shift registers. The individual
> matrices (each measuring 8 x 8, 10 in total) are arranged in a 2 x 5
> configuration. The 4-to-16 decoder will act as the row driver while
> the shift registers will handle the columns. There is no way that
> neither the microcontroller nor the 4-to-16 decoder can supply enough
> current to the LEDs (if an entire row is lit that means that the
> display will consume 15ma * 40 LEDs = 0.6A) so I was thinking about
> using transistors on each of the 16 row pins. The only problem with
> this configuration is that the LEDs would have to be placed on the
> emitter of the transistor which has a voltage drop of 0.7V thus
> extinguishing my LEDs. Does anyone know of a better way to configure/
> handle this kind of power switching? I am trying to avoid placing a
> transistor on each of the 40 column pins in order to keep component
> count down. Suggestions? Thanks.
>

Connect the LED anodes together, and connect the collectors of a ULN2803
or so, 8 transistors in a package. Of course, each LED still needs its
own series current-limiting resistor.

Or, to drive the LED anodes, use PNPs and invert your outputs.

Good Luck!
Rich


29 Dec 2007, 17:14
Post Re: Scrolling 640 LEDs
> Does anyone know of a better way to configure/
> handle this kind of power switching? I am trying to avoid placing a
> transistor on each of the 40 column pins in order to keep component
> count down. Suggestions? Thanks.

It sounds like you are planning upon using a 16 x 40 arrangement.
Another option would be to use a 24 x 27 arrangement. This would
cut the number of power handling elements from 56 (16 + 40) to 51
(24 + 27). A 25 x 26 arrangement could also be used however this
would complicate the data output slightly.


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
> So it's a 1:16 muxing arrangement. You specify 40 LED values via
the
> (5) 74HC595s and enable the 4-16 decoder (74154 type?) for a time,
> then the next 40 LED values and the next decoder enable. Possibly
> with a small blanking moment while you load the 74HC595s.

Yup. Thant is it exactly.

> You might also want to consider transistors on the 40 74HC595 outputs,
> as well. With 1:16 multiplexing going on, I suspect you will want to
> drive the LEDs, when ON, at a substantial over-drive level -- on the
> order of 10-20 times what they would get if left on all the time.
>
> Are these the better low-current LEDs?

I doubt it. I ordered 10 of these for $4.95. They did not even come
with specs (although, I did find some specs later that said the LEDs
were 2V 5-15mA). I don't want the sign to be too bright so I was not
to concerned with overdriving. Should I be?

> Can you explain that? I've usually used the collectors on both the
> row and column sides, towards the LED drive lines.

If I put a transistor on the column side, I need 40 transistors (one
for each column) which I am trying to avoid in order to keep component
density (and more importantly: cost) down. Putting the transistor on
the row side would mean that the led is across the emitter of the
transistor which has the voltage drop.

> Well, at what current do you expect to drive the 40 column LEDs? I'm
> guessing it will be a lot more than the 74HC595 will sink. Assuming
> only 2mA as about enough, continuous duty, you are talking about 32mA
> aren't you? (With the 4-16 output driving up to 80mA?)
>
> Jon

Each LED should be driven at 15mA. I wanted to put the power
switching between the 4-to-16 decoder so that neither device would
have to sink or source the whole load (the 4-to-16 would only have to
source enough to activate the transistor and the 74hc595 would only
have to sink one LED per pin [or so I thought]). Am I missing
something?

-cheers
Brad


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
Mystik738@gmail.com writes:
> So if I were to use PNP transistors I would hook the emitter up to V+
> and the collector up to the common anodes of that row?

Yup. It's just like an NPN, but "mirror imaged" relative to the power
supply.

> Then I could hook the base up directly to the 4-to-16 decoder and
> all will be well.

Assuming the 4-to-16 doesn't drive the transistor when it's high (look
for CMOS-level output, Vdd-0.5v, rather than TTL output of 2.4v).
Also, you should put a resistor between the chip and the base, to
limit current to what the chip can drive. Example: 5mA max drive,
3.3v supply, R = 660 ohms (3.3/0.005) minimum. The max value depends
on the hFE of the transistor and your desired drive current.

> Or will the transistors still drop the voltage before it reaches the
> LEDs?

It will, see the Vce value in the transistor's spec. It's not the
same as the Vbe drop that you're probably thinking of. Note that
bipolar transistors are usually measured in terms of current, with
voltages being a by-product.

Again, if you need less drop, you might want to look at MOSFETs, which
act (switch-wise) like bipolar transistors, base=gate,
collector=drain, emitter=source, except that the base current is
negligible and the Vds is very low.


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
On Fri, 17 Aug 2007 01:06:44 +0000, Mystik738 wrote:

> So if I were to use PNP transistors I would hook the emitter up to V+
> and the collector up to the common anodes of that row?

Yes.

> Then I could hook the base up directly to the 4-to-16 decoder and all
> will be well.

You need a resistor in the base lead. But the main thing to note about
using PNP transistors is that the decoder outputs need to be active-low
(open-collector will work).

> Or will the transistors still drop the voltage before it
> reaches the LEDs?

The voltage drop is between the emitter and the base. The base voltage
will need to be above V+ - 0.65 to turn the transistor *off* and below
that to turn it on.

> I have not yet used PNP transistors in any of my
> projects so I am not sure. Thanks again.

A circuit with PNP transistors is a "mirror image" of the equivalent PNP
circuit. The emitter is connected to the positive rail, current flows into
the emitter and out of the base and collector. The transistor conducts
when the base is at least 0.65V *below* the emitter.


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
On Fri, 17 Aug 2007 01:24:25 -0000, Mystik738@gmail.com wrote:

> > So it's a 1:16 muxing arrangement. You specify 40 LED values via
>the
>> (5) 74HC595s and enable the 4-16 decoder (74154 type?) for a time,
>> then the next 40 LED values and the next decoder enable. Possibly
>> with a small blanking moment while you load the 74HC595s.
>
>Yup. Thant is it exactly.

Thanks.

>> You might also want to consider transistors on the 40 74HC595 outputs,
>> as well. With 1:16 multiplexing going on, I suspect you will want to
>> drive the LEDs, when ON, at a substantial over-drive level -- on the
>> order of 10-20 times what they would get if left on all the time.
>>
>> Are these the better low-current LEDs?
>
>I doubt it. I ordered 10 of these for $4.95. They did not even come
>with specs (although, I did find some specs later that said the LEDs
>were 2V 5-15mA). I don't want the sign to be too bright so I was not
>to concerned with overdriving. Should I be?

Okay. So let's say (as you say below) that you want to drive these so
that they _look_ like they have a brightness of about what they would
when given 15mA, continuous. Then, if you are going to multiplex
these in a 1:16 arrangement (as it appears you will) you will need to
drive them at __more__ than 15mA for the much shorter time they will
be driven. In other words, something on the order of 16*15mA, or
about 240mA. Call it something in the area of between 150-250mA.
That's a lot.

Also, you need to consider the fact that the row driver (whether that
is a PNP or NPN) will need to source/sink up to 40 of these. So now
you are talking about up to some 40*240mA or 9.6A. That matches up
with a general calculation that says your power supply should be able
to handle up to 15mA*640 or.. again.. 9.6A.

That's a LOT! Big time.

Plus, if you want to avoid flicker (especially if someone is moving
their eyes around while looking) then you will need to mux these at a
fairly rapid rate. I find that 45Hz works for me for a lot of use,
though 75-90Hz is better. This means 15*45 or 720Hz rate for loading
your series of 74HC595s. Faster, if you want something like 75-90Hz
blinking rate. Call it roughly once per millisecond. Can you load
out 40 bits at a time each millisecond?

>> Can you explain that? I've usually used the collectors on both the
>> row and column sides, towards the LED drive lines.
>
>If I put a transistor on the column side, I need 40 transistors (one
>for each column) which I am trying to avoid in order to keep component
>density (and more importantly: cost) down. Putting the transistor on
>the row side would mean that the led is across the emitter of the
>transistor which has the voltage drop.

okay. That's not needed if you use PNP and NPN transistors. I'll put
out a diagram below.

>> Well, at what current do you expect to drive the 40 column LEDs? I'm
>> guessing it will be a lot more than the 74HC595 will sink. Assuming
>> only 2mA as about enough, continuous duty, you are talking about 32mA
>> aren't you? (With the 4-16 output driving up to 80mA?)
>>
>> Jon
>
>Each LED should be driven at 15mA. I wanted to put the power
>switching between the 4-to-16 decoder so that neither device would
>have to sink or source the whole load (the 4-to-16 would only have to
>source enough to activate the transistor and the 74hc595 would only
>have to sink one LED per pin [or so I thought]). Am I missing
>something?

If each LED should be driven at 15mA and if you can have up to 40 of
them on at the same time, then that would suggest that your row driver
needs to supply 40*15mA or 600mA. However, keep in mind that your
LEDs will then look as though they are being driven with 15mA/16, or
about 1mA. If that is okay, then fine. If not, you've got those big
time problems I mentioned earlier. By the way, I think the 74HC595
sinks under 10mA.

Jon

P.S.
Here's an example, viewed in a fixed spaced font only. It's a 3x4 (or
4x3, your call), so you will need to conceive that this is actually a
16x40 in your case. But the idea is there. Also keep in mind that
there are specialized LED driver packages. They cost a lot more than
the transistors, but they are easier to use.

>: Vcc Vcc
>: | |
>: | |
>: / |
>: \ |
>: / |
>: | |<e
>: 3-----------------/\/\-+-----| PNP
>: |\c
>: |
>: |
>: | COL 3
>: +------------------------+------------------------+------------------------+-----------,
>: | | | | |
>: | | | | |
>: --- --- --- --- |
>: \ / \ / D16 \ / D20 \ / D21 |
>: Vcc Vcc --- LED --- LED --- MYDIODE --- MYDIODE \
>: | | | | | | / 22k
>: | | | | | | \
>: \ | | | | | /
>: / | | | | | |
>: \ | | | | | |
>: / | | | | | |
>: | |<e | | | | |
>: 2----------/\/\-+-----| PNP | | | | gnd
>: |\c | | | |
>: | | | | |
>: | | | | COL 2 |
>: +------------------------+------------------------+------------------------+------------------,
>: | | | | | | | | |
>: | | | | | | | | |
>: --- | --- | --- | --- | |
>: \ / | \ / | \ / | \ / | |
>: Vcc Vcc --- LED | --- LED | --- LED | --- LED | \
>: | | | | | | | | | | / 22k
>: | | | | | | | | | | \
>: \ | | | | | | | | | /
>: / | | | | | | | | | |
>: \ | | | | | | | | | |
>: / | | R| | R| | R| | R| |
>: | |<e | O| | O| | O| | O| |
>: 1---/\/\-+-----| PNP | W| | W| | W| | W| gnd
>: |\c | | | | | | | |
>: | | A| | B| | C| | D|
>: | | | | | | | COL 1 | |
>: +------------------------+------------------------+------------------------+-------------------------,
>: | | | | | | | | | | | | |
>: | | | | | | | | | | | | |
>: --- | | --- | | --- | | --- | | |
>: \ / | | \ / | | \ / | | \ / | | |
>: --- LED | | --- LED | | --- LED | | --- LED | | \
>: | | | | | | | | | | | | / 22k
>: | | | | | | | | | | | | \
>: | | | | | | | | | | | | /
>: +------+------' +------+------' +------+------' +------+------' |
>: | | | | |
>: | | | | |
>: | | | | |
>: |/c R8 |/c |/c |/c gnd
>: A----/\/\------| NPN B----/\/\----| NPN C----/\/\----| NPN D----/\/\----| NPN
>: |>e {RB} |>e |>e |>e
>: | | | |
>: | | | |
>: \ \ \ \
>: / / / /
>: \ \ \ \
>: / / / /
>: | | | |
>: | | | |
>: | | | |
>: gnd gnd gnd gnd


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
> Okay. So let's say (as you say below) that you want to drive these so
> that they _look_ like they have a brightness of about what they would
> when given 15mA, continuous. Then, if you are going to multiplex
> these in a 1:16 arrangement (as it appears you will) you will need to
> drive them at __more__ than 15mA for the much shorter time they will
> be driven. In other words, something on the order of 16*15mA, or
> about 240mA. Call it something in the area of between 150-250mA.
> That's a lot.
>
> Also, you need to consider the fact that the row driver (whether that
> is a PNP or NPN) will need to source/sink up to 40 of these. So now
> you are talking about up to some 40*240mA or 9.6A. That matches up
> with a general calculation that says your power supply should be able
> to handle up to 15mA*640 or.. again.. 9.6A.
>
> That's a LOT! Big time.
>
> Plus, if you want to avoid flicker (especially if someone is moving
> their eyes around while looking) then you will need to mux these at a
> fairly rapid rate. I find that 45Hz works for me for a lot of use,
> though 75-90Hz is better. This means 15*45 or 720Hz rate for loading
> your series of 74HC595s. Faster, if you want something like 75-90Hz
> blinking rate. Call it roughly once per millisecond. Can you load
> out 40 bits at a time each millisecond?

In your experience, is 15mA crazy talk? I noticed that you mentioned
2mA earlier which seems a lot more realistic after hearing that. is
1mA bright enough for a simple wall sign? The microcontroller is
running at 20Mhz so I think I can do it in time. I do not know what
kind of platform you would run yours off of, so I have nothing to
compare it to.

> okay. That's not needed if you use PNP and NPN transistors. I'll put
> out a diagram below.

Ah, now I see what you mean.

> If each LED should be driven at 15mA and if you can have up to 40 of
> them on at the same time, then that would suggest that your row driver
> needs to supply 40*15mA or 600mA. However, keep in mind that your
> LEDs will then look as though they are being driven with 15mA/16, or
> about 1mA. If that is okay, then fine. If not, you've got those big
> time problems I mentioned earlier. By the way, I think the 74HC595
> sinks under 10mA.
>
> Jon

I can't remember off hand what the 74HC595 sinks, but wouldn't it only
have to sink the current for one LED at a time since there is a
discrete pin for each of the 40 LEDs and I am only lighting one row at
a time?

> P.S.
> Here's an example, viewed in a fixed spaced font only. It's a 3x4 (or
> 4x3, your call), so you will need to conceive that this is actually a
> 16x40 in your case. But the idea is there. Also keep in mind that
> there are specialized LED driver packages. They cost a lot more than
> the transistors, but they are easier to use.

Any one in particular that you are fond of?

-cheers
Brad


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
Mystik738@gmail.com writes:
> is 1mA bright enough for a simple wall sign?

If you haven't gotten the LEDs yet, what you want to do is look at the
"lumens" spec. They vary in brightness (lumens) at their rated
current (usually 20mA). If you get a brighter LED, you can use a
lower current to get the same brightness, or get a brighter sign for
the same drive current or duty cycle.

In 0603 SMT leds, there's easily a 10:1 range in brightness at 20mA.


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
Also, for signs, it might be better to get LEDs that appear white when
off, and colored when on.

Mystik738@gmail.com writes:
> I can't remember off hand what the 74HC595 sinks, but wouldn't it only
> have to sink the current for one LED at a time since there is a
> discrete pin for each of the 40 LEDs and I am only lighting one row at
> a time?

But recall the duty cycle - you want an AVERAGE of, say, 20mA per LED.
If it's a 1/40 duty cycle, you have to pulse 20*40 = 800mA through
that LED to get the same *effective* brightness as a constant 20mA.


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
> If you haven't gotten the LEDs yet, what you want to do is look at the
> "lumens" spec.

Too late. I already have the LEDs. I hooked one up to 2V without a
current limiter for a second and it was plenty bright. I am unsure if
1/16 of that brightness will be enough, though.

-cheers
Brad


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
> But recall the duty cycle - you want an AVERAGE of, say, 20mA per LED.
> If it's a 1/40 duty cycle, you have to pulse 20*40 = 800mA through
> that LED to get the same *effective* brightness as a constant 20mA.

Good point. I think that I am going to throttle back the amount of
current for each LED. I am not really looking for a super bright sign
(actually I don't even know where I am going to put it yet).

-cheers
Brad


29 Dec 2007, 17:15
Post Re: Scrolling 640 LEDs
On Fri, 17 Aug 2007 02:21:16 +0000, Mystik738 wrote:

>> If each LED should be driven at 15mA and if you can have up to 40 of
>> them on at the same time, then that would suggest that your row driver
>> needs to supply 40*15mA or 600mA. However, keep in mind that your
>> LEDs will then look as though they are being driven with 15mA/16, or
>> about 1mA. If that is okay, then fine. If not, you've got those big
>> time problems I mentioned earlier. By the way, I think the 74HC595
>> sinks under 10mA.
>>
>> Jon
>
> I can't remember off hand what the 74HC595 sinks, but wouldn't it only
> have to sink the current for one LED at a time since there is a
> discrete pin for each of the 40 LEDs and I am only lighting one row at
> a time?

Yes.

In the worst case, each row has to be able to source current for 40
LEDs on a 1:16 duty cycle, while each column has to be able to sink
current for 1 LED continuously.


29 Dec 2007, 17:16
Post Re: Scrolling 640 LEDs
On Fri, 17 Aug 2007 02:44:31 -0000, Mystik738@gmail.com wrote:

>> If you haven't gotten the LEDs yet, what you want to do is look at the
>> "lumens" spec.
>
>Too late. I already have the LEDs. I hooked one up to 2V without a
>current limiter for a second and it was plenty bright. I am unsure if
>1/16 of that brightness will be enough, though.

2V on a regular (old-timer) red LED produces about 20mA or so. I
think the equation was something like (2V-1.55V)/21, which would be
something like 21mA. Hard to know, though, since the range of
possibilities is pretty wide, these days. If you have an ammeter you
could use, you could verify the actual current using the 2V supply.

Brad, do you also have a way of turning on one of your LEDs for 1/16th
duty cycle at, say, 45Hz? Might be nice to just tinker one of them
around at a likely cycle rate and figure out the drive current while
you look at it and make sure it is what you want.

By the way, did you consider the rep-rate you will need to maintain
into your 74HC595s that I mentioned? Can you achieve it? 40 bits at
some 720Hz, or almost a 30kHz bit rate?

Jon


29 Dec 2007, 17:16
Post Re: Scrolling 640 LEDs
> 2V on a regular (old-timer) red LED produces about 20mA or so. I
> think the equation was something like (2V-1.55V)/21, which would be
> something like 21mA. Hard to know, though, since the range of
> possibilities is pretty wide, these days. If you have an ammeter you
> could use, you could verify the actual current using the 2V supply.

Here is the listing for almost the same displays (mine are red):
http://cgi.ebay.com/10-pcs-8x8-dot-matr ... 0162418382

I found a similar listing to my displays that said 2V 5-15mA which
doesn't sound unreasonable since the individual diodes are only 1.9mm.

> Brad, do you also have a way of turning on one of your LEDs for 1/16th
> duty cycle at, say, 45Hz? Might be nice to just tinker one of them
> around at a likely cycle rate and figure out the drive current while
> you look at it and make sure it is what you want.

I am actually already working on something like that which would just
light one light on one display for tuning purposes. I could probably
implement a software duty cycle that can be adjusted for tuning.

> By the way, did you consider the rep-rate you will need to maintain
> into your 74HC595s that I mentioned? Can you achieve it? 40 bits at
> some 720Hz, or almost a 30kHz bit rate?
>
> Jon

The microcontroller I am using clocks in at 20Mhz so that should not
be too much of a problem. I think the main limiting factor is going
to be the propagation on the 74HC595s.

-cheers
Brad


29 Dec 2007, 17:16
Post Re: Scrolling 640 LEDs
On Fri, 17 Aug 2007 18:48:37 -0000, Mystik738@gmail.com wrote:

>> 2V on a regular (old-timer) red LED produces about 20mA or so. I
>> think the equation was something like (2V-1.55V)/21, which would be
>> something like 21mA. Hard to know, though, since the range of
>> possibilities is pretty wide, these days. If you have an ammeter you
>> could use, you could verify the actual current using the 2V supply.
>
>Here is the listing for almost the same displays (mine are red):
>http://cgi.ebay.com/10-pcs-8x8-dot-matrix-1-9mm-dia-LED-display-Green_W0QQitemZ230162418382QQcmdZViewItem?hash=item230162418382

Well, the green will have entirely different voltage values and
current-to-apparent-brightness issues. Human color perception is NOT
the same for red and green.

But I see what you are talking about, in terms of having them nicely
pre-positioned for you. Nice.

>I found a similar listing to my displays that said 2V 5-15mA which
>doesn't sound unreasonable since the individual diodes are only 1.9mm.

Well, let's say that you were looking at about 20-25mA when you hooked
up 2V. And that this is perhaps too bright and that you will
eventually find that 10mA is a "good value." With a by-16 multiplex
design, you will need to drive approximately 10mA*16 = 160mA into each
LED when it is ON, in order to achieve the same effect (assuming your
repetition rate is fast enough that a person doesn't see the
blinking.) Now, this may actually need to be a little higher because
of some blanking time between activations of the row driver. But call
it 160mA. That's just one LED! The voltage you will need for that
much current will also be somewhat higher than for 10mA, too. So make
sure your power supply has enough voltage compliance for your need.

With your 16x40 arrangement, you will need to have a row driver that
can supply current for up to 40 of these, too. So 40*160mA, which is
6.4 amps! That's probably going to require TWO transistors for each
row driver (or a MOSFET) and a decent transformer for your supply.

I gave you a diagram that includes resistors in the NPN emitters of
the column drivers (I think I labeled them wrong, but who's counting?)
that will permit you to regulate the current, easily. So your power
supply doesn't have to regulate a precise voltage, it just need to
supply a lot of current and maintain enough voltage headroom for the
duration.

The point in all this is to tell you that you've got a big multiplier
operating here (x16) and to force you to do some testing. You really
need to make sure about what level of continuous current is needed for
a maximum brightness you like. (You can always adjust that downward
by reducing the on-period within your 1/16th duty cycle.) And then
test the idea by multiplying up the current to something in the area
of 160mA (once you are sure you have a 1/16th duty cycle working at
about 45Hz, let's say.) That in hand, with a realistic value you can
use determined, you are good to go for a final design step.

>> Brad, do you also have a way of turning on one of your LEDs for 1/16th
>> duty cycle at, say, 45Hz? Might be nice to just tinker one of them
>> around at a likely cycle rate and figure out the drive current while
>> you look at it and make sure it is what you want.
>
>I am actually already working on something like that which would just
>light one light on one display for tuning purposes. I could probably
>implement a software duty cycle that can be adjusted for tuning.

Yes. It doesn't need to be difficult. Just use some configuration
constants to set your loop counts. If you have a scope, the result
becomes really easy to measure and you can quickly tinker the
constants to a proper value. Otherwise, you can always do a cycle
count on your loop to work out the predicted situation and just assume
that it will work that way.

>> By the way, did you consider the rep-rate you will need to maintain
>> into your 74HC595s that I mentioned? Can you achieve it? 40 bits at
>> some 720Hz, or almost a 30kHz bit rate?
>>
>> Jon
>
>The microcontroller I am using clocks in at 20Mhz so that should not
>be too much of a problem. I think the main limiting factor is going
>to be the propagation on the 74HC595s.

I think they will be plenty fast enough for a few tens of kHz. I was
just worried about bit-banging out the serial stream and leaving much
time for anything else.

Jon


29 Dec 2007, 17:16
Post Re: Scrolling 640 LEDs
> Well, the green will have entirely different voltage values and
> current-to-apparent-brightness issues. Human color perception is NOT
> the same for red and green.
>
> But I see what you are talking about, in terms of having them nicely
> pre-positioned for you. Nice.

I am aware of the difference in color perception, but they are not
listing red display at the moment and that was the closest I could
find.

> Well, let's say that you were looking at about 20-25mA when you hooked
> up 2V. And that this is perhaps too bright and that you will
> eventually find that 10mA is a "good value." With a by-16 multiplex
> design, you will need to drive approximately 10mA*16 = 160mA into each
> LED when it is ON, in order to achieve the same effect (assuming your
> repetition rate is fast enough that a person doesn't see the
> blinking.) Now, this may actually need to be a little higher because
> of some blanking time between activations of the row driver. But call
> it 160mA. That's just one LED! The voltage you will need for that
> much current will also be somewhat higher than for 10mA, too. So make
> sure your power supply has enough voltage compliance for your need.
>
> With your 16x40 arrangement, you will need to have a row driver that
> can supply current for up to 40 of these, too. So 40*160mA, which is
> 6.4 amps! That's probably going to require TWO transistors for each
> row driver (or a MOSFET) and a decent transformer for your supply.
>
> I gave you a diagram that includes resistors in the NPN emitters of
> the column drivers (I think I labeled them wrong, but who's counting?)
> that will permit you to regulate the current, easily. So your power
> supply doesn't have to regulate a precise voltage, it just need to
> supply a lot of current and maintain enough voltage headroom for the
> duration.
>
> The point in all this is to tell you that you've got a big multiplier
> operating here (x16) and to force you to do some testing. You really
> need to make sure about what level of continuous current is needed for
> a maximum brightness you like. (You can always adjust that downward
> by reducing the on-period within your 1/16th duty cycle.) And then
> test the idea by multiplying up the current to something in the area
> of 160mA (once you are sure you have a 1/16th duty cycle working at
> about 45Hz, let's say.) That in hand, with a realistic value you can
> use determined, you are good to go for a final design step.

I am thinking about pulling the current back to 5mA which would give
me 80mA per pin which, in turn gives me 3.2A for an entire row. My
current plan of action is to use 16 MOSFETs on the rows with 40
transistor on the columns. I am still going to do some testing for
optimum values, but those numbers sound the most plausible at the
moment.

I was thinking about about halving the multiplier (8 x 80), but that
would just double the current requirement so there is no real gain
since speed isn't the issue.

> Yes. It doesn't need to be difficult. Just use some configuration
> constants to set your loop counts. If you have a scope, the result
> becomes really easy to measure and you can quickly tinker the
> constants to a proper value. Otherwise, you can always do a cycle
> count on your loop to work out the predicted situation and just assume
> that it will work that way.

I was planning on doing all of the drawing via an on-chip interrupt so
I can adjust the interrupt timing to fiddle with the cycle. Nothing
really complicated.

> I think they will be plenty fast enough for a few tens of kHz. I was
> just worried about bit-banging out the serial stream and leaving much
> time for anything else.
>
> Jon

If I remember correctly, I think the 74HC595 has a propagation delay
of 16ns. I am not sure if this is a pin to pin delay time or an input
to output time (although I think it is the former).

-cheers
Brad


29 Dec 2007, 17:16
Post Re: Scrolling 640 LEDs
On Fri, 17 Aug 2007 21:37:48 -0000, Mystik738@gmail.com wrote:

><snip>
>I am thinking about pulling the current back to 5mA which would give
>me 80mA per pin which, in turn gives me 3.2A for an entire row. My
>current plan of action is to use 16 MOSFETs on the rows with 40
>transistor on the columns. I am still going to do some testing for
>optimum values, but those numbers sound the most plausible at the
>moment.

The MOSFET idea for the row seems good to me. You could use BJTs, but
at 3.2A each, you will probably need a second BJT to reduce the
current needed from your row decoder. With just one BJT there, you'd
probably need to plan 100mA of drive. So another BJT to cut that to a
few mA would be indicated. The MOSFET helps in terms of current drive
and at the slow rates you are talking about, drive current won't
likely be a problem.

Power loss really isn't going to be a problem, either way. I think
you are going to have excess voltage to toss away somewhere, anyway.
And if you had a really low-impedance MOSFET to keep down power loss
there, it would simply have to be taken up then by the BJT column
driver. So there is no good way to win. The BJTs on the row driver
would similarly be acceptable. My own personal choice would probably
be to use the BJTs. Mostly because they are easily available from a
lot of hobbyist sources, are dead cheap (I pay one cent for a 2N2222
in 1000 qty), and because I'm well used to them.

The column drivers will need to include the current limiting. My own
choice is something like I showed you (the A, B, C, and D sections)
where the BJT is operated with the base "nailed" to a voltage, the
emitter following that voltage closely, and the emitter resistor
setting the current through your LED. It's all pretty automatic,
then, and it works reasonably well. And if you keep the base voltage
high enough, the few tenths of a volt of base-emitter voltage change
over a fairly wide range of temps won't affect the current enough to
notice.

>I was thinking about about halving the multiplier (8 x 80), but that
>would just double the current requirement so there is no real gain
>since speed isn't the issue.
><snip>

Yup. There's no win there.

Jon


29 Dec 2007, 17:16
Post Re: Scrolling 640 LEDs
> The MOSFET idea for the row seems good to me. You could use BJTs, but
> at 3.2A each, you will probably need a second BJT to reduce the
> current needed from your row decoder. With just one BJT there, you'd
> probably need to plan 100mA of drive. So another BJT to cut that to a
> few mA would be indicated. The MOSFET helps in terms of current drive
> and at the slow rates you are talking about, drive current won't
> likely be a problem.
>
> Power loss really isn't going to be a problem, either way. I think
> you are going to have excess voltage to toss away somewhere, anyway.
> And if you had a really low-impedance MOSFET to keep down power loss
> there, it would simply have to be taken up then by the BJT column
> driver. So there is no good way to win. The BJTs on the row driver
> would similarly be acceptable. My own personal choice would probably
> be to use the BJTs. Mostly because they are easily available from a
> lot of hobbyist sources, are dead cheap (I pay one cent for a 2N2222
> in 1000 qty), and because I'm well used to them.

Ok, so if I use two transistors in a Darlington setup then I could use
a 2N2222 for the first transistor which only has to handle enough
current to activate the second, main transistor. But the second
transistor would have to handle the full 3.2A, any recommendations?
The 2N2222s would be just fine for the column driver, though (if
memory stands, they are rated for 800mA).

> The column drivers will need to include the current limiting. My own
> choice is something like I showed you (the A, B, C, and D sections)
> where the BJT is operated with the base "nailed" to a voltage, the
> emitter following that voltage closely, and the emitter resistor
> setting the current through your LED. It's all pretty automatic,
> then, and it works reasonably well. And if you keep the base voltage
> high enough, the few tenths of a volt of base-emitter voltage change
> over a fairly wide range of temps won't affect the current enough to
> notice.

I like the idea of taking up the slack with the resistors which makes
it easier to fine tune later. I also think that it will be better to
use a circuit that is thermally stable because I would expect this
thing to heat up quite a bit.

Thanks again for all of the help. I probably won't be on for a while
as I am going on vacation for a week. See you in a week.

-cheers
Brad


29 Dec 2007, 17:16
Post Re: Scrolling 640 LEDs
Mystik738@gmail.com wrote:

> Ok, so if I use two transistors in a Darlington setup then I could use
> a 2N2222 for the first transistor which only has to handle enough
> current to activate the second, main transistor. But the second
> transistor would have to handle the full 3.2A, any recommendations?
> The 2N2222s would be just fine for the column driver, though (if
> memory stands, they are rated for 800mA).

Keep in mind that most transistors have seriously degraded
gain and saturation voltage at their full rated current.
Staying below half of full rated current is usually best for
power switching. For instance, for a 3.2 amp load, I would
probably use a 10 amp rated transistor. For instance:
http://www.st.com/stonline/books/pdf/docs/4213.pdf

Note the DC current gain curves versus collector current and
saturation voltage graphs.


29 Dec 2007, 17:16
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 23 posts ] 


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © phpBB Group, phpBB SEO.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.