Weird P Channel MOSFET problem controlling 12V Cree XHP load

I have tried every circuit I have found both here and googling for controlling a 12v LED with a Logic Level P channel MOSFET. I have built this circuit successfully in the past for a different LED component, and as far as I can tell am not doing anything differently this time around. I have tested my current circuit using a 5V source and 5V gate which of course works to turn the LED on and off (no difference in voltage).

At the moment, I only need it to blink.

I ran the circuit with an NPN transistor to pull the Gate low/high using 5V GPIO on my Arduino Nano to power a 12V load (LED). Is the LED or my brain the issue?

I am using a CREE XHP50: https://www.mouser.com/ProductDetail/cree-inc/xhp50a-01-0000-0d0ug20e1/?qs=k72kBymvut8%2bviJlld8DXg%3D%3D&countrycode=US&currencycode=USD

NDP6020P Mosfet: https://www.mouser.com/ProductDetail/ON-Semiconductor-Fairchild/NDP6020P?qs=%2Fha2pyFaduhWxIOju7NeLqw1GkyzcSHVA7LI4wyJxrM%3D

2n3904BU: https://www.mouser.com/ProductDetail/ON-Semiconductor-Fairchild/2N3904BU?qs=or4AE2qAS%2Bd0Jdpn%2F8ktKg%3D%3D

10k resistors

and an Arduino Nano.

Attached is the circuit I have previously used successfully and landed on. I have also, as others suggested tried a pull down resistor on the base on the transistor which did not change anything. That has been removed and the circuit attached is what I currently have.

Here is the code I am using:

int LEDpin = 3;

void setup() {

  Serial.begin(9600);
  pinMode(LEDpin, OUTPUT);

  for(int i = 0; i<=200; i++)
  {
  digitalWrite(LEDpin, HIGH);
  delay(1000);
  digitalWrite(LEDpin, LOW);
  delay(1000);
  Serial.print("BLINKING");
  Serial.println(i);
  }
  
  // put your setup code here, to run once:

}

void loop() {}

Always show a schematic of the circuit.

Always show a good image of the ‘actual’ wiring.

The NDP6020P Mosfet has a Vgs(max) = 8 volts !

Use a ‘similar’ circuit to this:

Make the Zener ~6v

Power supply will be your 12v.

R1 and R2 need to be adjusted accordingly for 12v operation.

In what way is it not working? Is it ON all the time or OFF all the time. Have you measured the voltages at various points in the circuit to see if they make sense? Also, are you saying the LED blinks properly if the upper power rail in your picture is powered at 5V, but not if it's powered at 12V?

Power LEDs, like the one you linked to, must be driven by a constant current source.
NOT with a mosfet.

Google "Meanwell LDD-700".
An old 19volt laptop supply is ideal for an LDD-700 and LED with Vf of ~12volt.

The LDD-700 (700mA version) can directly be brightness controlled with an Arduino PWM pin.
Leo..

Thank you all!

larryd:
Always show a schematic of the circuit.

Always show a good image of the ‘actual’ wiring.

The NDP6020P Mosfet has a Vgs(max) = 8 volts !

Use a ‘similar’ circuit to this:

Make the Zener ~6v

Power supply will be your 12v.

R1 and R2 need to be adjusted accordingly for 12v operation.

noted on schematics/pictures, I will do so in the future.

In the mean time I must not be understanding Vgs, if it's +/-8V, should I instead be applying +5V to the gate instead?

Regardless I will try the circuit you linked to, thank you.

ShermanP:
In what way is it not working? Is it ON all the time or OFF all the time. Have you measured the voltages at various points in the circuit to see if they make sense? Also, are you saying the LED blinks properly if the upper power rail in your picture is powered at 5V, but not if it's powered at 12V?

It is ON at all times. voltages sustain at 12v at all times. When running the system without an external supply at 5V I was able to get the LED (though very faintly) blinking.

Wawa:
Power LEDs, like the one you linked to, must be driven by a constant current source.
NOT with a mosfet.

Google "Meanwell LDD-700".
An old 19volt laptop supply is ideal for an LDD-700 and LED with Vf of ~12volt.

The LDD-700 (700mA version) can directly be brightness controlled with an Arduino PWM pin.
Leo..

Wawa:
Power LEDs, like the one you linked to, must be driven by a constant current source.
NOT with a mosfet.

Google "Meanwell LDD-700".
An old 19volt laptop supply is ideal for an LDD-700 and LED with Vf of ~12volt.

The LDD-700 (700mA version) can directly be brightness controlled with an Arduino PWM pin.
Leo..

Wawa:
Power LEDs, like the one you linked to, must be driven by a constant current source.
NOT with a mosfet.

Google "Meanwell LDD-700".
An old 19volt laptop supply is ideal for an LDD-700 and LED with Vf of ~12volt.

The LDD-700 (700mA version) can directly be brightness controlled with an Arduino PWM pin.
Leo..

Appreciated, however after speaking with CREE they noted these can be driven via PWM using a MOSFET, so now I'm a bit more confused.

t_j_s:
Appreciated, however after speaking with CREE they noted these can be driven via PWM using a MOSFET, so now I’m a bit more confused.

