Goal: I have an application requiring strobing of many (30+) individually addressable, high-power (500mA+) LEDs. Each LED sequentially will be switched ON/OFF at a rate of about 10Hz, switching from one LED to the next in sequence at a rate of about 100Hz. Full ON/OFF would be sufficient, but some means of dimming would be nice.

I have three main ideas about how to implement this:

  1. A constant-current buck driver (e.g. PicoBuck).
  2. A linear voltage regulator / MOSFET approach.
  3. A high-amp constant-current driver chip. I have been looking through the Texas Instruments driver catalogues, but I haven't found any multi-channel LED drivers with similar functionality above about 120mA output per channel. So I may need to use a single-channel driver like the TL4242. But if I need to use many single-channel constant-current drivers, how would I go about synchronising them? Could I "drive these drivers" with some daisy chained TLC59711 drivers or similar? Is this even vaguely sensible?

Is there an obvious chip choice or implementation that I haven't spotted? I'm fine with having a few dozen chips on a breadboard/PCB, if that's the most sensible way to do it.

Thanks 🙂

  • \$\begingroup\$ That's a pretty sweet wall of text. I'm going to take a crack at this one, but it would help to know more what the parameters of your desired strobing effect are. Is it ideal for the LEDs to strobe at once for example or is there a specific number that would be preferable for some reason or do your require individual control? If they strobe together, that may favor a series arrangement given that they have matching current ratings. So in what way would you ideally want them to perform? Describe their ideal behavior, and to what degree it is acceptable to deviate from it. \$\endgroup\$ – K H Aug 28 '18 at 4:45
  • \$\begingroup\$ You are a brave and (now) well-read adventurer! \$\endgroup\$ – lams Aug 28 '18 at 4:47
  • 1
    \$\begingroup\$ Yeah, you could afford to give that question the ol' reorganize and condense, but I often end up with similar trains of thought with my projects. I think being on EE.SE for the last few months has improved that. Hope it has anyway. \$\endgroup\$ – K H Aug 28 '18 at 4:52
  • \$\begingroup\$ The base case is for only a single LED to be on at one time, for about 5ms, and then off again. Then moving on to another LED. In terms of brightness, I would essentially be okay with having no dynamic control— I wouldn't mind setting this with a current limiting resistor, or just trusting a driver to provide a constant current. Ideally though, I would be able to modulate brightness via analog means, with PWM dimming as a bonus feature. \$\endgroup\$ – lams Aug 28 '18 at 4:54
  • \$\begingroup\$ The second most useful case would be for a set of N LED dies (say N=3-4) to be switched on simultaneously for~5ms, then off again, then moving on to a new set of dies. \$\endgroup\$ – lams Aug 28 '18 at 4:57

If you can live with just on/off and PWM, I offer a board with 32 N-channel MOSFETs that you control by shift register, with the shift register output PWM controllable. http://www.crossroadsfencing.com/BobuinoRev17/ The transistors have very low Rds, and are rated for high currents.

  • \$\begingroup\$ You make a lot of cool stuff! I would actually need a couple of those boards, so it's great that the shift registers would enable me to daisy chain. If I wanted to drop the current per circuit to say 700mA, would the best way to achieve this be to simply switch out all of the resistors? Would the P-channel variant be suitable for common-cathode applications? Finally, with the latches and transistors involved here, am I right to assume that switching states (e.g. State 1: LEDs A, B and C = ON, all others OFF; State 2: LEDs X, Y and Z = ON, all others OFF) at 100Hz is trivially easy? \$\endgroup\$ – lams Aug 28 '18 at 17:29
  • \$\begingroup\$ Thanks! Shifting whatever 4 bytes you want, with a 1 in a bit location = LED on, would be no problem at 100 Hz. I did a project with 45 shift registers, updated at 20 KHz rate. For current control, you have to figure that externally - the board, either as N-channel or P-channel, only acts as 32 on/off very low resistance switches, that can be turned on/off much faster than relays can. It does not offer any current limiting, except for PWM of the outputs. \$\endgroup\$ – CrossRoads Aug 28 '18 at 17:32
  • \$\begingroup\$ Wow, okay, so state switching is essentially trivial at the rates in talking about. Great to know. In terms of pulling the current down, I suppose I'd just be adding a resistor before each LED. So... To use this board, I would connect up an Arduino to the logic inputs, daisy chain as needed, use resistors in circuit with each LED to set the current to e.g. 700mA per LED, and provide each row of 8 MOSFET circuits with its own external power. Could my life really be that simple? \$\endgroup\$ – lams Aug 28 '18 at 18:01
  • \$\begingroup\$ That's all it takes. Just don't leave the LEDs on for any length of time. With the resistor as current limit, the LEDs could get hotter than expected and go into thermal runaway. \$\endgroup\$ – CrossRoads Aug 28 '18 at 18:06
  • \$\begingroup\$ And definitely go N-channel, they are lower Rds than the P-channel. \$\endgroup\$ – CrossRoads Aug 28 '18 at 18:07

Could I "drive these drivers" with some daisy chained TLC59711 drivers or similar? Is this even vaguely sensible?

I did not see this until after I posted my answer. So yes, I think it is a very sensible choice.

I've looked for that high current multi-channel, high voltage (50V), driver for a long time.

I have a similar project I am working on driving many strips of LEDs with a Vf of 45V @ 100-1000 mA.

My project requires dimming with no flicker. For this I need a driver that runs in continuous conduction mode so the MOSFET on/off is not an option for me. I prefer a constant current buck driver.

One of the driver chips I am working with is the TI LM3414HV.

Rather than drive each driver's PWM signal with a micro-controller I took a different approach. This way I can program the PWM for each strip with a very simple micro-controller like an AT Tiny with unlimited expandability. If I get any flicker from the PWM then I will try filtering the PWM output of the TLC5973 and control the iAdj.

This design uses a linear shift register driver from TI, TLS5973

enter image description here

I could have used a WS2811 but do not like its poor quality and poor documentation. I like TI's one wire serial transmission from a vendor that understands serial data transmission should be error free. The TI chip has an internal 12 Mhz clock, 12 bit PWM, 3 mbs data rate, 2.9 kHz repeat rate, and a nice encoding scheme.

Except instead of driving the LEDs with this chip, I use the outputs to drive the PWM signal of the LED driver.

This schematic has two drivers per output, but I would use one or the other, not both. The other being a Mean Well LDD in addition to the LM3414HV.

enter image description here

This is an untested conceptual schematic and likely will have errors.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.