-2

Am working on a project where in I had to control 169(13x13) LEDs, I chose ATMEGA 2560 processor for this task but it has absolute maximum Source and sink values as 200ma which was not sufficient. I did some research and found one can use Shift registers, LED drivers but I don't understand those stuff.

I found a solution for my source loading problem i.e to use Voltage Follower(using Opamp) which takes very less current from pin and delivers more current to the load thus reducing burden on the pin.

Now I need to sink the current to processor, I know I can't sink so much current in ,,it will damage the processor,,,now I need to reduce the current coming into the pins without lose of LED brightness since increasing resistance value will reduce the brightness as well as current

All suggestions are welcome.

Mahendra Gunawardena
  • 1,756
  • 1
  • 14
  • 18
Lokanath
  • 412
  • 3
  • 12
  • 1
    I don't think using 26 op-amps would be a good idea. If you don't understand much about this I would recommend using a specialised LED matrix driver board which would take care of everything, addressing and power supply. Otherwise have a look at this: http://www.instructables.com/id/LED-Matrix-with-Arduino/ – DamienD Aug 21 '15 at 09:49
  • 1
    Using 2 ICs (shift register + led driver) is simpler than 13 or 26 Op-amps http://www.instructables.com/id/LED-matrix-using-shift-registers/ – Oka Aug 21 '15 at 10:08
  • hey i got the solution i think use ULN2803A IC to sink the extra current instead of reducing it,,,,am i correct??? – Lokanath Aug 21 '15 at 10:08
  • Yes, you can use 2803A or any transistor array. – Oka Aug 21 '15 at 10:10
  • thanks mate,,,,y i am avoiding shift registers is that it uses I2C which i dont understand properly ,,its too complex,,,good old matrix access to led are better:) – Lokanath Aug 21 '15 at 10:14
  • 1
    Without shif register, you need do multiplexing by software. You can use 13 transistors (or transistor array IC) and 13 resistor. See schematic here: http://hackaday.com/2010/10/26/70-led-matrix-in-a-jack-o-lantern/ – Oka Aug 21 '15 at 10:20
  • Shift registers use I2C? I don't know what chip you are referring to, but shift registers are just a little more complex than a string of flip-flops. See for example the 74HC164. Just a clock line and a data line from the MCU and you are done, without I2C protocol, just "bit banging". – LorenzoDonati4Ukraine-OnStrike Aug 21 '15 at 10:39
  • i have no idea about that registers man,,,,:( – Lokanath Aug 21 '15 at 10:53
  • How much brightness do you need? Do you have a brightness specification. LED will need certain amount of current the maintain brightness. Here are two post that might help you. What is best to control brightness of a LED? and How can I measure the brightness of a LED? – Mahendra Gunawardena Aug 21 '15 at 12:26
  • 90% of LEDs maximum capacity,,,LEDs are rated at 3v 20ma, – Lokanath Aug 21 '15 at 12:29
  • If you're multiplexing your LED matrix each LED will only be on for a fraction of the time. Make sure to include that into your brightness calculations. In your case the effective brightness will be 1/13 of the peak brightness if multiplexing row-by-row. – DamienD Aug 21 '15 at 15:07

1 Answers1

1

Assuming the Opamp is chosen correctly, meaning that it can go to ground with a single power supply (not split supply). Then both ends of the matrix can be buffered with Opamps. There are two caveats though. The first is that most op amps that I've seen can't source more than 100mA at a time and that would make them poor line drivers. The second and more obvious reason this setup would require 26 Opamps to complete.

A different suggestion would be to use Mosfets as line drivers and Opamps combined with BJTs as constant current sinks. This would reduce the loading on the micro and eliminate the need to use resistors for the LEDs.

vini_i
  • 7,108
  • 3
  • 33
  • 52