Suggestion for High PWM frequency LED Driver

I am designing an LED driver that will drive approx. 50 high brightness 350 mA LEDs. They won’t all be on at the same time. I would like to be able to drive them from off to 100% at a fairly high PWM frequency of approximately 15 KHz. I’m planning on using a TI TLC5957 Display Driver to generate the PWM signals. I am looking for an LED driver. There are so many out there it is hard to decide on one. Most of them however don’t work very well at high frequencies. I realize I could use shunt dimming with some of these using a FET across the LED but would prefer not to go that route if possible. I noticed some of the linear LED drivers such as the Microchip MIC4802 will take a high frequency PWM signal but the efficiency isn’t great and I would have to deal with the power dissipation etc. Anyway wondering if anyone has any favorite LED driver IC’s they use that work well at high PWM frequencies and would run at up to 350 mA. My voltage input is flexible and the VF of the LEDs range from 2.8 to approx. 3.5 volts.
Thanks for any advice here.

Not sure how useful this will be for you, but I remember when I was looking for LED drivers that I was never able to really find something useful in the 350mA range. Part of that was due to the industry I was in, power wasn’t guaranteed to be clean and that posed more of a problem than anything. There’s a number of linear and switching devices, I think it comes down to the price that you are looking for as well.

On the cheap end, there’s something like the BCR402UW6, but like you said, linear drivers have heat to deal with. One thing I’ve seen with linear drivers is using a large (DPAK, I think) LM317 in CC mode on a small copper plane to help sink the heat.
On the higher end there’s something like AP8800. I’ve used something similar to the AP8800 before and for what I needed, it was really nice. But that’s more for strings of LEDs opposed to individual control.

You can always go about it discretely. At it’s simplest it’s a pair of transistors and a pair of resistors. So not that difficult, but there is a individual higher part count to deal with.

I’m wondering if anyone else has any suggestions too. I found anything above like 50mA to be semi-difficult to find a cheap, robust solution for, but again, I was dealing with annoying power requirements and it really put a damper on what I could use.

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? ( 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.