LEDs must be current controlled. You can’t just connect a voltage to it with a mosfet.
For small LEDs, you can use a current limiting resistor, which is not so wise for power LEDs.

You’re confusing two different things.
PWM is turning the LED on/off at a fast rate, to DIM the LED by varying the on/off ratio.
You still MUST limit the current through the LED during the time that the LED is actually ON.

These SMD LEDs are small, and produce a lot of heat.
While you have some room for error in larger COB LEDs, you don’t have that with SMD power LEDs.
You MUST use good heat-sinking, and use active current limiting if you want to run them close to the edge.
Leo…

Hi,

In the mean time I must not be understanding Vgs, if it's +/-8V, should I instead be applying +5V to the gate instead?

Vgs is the gate THRESHOLD VOLTAGE, this is the gate voltage that the MOSFET begins to conduct.
So a higher voltage will make it turn on "harder", that is lower Rds.
You just need to make sure you do not exceed Vgsmax as this is the maximum voltage you can apply to the gate before you have breakdown of the gate to channel connection.

Tom..... :slight_smile:

High Power LEDs need active current limit control, otherwise they overheat, drawing even more current, and then fail.
Here's an example

Basically it's a switching power supply, but it limits the current vs limiting the voltage.

Thank you all,

I should have mentioned this in my original post :(. I would like to go with something like a Femtobuck, LDD-700, or build a driver with a CAT4101, my main intention behind originally wanting to use a P-Channel MOSFET is this is going in a trailer chassis, there is one wire running to the LED from power source, another wire is connected to the ground of the chassis and cathode of the LED.

Do any of these three options listed offer dimming on the anode side instead of the cathode side? (i.e. can I ground the CAT4101/LDD-700/Femtobuck to the chassis of the trailer where the LED cathode is also grounded and control brightness via the positive line running from the driver to the anode?)

A CAT4101 is a linear regulator, meaning it could get HOT if used wrong.

Is your trailer 24volt, because you can't properly run a power LED with a Vf of about 12volt from a 12volt car battery.
Leo..

The trailer is 24 Volt

Then you definitely need a switching constant current driver, not the linear CAT4101.
Both LDD-700 and 660mA Femtobuck will work.

Don't underestimate cooling of a 5mmx5mm 8watt LED.
You can't just connect wires to it.
Leo..

WHERE in the following post, do you explain WHAT the problem is ?

I have tried every circuit I have found both here and googling for controlling a 12v LED with a Logic Level P channel MOSFET. I have built this circuit successfully in the past for a different LED component, and as far as I can tell am not doing anything differently this time around. I have tested my current circuit using a 5V source and 5V gate which of course works to turn the LED on and off (no difference in voltage).

At the moment, I only need it to blink.

I ran the circuit with an NPN transistor to pull the Gate low/high using 5V GPIO on my Arduino Nano to power a 12V load (LED). Is the LED or my brain the issue?

I am using a CREE XHP50: https://www.mouser.com/ProductDetail/cree-inc/xhp50a-01-0000-0d0ug20e1/?qs=k72kBymvut8%2bviJlld8DXg%3D%3D&countrycode=US&currencycode=USD

NDP6020P Mosfet: https://www.mouser.com/ProductDetail/ON-Semiconductor-Fairchild/NDP6020P?qs=%2Fha2pyFaduhWxIOju7NeLqw1GkyzcSHVA7LI4wyJxrM%3D

2n3904BU: https://www.mouser.com/ProductDetail/ON-Semiconductor-Fairchild/2N3904BU?qs=or4AE2qAS%2Bd0Jdpn%2F8ktKg%3D%3D

10k resistors

and an Arduino Nano.

Attached is the circuit I have previously used successfully and landed on. I have also, as others suggested tried a pull down resistor on the base on the transistor which did not change anything. That has been removed and the circuit attached is what I currently have.

e.g. :
"THE PROBLEM I AM HAVING IS ..."

Wawa:
Then you definitely need a switching constant current driver, not the linear CAT4101.
Both LDD-700 and 660mA Femtobuck will work.

Don't underestimate cooling of a 5mmx5mm 8watt LED.
You can't just connect wires to it.
Leo..

Thanks Leo! I purchased an LDD-700 and will go that route, I was able to fish a second wire from the battery terminal to the light location so I now have both +/- line direct from the LDD-700 to the LED. For cooling I purchased a large heatsink, running the LED with another driver heat-wise it's been cool to the touch at full power, I also plan on running the LED at half of what it's capable of 90% of the time. I also had some custom MPCBs manufactured that will help in the heat dissipation.

Thanks again to you and everyone for your help.

raschemmel, didn't put the problem I was having in the first post, just what I wanted to do, specified the problem later in the thread when prompted, was my first post, will include more useful information from the start next time.

A P-channel mosfet usually requires a mosfet gate
driver or a negative gate drive signal to turn OFF
OR logic level mosfet:

"P-Channel MOSFET 60V 27A - COM-10349 - SparkFun Electronics"

If you paste this into the Arduino Forum search
bar you will see you are not the first to ask this question:

"p-channel mosfet won't turn off"