Basic MOSFET Questions

I've been reading lots here and elsewhere and I'm hoping someone can confirm that all of the information I've taken in is correct. I've never worked with FETs before and am an electronics amateur. Any help/guidance/feedback welcome!

Summary

I need my Atmega328P (5V) to turn a strip of LED lights (5V ~2.2A) on/off and a logic-level MOSFET seems to be what I need. I plan to make the Arduino setup() activate the gate of the MOSFET to turn the LEDs on. I then plan to deactivate/activate the gate on Atmega328P sleep/wake (respectively) controlled by a button and interrupt. The desired functionality is simple: When the Arduino is awake and running the strip will be on and when the Arduino is sleeping the strip will be off. The application is battery powered so efficiency is important.

Questions

  1. The LEDs typically draw around 600mA - 1A but can have a sustained maximum draw of ~2.2A. Is this an appropriate MOSFET to use with no additional heat sinking? http://www.digikey.com/product-detail/en/SI4778DY-T1-GE3/SI4778DY-T1-GE3CT-ND/2441976

  2. Do I need a current-limiting resistor between the Atmega328P output pin and the gate? I've read conflicting information here and believe the Atmega328P may have clamping diodes that eliminate the need for this. The fewer parts the better!

  3. Is my approach to use a N-Channel MOSFET and pull-down resistor the best? Cost isn't a big issue but simplicity, component size/count, and reliability are important. Is there a better way to go to use fewer parts? Can I somehow leverage the Atmega328P's pull-up resistors instead?

  4. I've read information about possibly needing a resistor between gate and drain (I think?) to make sure the strip is always turned off when the Atmega328P is off/asleep. It's critical that the strip ALWAYS be powered off when the micro is off/asleep but I can't find the older posts where I read this. Can someone explain what I read or if this applies to my design?

  5. All of the information about Rds, drain voltage and source->drain saturation, capacitance, flyback diodes, etc that I've read really doesn't matter to me since my application is so simple and I'm not switching or powering a motor, correct? My assumption is that I simply connect up the drain, source, and gate (likely a pull-down resistor) and I'm done.

Thanks so much in advance!

PS - I know the MOSFET I linked to is surface mount and despite being an EE amateur I do need SMD. I'm already plenty good at SMD soldering and the design has to be very small, hence trying to eliminate unnecessary components and have a simple reliable design.

CraigKC:
I've been reading lots here and elsewhere and I'm hoping someone can confirm that all of the information I've taken in is correct. I've never worked with FETs before and am an electronics amateur. Any help/guidance/feedback welcome!

Summary

I need my Atmega328P (5V) to turn a strip of LED lights (5V ~2.2A) on/off and a logic-level MOSFET seems to be what I need. I plan to make the Arduino setup() activate the gate of the MOSFET to turn the LEDs on. I then plan to deactivate/activate the gate on Atmega328P sleep/wake (respectively) controlled by a button and interrupt. The desired functionality is simple: When the Arduino is awake and running the strip will be on and when the Arduino is sleeping the strip will be off. The application is battery powered so efficiency is important.

Questions

  1. The LEDs typically draw around 600mA - 1A but can have a sustained maximum draw of ~2.2A. Is this an appropriate MOSFET to use with no additional heat sinking? http://www.digikey.com/product-detail/en/SI4778DY-T1-GE3/SI4778DY-T1-GE3CT-ND/2441976

That should work fine.

  1. Do I need a current-limiting resistor between the Atmega328P output pin and the gate? I've read conflicting information here and believe the Atmega328P may have clamping diodes that eliminate the need for this. The fewer parts the better!

Clamping diodes have no bearing on this issue, they are for voltage protection not current protection. A mosfet gate acts like a capacitor and therefore current flows only during the transition of high to low and low to high, during steady state there is no current drawn by the gate. A 200-300 ohm series resistor from output pin to gate is often recommended, but probably not critical but is cheap insurance.

  1. Is my approach to use a N-Channel MOSFET and pull-down resistor the best? Cost isn't a big issue but simplicity, component size/count, and reliability are important. Is there a better way to go to use fewer parts? Can I somehow leverage the Atmega328P's pull-up resistors instead?

  2. I've read information about possibly needing a resistor between gate and drain (I think?) to make sure the strip is always turned off when the Atmega328P is off/asleep. It's critical that the strip ALWAYS be powered off when the micro is off/asleep but I can't find the older posts where I read this. Can someone explain what I read or if this applies to my design?

