Suggestion for High PWM frequency LED Driver

I went through some of my past projects to look at the drivers that I used – most of them are way below your 350mA target. And the only one that wasn’t was way off in the other direction (~40A)

Most of what I used were LED drivers from Linear Tech. ST also makes a few that I’ve also used.

Are you addressing each LED one by one with that single Vf? Or do you have a chain?

Thanks for these suggestions. I hadn’t seen the BCR420/421 before. Although it is a linear driver it looks promising allowing pwm frequencies up to 25 kHz. Some of the other linear driver I have found go into a low power mode when the pwm pin is brought low for a time. This is an issue for me as I want the part to be alive immediately on pwm input. I may end up using a linear part like the BCR421 and putting a resistor in series with the LED to dissipate some power so the driver doesn’t have to deal with the dissipation. I will probably use 5 volts as my supply voltage. The AL1793 3 channel device also looks like an interesting candidate.

@ToyBuilder I would be addressing each LED one by one. It doesn’t seem to be a a problem finding drivers that work at 350 mA it’s really about finding drivers that respond well to high frequency (above 10 kHz) PWM frequencies.

No problem! Happy to help. It doesn’t hurt to get a few and try them out. I feel like this is one of those cases where you are going to have to get some and see what happens.

Another dirty trick I’ve seen for reducing the power on the CC driver is to bypass it with some high power resistors. I don’t remember the values, unfortunately. I want to say that it was in the 100s of ohms for something like a max of 6-10V on the top of the FET? Something that would have to be SPICE modeled to get a feel for it I think. You lose some of the current control, but you reduce the load on the driver. I believe this was a design that was done with a pair of transistors. The main driver was a FET and gate tuning control was done via a BJT.

I only took a quick glance at the TLC5957, but as far as I can tell it supports current control (used to control white balance and overall brightness) and then PWM to control individual LED brightness. What is missing or am I completely misunderstanding?

From my understanding it only can sink up to 25mA per channel. I didn’t check how it can be used to drive other circuitry from from those IO pins though.

Yup, you’re right, I missed that.
I can’t tell from the OP why “the VF of the LEDs range from 2.8 to approx. 3.5 volts.” If they can easily be grouped (e.g. they’re different colors), then what I would explore is to use a CV supply per group that is as close as possible to what’s required to get the desired current and then use linear constant current drivers to drop the rest. My gut feeling is that this will have very comparable efficiency to 50 individual buck controllers. It’s not like they’re 100% efficient either…

Have a look at the NSI50150ADT4G from ONSEMI. A one part solution in D-pak which is a linear current driver up to 350mA. Put it in series with the LED and an N-channel mosfet. Choose the input voltage carefully so that dissipation stays minimum.

@ScottS yes you are correct, the TLC5957 has limited drive ability. I’ll be putting a pullup resistor on the outputs of that part and possibly an inverter on the outputs to drive the LED driver IC (or possibly do this in software)
@tve , yes there are 3 different colors, RGB. The LEDs need to be driven individually so I can’t group them together, unless I am misunderstanding what you mean by grouping them. Though there will be some wasted heat I think the simplest is to just add a small 1 watt series resistor with the LEDs to eat up the dissipation. That way I’m only dealing with 1 power supply.

@Bikkel thank you very much for the suggestion of NSI50150ADT4G . This along with a FET or bipolar transistor looks like a great solution. A bit pricier than the BCR solution but more robust and probably faster PWM speed. I’ll buy some and give it a try as well.

I’m having difficulty finding info in the datasheet WRT drop-out voltage, or minimal voltage drop, or minimal on-state resistance. The only thing is in the (tiny) electrical characteristics table they have Voverhead at 1.9V at 72mA (ouch!) and in there the max steady-state current is 165mA. So I don’t think your search is over :wink:

I have used the BCR420 with PWM channels fed off an ESP32, although it was only at 3kHz PWM.

I poked around a little bit – have you seen the ADP8140? (https://www.analog.com/media/en/technical-documentation/data-sheets/adp8140.pdf) Upon my first glance, it looks like it has 4 channels, 500mA per channel. PWM up to 40 kHz. I didn’t take a deep dive, so I may be missing important details.

Thanks @ToyBuilder . Looks like an interesting chip. Pricey beast but it has a lot of capabilities. I’ll try to dive deeper into it.

@tve v I agree, the datasheet is a bit lacking but figure 8 in the datasheet shows a 350 mA example with a voltage drop across the device of 2.5 volts so there is hope. I read somewhere online where someone said it had a minimum voltage drop of 0.5 volts but I don’t see that on the datasheet .

Oh, dang it, I just realized that it’s a backlight/lighting type driver so there is only a single PWM channel for the four output channels – a very expensive driver for driving one pixel…

Have you considered the TPS61042?

Thanks @1.21Gigawatts . I will look at it again but I believe when I looked at this there was an issue that the PWM input pin is also the enable pin. This meant restriction on initial PWM signal to wake it up which I didn’t want to deal with. I wanted the PWM input to be immediately available.

Yes, it does require an initial 50us pulse to enable the device but then it remains enabled so long as the PWM is applied. A very low duty cycle PWM would keep it active so long as the PWM is not low for 32ms.

Thanks, I wish there was a way to disable the sleep feature. If I was to use a 15 KHz PWM for example it means I would have to start off by sending a 75% duty cycle to enable the chip. I’ll think about this some more but it does complicate things as I want to ramp up the pwm from 0 to 100%. Not sure if that 75% duty cycle pulse would be visible if it is so short?

Why do you want to PWM at such a high frequency?
The problem is that at 15kHz, the PWM period is 66uS. Even if you only want 8 bit control ( which is often not enough), the granularity is 250nS.
Any switchmode LED driver will be running at typically a few hundred kHz, which is about an order of magnitude slower than your desired PWM frequency. See a problem there?
Do you have control over what type of LEDs you are using? In a situation like this, I’d look at using LEDs with multiple die, for a much higher Vf ( 24v+), and lower current, so you can use a simple linear constant current driver like the various TLC series devices directly.
Luxeon do some nice 3x3mm devices with 6 and 12 die for 24 and 48v operation

2 Likes