Author Topic: Low Vgth P-Channel MOSFET driving with Arduino  (Read 1902 times)

0 Members and 1 Guest are viewing this topic.

Offline elefurtronikTopic starter

  • Regular Contributor
  • *
  • Posts: 109
  • Country: 00
Low Vgth P-Channel MOSFET driving with Arduino
« on: February 02, 2023, 01:06:24 pm »
Hello,
I am trying to drive max -1v Vgth p-Channel mosfet with arduino by usin bc337 npn transistor. However, my MOSFET never turns off. I think this was caused high voltage which goes to the gate even though my bjt was turned off.
How can I turn off my mosfets? How can I apply a voltage to the MOSFET gate 0V for to close and over 1V to open.
Plase help me about it. I tried voltage divider but it didn't work. I also tried Zener diode.
 

Online wasedadoc

  • Super Contributor
  • ***
  • Posts: 1342
  • Country: gb
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #1 on: February 02, 2023, 01:45:43 pm »
Remove Q1 and replace I1 with a 1K resistor.  If the simulation still shows M1 passing significant current, then the simulation is wrong.
 

Offline CountChocula

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #2 on: February 02, 2023, 01:49:49 pm »
Try replacing M1 with a different P-MOS… my guess is that there is something wrong with the model you're using, so maybe trying a different one will help you ferret it out.
Lab is where your DMM is.
 

Offline elefurtronikTopic starter

  • Regular Contributor
  • *
  • Posts: 109
  • Country: 00
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #3 on: February 02, 2023, 02:18:26 pm »
Remove Q1 and replace I1 with a 1K resistor.  If the simulation still shows M1 passing significant current, then the simulation is wrong.
Hello,
I have just made this simulation to show my real circuit. It doesn't work in reality, I even tried in reality to use 1k resistor instead of 25k. However, my mosfets don't turn off.

Try replacing M1 with a different P-MOS… my guess is that there is something wrong with the model you're using, so maybe trying a different one will help you ferret it out.
I also tried to use an N-Channel mosfet instead a BJT. However, it doesn't work either. I am just talking about reality not for simulation. My diagram doesn't work in reality.
 

Offline Peabody

  • Super Contributor
  • ***
  • Posts: 1991
  • Country: us
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #4 on: February 02, 2023, 03:17:31 pm »
P-channel is the right mosfet, not N-channel.  When your NPN is turned off (Arduino output is low), then the pullup resistor on the mosfet gate raises the gate voltage to 6V, which turns off the mosfet.  So your circuit should work.

What is the gate voltage when the NPN is off?  If it is 6V, and the source voltage is also 6V, then the mosfet must be off.  Are you sure you haven't reversed the drain and source?  If they are reversed, then current would flow through the body diode even if the mosfet is off.  The source should be connected to the 6V rail, and the drain connected to your load.

 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3237
  • Country: gb
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #5 on: February 02, 2023, 03:20:34 pm »
If you are sure the source and drain connections are correct in your circuit, it's possible you have damaged the MOSFET with a static discharge whilst handling it.  They are fairly sensitive devices.
 

Online wasedadoc

  • Super Contributor
  • ***
  • Posts: 1342
  • Country: gb
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #6 on: February 02, 2023, 03:25:21 pm »
Make this real circuit.  Connect gate, source and +6 Volt together.  Connect red lead of multimeter to drain.  Set multimeter to measure dc current. Connect black lead of multimeter to 0 Volts.

If more than 5 microamps current is flowing either your MOSFETs are faulty or you have not connected properly.
 

Offline elefurtronikTopic starter

  • Regular Contributor
  • *
  • Posts: 109
  • Country: 00
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #7 on: February 02, 2023, 03:31:57 pm »
Hello,
Actually mosfets are working fine. There is no issue. I also checked that drain and source were connected correctly.  |O

The problem is Vgth I think. Mosfets threshold voltage to operate is minimum -0.3 and max -1V. Therefore, I think I somehow can't get a voltage on the gate lower than -0.3V.  How can I change my circuit to close the gate?

https://cdn-reichelt.de/documents/datenblatt/A200/TSM260P02CX.pdf
 

Offline Peabody

  • Super Contributor
  • ***
  • Posts: 1991
  • Country: us
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #8 on: February 02, 2023, 03:36:34 pm »
It sounds like you're confused about how a P-channel works.  The gate voltage has to be lower than the source voltage by at least the threshold voltage to turn the mosfet ON.  So if the gate and source are at the same voltage, the mosfet should be OFF.  You said the problem was that the mosfet would not turn off.  Is that right?
 

Online wraper

  • Supporter
  • ****
  • Posts: 16833
  • Country: lv
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #9 on: February 02, 2023, 03:36:53 pm »
Remove Q1 from your real circuit. If MOSFET still stays open, it's faulty or connected wrong.
 

Online wasedadoc

  • Super Contributor
  • ***
  • Posts: 1342
  • Country: gb
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #10 on: February 02, 2023, 04:23:27 pm »
Remove Q1 from your real circuit. If MOSFET still stays open, it's faulty or connected wrong.
That word "open" should be banned from discussions like this!

To some people it has the meaning intended above.  Current can go through like people going though an open gate.

To other people it has the opposite meaning.  "open circuit" means no current can flow.
 
The following users thanked this post: shapirus

Offline elefurtronikTopic starter

  • Regular Contributor
  • *
  • Posts: 109
  • Country: 00
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #11 on: February 02, 2023, 11:04:55 pm »
When I disconnect the BJTs. Circuits are still running but I am still not sure whether this is caused because my MOSFETs having very low Vgth or else.

I also found that low means on Arduino lower than 1.5V so this means my BJT still can let the current flow and let the MOSFET work.
https://www.arduino.cc/reference/en/language/variables/constants/constants/


I will prepare a new MOSFET set and try. However, if you have any other idea, please let me know.
 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3237
  • Country: gb
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #12 on: February 02, 2023, 11:20:37 pm »
When I disconnect the BJTs. Circuits are still running but I am still not sure whether this is caused because my MOSFETs having very low Vgth or else.

You still seem a little confused about Vgs(th).  If you disconnect the NPN transistor, then the resistor between gate and source ensures that Vgs=0, so the MOSFET should be fully turned off irrespective of having a low Vgs(th).  Unless that resistor isn't actually connected and your MOSFET gate is floating, or it's blown up...
 
The following users thanked this post: wraper

Offline elefurtronikTopic starter

  • Regular Contributor
  • *
  • Posts: 109
  • Country: 00
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #13 on: February 03, 2023, 10:26:34 pm »
When I disconnect the BJTs. Circuits are still running but I am still not sure whether this is caused because my MOSFETs having very low Vgth or else.

You still seem a little confused about Vgs(th).  If you disconnect the NPN transistor, then the resistor between gate and source ensures that Vgs=0, so the MOSFET should be fully turned off irrespective of having a low Vgs(th).  Unless that resistor isn't actually connected and your MOSFET gate is floating, or it's blown up...
OK. So when I disconnect the BJT, I pull up the gate and as Vs is larger than Vg, MOSFET must be off. However, it is not my case. Even though I disconnected the MOSFET, it was ON. I think my MOSFET Vgs(th) is very low. Maybe 10k is not sufficient. However, I don't know how to calculate the pull-up resistor for MOSFET.
In my case, I have a 6V source, and if I put pull-up resistor how Vg is 6V as there is a resistor there? And Gate and Drain are isolated, right?
 

Offline CountChocula

  • Supporter
  • ****
  • Posts: 197
  • Country: ca
  • I break things—sometimes on purpose.
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #14 on: February 04, 2023, 12:19:23 am »
OK. So when I disconnect the BJT, I pull up the gate and as Vs is larger than Vg, MOSFET must be off. However, it is not my case. Even though I disconnected the MOSFET, it was ON. I think my MOSFET Vgs(th) is very low. Maybe 10k is not sufficient. However, I don't know how to calculate the pull-up resistor for MOSFET.
In my case, I have a 6V source, and if I put pull-up resistor how Vg is 6V as there is a resistor there? And Gate and Drain are isolated, right?

I think I'm having a bit of trouble understanding what you describe, so I hope you don't mind if I try to make sure we're all talking about the same thing:
  • This is a p-channel MOSFET, so the transistor turns on (meaning that it will conduct between source and drain) when the gate is at a lower potential than the source by the threshold voltage Vgs(th) (so, the FET starts turning on when Vg - Vs ≤ Vgs(th)).
  • If you pull up the gate by connecting it to the same rail as the source, Vg == Vs, and the transistor should be off, meaning that there is no conductivity between source and drain.
  • As far as I know, very little current is required on the gate once its capacity is overcome; 10kΩ is plenty for a pull-up, and even 100kΩ should work.
Assuming that all this checks out, if you measure the voltage from ground at both the gate and source and they're the same, I think your transistor is not working properly. If they're different so that Vs > Vg by more than Vgs(th), then the FET will correctly be on, and you likely have some kind of connection issue, like a bad soldering joint, a broken trace, or something like that.

I hope this helps a little bit!
Lab is where your DMM is.
 

Online wraper

  • Supporter
  • ****
  • Posts: 16833
  • Country: lv
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #15 on: February 04, 2023, 07:50:27 am »
When I disconnect the BJTs. Circuits are still running but I am still not sure whether this is caused because my MOSFETs having very low Vgth or else.

You still seem a little confused about Vgs(th).  If you disconnect the NPN transistor, then the resistor between gate and source ensures that Vgs=0, so the MOSFET should be fully turned off irrespective of having a low Vgs(th).  Unless that resistor isn't actually connected and your MOSFET gate is floating, or it's blown up...
OK. So when I disconnect the BJT, I pull up the gate and as Vs is larger than Vg, MOSFET must be off. However, it is not my case. Even though I disconnected the MOSFET, it was ON. I think my MOSFET Vgs(th) is very low. Maybe 10k is not sufficient. However, I don't know how to calculate the pull-up resistor for MOSFET.
In my case, I have a 6V source, and if I put pull-up resistor how Vg is 6V as there is a resistor there? And Gate and Drain are isolated, right?
Gate is isolated, it's like a small capacitor. So even if resistor was 1 Megaohm, MOSFET would still turn off, just with more delay. If you measure voltage between gate and source (across R2), it must be 0V. No current flows through the gate in steady state, some current only when you change voltage on the gate because it needs to charge/discharge its capacitance.
 

Offline elefurtronikTopic starter

  • Regular Contributor
  • *
  • Posts: 109
  • Country: 00
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #16 on: February 05, 2023, 01:46:23 am »
Hello everyone,
I found the problem but I still don't understand why this happens. As you can see two loads which are connected to MOSFETs. One is a solenoid valve and the other one is DC motor. When I connect the solenoid valve's and dc motors ground together, the solenoid valve doesn't work. However, when I connect the solenoid valve's GND leg separately to ground, the solenoid works. Could you help me on this issue, please?
 

Offline inse

  • Frequent Contributor
  • **
  • Posts: 653
  • Country: de
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #17 on: February 05, 2023, 06:23:42 am »
How much current do your loads draw?
If you are testing the circuit on a breadboard, the voltage drop on the contacts and rails can cause unexpected behaviour.
Insufficient wire gauge does the same.
« Last Edit: February 05, 2023, 06:25:20 am by inse »
 

Online wasedadoc

  • Super Contributor
  • ***
  • Posts: 1342
  • Country: gb
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #18 on: February 05, 2023, 06:38:54 am »
Hello everyone,
I found the problem but I still don't understand why this happens. As you can see two loads which are connected to MOSFETs. One is a solenoid valve and the other one is DC motor. When I connect the solenoid valve's and dc motors ground together, the solenoid valve doesn't work. However, when I connect the solenoid valve's GND leg separately to ground, the solenoid works. Could you help me on this issue, please?
All that does not align with your posts above that the FETs never turn off.
 

Offline elefurtronikTopic starter

  • Regular Contributor
  • *
  • Posts: 109
  • Country: 00
Re: Low Vgth P-Channel MOSFET driving with Arduino
« Reply #19 on: February 05, 2023, 10:06:20 am »
How much current do your loads draw?
If you are testing the circuit on a breadboard, the voltage drop on the contacts and rails can cause unexpected behaviour.
Insufficient wire gauge does the same.
Yes, I do on breadboard. I am using 25awg and pullin 600mA max. lets say.

Hello everyone,
I found the problem but I still don't understand why this happens. As you can see two loads which are connected to MOSFETs. One is a solenoid valve and the other one is DC motor. When I connect the solenoid valve's and dc motors ground together, the solenoid valve doesn't work. However, when I connect the solenoid valve's GND leg separately to ground, the solenoid works. Could you help me on this issue, please?
All that does not align with your posts above that the FETs never turn off.
I actually changed bjts with n channel mosfets and solved this issue. However now I have another issue with the same circuit. So should I create another post for this. If yes, after if it is solved here, I can create a post and explain for people who might have the same issue.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf