Maker Pro
Maker Pro

"Dimming" LED's with pot/rheostat by progressive shutoff

Chocolate Sheikh

Aug 28, 2013
7
Joined
Aug 28, 2013
Messages
7
hello, first post please entertain a noob question.

What are circuits called that vary the amount of light output by its LED's by turning on/off a number of diodes proportional to the pot's dial position?

dial off position: 0 lights on
dial midnight: 50% of lights on
dial full position 100% of lights on

etc
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
Google "LM3914" :)
 

Chocolate Sheikh

Aug 28, 2013
7
Joined
Aug 28, 2013
Messages
7
Hi steve, I had hoped to bypass the need for IC's with this solution because it seems simpler. plus it looks like that TI chip can only drive 10 diodes and the application is going to have hundreds.

edit: unless each terminal of LM3914 can control a series of diodes? is that even possible?
 
Last edited:

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,745
Joined
Nov 17, 2011
Messages
13,745
Do you want to:
- control the brightness of all LEDs simultaneously
or
- turn on or off a number of LEDs while keeping the ON-LEDs at full brightness?

The two methods require different measures:

Control the brightness:
Use a controlled current source as Steve suggested. If you are going to control more then a few LEDs ("hundreds"), you should split them into manageable groups of e.g. 10 LEDs. Since each LEd has a forward voltage drop of 1.6V-3V, depending on the type of LED, this will require somewhere between 16V...30V of supply. If you were to connect 100 LEDs, that would require 160V...300V. You're not going to handle that voltage.

Control the number of LEDs:
A microcontroller is the way to go. Use a rotary encoder or a potentiometer + A/D converter (A/D converter preferably build into the microcontroller) to encode the position of the knob. Use that position to control ON/OFF of the various LEDs.
 

Chocolate Sheikh

Aug 28, 2013
7
Joined
Aug 28, 2013
Messages
7
- turn on or off a number of LEDs while keeping the ON-LEDs at full brightness?

this. the diodes will definitely be split into separate groups.

I am planning on using a desktop PC power supply so there should be plenty of power.
 

Fish4Fun

So long, and Thanks for all the Fish!
Aug 27, 2013
481
Joined
Aug 27, 2013
Messages
481
Chocolate Sheikh,

If you are simply trying to "Dim" an LED light, this is best achieved via PWM using a buck or forward converter with a current feedback loop. Depending on the efficiency requirements, power level and voltage source involved there are a number of solutions, but they will all require "ICs", lol.

Generally when people want to use hundreds of LEDs they are making some type of display. I will assume this is your intent.

First, LEDs are interesting devices in that the light output is a non-linear function of the voltage input; that is to say, they are current driven devices. Using Ohm's law we can limit the current in an LED using a series resistor as follows:

LED Vf = 3V to 3.5V
LED Imax = 100mA

If we have a 5V source voltage and want to limit the LED to 50mA our series resistor would be:

Code:
Worst Case:
5V - 3V = 2V 
2V = 0.05 * R  ==> R=40 Ohms
Best Case:
5V - 3.5V = 1.5V
1.5V = 0.05 * R ==> R = 30 Ohms
In General we would select the first nominal value above 40 Ohms (ie 43 Ohms).

If we have a 48V source voltage and want to limit the LED to 50mA our series resistor would be:

Code:
Worst Case:
48V - 3V = 45V 
45V = 0.05 * R  ==> R=900 Ohms
Best Case:
48V - 3.5V = 44.5V
1.5V = 0.05 * R ==> R = 890 Ohms

In General we would select the first nominal value above 900 Ohms (ie 910 Ohms).

Sadly, while this very simple circuit achieves the goal (powering the LED), it can be highly inefficient:
Code:
Using:
E = IR
and
P = IE 

we get:

P = I^2R

so, in the first case our resistor is dissipating:
(0.05 * 0.05) * 43 = 107.5mW 
however, in the second case:
(0.05 * 0.05) * 910 = 2.275W 

While the LED itself  is dissipating between:
0.05A * 3V =  15mW
0.05A * 3.5V = 17.5mW

