Controlling a RGB LED strip using a PCA9685 PWM driver

I have a common anode 12V RGB LED strip that i want to control using a PCA9685 PWM driver. The LED strips draws 50mA to 400mA, but the driver can only sink 25mA. So far I've tried using an IRF520 MOSFET as a switch but that didn't seem to work.

I saw this topic where user OllieNZ suggested using a MOSFET driver. Would that work?

Well, first it would help if you read and followed this: How to Use This Forum

As it is, you haven't provided enough information for us to help you :wink:

The logic level is 3.3V. What more do you need?

Details matter. That's why we ask you to follow forum rules.

An IRF520 is not a logic level mosfet, and won't work properly with with 5volt logic and not at all with 3.3volt logic.
So are you using a 3.3volt Arduino?

The PCA9685 is not "3.3volt", but can do 3.3volt and 5volt logic.
Leo..

The IRF520 has a Vgs of 2-4V so I tought that would work. We used it at school with a 5V logic level and that worked flawlessly.

I'm using an infiduino uno r3 which has a 3.3V logic level

Norling:
The IRF520 has a Vgs of 2-4V so I tought that would work. We used it at school with a 5V logic level and that worked flawlessly.

I'm using an infiduino uno r3 which has a 3.3V logic level

Well, it turns out, there's a huge difference between 5V logic and 3.3V logic, in this instance. Notice that the voltage range you referenced has a high of 4V. That's above 3.3V. Also, that's the VGS(th) [Gate Threshold Voltage] which is a poor measure of the switching qualities of a MOSFET. This device isn't really, even, a "Logic Level" device -- which really means, the manufacturer never said this will work at Logic Levels.

In other-other words: The advertized functionality [for instance, at the top of the datasheet] is not guaranteed for voltages below 10V [which is the "test voltage" stipulated throughout the datasheet]. Often the channel resistance and/or typical current handling ability includes a Gate Voltage, but not on the datasheet I looked at -- but you can infer this by noticing those little notations, like "VGS @ 10V" or "Note 3", etc., later in the datasheet.

Yes, it will work at 5V logic for currents below a certain point--which is probably why your school room experience was so sweet :wink: BUT, try that at 9.7A! I dare ya!! :wink:

And, at 3.3V you have a whole 'nother can of worms. 3.3V, as I stated before, is below the upper gate threshold range [sure, you might get lucky and score a device with a gate threshold down closer to 2V, and get a warm-fuzzy]. The gate threshold is the point where the MOSFET will just begin to conduct. That is NOT a very good definition of "On"--in fact, it's more of a definition of "Off".

In the datasheet [Infineon, in my case], if you scroll down to the graphs, and look at the two "Typical Output Characteristics" graphs, the lowest Gate Voltage the manufacturer will commit to, is 4.5V -- that's a whopping 1.2V above "3.3V" -- but, notice that, worst case, 5V on the gate will only allow around 2A to flow through the channel -- so for some situations, that could be considered "On". But, there is no manufacturer recognized On state for when there is 3.3V on the gate.

Also, if you look at the "Typical Transfer Characteristics" graph, you'll see that 4V is the lowest Gate voltage on the graph -- so 3.3V isn't even recognized as a valid case! Sometimes, there is also a graph that relates channel resistance to gate voltage, but that's absent from the datasheet I looked at.

Ok thank you, I'll look more closely at the datasheets and see if I can't find something that fits my needs.

This one should work right? I see it can only do about 150mA with Vgs=3.3V, but can't I just connect two or three of these together in parallell to deliver more current?

I could also make the logic level 5V and then it can do about 300mA and that should be ok.

https://alltransistors.com/pdfdatasheet_motorola/bs170rev1x.pdf

For 3.3volt logic, you need a fet with a Vgs(th) of less than 1.5volt.
e.g. Vgs(th) listed as 0.8volt minimum and 1.5volt maximum.
With low enough Rds(on), to not heat up your fet with that 400mA load.
1.8ohm (BS170) is way too high.
Leo..

So what mosfet do you suggest?

Hard to find through-hole mosfets for 3.3volt logic.
Most of these low Vgs(th) fets are in a tiny smd package.
I recently used the FDN337N for a low/medium current project.
2.2Amp, Vgs(th) 0.7volt, Rds(on) <0.1ohm@2.5volt.

The FQP30N06L seems popular, and can maybe be found in your country.
Not quite low enough, but good enough for a light load.
Adafruit stocks the similar IRLB8721.
Leo..

Ok thanks