Smallest FET for high-side LED power control

Go To Last Post
16 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For controlling power to a LED string on the high side, one can use a P-ch fet. Pull the gate to GND, and it turns ON, powering the LEDs. Pull the gate to VCC and it turns off. Works great.

Gets a little trickier when the LED source voltage is higher than the logic levels controlling the gate. 5V at the gate from an AVR pin won't necessarily turn off the LEDs if the supply voltage is higher than 5V, say 12V or 36V etc. Turning on is fine - just drag it down to GND. Turning off though, the gate has to be pulled up to the source voltage. Either use a specialized fet driver, or an N-ch fet to control the P-ch gate.

Way back when, I remember a cool multiple-fet package ... it had an N-ch fet controlling the gate to a P-ch fet. Internally the P-ch gate was pulled up via resistor to the source pin of the P-ch. It looked a bit like the image below.

The neat trick was that logic levels worked fine. Pull the gate to GND and the N-ch turned OFF, which let the P-ch gate be pulled up to +12V, turning it OFF. Pull the gate to +5V and the N-ch turns ON, GNDing the P-ch gate, turning it ON.

Slick.

And do you think I can remember what it was called ? Or that I've been able to find it (or similar) again ? My digikey-FU has failed me.

I need 4 of them - 4 channels of 8 LEDs each, max of 50mA per LED. So they have to handle at least 0.4A, so preferably 1A for margin. Source supply is 12V, AVR is at 5V.

Oh, and small. Board space is tight. An array of 4 would be great if it exists. Or ... does anyone have a more preferable way to control power to strings of LEDs like this ? Individual LEDs in each channel are controlled by a driver - tlc5916.

Attachment(s): 

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dean,

I use the IRF7317 package as below ... and use 3 ways of switching it on.

Cheers,

Ross

Attachment(s): 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Regards,

Bruno Muswieck

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ross -

Are you able to fully turn on the p-ch fet ? That is, with logic levels at the gate (+5V) and much higher voltages at the source pin.

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You can do it (logic level turn on a load on different voltages) with one bipolar transistor, as it's driven by current..

Regards,

Bruno Muswieck

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yup, that's well-known and pretty easy. As I said, way back when I recall a datasheet for a part which had an N-ch controlling a P-ch fet, doing it all in a single part. I just can't remember what it was, or even what it was called ... Ideal would be an array of four of those widgets in a single package, but I'll certainly take four individual ones.

And, if not that method, what else for controlling a LED string power supply ? Very tight on board space, so keeping size down would be great.

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As I said, a BJT...

Regards,

Bruno Muswieck

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Chancy99 wrote:
Ross -

Are you able to fully turn on the p-ch fet ? That is, with logic levels at the gate (+5V) and much higher voltages at the source pin.


In the above circuit, I was switching an 8.2 volt supply into a 2 amp load and had several millivolts across the p channel, so yes I guess it worked. But was pulling the p gate to ground to switch on. The 1M ohm kept it switched off when needed. No 5 volts on the gate.

Cheers,

Ross

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Brain worked again. The fets were Intelligent Power Switches - mostly from International Rectifier. Expensive though :( Given the lack of board area to work in I may have to go with them.

Looking at dual N-ch/P-ch fets plus an SMD resistor for the pullup of the P-ch. Need 4 sets though, for the 4 channels. That IRF7317 would be ideal, just need it in higher voltage - this is automotive.

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How about this?

http://www.instructables.com/id/Power-LED-s---simplest-light-with-constant-current/

Just have to use a logic-level FET, but it provides built-in current limiting, so no dropping R needed.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Cool instructable - thanks.

I'm actually using a TI tlc5916 as the constant-current grounding driver for each of the 8 LEDs. Then 4 high-side switches to provide 4 banks, total 32 LEDs. Was originally powering the LEDs from regulated +5V, but pulling 0.4A was going to produce a little too much heat from the regulator.

Sooo, want to utilize the +12V raw power on the high side of the LEDs, that way the rest of the +5V circuit will pull very little from the regulator, reducing the heat dissipation requirements. But that now means that the high-side FETs need some cajoling.

Hrm, I suppose another option is changing from an LDO to a switching regulator. Then I can still power the LEDs from regulated +5V without the regulator getting too hot.

Below is a render of the board section. U3 is an LM2940 5V LDO, Q1 and Q2 are dual P-ch fets for the high-side channel selection, U1 is an AVR and U2 is the tlc5916 constant-current 8-ch sink. Not much space.

Changing to a switcher like an LM2574 would require an inductor, and is only good for 0.5A, a little close to the max draw of the 8x 50ma LEDs. Not to mention the rest of the circuit. An LM5575 or LM34910C would do it, handling 1.5A, but they have a bunch more passives around them, taking up yet more room.

Why is nothing ever simple :)

