Pages: [1] 2   Go Down
Author Topic: Logic Level MOSFET Question  (Read 15978 times)
0 Members and 1 Guest are viewing this topic.
Makati, Philippines
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino Rocks!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hopefully I am on the right subforum. I just want to clarify this basic idea, of which I know nothing, and want the ones with the knowledge to share them.

I have been reading a lot about BJTs and FETs, MOSFETs, Logic Level MOSFETs. Basically this is for switching motors on/off, not controlling the direction.

So, using MOSFET is one effective way at this. The basic idea I want to clarify is the difference, pros and cons between using common MOSFET as opposed to Logic Level MOSFET.

Can someone elaborate on this?
1. One can control the current passing thru source to drain by controlling the voltage at the gate?
2. Logic Level does not control the amount of current, but just turns fully ON and OFF the path?
3. If the Logic does fully turn on the path, so the amount of current flowing from source to drain depends on the current rating of the MOSFET? Say 14A, therefore 14A will flow (thereby one needs resistor )? Or depending on the needs of the motor?

Hopefully the god members will clarify this. Including other parameters to watch out for.  ^^
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17262
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Can someone elaborate on this?
1. One can control the current passing thru source to drain by controlling the voltage at the gate?

Correct. Gate voltage determines source/drain current flow. Gate current occurs only at initial turn on and off
of the mosfet due to capacitance charge of the gate, so many recommend a 200-1k ohm series resistor between gate and
output pin to limit this charge/discharge gate current. Also a resistor, 10k ohms, between gate and source is a good safety
feature in case motor voltage is still on, but arduino power is turned off, to ensure motor stops.


2. Logic Level does not control the amount of current, but just turns fully ON and OFF the path?

 Gate voltage can determine current flow if it's above threshold voltage, but below fully saturated gate voltage. Mosfets can
be operated in a linear manner as well as the more common switching manner as with most arduino application. One
must see the gate voltage Vs current flow graphs in the specific mosfet datasheet to determine the current curve Vs gate
voltage.


3. If the Logic does fully turn on the path, so the amount of current flowing from source to drain depends on the current rating of the MOSFET? Say 14A, therefore 14A will flow (thereby one needs resistor )? Or depending on the needs of the motor?

Not exactly, The maximum current rating of the Mosfet must be higher (X2 is not too much excess rating) then the maximum load current of the motor, but the motor and source power supply voltage determines the actual amount of current flow. The mosfet is in saturation and will allow as much current to flow as ohms law dictates, up to the heat dissipation rating  of the mosfet.

Lefty

Logged

Brisbane, Australia
Offline Offline
Newbie
*
Karma: 6
Posts: 36
B.E.E. / B.Inf.Tech.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

Let me try and answer your questions:

1) Yes if the MOSFET is in the linear region (Vgs > Vth) and (Vds < (Vgs-Vth)) where:
Vgs - gate source voltage
Vth - MOSFET threshold voltage (from datasheet)
Vds - drain to source voltage
So the transistor acts like a resistor controlled by Vgs. Commonly used as an amplifier

2) I don't know about logic level MOSFETs, but my guess is they work in cutoff and saturation region, skipping the linear region so they are either ON or OFF.