As you can see the vast majority of the power is being dissipated in the resistors even if the source voltage is very close to the LED voltage (which has it's own problems).

If you were to power 'hundreds' of LEDs using simple resistors the waste heat produced would become enormous. Powering vast LED arrays has only become feasible in the last decade or two and the technology to achieve it is at the bleeding edge of large scale displays and mass-market LED lighting. The electronics behind driving these seemingly simple devices is actually quite complicated. There are no "short-cuts" or "easy answers".

Modern LED drivers rely on very fast low impedance switches in carefully designed current limited power supplies. On the list of "tricks" employed in displays is "addressing" a single line of LEDs at a time, and within the line being addressed, address each LED in sequence. To get a handle on how this works, imagine a 10x10 array of LEDs, that is 10 "Rows" and 10 "Columns". You might think you need 100 switches to achieve complete control of the array; however, it turns out it can be done with 20. Imagine each "Row" has a switch that connects to the annode of all of the LEDs in that row. Similarly, each Column has a switch connected to the cathode of each LED in its column. To turn on any given LED you simply turn on the Row switch and the Column Switch. To make it "appear" like a pattern or picture you have to cycle through each row and column (in this case 100 "cycles" ) turning each required LED on as needed. If you complete each full cycle (ie address all 100 LEDs in less than 10mS the Human eye will perceive the entire array as being "on at the same time" and will "see the picture or pattern". This implies that each row must be addressed for 1mS, and each column within a row only has 100uS to be addressed. If we expanded the array to 100 x 100, each row would only have 100uS to be addressed and each LED in that column would only be addressed for 1uS.

So far we have assumed we only want each LED to be "fully on" or "fully off" (no regard to "intensity"), obviously this is not ideal. In our 10x10 array we might then decide we wanted to vary the LED intensity between 0 and 10 implying that while it is being addressed it might be on for the Full 100uS or some portion of the 100uS like 40uS. Expanding this model to a 100x100 array would require switches capable of nS range capabilities, a non-trivial requirement even in today's world of ultra fast switches. The answer in most modern large displays is "Arrays of Arrays", but this can get really expensive, and is frequently solved differently. For instance the giant Sony "Jumbo Trons" you see in football games are in reality an array of specially designed flat screen TVs controlled by an array of PCs that act as a single massive VGA card. It turns out that is currently the most cost effective solution, LOL.

I would anticipate in the near future an RGB module that accepts some type of high-speed serial input and translates that to a module sized image. These are already all over the internet: http://www.ebay.com/itm/5mm-8x8-Mat...205?pt=LH_DefaultDomain_0&hash=item5d43100e2d and I cannot imagine it will be long (if it hasn't already been done) before someone designs/builds a dedicated driver for some number of them in an array. From there it is simply a matter of putting these modules together and controlling them simultaneously (LOL, "simple" ;-) ). So, for a 59" x 39" TV it would only take ~60,000 of these 5mm modules and likely a few thousand DSPs to control it! hehe.

Fish
 
Last edited:

KrisBlueNZ

Sadly passed away in 2015
Nov 28, 2011
8,393
Joined
Nov 28, 2011
Messages
8,393
Yes, you can use an LM3914 to control multiple LEDs.

In the standard LM3914 application, each of its outputs goes electrically low to turn on the LED connected to it. You need to replace each LED with a circuit that controls a number of LEDs.

How many different steps do you want between "all LEDs OFF" and "all LEDs ON"? As you say, the LM3914 only has ten outputs, so if you use it, you will only have nine intermediate brightness steps.

It is possible to avoid using the LM3914 but the equivalent discrete transistor circuit will be a lot larger.

Can you answer these questions:

1. How many LEDs do you want to drive, in total?

2. What are the specifications of the LEDs? Do you have a part number or a link to a data sheet?

3. What current do you want to run each LED at? (How many milliamps?)

4. Is nine intermediate steps between "all OFF" and "all ON" enough? If not, how many steps do you want?

5. What is the rating of your power supply? Can I assume it's 12V DC?
 

davenn

Moderator
Sep 5, 2009
14,264
Joined
Sep 5, 2009
Messages
14,264
As you say, the LM3914 only has ten outputs, so if you use it, you will only have nine intermediate brightness steps.

dont forget you can cascade the LM3914 so have a larger number of steps :)

Dave
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
Is the final purpose to control the amout of light output, or do you really want the effect of having some % of LEDs on depending on the position of the pot?

Bob
 

KrisBlueNZ

Sadly passed away in 2015
Nov 28, 2011
8,393
Joined
Nov 28, 2011
Messages
8,393
Bob, he answered that in post #5. He wants the actual LEDs to have fixed brightness, and he wants the number of illuminated LEDs to change.
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
I was trying to get at his reason for doing it. If it is just to control the amount of light, PWM is a better way. The use of the word "dimming" in the title indicates to me that he is just wanting to control the light output.

Bob
 
Top