Mosfet driving a Mosfet...

So, I have the following setup:

2 X 1M ohm resistors
1 X 2N7000 N type mosfet
*Vgs(th) - 3V max
*Vds - 60V
1 X IXFK 64N50P Mosfets
*Vgs(th) - 5.5V max
*Vgs - 30V continuous
*Vds - 500V

So...

I am using an Arduino UNO r3 to drive a digital output high.

2N7000
*Drain is connected to +30V dc
*Source is connected to both the Gate of the 64N50P and ground via a 1Mohm resistor
*Gate is driven high by Arduino output and is connected to ground via a 1Mohm resistor

64N50P
*Drain is connected to same +30V dc as 2N7000.
*Source is connected direct to ground
*Gate is driven to +30V via 2N7000.

Problem - unknown.
Sometimes it works perfectly. Sometimes it works like the Gate voltage is just barely above threshold. Sometimes it will run 100% of the time.

Earlier it was working perfectly. Turned it off, had lunch, returned, fired it up and nothing at all. Then, it did go and killed the 2N7000 - D to S went short circuit.

I'm basically using the 'blink' example to drive the circuit so the motor will go On-Off with 1 second delays.

Can you post a schematic?
www.expresspcb.com has a very easy to use schematic capture tool.

As requested....

I'm basically trying to use an Arduino to control a 2N7000 mosfet then use that to control a big power 64N50P mosfet...

The reason being, the Arduino output voltage for a digital pin is too low to get the +30V Vgss I need to saturate the 64N50P and make it work like a proper fast switch.

You are using both mosfets in the common drain (also called source follower) configuration. In this configuration, the output voltage at the source will always be less than the fate voltage. You are feeding 5V to the gate of the 2N7000. Its output will be somewhat less (perhaps 4V), and the output of the 64N50P will be even less than that.

You are looking to achieve voltage amplification (i.e. switch up to 450V using just 5V), so the common drain configuration is no good to you. You need to use the common source configuration. If you need to high-side switch the 450V load (as you are currently trying to do) then you have a couple of options:

  1. Use a P-channel mosfet to switch the load, with source connected to your +0-450V supply and drain connected to the load. The gate will need to be at the same voltage as the source when you want the load to be off, or 10 to 20V lower than the source voltage when you want it to be on. You can use another mosfet or BJT to amplify and level-shift the 5V signal from the Arduino.

  2. Keep the 64N50P but use a high-side mosfet driver chip to level-shift the gate signal, which needs to be 10 to 20V higher than your 0-450V supply to turn the mosfet on. This is the approach I recommend. I believe this chip http://uk.farnell.com/international-rectifier/ir2184pbf/driver-mosfet-high-low-side-2184/dp/1023249 would be suitable, if you ignore the low-side driver output.

EDIT: I just found this http://uk.farnell.com/international-rectifier/irs21171spbf/gate-driver-hi-side-sgl-8soic/dp/1925153?Ntt=irs21171 which only contains the high side driver. Note that both of these chips need a supply of between 10 and 20V. OTOH you will no longer need your 30V supply.

EDIT again: corrected chip suggestion links.

EDIT yet again: I just noticed that these chips are not suitable for powering a load continuously, because they don't contain an oscillator to generate the boost supply (they assume the input is PWM). To use them, you would need to provide a floating 10 to 20V supply, referenced to your +0-450V. This is by no means impossible, but not trivial. Easiest solution is to use a DC-DC converter running off the 5V supply such as this http://uk.farnell.com/murata-power-solutions/mer1s0515sc/converter-dc-dc-1w-5v-to-15v/dp/1818324.

If you are really going for 450V operation don't use a MOSFET, far too easy to blow it up, use an IGBT. Using
low-side switching of the load will be far easier at high voltage. At 100V and above MOSFET circuits get tricky,
and the Rds(on) specs aren't so hot either. IGBT have a couple of volts saturation but are far more robust at
the high-voltage end of things.

In either case if the load is high-voltage you must drive the gate properly with a low impedance driver
circuit/chip, or you'll just blow the gate (current feedback from drain-gate capacitance at 450V
could overwhelm any high-impedance gate drive and exceed the max Vgs). If the load is only 30V then this isn't crucial.

