For many hours I was trying to simulate in LTspice XVII an optocoupler driver for MOSFETs in an inverter. My project is to build a SMPS with linear voltage stabilizer (I didnt put it on the schematic yet) that is conotrolled by AVR microcontroller. I've managed earlier to succesfully drive a MOSFET through an optocoupler but I couldn't succesfully apply it to my main schematic.

Here is the picture of my schematic of LTspice:

Ltspice model with optocouplers

I don't know what seems to be the problem. My guesses are that I've made mistake somewhere in the schematic (most likely) or the optocoupler isn't capable of switching at 20 kHz.

Here is what I tried to solve:

  1. I've tried changing the PULSE voltage source (microcontroller output) frequency to 200 Hz and the voltage on the 10k resistor at least dropped to 0 V (at 20 kHz it varied from ~10V to 15V).

Here is the picture of the voltage on the resistor (I suppose that is the Vgs) (10k - blue, 1k2 - green): enter image description here

  1. Changing resistance of the 10k resistor to 1k2 (with the pulse voltage freq = 20 kHz) and the voltage also managed to drop to 0 V.

  2. I've connected te ground of the resistor to the source of the MOSFET - but that short circuited the primary winding of the transformer.


  1. How can I make this optocouplers to drive the MOSFET transistors, so that the transforer works (right now there is no voltage on the primary winding).
  2. (In case the simulation works properly) What would you suggest to reduce Vgs rise time? Are Totem Pole optocouplers faster and also can be applied to driving MOSFETs?

Thanks in advance for any help.

  • \$\begingroup\$ The optocouplers are limiting your rise and fall times (2µs rise and fall times!), and the 10kΩ pull-downs are additionally limiting your fall times (the gate capacitance must discharge through these to turn off). \$\endgroup\$ Nov 18, 2019 at 19:08
  • \$\begingroup\$ +1 on what @DKNguyen said. You won’t be able to run it at 20 kHz, but take a look at VOM12xx series from Vishay to get an idea. \$\endgroup\$
    – winny
    Nov 18, 2019 at 19:18
  • \$\begingroup\$ You could perhaps use optos or: coilcraft.com/edu/gate_drive_transformer.cfm \$\endgroup\$
    – sstobbe
    Nov 18, 2019 at 19:32
  • \$\begingroup\$ High-side gate drive is a solved problem. Google the term and make sure you're looking at something in the voltage range your contemplating. You may also want to look at this app note from TI. There are a lot of ways to solve this problem; finding a reference design for an off-line switcher at your desired power level may be a good place to start. \$\endgroup\$
    – TimWescott
    Nov 18, 2019 at 19:43

2 Answers 2


The voltage that controls a MOSFET is NOT the voltage at the gate. It is the voltage difference between the gate and source pins of the MOSFET.

The voltage you are applying to the MOSFET gates are all relative to ground, but the MOSFET does not care what the voltage relative to ground is, and in fact cannot know what the potential at ground is if none of its pins are connected to ground.

R6 and R10 pulling the gate to ground instead of to the source pin are indicative of this lack of understanding and are a good way to exceed the gate-source voltage limits of your MOSFETs.

When you drive a MOSFET that has a load connected between source pin and ground, and apply a gate voltage relative to ground, you get a source follower where the MOSFET's attempts to turn on inherently reduce the gate-source voltage difference due to the voltage rise across the load causing the source pin voltage to rise above ground while the gate voltage stays the same (since it is relative to ground). An equilibrium is found where the source pin "follows" the gate voltage with some offset. It has its uses, but not when you're trying to use the MOSFET as a switch.

This is the reason so-called "high-side gate drivers" exist. These are circuits that take a ground referenced control signal and output a voltage difference between two pins which are connected the MOSFET gate and source pins respectively. That way, the voltage applied to the gate is always a predictable amount relative to the source pin which is the only thing the MOSFET cares about.

Also, this gate driver won't be able to switch fast enough for 20kHz anyways. Pull-downs are just too slow. Consider using the opto to drive a totem-pole consisting of a pair of complimentary, smaller transistors (either BJTs or MOSFETs, possibly both in parallel) which in turn drive the gate. You can use a PNP/PMOS on top with NPN/NMOS on bottom or vice versa. They both have their advantages and disadvantages in this case (lack of shoot through in the small transistors despite being driven off a common gate/base signal being the benefit of the NPN/NMOS on top and PNP/PMOS on the bottom, at the expense of not being able to output the full gate drive supply voltage since they are source/emitter followers).

Of course, power this little totem pole off a supply referenced off the MOSFET source, however you decide to go about it (isolated DC-DC converter, charge pump that floats capacitor charged relative to ground up to the source pin, or bootstrap).


I think the issue is that M1 and M3 are N-channel MOSFETs in source follower configuration. When their Vgs (voltage potential difference from gate to source) is 0V they will attempt to have 0V at the source, which undermines the whole concept since you have the low side FET and high side FET driven off opposite phase pulses. When the high side FET has a Vgs of 0V it is trying to put 0V on the load and the low side FET (on that SAME side) has a 15V Vgs it is shorted to ground. If you're going to use high-side N-FETs you need to have them driven such that their Vgs is high when you want the output to be high.

The low side FETs are fine, when the Vgs is 15V the FET will be full ON and the drain will be essentially shorted to ground


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.