Go Down

Topic: MOSFET Question (Read 3122 times) previous topic - next topic

Justin Berken

Feb 21, 2010, 06:53 am Last Edit: Feb 21, 2010, 07:01 am by berk0080 Reason: 1
Hello,

I am trying to interface an IRLB8748PbF MOSFET with the arduino and am having issues. It seems the MOSFET 's gate is so sensitive that it cannot tell the difference between high and low states.  As a result, the external circuit is always in a closed state regardless of the digital pin output.

Any suggestions?

Here is the current schematic:



Data sheet for IRLB8748PbF MOSFET http://www.irf.com/product-info/datasheets/data/irlb8748pbf.pdf

And the code:

Code: [Select]
int ledPin =  9;  
void setup()   {                

 pinMode(ledPin, OUTPUT);    
}


void loop()                    
{
 digitalWrite(ledPin, HIGH);  
 delay(5000);                  
 digitalWrite(ledPin, LOW);    
 delay(5000);                
}


Thanks!!!

zoomkat

#1
Feb 21, 2010, 07:06 am Last Edit: Feb 21, 2010, 07:06 am by zoomkat Reason: 1
There are a lot of previous post concerning MOSFETs that might be of use to you. Your wiring will cause you problems because you do not have a high value resistor between the MOSFET gate and ground.
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

BenF

Quote
It seems the MOSFET 's gate is so sensitive that it cannot tell the difference between high and low states.

I don't think anyone can unless we have a reference to compare high/low against.  :)

Try this:

Connect plus on your 5V supply to one end of the muscle wire and the other end of the muscle to the MOSFET D terminal. Connect MOSFET S terminal to Arduino ground AND power supply minus. Mosfet gate goes to your PWM pin. Mosfet can now determine High/Low as a potential difference between Gate and Source terminal.

retrolefty

Your circuit as drawn won't work because there is no common reference between the source/draing circuit and the gate/source circuit. Wire it as BenF discribed.

Lefty

goldenclan

yep +1 to what they said,  I was trying to control a fan, and I did the same thing as you.  

Grumpy_Mike

I also think the FET is wired wrong. It is drawn as a p-channel FET but this is an n-channel fet according to the data sheet.

So it should be wired source to -ve of battery to arduino ground. Drain to muscle wire, other end of wire to +ve of battery. Finally gate to pin9 preferably through a 100R resistor to protect the arduino from the current surge of the uncharged gate.

For an explanation of why you want the grounds together:-
http://www.thebox.myzen.co.uk/Tutorial/Power_Supplies.html

Justin Berken

Quote
Connect plus on your 5V supply to one end of the muscle wire and the other end of the muscle to the MOSFET D terminal. Connect MOSFET S terminal to Arduino ground AND power supply minus. Mosfet gate goes to your PWM pin. Mosfet can now determine High/Low as a potential difference between Gate and Source terminal.


Thanks Ben, that worked!!!


Here is the new schematic:


retrolefty

There you go, that looks fine. You might consider wiring a 10k resistor from the MOSFET gate to ground. This would insure that the MOSFET will turn off if the Arduino is ever turned off but the external +5vdc power for the muscle wire is still on.

Lefty

Go Up