MOSFET Self turn on momentary when power on/off

Hi! =)

I have a little problem with this Channel-P MOSFET : NTF2955

I use it like a switch with Arduino Mega. I have a 1Mohm resistor between Drain and Source (Source conected to +12V from a battery), a PWM pin from MEGA goes to a SCR and this to the Gate of the MOSFET with -12V and work great. But when I power on the Arduino from the battery, the MOSFET turn on by itself momentary a little milliseconds and this should not happen. Also when I power off the system this happen too.

How can I solve this problem? How can prevent this peak voltaje to cross from source to drain directly? Because is the only way I think this is happening.

I checked if this happened from the SCR and without the SCR this happend too when I power on/off the "system". I also tried with 5V and the same problem happen.

Thank you very much in advance.

You need a resistor from gate to source, otherwise the gate floats. 10K is fine.

However, you cannot drive the P-MOSFET directly using a digital output. You need a driver, usually an NPN bipolar or N MOSFET. Google will show you suitable circuits. Be sure there is a common ground.

I describe my circuit wrong. The 1Mohm resistor is put on that way, between Gate and Source, but I still have the Self Turn On problem. What my circuit should have to prevent peak voltaje that cause this problem?

Change the 1M resistor to more like 1k, add a series resistor on the gate of the thyristor, otherwise you'll damage it or the Arduino pin. 1k should do it.

1M is far too high a value to use in any switching circuitry, stray capacitances will completely overcome it.

MarkT:
Change the 1M resistor to more like 1k, add a series resistor on the gate of the thyristor, otherwise you'll damage it or the Arduino pin. 1k should do it.

1M is far too high a value to use in any switching circuitry, stray capacitances will completely overcome it.

Only with that could prevent the self turn on/off problem? Is it not necessary to add any diode, zener or TVS for protection?

When you power up the Source, the Gate does not rise to the same voltage immediately because the Gate has capacitance, and it is being charged only through the 1M resistor. So for a short time the Gate voltage is low enough to turn on the mosfet. As the Gate continues to charge, the mosfet will eventually turn off.

A lower value resistor should improve things, at the cost of using more current. Another alternative that might work is to add a small capacitor in parallel with the resistor. That would allow the initial rise in Source voltage to be passed immediately to the Gate. But that solution does add to Gate capacitance, so it might not work well if you are switching rapidly.

By the way, the mosfet's body diode is shown backwards on your drawing.

After checking all your advices I try every thing and this is what I got:

  • If I only change the 1M resistor for 1K or 10K, the MOSFETs works even worst and stay on when I turn on the system for 1 second.

  • If I change the 1M resistor for 10K and add 1K resistor between thyristor and Arduino, still do the same thing, stay on for 1 second. Also with 1K instead of 10K do the same thing.

  • If I change 1M resistor with 10K and add a 10K resistor between cathode and gate of the thyristor, it WORKS.

  • If I don't change 1M resistor and add a 10K resistor between cathode and gate of the thyristor, it WORKS.

  • If I change 1M resistor with 10K and add a 10K resistor between cathode and gate of the thyristor and also add 1K resistor between Thyristor gate and Arduino, and another 1K resistor between MOSFET gate and Thyristor anode, it WORKS.

When I say that works I mean the problem of self turn on when power on/off stop happened.

This are the two schematics that works:

Which of this two is better and recommended to use? Adding a diode to the MOSFET drain is recommended for protection? I don't use caps because I need fast switching and like ShermanP say may be not that fast.

Thank you for your help, was really helpful.

I don't understand the results you got. You said in the beginning that you had this problem when the SCR was not there. But now it looks like it was the SCR that was triggering when it shouldn't. I don't know what to suggest.

I know and if I take off the SCR and use a simple Relay, the MOSFET (with 1M, 10K or 1K resistor) cause the problem too. But with all this complete circuit don't

Okey something that I don't have in mind... I use a buck converter module to convert 12V to 5V for Arduino and 12V to the MOSFET with GND in common. The problem happened with this buck converter, but without it, connecting 12 to the Arduino VIN and only with the 1M resistor on MOSFET, this problem don't happen... :o

I do not understand why you are using an SCR.
An SCR requires a minimum operating current
to remain in conduction (stay latched on).
It can not be turned off through the gate.
Herb

herbschwarz:
I do not understand why you are using an SCR.
An SCR requires a minimum operating current
to remain in conduction (stay latched on).
It can not be turned off through the gate.
Herb

Should I remplace them with a N-Chanel MOSFET to use the P-Channel MOSFET or is there a better circuit for this? I use BT151 thyristor and in my case works really well for fast switching with the MOSFET but because I'm not sure what is better to use, I'm here asking what should I do.

I am no expert with MOSFETs, but, I think you
would be better off using an NPN transistor
than the BT151.
Herb

Here's a schematic for high side switching with a P-channel MOSFET, I don't understand your use of an SCR for trigger. :confused:

Okey! I will try the circuit with a NPN like JCA34F show in their schematic.
Also, should I put a Diode on the Load? I don't use motors, I use nicrom wire that works like heat resistor.
Thank you very much to all for the recommendations.