RGB dot matrix help

Thread Starter

alitex

Joined Mar 5, 2007
139
hi.
i have rgb dot matrix project,but there r problem,when i make scan to rgb dot matrix to show any picture the luminous intensity is decrease and the light of leds become lower,so can any one help me to use any circuit needed
 

Thread Starter

alitex

Joined Mar 5, 2007
139
use one resistor per led (and NOT one for all leds connected to the common) and maybe some more power from the PSU
i used alot of methods that give me more power such as transistor npn bc547 as switch but i can't take what i want,
 

Thread Starter

alitex

Joined Mar 5, 2007
139
Can you post a schematic of your work?
this is of schematic of my project and diagram of dot matrix

port a for red color of dot matrix,port c for green color of dot matrix,and port d for blue color of dot matrix, i used (decoder 7407 ic) to saving more ports for programmer, out of 7407 to not gate because it take one state is low and rest of bin is hi but i want to reverse it for scanning operate,
the only problem is during of scanning operate the lighting og led it become is low so i can't draw any picture bec. i can't control in colors clearly
may any one understand my problem
 

Attachments

Last edited:

kammenos

Joined Aug 3, 2008
127
You make the scan row to row i guess e? And when you power all the leds (without changing rows) the light is better.

I had a similar problem. I had 8 7-seg leds. I had one transistor to each common and 8 wires to all leds. The process was similar, every time, only one display was on. Because of the fast change, the display had lower light than normal.

What i want to say is, maybe you run too fast the scan process. Try to give them some more time to light.
 

Thread Starter

alitex

Joined Mar 5, 2007
139
You make the scan row to row i guess e? And when you power all the leds (without changing rows) the light is better.

I had a similar problem. I had 8 7-seg leds. I had one transistor to each common and 8 wires to all leds. The process was similar, every time, only one display was on. Because of the fast change, the display had lower light than normal.

What i want to say is, maybe you run too fast the scan process. Try to give them some more time to light.
right...
the only reason of our problem is scanning,i used transistor for each common but really i can't solve it.
you know,i want to make board different dimensions for example 1x1m,2x1m,5x3m etc.:)
 

kammenos

Joined Aug 3, 2008
127
You must make a better software. You must make it run faster and keep it alittle bit longer every line. What transistor you use for common? I use 2n2222.
 

Thread Starter

alitex

Joined Mar 5, 2007
139
You must make a better software. You must make it run faster and keep it alittle bit longer every line. What transistor you use for common? I use 2n2222.
i used bc337 as switch but that is not useful so i see the best method to run it is connect rgb dot matrix to mocro atmega16 immediatly
 

Thread Starter

alitex

Joined Mar 5, 2007
139
You must make a better software. You must make it run faster and keep it alittle bit longer every line. What transistor you use for common? I use 2n2222.
i used bc337 as switch but that is not useful so i see the best method to run it is connect rgb dot matrix to micro atmega16 immediatly.
waht is ur opinion about it???
 

SgtWookie

Joined Jul 17, 2007
22,230
The datasheet for the RGB dot matrix is here:
http://www.luckylight.cn/product_images/b/cn_b_15_935.pdf
See page 4.
The absolute maximum specification for current (each individual LED) is 25mA.
However, that is constant current (ie: ON all of the time).
You can give it up to 100mA current for 0.1mS, and then wait for 1mS (1/10 duty cycle)
Your atmega16 will not likely be able to supply anywhere close to that much current.

Consider using ULN2803 or ULN2804 driver IC's for the cathode side of the array. If Vcc/Vdd <= 5v, use the ULN2803. If Vcc/Vdd >5V, use ULN2804. These ICs contain eight Darlington arrays that can sink up to 500mA per output.

You will need three of these IC's for each LED array, since they are common anode.
Each Darlington output will require a resistor to limit maximum current from the LED array. The resistors will be different between the red, green and blue LEDs due to the different Vf (forward voltage) of the LEDs.
Red - 1.85v @ 20mA, 1.99v @ 50mA
Grn - 2.2v @ 20mA, 2.53v @ 50mA
Blu - 3.2v @ 20mA, 4.7v @ 50mA (the 4.7v @ 50mA was extrapolated from the chart; as it ended at 25mA)

You will need to calculate the value of the resistors by taking your supply voltage and subtracting the Vce of both the anode-side and cathode-side drivers from it, then subtracting the Vf of the diode, and then divide the remaining voltage by the desired current. Example:
Rlimit = (Vsupply - Vce(anode side) - Vce (cathode side) - Vf(LED) ) / Desired Current
If Vsupply = 5v, Vce on the anode side is 0.1v, and Vce on the cathode side is 0.1v, and Vf(LED) = 2.53v for a desired 50mA current:
Rlimit = (5 -0.1 -0.1 -2.53) / 50mA
Rlimit = 2.27/0.05
Rlimit = 45.4 Ohms. The closest standard E24 (5% tolerance) value is 47 Ohms. Let's see what the actual current will be:
I = E/R (Current = Voltage / Resistance)
I = 2.27/47
I = 48.3 mA - very close. Let's see what wattage is required:
P = EI (Power in Watts = Voltage x Current)
P = 2.27 x 0.0483 = 110mW (rounded up)
Since the duty cycle will be about 1/8, your average power will be 13.75mW.

