Auto detect LED failure

I'm using bunch of LEDs with red, blue and yellow colors in a product for sign indication. the product has total around 150 LEDs of all three different colors.

As these LEDs are purchased in bulk, there are some faulty LEDs which are sorted on either side or both side. Currently, I check each LED with multimeter in forward bias and reverse bias mode. If LED is OK, then I solder it to PCB. These method works but it is time consuming. is there any fast method to check bunch of LEDs?

Another question is, there are some LEDs on PCB, which become faulty after some use. Some are sorted on either one side or both side. So, is there any circuit that I could integrate in my PCB which will detect LED failure?

Below image is the LED driving part of circuit. Is there any problem in my circuit to cause some LEDs to become faulty after I install them on PCB?

The L1, L2, L3 are connected to AVR microcontroller with 3.3V operating voltage. 74HC595 is supplied with +5V and controlled by AVR. Circuit shows only three LEDs, but there are a bunch of LEDs in column not shown in circuit for sake of clarity. Does this circuit have any problems?

EDIT:

I want to mention that only one LED will glow at time out of all 150 LEDs. So, No over-current problem in this case. I have tested voltage drops for each color type and according to that resistor R1 is set to 200 ohms which is maximum resistor value required by three color types(The brightness level may be low for 2 out of 3 color types, but that is OK for me). I am thinking to create a test program that will run on on-board AVR microcontroller and test each LED. is it possible to test LED from its current and applied voltage value by program ? Any idea how it can be possible ?

EDIT-2:

Suppose if any channel (guess here QA) is off(at 0V) in 74HC595 IC and L1 is at 0V then, LED D1 gets 5V at cathode side and 0V at anode side. Is it cause failure due to reverse breakdown of LED? Can i omit R62, R65 and R68 pull-up resistors ?

• On the second part of the question you could consider a current shunt to measure overall current of the LED drivers. Probably wouldn't be super-accurate but would probably be good enough to pick up significant failures, or you could quickly cycle each LED for an occasional self-test. – PeterJ Apr 27 '14 at 11:33

Component Failures fall in to 3 categories and generally in this order;

1. Bad Process ( solder, handling and ESD control )

Considering LED's are all factory tested 100% for Iv (Luminous Intensity), I suggest you illuminate us with pertinent details that might explain 1. or 2. Then you wont have an issue with 3.

ESD damage can cause early failure or immediate failure unless you choose parts with Diode protection built in or use them in back-to-back mode parallel mode where bi-colour depends on polarity and interpolated color depends on duty cycle.

Why waste time testing LEDs that were already good and spend time instead looking for anything that can cause >-5V > 100uA. You are probably contributing to the failures without knowing it.

• I have a feeling that these are "off brand" or otherwise surplus LEDs. Out of thousands installed in PC boards, I can count on one hand the number of LEDs that were DOA. Even with poor or non-existent ESD handling practices. – lyndon Apr 29 '14 at 0:36
1. Generally, there is no need to check reverse bias on an LED. A faster way to check forward operation is simply to set up a 5-volt supply with a resistor and a test socket. Plug the LED into the socket and see if it lights up. 5 volts is used just because it's probably less than the allowable reverse voltage for the LED (just in case you get it wrong). You don't say whether your LEDs are through-hole or surface mount. Test sockets are harder to get for SMDs. So your test procedure is: plug the LED in and see if it lights. If it doesn't, pull it out and turn it around. If it lights now, it's OK. Oh, yes, and you need to be careful of static when handling your parts if you want to produce a commercial product.

2. Your circuit has two problems, or maybe three:

• The first is, as Cornelius pointed out, that you should not use a common resistor to limit the LEDs. Even if you only light one LED at a time, since you are using different colors the forward voltages will be different. This will (probably) cause different brightness levels. If this is OK, fine. Otherwise, you should provide different resistors to the LEDs to get uniform brightness.

• The second problem is that, for a product with 150 LEDs, you should not use discrete drivers. You'll get better size and reliability with integrated channel drivers to replace the transistors.

• The third, possible problem is your direct use of the 74HC595 as a high-side driver. Since you're talking about making a sign, you may need high brightness. You don't specify how much current you need, but be aware that the 74HC595 outputs are only rated for 25 mA per channel. If you do turn on all three LEDs, and each LED draws more than 8 mA, you're in trouble.

3. The only other (possible) problem I suggest you give some thought to is power dissipation. If each LED draws 10 mA, then when all 3 are on you'll be drawing 30 mA. Times 50 channels is 1.5 amps. Times 5 volts is nearly 8 watts. If the board is mounted behind a clear protective face plate, the inside of the enclosure can get toasty real fast. Even if this is OK in the short term, it will affect reliability.

Finally, you might also need to sort your LEDs by brightness. For a sign, a certain amount of point-to-point variation is OK, but depending on your application it may not be. If not, you'll need to make a test box which drives the LED and illuminates a photodetector, and you select a brightness bin based on that. When assembly time comes, you use only LEDs from the same bin.

As for failure detection, that's fairly easy (in principle). Assume the failure mode is that the LED becomes open. Then you can use a comparator to check the LED voltage when a channel is being driven. If the circuit looks like the one you've provided, but with a resistor for each diode, monitor the resistor/LED connection. This should drop by about 3 volts when the LED is turned on. Of course, this means that you need to monitor 150 bits of comparator data, but that is left as an exercise for the reader.

To check LEDs faster use some kind of 2 pin socket connected to a power supply in series a resistor (for example 220 ohms with a 5v supply, 680 ohms for 12V supply). Place the LED in (look at polarity!), if it lights up solder it to PCB. It's faster than checking with multimeter.

That circuit isn't the best idea. First of all, what is the value of R1? It should be 220 ohms for 5V. But that is just for one LED. If you turn all three on, they will be dimmed, because in that case your R1 should be 82 ohms.

I suggest you omit R1 there and add a 220 ohms resistor (I suppose VCC = 5V) on each of the outputs of the transistor switch (ex. from pin 1 of Q1 to cathode of D1). This way you'll have constant current on each LED no matter the others.

Also on the output of 74HC595 you should use a transistor, because otherwise it wouldn't support the current for that many LEDs (for three I guess it is ok).

Anyway, here is how to calculate the value of a resistor needed to use a LED: most LEDs need 20 mA to work properly (the super-bright ones need more). So to find the resistor value, just divide the voltage by this current. Ex. : for 5V => 5V / 0.02A = 250 ohms. Choose the nearest standard resistor value (220 or 270 ohms). If you have LEDs in parallel, the current adds, so resistor should have lower value.

Is it cause failure due to reverse breakdown of LED? Can i omit R62, R65 and R68 pull-up resistors ?

It is perfectly fine to omit the resistors.

You can also change them to 100 kOhms instead.

The reverse current will then be limited to a few uA which is a safest bet. Since there is no LED data sheet, going by general numbers 5V reverse voltage is acceptable with 100kiloohms series resistor.

There is no way LED can fail due to that low power dissipation during reverse bias.

On detecting LED failure

Case 1: Assuming LED is open state (failure or bad dry solder) drawing no current..

Split R1 into two resistors in series. Junction of those two resistors give an idea whether the current is flowing or not. If the current is flowing, you will read 5V else roughly 1 V. Depending on the resistors value and LED Vf

You can use built in ADC or comparator for the same.

Case 2: If the LED is short

You will read 2.5V if the two series resistors are of same value.