Electronic – LED circuit stopped working when expanded

currentledmosfetpullupsinking

enter image description here

I built a small prototype as shown in my diagram with the Si926 n-FET, 250 ohm pull up resistor. In my prototype board I have only 4 channels connected (only two shown). Only one LED is ever turned on at a time. When I set 3 outputs off (ground) and only 1 on, the FET turns on and I am able to supply current close to my max of 100mA for specific LEDs. I can do this for any of 4 channels, one at a time with the other channels off. However, I had a pcb made with 32 channels, 32 FETS and 32 LEDs (only 16 pull ups) and 2 decoder chips. Now my circuit behaves oddly. If I turn on only one channel and others, as described, then slowly turn up the current source, the current supply drops out at 1ma. Drop out, is when the current source detects an open circuit or extremely high impedance and subsequently disables its output.

NOTE: I am not using the PWM of max6964. The brightness of the LEDS is controlled by the current source. The constant current source is part of a design restriction. It is supplied by a constant current supply that is controlled elsewhere. It is a bench top current source. One source for all LEDs.

LED data

MAX6964 Data Sheet

Si926dl Data Sheet

Is it possible that having 32 of these output circuits is somehow effecting (lowering) the FET gate voltage with the decoder chip output low (ground) and thus causing the FET to not switch on?

Do I need a different pull up resistor? I wanted to keep it small so the voltage drop would be in the range of Vgs 1 to 2.5v.

Would changing the FET to Toshiba SSM6N43FU with Vgs 0.35v to 1V do the trick?
Toshiba SSM6N43FU

Best Answer

When you have 31 LEDs off, your current draw from the 3.3V rail will be:

$$ I=31\frac{3.3V}{250\Omega}=409.2mA $$

Whereas with only 3 LEDs off (that's what happened when you only had 4 channels):

$$ I=3\frac{3.3V}{250\Omega}=39.6mA $$

Because you are pulling up the N-channel MOSFETs with low valued resistors, having to turn off 28 additional LEDs adds 360mA to your current requirements. If your power supply can't do that, it will start pulling down the voltage, and then the MAX6964 won't be able to output 3.3V to drive the gates (because it won't be getting them at its Vcc pin in first place).

This adds up to the fact that Si969 is only marginally capable of switching at 3.3V. The RdsON at VGS=4.5V is 3 Ohm. At 3.3V you can expect it to be higher, but it may still let enough current to light up the LED. However, if the power supply gets pulled down to, let's say 2.5 V, RdsON may be too high (higher that the 10 Ohm resistor of each LED channel, possibly) or it may not be able to switch at all.

What can you do about it?

  1. Redesign your circuit using P-channel MOSFETs and active HIGH outputs from MAX6964. This will reduce the consumptions from your pull-ups no almost zero (only the pull-ups from the channels turned on will draw current). This may be traumatic for you so you can do another thing instead...

  2. Increase the value of your pull-up resistors. 10x, even 100x. 250 Ohm is way too low. Unless you need blazing fast switching, a 4K7, 10K or even 22K pull-up is perfectly fine.

  3. As a last resource, increase the current rating of the power supply (=buy a more capable one). Not recommended!