For the anode side, consider using one of the following source-type arrays:
M54562, M54563, M54564
MIC2981,MIC2982
UDN2981,UDN2982
 
Last edited:

Thread Starter

alitex

Joined Mar 5, 2007
139
The datasheet for the RGB dot matrix is here:
http://www.luckylight.cn/product_images/b/cn_b_15_935.pdf
See page 4.
The absolute maximum specification for current (each individual LED) is 25mA.
However, that is constant current (ie: ON all of the time).
You can give it up to 100mA current for 0.1mS, and then wait for 1mS (1/10 duty cycle)
Your atmega16 will not likely be able to supply anywhere close to that much current.

Consider using ULN2803 or ULN2804 driver IC's for the cathode side of the array. If Vcc/Vdd <= 5v, use the ULN2803. If Vcc/Vdd >5V, use ULN2804. These ICs contain eight Darlington arrays that can sink up to 500mA per output.

You will need three of these IC's for each LED array, since they are common anode.
Each Darlington output will require a resistor to limit maximum current from the LED array. The resistors will be different between the red, green and blue LEDs due to the different Vf (forward voltage) of the LEDs.
Red - 1.85v @ 20mA, 1.99v @ 50mA
Grn - 2.2v @ 20mA, 2.53v @ 50mA
Blu - 3.2v @ 20mA, 4.7v @ 50mA (the 4.7v @ 50mA was extrapolated from the chart; as it ended at 25mA)

You will need to calculate the value of the resistors by taking your supply voltage and subtracting the Vce of both the anode-side and cathode-side drivers from it, then subtracting the Vf of the diode, and then divide the remaining voltage by the desired current. Example:
Rlimit = (Vsupply - Vce(anode side) - Vce (cathode side) - Vf(LED) ) / Desired Current
If Vsupply = 5v, Vce on the anode side is 0.1v, and Vce on the cathode side is 0.1v, and Vf(LED) = 2.53v for a desired 50mA current:
Rlimit = (5 -0.1 -0.1 -2.53) / 50mA
Rlimit = 2.27/0.05
Rlimit = 45.4 Ohms. The closest standard E24 (5% tolerance) value is 47 Ohms. Let's see what the actual current will be:
I = E/R (Current = Voltage / Resistance)
I = 2.27/47
I = 48.3 mA - very close. Let's see what wattage is required:
P = EI (Power in Watts = Voltage x Current)
P = 2.27 x 0.0483 = 110mW (rounded up)
Since the duty cycle will be about 1/8, your average power will be 13.75mW.

For the anode side, consider using one of the following source-type arrays:
M54562, M54563, M54564
MIC2981,MIC2982
UDN2981,UDN2982
thanks alot for informations.
the datasheet that you give me is as device what i have and i have the same datasheet,ok but there are two quistions,
_the first one:the udn2981,mic2981,and m54562 for anode side right?
but what is output voltage? is it 50V or there is range related to input voltage? so what i can take voltage due from it?
_the second one:i can take from atmega16 ports low state easily so what is useful of uln2803 to every color?
many thanks.....
 

SgtWookie

Joined Jul 17, 2007
22,230
_the first one:the udn2981,mic2981,and m54562 for anode side right?
Yes, those ICs I listed at the very bottom are all source-type driver arrays. There are 8 drivers per IC, so you will only need one; any of the 7 I've listed should work. I do not know which of those might be available to you, as I do not know where you are. The ICs can handle up to 50v for the output supply. You will not need that much voltage. However, you will probably require up to 8v for the blue LED drive, as to get 50mA current, it requires 4.7v.
For the ULN2803, you may get a Vce of 0.9v to 1.1v at 100mA.
For the source drivers, you may get a Vce of -1.5v to -2.0v at -100mA. You should measure the drivers you get to select the proper current limiting resistors.
So, if the blue requires 4.7v for 50mA, and worst case uln2803 drops 1.1v, and source driver drops 2v, you will need:
4.7+1.1+2.0=7.8V supply - but you actually need at least 1/2v more to provide accurate current limiting resistors - so that is 8.3v.

_the second one:i can take from atmega16 ports low state easily so what is useful of uln2803 to every color?
The atmega16 can source or sink up to 40mA (absolute maximum), but even sinking 20mA with Vcc @ 5v the output may be as high as 0.7v, and sourcing -20mA with Vcc @ 5v, the output may be as low as 4.2v.

The atmega16's I/O pins cannot source or sink enough current to drive your RGB matrix directly at the current levels they require to be bright enough.

You do not have to use the driver ICs I mentioned, but you do need to use some kind of drivers to both source and sink current through your LEDs.

If you are going to exceed the LED's maximum constant current of 25mA, you must be absolutely certain that no LED in the array will be on for more than 0.1mS unless it has an OFF time of about 1mS. You will need to examine your coding carefully to determine how long the ON/OFF times are now, and make adjustments if necessary.
 
Top