Questions about LED matrices

Discussion in 'General Electronics Chat' started by Macnerd, Apr 6, 2015.

  1. Macnerd

    Thread Starter Member

    May 22, 2014
    37
    1
    I understand the basics of LED matrices & multiplexing. I understand that LEDs are current-driven, i.e., they won't light below a certain current. I know that one uses Ohm's law to calculate the value of the current-limiting resistor. I know that in order to light the LED, a voltage is applied to the anode thru a current-limiting resistor & the cathode is grounded.

    This is what I don't understand. An individual LED requires, say, 20 mA. There is, for example, a common anode column 8X8 matrix. 8X20 = 160 mA for each column. Does the driver have to supply 160 mA to each column? But the resistance required to limit the current to 20 mA is less than the resistance required to limit the current to 160 mA. That's what confuses me. How does one supply enough current to light, in our example, a row or column 8X8 matrix, but limit the current to 20 mA for each LED? 8X8 = 64. 64X20mA = 1.28 A. Does the driver have to supply 1.28 A to each row or column?
     
    Last edited: Apr 6, 2015
  2. Brevor

    Active Member

    Apr 9, 2011
    279
    54
    The usual way to drive an led matrice is to only drive 1 column and 1 row at a time, if this is the way you are doing it only 1 led is on at a time so only 20 ma is needed.
     
  3. Papabravo

    Expert

    Feb 24, 2006
    10,140
    1,789
    matrix is the singular form.
     
  4. Macnerd

    Thread Starter Member

    May 22, 2014
    37
    1
    Well, I want to be able drive from 1 LED & all LEDs. So, how does the driver supply enough current to light all LEDs without blowing the matrix?
     
  5. Papabravo

    Expert

    Feb 24, 2006
    10,140
    1,789
    Well that depends on whether driving all the LEDs can be done one row at a time for say 10 milliseconds each. Then you only need enough current to light one row or 160 millamps. So it takes 80 milliseconds to do eight rows. The effect you get will depend on the persistence of the LEDs and the similarity between the individual LEDs.
     
  6. cmartinez

    AAC Fanatic!

    Jan 17, 2007
    3,572
    2,535
    Papabravo is right... normally LED matrices are "strobed", meaning that only one LED is lit at a time, and when one wants to show several LEDs lit at the same time, each LED is lit in rapid succession in a repetitive cycle to give the illusion that all of them are being lit simultaneously. The drawback of doing that is that they will seem a little bit dim when compared to lighting them in a continuous way, but that's normally negligible.
     
  7. crutschow

    Expert

    Mar 14, 2008
    13,003
    3,232
    I think you mean the persistence of the human eye as LEDs have no significant persistence.
     
    #12 and cmartinez like this.
  8. Papabravo

    Expert

    Feb 24, 2006
    10,140
    1,789
    Yup. What he said.
     
  9. Macnerd

    Thread Starter Member

    May 22, 2014
    37
    1
    Please explain the following.
    This is what I don't understand. An individual LED requires, say, 20 mA. There is, for example, a common anode column 8X8 matrix. 8 LEDs per column/row X 20mA per LED = 160 mA for each column/row. Does the driver have to supply 160 mA to each column/row? But the resistance required to limit the current to 20 mA is less than the resistance required to limit the current to 160 mA. That's what confuses me. How does one supply enough current to light, in our example, a row or column 8X8 matrix, but limit the current to 20 mA for each LED? 8X8 = 64. 64X20mA = 1.28 A. Does the driver have to supply 1.28 A to each row or column? I've googled LED driver & I know that there are LED driver ICs as well as transistor drivers. I know that each LED in a matrix CAN be driven by an individual transistor driver. Is the key to provide, say 20 mA, but strobe the column or row fast enough so that 2 or more LEDs appear to be on at the same time?
     
  10. dl324

    Distinguished Member

    Mar 30, 2015
    3,242
    619
    Hi Macnerd,

    You're making it too complicated. In an 8x8 matrix, only one diode is (usually) driven at a time; this gives you maximum power and circuit efficiency. Since they're being multiplexed, you drive the single LED with a higher current to get it's average power dissipation to 34mW (using your 20mA drive current) or more. The maximum current and power dissipation specs must be followed. You need each LED to be refreshed at a minimum of 100Hz to avoid flicker.
     
    Last edited: Apr 22, 2015
  11. Macnerd

    Thread Starter Member

    May 22, 2014
    37
    1
    So, does that mean that one should determine the resistance based on the maximum current allowed in the specifications? I have read on the 'net that the higher the current the brighter the LED, but also the shorter the life of the LED. A higher current would mean that the LED gets hot & must cool down. It also occurs to me that resistors have a variation of +/- 5 %. So, when calculating the resistance, one should err on the high side rather than the low side. I know that volts times amps equals watts but how did you arrive at 34 mW?
     
  12. dl324

    Distinguished Member

    Mar 30, 2015
    3,242
    619
    That and the brightness you desire.
    That is true. You want to make sure you don't exceed peak current and average power dissipation specs.
    You need to consider duty factor. When you drive at DC, power dissipation is continuous. When you multiplex, LED is off most of the time.
    5% won't make a noticeable difference in brightness. The human eye response to light is logrithmic.
    1.7V * 20mA = 34mW

    Oh, and you can drive an entire column or row at a time, but then you need to use a current source and provide a supply sufficiently high to allow all LEDs in a column or row to be on simultaneously; so you'd need a 14-15V supply for 8 LEDs.
     
  13. Macnerd

    Thread Starter Member

    May 22, 2014
    37
    1
    OK, I wish to make a slight detour & ask questions on a different but related subject. I'll probably have more questions about matrices.
    I've googled constant current LED drivers & I've seen 2 different kinds - single transistor & double transistor. I've read on the 'net that transistors are temperature sensitive so that a single transistor would not make very good constant current drivers. Of the 2-transistor kind I've seen either 2 BJT transistors or a FET & a BJT. Based on the description of how the circuit works, the driver is basically a feedback loop. So, the driver isn't literally a "constant" current driver. The current goes up & down based on the voltage. I also read that there's a lot of voltage lost on the FET whatever that means. Based on my very limited knowledge of how a FET works, it gradually turns on & gradually turns off. A BJT, on the other hand, is either on or off. So, of the two 2-transistor drivers is one better than the other & why?
     
  14. MrChips

    Moderator

    Oct 2, 2009
    12,440
    3,361
    I don't know how you arrived at that behaviour about BJTs.

    Both FETs and BJTs can be used as ON/OFF switches. They both also can be operated in the linear region to gradually turn on and off.

    An FET is a voltage controlled device with high input resistance. It is controlled by a voltage difference applied between the gate and source.

    A BJT is a current controlled device with low input resistance. It is controlled by a current through the base-emitter junction.
     
  15. dl324

    Distinguished Member

    Mar 30, 2015
    3,242
    619
    You should probably start a new thread for your detour. That way others will know if this thread interests them.
    There are many types of constant current drivers. Post a schematic of any you have questions about.
    I can't think of any electronic devices that aren't temperature sensitive. If you really need a circuit that is less sensitive to temperature, there are ways to minimize sensitivity.
    Some have no feedback.
    If there's enough voltage, the current source/sink will provide the designed current; assuming there's a path for it to flow. In a current source, current is constant but voltage may vary.
    That will be some power dissipation in the FET, but it doesn't have to be a lot. The FET has some "ON" resistance whenever it's operating.
    FETs can also be used as switches.
    BJTs have other modes of operation; they were invented as amplifiers to replace vacuum tubes...
    All circuits have compromises. Post schematics.
     
  16. Macnerd

    Thread Starter Member

    May 22, 2014
    37
    1
    The "traditional" way to drive an array of LEDs is by strobing. But is it the only way?
    8 LEDs have a total of 256 ways of being on or off. The strobing way drives 2 or more rows or columns repeatedly very fast & because of the persistence of vision of the eye, 2 or more LEDs appear to be on at the same time.
    I watched a YouTube video where 8 LEDs were connected to a shift register & the LEDs lit up in binary sequence from 0 to 255. I know that there are bidirectional shift registers. I suppose that the shift register can be preloaded with a value between 0 & 255 & output to the LED array. I want to be able to go from 0 to 255 or from 255 to 0 or to count upwards or downwards from a preloaded value. I also want to be able to use an Arduino & have it generate a random integer value between 0 & 255 & output it to the shift register. But I don't want to strobe the matrix. Surely there is a way to accomplish what I want to do without having to resort to strobing.
    Is there?
     
  17. takao21203

    Distinguished Member

    Apr 28, 2012
    3,577
    463
    about 50 hz mulyiply phases
     
  18. takao21203

    Distinguished Member

    Apr 28, 2012
    3,577
    463
    yes several

    1 electron beam point scanning

    segments as phases inversed

    as matreix

    charliplexed

    serial led

    external refresh drive
     
  19. #12

    Expert

    Nov 30, 2010
    16,278
    6,791
    That is because it is wrong.
    I think I picked up on a mistake that nobody else picked out.
    So, if you want to run several LEDs at once, arrange the circuit (with extra transistors if necessary) to drive each LED with 0.02 amps.
     
  20. Macnerd

    Thread Starter Member

    May 22, 2014
    37
    1
    electron beam point scanning?
    I've considered charlieplexing. It's fine for smaller arrays, but, according to my research, it's more complicated with bigger arrays. It's necessary to switch the pins back & forth from input to output. That complicates the code. Perhaps a serial in/parallel out shift register. What's an external refresh drive? Is that different from an LED driver? Is serial LED the same as LEDs in series? I wonder about SPI or I2C. Please elaborate on "segments as phases inversed".
     
Loading...