I bought some P-channel MOSFETs recently: (http://www.vishay.com/docs/73253/si1403bd.pdf) and I'm having more trouble than expected getting them to work properly. I'm hooking them like this: (http://img594.imageshack.us/img594/7159/mosfet.jpg) and there seems to be no way to turn the things off! If I put 0V on the gate it turns on as it should, yet if I put 5V on the gate it seems to go linear but not completely turn off. Even it I put 2.5V to the source (through a voltage divider) and 5V to the gate it still won't turn off. This MOSFET on the other hand works perfectly: (http://www.irf.com/product-info/datasheets/data/irf9540n.pdf). Can anyone help me out?
That ought to work - have you measured the actual voltage between source and gate when driving the gate to 5V (don't measure between gate and ground, that will affect the gate voltage a little as voltmeters aren't perfect. If the voltage between source and gate isn't very close to 0 then the MOSFET is damaged (or you're providing a different 5V supply to the source and to the Arduino).
The leakage from drain to source with zero gate drive should be less than 1uA - in theory this will illuminate the LED a tiny tiny bit - have you measured the current through the LED when the gate is shorted to the source?
voltage between source and gate is in the millivolts, probably not a problem. However, I'm able to pull anywhere from 100uA to 10mA (it seems to just float around) from the drain when the gate is high and as would be expected with such high leakage the led is still bright when gate is at 5V. I figure either the thing is blown or I'm no good at soldering .6mm pin pitch components (let alone hand drawing the circuit board with a sharpie!) and I might have a tiny bridge or parasitic current flowing through flux residue somewhere. Seeing as the intended purpose for the MOSFETs was a switch to connect and disconnect a battery from it's charger the slight leakage might be OK, but I was also planning on using them as an LCD backlight on/off/PWM control in which case they would certainly need to turn off! I'll test out the other MOSFETs tomorrow and see if I get similar results,
FWIW: Rds with gate @ 5V (measured with multimeter across drain and source :D probably not the right way) is 8+ megOhm although that's not not what the drain current is telling me. Rds with gate @ 0V ~ 0.1 ohm
Voltage drop across drain and source, gate @ 5V = 200 - 3000mV Voltage drop across drain and source, gate @ 0V ~ 0mV
Voltage at drain, gate @ 5V = 2 - 4.7V, corresponds with above figure Voltage at drain, gate at 0V = 5V
Are you testing this using 5V and 0V or are you using HIGH and LOW via an I/O pin?
10mA is too much to leak through flux residue - any accidental short would be a few ohms or less - so I think its clear the fault is on the gate electrode - it may not be connected properly.
Remember solder with a HOT iron QUICKLY. Clean and tin surfaces before soldering (not always easy for SMT). Use fresh flux always.
If you are using a ATmega32 or similar Atmel chip, the high output voltage of an IO pin is only guaranteed to be greater than 4.2 V with a 5 V supply. You cant guarantee it will be exactly 5 V.
I was doing all my testing with the 5v on the arduino so current wasn't the problem. Just tried with another MOSFET and it seems to be good except that I'm still getting 2-10uA of leakage from the drain. While this won't be a problem in the final design I'd still like to know why this MOSFET is leaking 10uA while the IRF I mentioned leaks 0.0uA. Does 10uA sound feasible as flux residue leakage? Also, throughout the time that I've been writing this post, the led sometimes suddenly goes very bright when the gate is @ 5V. However, when I get close to it to measure the current the led turns off again. I seem to have some weird noisy gate here. Leakage current seems to have settled down to 0.0uA though.
a P Ch Mosfet [u]requires[/u] a pull Up from the positive source to the gate. If the gate is floating i.e. Not pulled up directly with a 10K or so resistor to the source (most positive lead on the transistor) you will see the issues that you are describing. Normally a good Mosfet will exhibit nearly 0 leakage current if the gate is at the same potential as the source. A P ch device normally has the source connected to the positive supply and the gate is pulled low to turn it on. If the source of your Fet is connected to a voltage higher than 5V and the gate is connected to an Arduino port you won't be able to turn it off from the port and if the source is connected to 5V and the gate to an Arduino output a pull-up is still very much required for proper operation. Usually I use a resistor in the range of 4K7 to 22K ohms. If you are seeing leakage in excess of a few uA then it is likely that the device is static damaged as the fail test is at about a uA total leakage. I've used a lot of both N and P channel devices and any that were that leaky were just waiting to fail.
Increased leakage beyond the datasheet value could be due to overheating damage during soldering (use a HOT iron for a SHORT time), or other components leaking, or noise on the gate (that's why I said measure with gate shorted directly to source), or the circuit being at high temperature. That surface mount FET has a leakage of 1uA I think, so 10uA is out-of-spec.