Good advice there from MarkT. If you want to use an IGBT and do high-side switching, then the chips I referred to in my previous post can do that too. They also provide the low-impedance gate drive you need.

Forgive my ignorance:

I have been doing some more reading regarding Mosfets: Is this right:

If an n type mosfet has a Drain to Source voltage of lets say 50Vdc, and a Gate to Source voltage of +10Vdc, does that mean I actually require +60Vdc to drive the gate? or just +10Vdc (referenced to the ground)?

Originally when I setup the circuit, I used just the Arduino's +5 and the +30V supply as follows and it seemed to work...

To the DC load bit I had connected a permanent magnet DC motor (pushed as far as 9 amps). Then as I said, turned it off, had lunch, came back and it no longer worked. Each individual component worked when tested separately. I'm lost.

truth be known, I'll only be driving to a max of about 30V Dc anyway I just would have liked to have the play room to use the same thing for different applications. The mosfets will be water cooled as they can dissipate a max of about 830W at 25degC.

Basically, I'm trying to use an arduino to drive 2 of these mosfets, connected to a centre tapped primary of a transformer, then use the secondary to run the coil and capacitor bank of a crude induction heater. Ultimately, I'd love to be able to have this built without forking out for any new parts.

I have 3 variacs bolted together (each 3200VA), a 3 phase full wave bridge rectifier (each diode 200A continuous), up to 10 3300uF, 500Vdc capacitors to smooth DC. I have the code written (and tested with resistors an a CRO) with control up to around 16kHZ and periodic time can be stepped up and down in 2uS increments.

What I am having problems with, it just driving these god damn Mosfets - Mosfets are new to me.

dc42:
You are using both mosfets in the common drain (also called source follower) configuration. In this configuration, the output voltage at the source will always be less than the fate voltage. You are feeding 5V to the gate of the 2N7000. Its output will be somewhat less (perhaps 4V), and the output of the 64N50P will be even less than that.

But it was working. Had a volt meter over the input terminals of a motor and was looking at 30Vdc

dc42:
EDIT: I just found this http://uk.farnell.com/international-rectifier/irs21171spbf/gate-driver-hi-side-sgl-8soic/dp/1925153?Ntt=irs21171 which only contains the high side driver. Note that both of these chips need a supply of between 10 and 20V. OTOH you will no longer need your 30V supply.

These look good....maybe.... I'm just getting lost in data sheets now.....

I'm thinking your setup should look more like this.

AussieNufMan:
I have been doing some more reading regarding Mosfets: Is this right:

If an n type mosfet has a Drain to Source voltage of lets say 50Vdc, and a Gate to Source voltage of +10Vdc, does that mean I actually require +60Vdc to drive the gate? or just +10Vdc (referenced to the ground)?