Attachment(s): 

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Silly question, but why can't you use an N channel fet to ground the LEDs ??

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Not silly at all. I suppose I should give a little more info on this whole thing ... It's a fairly simple controller for up to 32 LEDs. Those LEDs can be pretty high current - one set I'm working with are 50mA each, on a separate board. I would like to keep the number of connecting wires down as much as possible.

I picked the TI tlc5916 as the driver to control them - it's not expensive, easy to use (just a glorified shift register really) and available. That handles 8 LEDs, and uses a single resistor to set the max current through them. Given that this is in a car, the source voltage can be somewhat variable, so this is a good feature. In order to meet the number of LEDs requirement, I could either use more tlc drivers and more connecting wires, or multiplex things.

Let's multiplex. So it needs 4 channels of 8 LEDs. Simple enough. The tlc5916 provides the low-side switching of a bank of 8 LEDs, and we just need to control power to 4 power rails. Enter the P-ch high-side FETs. So this is classic multiplexing ... Shift in the pattern for LEDs 1-8, turn on power rail PWR1, latch/enable the pattern. Shift in pattern for LEDs 9-16, turn off PWR1, turn on PWR2, latch/enable the pattern. Rinse, repeat.

But 8 LEDs on at a time at 50mA each draws 0.4A - that's pretty hefty. Can use an LDO, but now we're having to deal with heat dissipation. Can use a switcher, but that takes more room on an already small PCB. Can source the LEDs power directly from the car +12V, but now the high-side FETs need some help to be able to fully turn off. Turning on is OK, just drag the gate to GND. To fully turn on the gate has to go up to the Source voltage, +12V. The AVR pin can't do that, so need to level shift.

Hrm - can use an N-ch to control the P-ch gate then. Use a pullup resistor on the P-ch gate to +12V, and the N-ch between the P-ch gate and GND. The N-ch gate to the AVR pin. A LOW on the N-ch gate turns it off, allowing the resistor to pull the P-ch gate HIGH turning it off. a HIGH on the N-ch gate turns it on, grounding the P-ch gate and turning it on. This would be the simplest and cheapest solution, but requires 4 N-ch fets and 4 resistors, and not much room to fit them in.

International Rectifier has Intelligent Power Switches, which integrate all this into a single package. Nice, but damn they're expensive.

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Chancy99 wrote:
International Rectifier has Intelligent Power Switches, which integrate all this into a single package. Nice, but damn they're expensive.

Yeah, I ran into a similar issue a while ago. The IPS devices would have been 1/3 of the component cost for my project, even counting all of the LEDs involved. I'd love to know of any less expensive alternatives.

On another note--are you sure you can run your LEDs at 12V without exceeding the power dissipation limits of the 5916? I'm not familiar with that particular part, but if it has linear constant current regulation like the '5940 does, going from a 5V supply to a 12V supply means it'll be dissipating an extra 2800mW @ 50mA x 8 channels.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi!

I have been looking for a way to DIM a 1,5-meter 12V LED-stripe (7,5Watt) using an AVR.
My question is: How is it possible to achieve a DIM from 0 brightness to full? I've written a code dimming regular 3v leds with pulses of 'us' to several 'ms'.

Is the first schematic suitable for such case?
And what components would you recommend me to use?

Thank you very much!
Nick

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

neo_707 wrote:

My question is: How is it possible to achieve a DIM from 0 brightness to full? I've written a code dimming regular 3v leds with pulses of 'us' to several 'ms'.
Sounds like you're doing some sort of manual PWM. Read up on hardware PWM.

Quote:
Is the first schematic suitable for such case?

Could be. It'll switch the high side of your LED strip, so if that works for your app, great. If you can get away with switching the low side of the LED strip, you could just use a single N-channel FET Maybe an IRF510) driven directly by the AVR.