|
It is currently 19 May 2012, 18:32
|
View unanswered posts | View active topics
|
Page 1 of 1
|
[ 23 posts ] |
|
| Author |
Message |
|
Mystik738
|
 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 |
|
 |
|
DJ
|
 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 |
|
 |
|
Mystik738
|
 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 |
|
 |
|
Jonathan
|
 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 |
|
 |
|
Rich
|
 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 |
|
 |
|
Dan
|
 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 |
|
 |
|
Mystik738
|
 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 |
|
 |
|
DJ
|
 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 |
|
 |
|
Nobody
|
 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 |
|
 |
|
Jonathan
|
 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 |
|
 |
|
Mystik738
|
 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 |
|
 |
|
DJ
|
 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 |
|
 |
|
DJ
|
 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 |
|
 |
|
Mystik738
|
 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 |
|
 |
|
Mystik738
|
 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 |
|
 |
|
Nobody
|
 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 |
|
 |
|
Jonathan
|
 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 |
|
 |
|
Mystik738
|
 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 ... 0162418382I 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 |
|
 |
|
Jonathan
|
 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 |
|
 |
|
Mystik738
|
 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 |
|
 |
|
Jonathan
|
 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 |
|
 |
|
Mystik738
|
 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 |
|
 |
|
John
|
 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.pdfNote the DC current gain curves versus collector current and saturation voltage graphs.
|
| 29 Dec 2007, 17:16 |
|
 |
|
|
Page 1 of 1
|
[ 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
|
|