Yes a pull-down resistor is needed between gate and source pin (source should be at ground anyway) to ensure mosfet is forced off is the arduino output pin is 'floating' during sleep mode. I believe there are different types of sleep modes where some keep the output pin at your desired state, while other modes let pins float. Either way an external pull down resistor will ensure mosfet is off if your last output command was low.
Lefty

  1. All of the information about Rds, drain voltage and source->drain saturation, capacitance, flyback diodes, etc that I've read really doesn't matter to me since my application is so simple and I'm not switching or powering a motor, correct? My assumption is that I simply connect up the drain, source, and gate (likely a pull-down resistor) and I'm done.

Thanks so much in advance!

retrolefty:
Clamping diodes have no bearing on this issue, they are for voltage protection not current protection. A mosfet gate acts like a capacitor and therefore current flows only during the transition of high to low and low to high, during steady state there is no current drawn by the gate. A 200-300 ohm series resistor from output pin to gate is often recommended, but probably not critical but is cheap insurance.

That makes perfect sense. Can you describe a failure type that would result in too much current being pulled from the micro's output pin from the gate? I don't understand what the insurance (or purpose of the resistor) here protects me from but would like to learn.

retrolefty:
Yes a pull-down resistor is needed between gate and source pin (source should be at ground anyway) to ensure mosfet is forced off is the arduino output pin is 'floating' during sleep mode. I believe there are different types of sleep modes where some keep the output pin at your desired state, while other modes let pins float. Either way an external pull down resistor will ensure mosfet is off if your last output command was low.

Wow, Duh! Somehow it flew over my head when they said they tied it to source instead of ground and you cleared it up perfectly. The pull-down resistor I already knew I needed to keep the gate low anytime the micro wasn't setting it high was the same thing that was being described here. I'm still trying to commit gate/source/drain names and meanings to memory!

That makes perfect sense. Can you describe a failure type that would result in too much current being pulled from the micro's output pin from the gate? I don't understand what the insurance (or purpose of the resistor) here protects me from but would like to learn.

The amount of output pin current being drawn by a mosfet is a little complex to express as it's a product of the amount of gate capacitance (this varies between different mosfet devices, large mosfets have higher capacitance then lower current models) and the duty cycle of switching of the gate by your coding. I will admit I've used power mosfets without using series gate resistors and have seen no problems in my few projects using them, but most well engineered products will use such a resistor, seeing a 330 ohm gate resistor is pretty common. The risk is gradual (or sudden) failure of the arduino output pin due to overcurrent.

So do I recommend a series gate resistor, yes. Do I myself always use such, no. But then again I'm a retired person enjoying a hobby, not a person developing stuff for other people to use or buy. My failures and successes don't amount to much important.

Lefty

retrolefty:
The amount of output pin current being drawn by a mosfet is a little complex to express as it's a product of the amount of gate capacitance (this varies between different mosfet devices, large mosfets have higher capacitance then lower current models) and the duty cycle of switching of the gate by your coding. I will admit I've used power mosfets without using series gate resistors and have seen no problems in my few projects using them, but most well engineered products will use such a resistor, seeing a 330 ohm gate resistor is pretty common. The risk is gradual (or sudden) failure of the arduino output pin due to overcurrent.

Well said and I appreciate your help so much. I think just from your explanation I understand at a high level how a MOSFET with high gate capacitance or a high duty cycle could ask for a lot of current from an output pin -- especially in an edge case or with a firmware change down the road. It sounds like I could either spend a great deal of time learning, calculating, and testing or simply put a series resistor in and know I'm safe. I like where your head is at -- good call on the resistor. :slight_smile:

it is very easy to calculate that resistance:
I_gate=Q_g/(t_d+t_r)
here you find the needed current
Qg is the gate capacitance
td and tr are in the datasheet turn on delay time and rise time

after you get this, you calculate the resistance to limit the current

R=(V_gate-V_gate,Izero)/I_gate
V_gate is the output of the controller
V_gate,Izero is from the graphs in the datasheet. I'll take it as 3V
and I_gate you've just calculated.

Power dissipation would be 5V*2.2A=11W, which is more than double the 5W it can dissipate. you need to calculate the heat dissipated and I'm not going to do that. Bottom line I don't recommend 2.2A. I would say 1A maximum, and be careful.
P.S. I would do heat calculations if I were you, but you have to look for them, since I can't put them here and explain since it will be a long post
also my advice is to put the resistance there, because it affects the port when you turn it on but also when you turn off the mosfet. and if you don't want those speeds for turning on (ns) put a bigger one just to be sure.