Go Down

Topic: 2n7000 MOSFET for switching 5V loads - only fully conducting >6,5V (Read 5084 times) previous topic - next topic

derVernichter

Hi,
I want to switch a couple of 5V devices with my Arduino and do not want to draw too much current from the mc itself.
Therefore, I purchased 2n7000 mosfets as they are rated to work well at logic level voltages (according to the datasheet [1], the V_GS threshold where they start conducting is typically at about 2.1V -- furthermore, at 5V between GS and DS, they are theoretically supposed to provide about 500ma, i.e. the transistor resistance should imho be negligible - R_DSon should be well below 5ohm).

However, when using a simple setup connecting 300 ohm resistance as load, supplying the FET with 5V and turning it "on" with 5V at the gate, the transistor drops about 2V. This is getting worse when I decrease the resistance.
Whereas, putting higher voltages on the gate turns the transistor rather rapidy fully on beginning with about 6,5V.
I also did try other transistors of this charge, so this is at least not a single bad apple.

What am I possibly missing here?
What are alternatives to the 2n7000 model (I appreciate the TO-92 form factor)?
Do you think a simple level conversion pulling the arduino outputs up to 12V would be a suitable solution?

Many thanks in advance.

[1] http://www.vishay.com/docs/70226/70226.pdf

Jiggy-Ninja

MOSFET gates are EXTREMELY sensitive to ESD. I don't see protection diodes on it, so you probably damaged it while handling it.
Hackaday: https://hackaday.io/MarkRD
Advanced C++ Techniques: https://forum.arduino.cc/index.php?topic=493075.0

CrossRoads

Take a look at AOI514. Inexpensive, very low Rds, definitely a logic level gate - here are 32 of them controlled by 74HC595 output:
http://www.crossroadsfencing.com/BobuinoRev17/
Fading 8 LED strips up & down: https://www.youtube.com/watch?v=hAVf1D1L-7c
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Wawa

With a 300ohm load there should be very little voltdrop across that fet.
"...at 5V between GS and DS" Do you mean 5volt between source and gate (not drain).

Do you have the load between supply and drain, and source connected to ground?
There will be ~2volt across the fet if you use it as a source follower.
Leo..

Grumpy_Mike

Quote
What am I possibly missing here?
This
Quote
at 5V between GS and DS, they are theoretically supposed to provide about 500ma,
No it is not. You are not understanding that line of the data. A current of 500mA is the on state static current with the conditions VDS=7.5 V,VGS=10V - which you do not have.
and it has a note b against the parameter which says:-
Quote
Pulse test: PW v80 ms duty cycle < or = 1%.
The Drain-Source On-Resistance for 5V on the gate and ID = 0.05 A is given as typically 3.2R but can be up to 7R5. A 300R resistor at 5V will give you at the most 15mA, so nowhere close to the 50mA of the test parameter, and you are not testing it with pulses.

Quote
Whereas, putting higher voltages on the gate turns the transistor rather rapidly fully on beginning with about 6,5V.
So the gate is above the drain voltage?

Quote
Do you think a simple level conversion pulling the arduino outputs up to 12V would be a suitable solution?
This is the first time you have mentioned 12V, was it missing from somewhere in your original description?

derVernichter

Thanks for your first answers, I very appreciate your help.

@Jiggy-Ninja: I actually encountered a couple of damaged devices some time ago, they indeed are quite sensitive - they usually had a shortcut. However, I am pretty sure that not all of them are damaged by now.


@CrossRoads: I may give them try if nothing else works.


@Wawa: As stated, I apply 5V to the Drain and Gate, i.e., there is 5V between Gate and Source as well as Drain and Source. I have put the load between the FET Source and GND in order to not have any voltage applied to the load all time.
Switching this to the undesired "always on voltage" version works quite well - probably due to significantly higher voltage at the Gate in comparison to the remainder voltage at the Drain.


@Grumpy_Mike: I had a look at the graphs (in particular the output characteristics on page 4) - Please correct me if I am wrong, but does not this graph show the steady behavior?
Anyway, even with an R_DSon of 10Ohm, the voltage drop should be quite low with respect to the order of magnitude higher restistance of the load.

With my planned application of turning the transistor on/off directly via the arduino, the gate voltage is typically even slightly below the Drain voltage of 5V.
-- And that seems to be the problem here: While keeping the supply at 5V on the Drain and increasing the Gate voltage well above 5V, the FET starts fully conducting as stated. The latter is the desired use-case, but in combination with a lower Gate voltage.

As a workaround: The thing about 12V is, that I do have another 12V rail that I may use - my observations show that the transitor may be switched fully on with higher voltags (i.e. V_GS >> V_DS).
I have seen circuits using a simple pullup (e.g. 4k7 or better higher) as a poor mans unidirectional level shifter - but I am not sure whether this would be that great of an idea giving the arduino an overvoltage (although the current will be very limited).


Hopefully the last two comments clarify the problem I am facing here (edited due to typos).

Jiggy-Ninja

@Wawa: As stated, I apply 5V to the Drain and Gate, i.e., there is 5V between Gate and Source as well as Drain and Source. I have put the load between the FET Source and GND in order to not have any voltage applied to the load all time.
Switching this to the undesired "always on voltage" version works quite well - probably due to significantly higher voltage at the Gate in comparison to the remainder voltage at the Drain.
So it's a source follower like Wawa mentioned. Well there's your problem!

5V VG is not the same as 5V VGS when the source is floating on top of the load like that. What are you switching that you don't want to stay connected to the positive rail with a disconnected GND? If you want to switch high-side, you need to use a P-channel, N-channels are for low-side.
Hackaday: https://hackaday.io/MarkRD
Advanced C++ Techniques: https://forum.arduino.cc/index.php?topic=493075.0

derVernichter

Ah, that is the point. Thanks for clarification. I simply did not think about that - d'oh ;-).
With this regard, the topic may be closed.

E.g. I would like to run the cheap moisture sensors. Applying a potential to them all time would lead to increased oxidation of the electrodes - therefore, it would be beneficial having them totally cut off.


Still, what do you think about the idea of using the "level shift" for a higher gate voltage to use the N-channel devices anyway?

Wawa

A cheap moisture sensor can be supplied by a digital pin.
Leo..

Jiggy-Ninja

Ah, that is the point. Thanks for clarification. I simply did not think about that - d'oh ;-).
With this regard, the topic may be closed.

E.g. I would like to run the cheap moisture sensors. Applying a potential to them all time would lead to increased oxidation of the electrodes - therefore, it would be beneficial having them totally cut off.


Still, what do you think about the idea of using the "level shift" for a higher gate voltage to use the N-channel devices anyway?
I'm pretty sure it's current that causes chemical reactions, not voltage. And since the entire point of a transistor switch is to stop current from flowing, there shouldn't be any excess reactivity.

Honestly, if you're going to go through the trouble of a high voltage gate driver just for a small MOSFET, you're probably better off just using a BJT. Get a PNP for a high-side switch and just be done with it.
Hackaday: https://hackaday.io/MarkRD
Advanced C++ Techniques: https://forum.arduino.cc/index.php?topic=493075.0

Wawa

A cheap moisture sensor can be supplied by a digital pin, just as you can power a LED with a digital output.
Even the digital ones (with LM358) only draw a few milliamps.
Cheap bare circuitboard sensors will still corrode. And corrode faster if there is potential difference between Arduino ground and mother earth (if used in the ground).
If you are only using the analogue output of those sensors (connected to an analogue input), then replace them with two 3" galvanised nails and a 10k pull up resistor. Essentially the same thing, and will cost you almost nothing.
Leo..

Go Up