IRF510 mosfets

Hello everyone,

I've got 4 IRF510 mosfets, I was hoping to pwm 4 simple 12v 2A pumps. When I try to use them they stay on, at a slightly slower rate.

I've searched this site, and have found others with the same problem. It looks like I need a logic level mosfet instead. Could somebody explain the difference, and why they stay on?

Cheers,

Mikey C

Logic level MOSFETS have a much thinner insulating oxide layer, allowing them the saturate at logic voltages (5V) instead of the more usual 10V.
If it isn’t saturated (and a 10V VGS MOSFET operating with 5V logic will not be saturated), it is operating in the linear region, the resistance will be higher and so heating will be more of a problem at higher currents (I2R and all that stuff)

Thanks for replying.

So the gate voltage threshold isn't the voltage that is needed to use the mosfet then? Is there a general use logic mosfet that would be suitable for my project?

The threshold voltage is the voltage at which the FET starts to conduct, but that may be a long way from saturation, and hence the resistance will be higher than the lowest resistance quoted for RDS at VGS of (normally) 10V.

Go to digikey.com, search for n-channel mosfet, then single fets, then filter on logic level, through hole. Will bring a list of 12-13 pages. Typically, sort by price, scroll down to find a package type you can work with with low Rds, and voltage/current rating for your need.

syntar69: I've searched this site, and have found others with the same problem. It looks like I need a logic level mosfet instead.

The issue here is not the transistor itself, but how you drive them. For a switch mode application (PWM in your case) it is generally never a good idea to drive a power MOSFET gate directly from a microcontroller (logic level or not). You want to contol it with a logic gate, but you need more power to switch them on/off effectively than the Arduino can source/sink. Look for a good MOSFET driver IC that can work with your motor supply (rather than logic supply) and you should be ok with your IRF510's.

BenF, why would a logoc level part like this need a driver?

VGS = 4.5 V, ID = 15 A, Rds = 10 mOhm

http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=NTD4960N-35GOS-ND

How is the +/-20mA that arduino puts out any different thanthe 20mA that a 74F04 for example would put out?

The challenge is to turn the MOSFET fully on and fully off fast so we can benefit from a low RDS'on. Otherwise we will operate in the linear region and generate heat rather than supply power.

Switching time can be determined from total gate charge and the current we source (and sink) with respect to the MOSFET gate. For NTD4960, Qtot is specified as 22nC and for IRF510 it is 5nC. Respective switching times (on/off cycle) with 20mA will then be:

IRF510 2 * 5nC / 20mA = 500ns NTD4960 2 * 22nC / 20mA = 2.2us

We can do a lot better than this with either MOSFET if we add a driver. One such example is:

http://www.datasheetcatalog.org/datasheet/irf/ir4426.pdf

This driver can source/sink 1.5A (substitute for 20mA in the above equations) and so we can reduce switching time down in the low ns range. 1.5A is typically beyond the capability of a logic supply, but we could power the driver from the motor supply. In this case motor supply was 12V and so a logic level MOSFET is no longer required.

For a simple switch such as MOSFET to relay coil, switching time is less critical and so a logic level MOSFET is convenient (no driver required). If we switch a motor and push PWM frequency above audible level (say 30kHz) most any MOSFET will heat up quickly unless we drive it properly.

If we switch a motor and push PWM frequency above audible level (say 30kHz) most any MOSFET will heat up quickly unless we drive it properly.

Good job the Arduino PWM only runs at 490Hz then, isn't it?

Awesome, thanks for that explanation. I wonder how warm they would get in the 2.2uS slow turn time. I can't imagine it would be very much?

CrossRoads: Awesome, thanks for that explanation. I wonder how warm they would get in the 2.2uS slow turn time. I can't imagine it would be very much?

I'm sure doing enough complex math one could calculate the heat rise. Make no mistake, a switching MOSFET generates almost all of it's heat dissipation during it's transition between on and off and off and on. I've read of several high current projects where the power mosfets were destroyed almost instantly even though all the DC specifications looked fine, because of too slow switching transitions. Commercial high power mosfet applications almost always utilize purpose designed gate driver chips that allow the fastest charging and discharging of the gate capacitance. Such gate drivers have sink and source current drive specifications of several amps.

http://www.national.com/pf/LM/LM5112.html#Overview

Lefty

CrossRoads: Awesome, thanks for that explanation. I wonder how warm they would get in the 2.2uS slow turn time. I can't imagine it would be very much?

No it won't be very much per switch on/off, but if you are switching at high frequency the average power can be huge...

If you are controlling 100W or so of load and you're switching at 100kHz they will simply melt.... 10us to switch on and switch off, you want the switching time to be 50ns or of that order (1% of the time), not 2200ns (44% of the time)... The default Arduino PWM of 490 or 980Hz is not too taxing fortunately, but when you need high speed switching you need hefty gate drive (amps).

If switching high voltage loads you need a gate driver too, otherwise the capacitance between gate and drain could couple the output voltage swing back into the gate and damage the microcontroller. If the output is only swinging 12V or so this isn't an issue.