If you use an N-channel mosfet as a low side switch (source connected to ground - see schematic in Crossroad's reply), then you only need to apply 10V to the gate. However, if you use an N-channel mosfet as a high side switch (drain connected to +50V, source connected to load), then when you turn the mosfet on, the source will also rise to +50v; so you need +60V on the gate. However, you also need to ensure that at all times, you don't exceed the Vgs rating of the mosfet (which is typically about 20V).

AussieNufMan:
Originally when I setup the circuit, I used just the Arduino's +5 and the +30V supply as follows and it seemed to work...

Were you able to control the output voltage from the Arduino? I can see that with some sorts of wiring fault or component fault, you would get a constant 30V (or nearly 30V) across the load. But if you really did have the negative side of the 30V supply connected to Arduino ground as in your schematic, then there is no way that with that circuit, you could switch between 0V and 30V across the load depending on the state of the Arduino pin.
[/quote]

dc42:
put voltage from the Arduino? I can see that with some sorts of wiring fault or component fault, you would get a constant 30V (or nearly 30V) across the load. But if you really did have the negative side of the 30V supply connected to Arduino ground as in your schematic, then there is no way that with that circuit, you could switch between 0V and 30V across the load depending on the state of the Arduino pin.

It is Entirely Reasonable that there was a wiring fault. Very.... reasonable....

CrossRoads:
I'm thinking your setup should look more like this.

I'll have a crack at that when I get a hold of a couple of p-channel's. Change the 2N7000's to something else and see what happens...

Thank you all for your help.

Only the left part would be p-channel.
And then the pulldown on its gate would a pullup.

Crossroads, I don't usually disagree with you, but I don't see how your schematic in reply #7 can work as shown. The left hand N-channel mosfet is configured as a source follower, so it will provide a lot less than 5V gate drive to the right hand mosfet. As for using a P-channel left hand mosfet, you would need to swap the source and drain, and connect source to +5V instead of +30V as shown. Then the left hand mosfet would act as an inverter, possibly giving faster turn on of the right hand mosfet, but giving slow turn off because of the rather high value pulldown resistor on the gate of the right hand mosfet.

If the OP wants to do low-side switching (which is easier than the high side switching he is currently trying to do), then I suggest driving the N-channel power mosfet either directly from the Arduino output pin (with the usual 100 ohm series resistor and 10K pulldown resistor), or for higher speed switching drive the N-channel mosfet from the Arduino output via a mosfet driver chip such as MCP1407.

Yeah, if he's changing parts the schematic needs to change, I don't disagree.

First things first...

To both crossroads and DC42, thank you for your help.

I am more than capable of selecting the right resistor to current limit an LED, however this is my first proper play with high power, fast switching devices.

dc42:
...I suggest driving the N-channel power mosfet either directly from the Arduino output pin...

I tried to drive it with the logic output however the available voltage from the power mosfet was way too low.

dc42:
Were you able to control the output voltage from the Arduino? I can see that with some sorts of wiring fault or component fault, you would get a constant 30V (or nearly 30V) across the load. But if you really did have the negative side of the 30V supply connected to Arduino ground as in your schematic, then there is no way that with that circuit, you could switch between 0V and 30V across the load depending on the state of the Arduino pin.

You, of course, are correct - the 2N7000 was faulty. I had (in haste) connected the D and S reverse and ultimately caused it to short circuit internally (I think). So I believe the arduino was effectivly pulling 2N7000 to ground resulting in two things - the motor seeming to work and the death of the arduino's ATMega328 chip after a few minutes of operation.

dc42:
...for higher speed switching drive the N-channel mosfet from the Arduino output via a mosfet driver chip such as MCP1407.

I have so far read the datasheet 2 or 3 times and believe I understand what is going on. the MCP1407 is only good for a Vcc of +18V.

I have had a further look and found http://www.ti.com/lit/ds/symlink/uc2709.pdf. Basically the same...ish device however Vcc is up at +40V which will satisfy my needs and will drive the Mosfet at saturation with minimal Rds. Also, the input 'triggers' are 5.5V which is what I need. I am a little lost on the InputA and InputB and where the outputs come into play...

I'm assuming because it is a Dual driver - if input A is driven HIGH, output A will be HIGH and same for In/Output B.

Anyway, for now, I'm waiting on things to arrive from the UK before I move forward...

And, again, thank you both for your help. It has been invaluable.

Do you intend to change the arrangement to switch the low side of the load (i.e. put the mosfet between 0V and the negative side of the load)? If so, you need only supply about 10V to the mosfet gate, so the driver I suggested will do provided that you have a suitable supply, e.g. 12V. I wouldn't recommend using 30V gate drive because you would then be right at the absolute max rating of the mosfet. You can get a 12V supply from the 30V using a 7812 regulator or similar (and that 12V supply would also be suitable for powering the Arduino).

If on the other hand you still want to use the mosfet to switch the high side of the load, then you need to drive the gate 10V above the source, and since the source is going up to 30V, this means that you need a power supply that is 10V above the 30V supply - and you need to make sure that the gate to source voltage of the mosfet doesn't exceed +/-30V (preferably no more than +/-20V). In that case, you should use an isolated DC-DC converter to generate a floating 12V supply, along with a high-side mosfet driver chip such as one of the chips I suggested earlier. Alternatively, use a P-channel power mosfet instead, then the drive requirements are a bit simpler and you could probably drive it using some bipolar transistors.