3) The current flowing through the MOSFET has nothing to do with the current rating of the MOSFET. The current rating only tells you the maximum current the MOSFET can conduct without daamaging itself. The actual current through the MOSFET will depend on the needs of the motor (in your case). Basically, the MOSFET will source as much current as the motor needs (which depends on the momentary resistance of the motor). Keep in mind some motors have very high start-up currents, so you may need to find a way to "slow start" it. (google motor slow start if motor's start-up current exceeds the current rating of the MOSFET).

HTH,
Igor
Logged

Makati, Philippines
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino Rocks!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for those enlightening input!

@ retrolefty
So you are saying Logic Level MOSFET is just a common MOSFET with the limiting resistor for gate inside?
Can you confirm what igor is saying about Logic Level?

@ igor86
1. Just as I understood it. You explained it well.
2. That's a nice theory. Fully On and fully Off.
3. Soft start. Is this different from current limiting?

Thanks for your input!  smiley
Logged

Makati, Philippines
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino Rocks!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I found this:


I don't know if I fully understand the circuit. ^^

Tell me if I am wrong.
To switch the motor on via soft start, I will connect the 47k not from 6v, but from output pin of arduino. The others are connected as is.
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17262
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So you are saying Logic Level MOSFET is just a common MOSFET with the limiting resistor for gate inside?

No, logic level mosfet is just a mosfet with a lower gate threshold and gate saturation voltage values. It works the same
as a normal mosfet, just with lower gate voltage values, making it easier to interface directly to 5vdc logic
level voltage values. Both normal and logic level mosfets do not have internal series resistors. I said
many recommend using such a series gate resistor to limit gate current, it doesn't matter which kind of mosfet.


Can you confirm what igor is saying about Logic Level?

Yes, however a logic level mosfet can be used for both linear and switching mode, just like a normal mosfet but
requiring less gate voltage for any given operation mode.


On your soft-start drawing. Yes if you disconnect the top of the 47k ohm resistor and wire it instead to an Arduino output pin, along with a common ground wire from the arduino to common ground from the 6 volt source, it should work in principle. Keep in mind this circuit may be designed specifically with the current requirements for the specific motor used, that is the 0R5 resistor and the 100ufd cap and the 47k may have to be adjusted to work with a motor with a different winding resistance. Also keep in mind this circuit will also act like a soft-stop circuit in the turn off will be as slow as turn-on until the cap discharges below gate threshold value, keep that in mind for any possible safety
concerns.

Lefty
« Last Edit: January 26, 2011, 11:17:08 pm by retrolefty » Logged

Seattle WA
Offline Offline
Full Member
***
Karma: 1
Posts: 208
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Rather than re-writing it badly, I suggest you read International Rectifier's AN-1084, Power MOSFET Basics. http://www.irf.com/technical-info/appnotes/an-1084.pdf. It will give you a good grounding in what's going on.
Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 124
Posts: 6645
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
a logic level mosfet can be used for both linear and switching mode, just like a normal mosfet but
requiring less gate voltage for any given operation mode.
This is correct.  Most MOSFETs are designed these days to be used in "switching" applications rather than in their linear region, which means that they want to be either all the way on, or all the way off.  If they are used "in between", the power dissipation will get very high, and you won't get anywhere close to the rated current.  The "danger" of a normal MOSFET in a logic application is that the logic control voltage is not enough to turn the MOSFET all the way on, which will leave it in the linear "partially on" region, leading to high power dissipation and ... smoke.

(Say you have a 24V 10A motor switched by a MOSFET, so you go and pick an IRF6613 rated at 18+A with nothing but PCB as heatsink and 3.4mOhm on resistance (at Vgs = 10V); so at 10A you have a power dissipation of 0.34W (IIR), which is well within specification.  But instead you drive it with a logic output that only gets up to 3.6V for some reason, increasing Rdson to 50mOhm (which would normally still be pretty good!)  Now your power dissipation is 5W, which is pretty substantial, well above the spec, and likely to result in smoke...)
Logged

Makati, Philippines
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino Rocks!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No, logic level mosfet is just a mosfet with a lower gate threshold and gate saturation voltage values. It works the same
as a normal mosfet, just with lower gate voltage values, making it easier to interface directly to 5vdc logic
level voltage values. Both normal and logic level mosfets do not have internal series resistors. I said
many recommend using such a series gate resistor to limit gate current, it doesn't matter which kind of mosfet.
If I were to control the gate of a common mosfet (not logic level, I can't find any ic locally) using the output pin of Arduino, can I be sure that it will output 5v? If so, then I can put a fixed resistor value, without computation? A 2k ohm will do, like you said, is this enough? Or I need to compute according to westfw?

Yes, however a logic level mosfet can be used for both linear and switching mode, just like a normal mosfet but
requiring less gate voltage for any given operation mode.

  Very well explained, thanks.

On your soft-start drawing. Yes if you disconnect the top of the 47k ohm resistor and wire it instead to an Arduino output pin, along with a common ground wire from the arduino to common ground from the 6 volt source, it should work in principle. Keep in mind this circuit may be designed specifically with the current requirements for the specific motor used, that is the 0R5 resistor and the 100ufd cap and the 47k may have to be adjusted to work with a motor with a different winding resistance. Also keep in mind this circuit will also act like a soft-stop circuit in the turn off will be as slow as turn-on until the cap discharges below gate threshold value, keep that in mind for any possible safety concerns.
The vacuum pump we will use is 12V, but I can't be sure about its current requirement. What is the common current requirement of pumps at 12V? How can I compute the series resistor and capacitance to be used for gate control, as well as the bypass resistor? Can you provide a tutorial on this?

Rather than re-writing it badly, I suggest you read International Rectifier's AN-1084, Power MOSFET Basics. http://www.irf.com/technical-info/appnotes/an-1084.pdf. It will give you a good grounding in what's going on.
Thanks! I have that app note. Really good paper.

Most MOSFETs are designed these days to be used in "switching" applications rather than in their linear region, which means that they want to be either all the way on, or all the way off.
  Fully turning On the path will just enable the flow of current from source to drain, right? Do I need to add resistor to limit the current consumed by the pump or not? (battery is 11.1v, pump is 12v; at full charge, battery is 12.4v)

  If they are used "in between", the power dissipation will get very high, and you won't get anywhere close to the rated current.  The "danger" of a normal MOSFET in a logic application is that the logic control voltage is not enough to turn the MOSFET all the way on, which will leave it in the linear "partially on" region, leading to high power dissipation and ... smoke.
So you mean I don't really need the series resistor to the gate? Since the output voltage of a digital pin is <=5v ?

(Say you have a 24V 10A motor switched by a MOSFET, so you go and pick an IRF6613 rated at 18+A with nothing but PCB as heatsink and 3.4mOhm on resistance (at Vgs = 10V); so at 10A you have a power dissipation of 0.34W (IIR), which is well within specification.  But instead you drive it with a logic output that only gets up to 3.6V for some reason, increasing Rdson to 50mOhm (which would normally still be pretty good!)  Now your power dissipation is 5W, which is pretty substantial, well above the spec, and likely to result in smoke...)
What should I do? I can't find any logic level mosfet here in the our country. I have bought IRF530N. According to datasheet:
VDSS = 100V
RDS(on) = 90mW (wth!)
ID = 17A (this is the max continuous right?)
ID @ TC = 25°C Continuous Drain Current, VGS @ 10V = 17A (confirms above, but i need 10v at gate?)
PD @TC = 25°C Power Dissipation = 70W (this is the max dissipation the ic can sustain?)
Can someone explain:
VGS(th) Gate Threshold Voltage 2.0 ––– 4.0 V where VDS = VGS, ID = 250μA

According to above, I need to input 10v at gate? If this is so, how would I do that using the digital pin of arduino?
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17262
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Can someone explain:
VGS(th) Gate Threshold Voltage 2.0 ––– 4.0 V where VDS = VGS, ID = 250μA

According to above, I need to input 10v at gate? If this is so, how would I do that using the digital pin of arduino?

Vgs(th) is the gate voltage where the device just starts to conduct, perhaps just a few millamps. If you are using
the mosfet in a switching mode, on or off only, then you need a gate voltage that fully saturates the device on, 10vdc for your device. That of course can not be provided by directly from an Arduino output pin. You can however wire up a normal npn transistor as a switching device and switch your +12vdc battery voltage to the gate of the mosfet, but that is adding a lot of extra components and you might just be better off using just a NPN power transistor alone to switch the motor on and off via the arduino.

The series resistor between the output pin and a mosfet gate is not required by the mosfet, it will work without one, however it can be a protection device for the arduino output pin to prevent drawing too much current from the pin while trying to charge up or discharge the gate capacitance. It really depends on the specific mosfet being used as to how much gate capacitance it has and the maximum output pin current is available. All the logic level mosfets I worked with worked fine without a series gate resistor, however those recommending them have a valid point in using them. There is no reason to 'compute' this resistor, anything from 200-1k ohm should protect the output pin and still allow fast enough switching speed for your motor.

Last point, once a mosfet is fully turned on (saturated) the switched load determines how much current will flow using standard ohms law formula.

Lefty
« Last Edit: January 27, 2011, 11:04:51 am by retrolefty » Logged

Makati, Philippines
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino Rocks!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vgs(th) is the gate voltage where the device just starts to conduct, perhaps just a few millamps. If you are using the mosfet in a switching mode, on or off only, then you need a gate voltage that fully saturates the device on, 10vdc for your device. That of course can not be provided by directly from an Arduino output pin. You can however wire up a normal npn transistor as a switching device and switch your +12vdc battery voltage to the gate of the mosfet, but that is adding a lot of extra components and you might just be better off using just a NPN power transistor alone to switch the motor on and off via the arduino.
  Wow! You guys are awesome! I really need to read a lot on electronics. So you think I should now use NPN power transistor instead of mosfet? What do you think is the best for a 12v pump, say 1A current consumption?

off-topic:
About the IRF mosfet I am pertaining to above, can I use it for the concept on this topic: http://arduino.cc/forum/index.php/topic,49924.0.html?

The series resistor between the output pin and a mosfet gate is not required by the mosfet, it will work without one, however it can be a protection device for the arduino output pin to prevent drawing too much current from the pin while trying to charge up or discharge the gate capacitance. It really depends on the specific mosfet being used as to how much gate capacitance it has and the maximum output pin current is available. All the logic level mosfets I worked with worked fine without a series gate resistor, however those recommending them have a valid point in using them. There is no reason to 'compute' this resistor, anything from 200-1k ohm should protect the output pin and still allow fast enough switching speed for your motor.
I see. Thanks to your explanation, I am now having a grasp about mosfet.

Last point, once a mosfet is fully turned on (saturated) the switched load determines how much current will flow using standard ohms law formula.
So I won't need resistor in series with the pump, right? ^^

@retrolefty
Can you please see this topic? http://arduino.cc/forum/index.php/topic,49924.0.html
Logged

Chester, UK
Offline Offline
Sr. Member
****
Karma: 2
Posts: 489
Trying to return the love to none logic level MOSFETS
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I that it's being sugested that you drive the mosfet with the npn transistor.  This is because you need more than the 5v that your arduino can deliver to saturate (fully turn on) that mosfet.  You'll also need a power source that 10v+  I'd suggest a mosfet driver IC such as: http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=6684351 generally intended for applications where you are controlling speed via PWM but just as valid for you.
Logged

If your system involves lethal voltages/life critical/flamable elements - you probably shouldn't need to ask.
The Arduino != PC.

Makati, Philippines
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino Rocks!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Someone suggested I use NPN transistor as a switch rather than mosfet. What is the difference by the way? What transistor is capable of handling about 1.5A?
Logged

Seattle WA
Offline Offline
Full Member
***
Karma: 1
Posts: 208
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The conductance of a MOSFET is governed by the voltage applied to the gate relative to the source terminal. The amount of current flowing through an NPN transistor is, neglecting saturation, proportional to the current flowing from the base to the emitter. MOSFETs are better for most low-voltage switching applications because they'll dissipate less heat. The voltage drop through a fully-on MOSFET is just the current times the Rds(on) of the MOSFET. The voltage drop through a saturated NPN is generally about a diode drop, or around 1V-1.5V, which is likely to be more than the MOSFET, and you'll therefore dissipate more heat, and need a bigger heat sink.

One more thing -- if you use an NPN transistor to drive the MOSFET gate, make sure you pay attention to the maximum gate-source voltage. It's generally around 20V for most power MOSFETs.
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17262
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


So many replies I think you might have a problem focusing on any given solution. Why don't you just
put off the mosfet for the moment, in that unless you have or willing to obtain a logic level mosfet
you will just be making your project more complex then it needs to be to just run your motor.

Here is the classic drawing from the Arduino playground that can be used with solenoids or motors
up to 4 amp loads using a common TIP120 NPN power transistor:

http://arduino.cc/playground/uploads/Learning/solenoid_driver.pdf

You would just wire your motor as a replacement of the solenoid L1 in the drawing.
I would use the 1k ohm base series resistor. Note that you can either turn the motor on and off
using digitalWrite() commands, or you can run the motor at variable speeds from 0-100% using
analogWrite() commands. Same circuit supports both modes of operation, you just have to
pick an output pin number that supports pwm commands if you wish that option.

Lefty
Logged

Pages: [1] 2   Go Up
Jump to: