Here's a simple dual opto-isolator driver for an N-channel MOSFET on the high side of the load. A very simple bootstrap circuit (capacitor/diode) provides a gate voltage twice that of the load power supply. Opto-isolators are PC817C.

By Julian

Youtuber, shed dweller, solar charge controller aficionado

15 thoughts on “Dual complementary opto-isolator dcoi high side mosfet driver #1”
  1. Avataaar/Circle Created with python_avatars Shaider Riz says:

    This video is garbage. Don't have the schematic. I see a a blinking bulb. No clear indication how it is used. And why a high side switching is used. watch 1000 videos before you upload your lousy circuit and video. I DISLIKED YOUR GARBAGE.

  2. Avataaar/Circle Created with python_avatars Khurram Shahzad says:

    Please add all video in use schimetic and connection easy to everyone guys.

  3. Avataaar/Circle Created with python_avatars Big Al says:

    A picture (for picture read schematic) is equivalent to a thousand words.

  4. Avataaar/Circle Created with python_avatars rocket tests says:

    I am really glad you have shared this with everyone. I have very limited knowledge of electronics but I've picked this circuit to experiment with.

    My experiments revolve around high freaquency inverters, so I used the complementary action of the dcoi circuit to drive the gates of two mosfets which are tied to ground with 10k resistors. Each drain feeds power to separate coils of the same (repurposed) gate drive transformer and then read the output of a tertiary coil on the GDT.

    In this manor I was able to visualize and tweak the performance. The resulting product was a very inefficient square wave inverter but it did work. The largest issue is the turn on time of the optocouplers which caused a distorted signal above 1kHz, ignoring the distortion, I could drive them up to 14kHz.

    To compensate for the on time lag in the couplers it was necessary to tweak the duty cycle to such extremes as 95% to acquire a relatively clean square wave.

    I really do enjoy your channels and look forward to more brain teasing projects. Thanks, Jason

  5. Avataaar/Circle Created with python_avatars Yves Baggi says:

    julian, is there a limit on how fast (often) this can switch because of the tantalum cap?

  6. Avataaar/Circle Created with python_avatars bas12345654321 says:

    Could you show the voltage across the gate – source and gate – ground on a scope?

  7. Avataaar/Circle Created with python_avatars Stacy Hunt says:

    This is a very clever and useful circuit, and it's beautifully explained thanks Julian. I reproduced it and used it to switch a 12V power supply on and off with an arduino, and it worked perfectly. However I noticed that the bootstrap capacitor / diode is acting as a voltage doubler, so it works with these voltages; but if you want to switch say 1000V (as I do) then the source / gate voltage will get up to 1000V too (source at 1000V and gate at 2000V) and fry the mosfet. Any suggestions as to how to keep the gate switching to source +5V instead of source x2?ย 

  8. Avataaar/Circle Created with python_avatars Matthew Harrison (matthehat) says:

    Do you have a circuit diagram for the full thing? I've got the LEDs switching, but I'm trying to work out how the capacitor, diode and NMOS (high sided) connect to the optocoupler.

    Forgive my noobiness, I'm a code junkie trying to bash my way through into electronics

  9. Avataaar/Circle Created with python_avatars permababy says:

    I couldn't understand why the voltage would increase across the capacitor. But then I realized when you wire 2 AA battery in series the voltage also increases. The tantalum capacitor could be replaced by a non-polarized capacitor.

  10. Avataaar/Circle Created with python_avatars Julian Ilett says:

    That's it. The four LEDs together have a forward voltage greater than 5v, so they don't light at all (even with no series resistor). Connecting the Arduino output pin to the mid-point of the LEDs (via a resistor) creates a complementary drive – the upper 2 are on when the digital pin is low and vice versa. I'm still waiting for a whole load of 3mm LEDs to arrive from China. As soon as I get them, I'll make a part 4 with a step by step explanation of how it works. Cheers.

  11. Avataaar/Circle Created with python_avatars permababy says:

    It took me two days of pondering to figure out how the Arduino pin could switch the LEDs. The four LEDs can't burn together on 5V because they're wired in series. When an Arduino digital pin is DOWN that pin is connected to GND (!!!!). When the Arduino pin is LOW this connects the first two LEDs to GND and hence pulls them up. When the Arduino pin is HIGH this supplies LEDs 3 & 4 with 5V while LED 2 acts as a diode. In essence the Arduino pin constantly switches between 5V & GND. That was fun!

  12. Avataaar/Circle Created with python_avatars Julian Ilett says:

    I'll be returning to the MPPT project soon. I'm rebuilding it on a larger board, so it's easier to see what's going on. The MOSFET tutorial is proving very useful – it's giving me ideas for advancing the MPPT controller circuitry.
    Thanks very much for your comments and support.

  13. Avataaar/Circle Created with python_avatars Llop66 says:

    Many thanks.

    I'm looking forward the next video's of the MPPT controller.
    I like the way you cut the project into pieces and explain all the "modules" bit by bit.

  14. Avataaar/Circle Created with python_avatars Julian Ilett says:

    Thank you. I'll make a #4 video with instructions on how to make it and including a schematic.

  15. Avataaar/Circle Created with python_avatars Llop66 says:

    Would be very nice and instructive to have a schematic !

    Keep going. Your tutorials are very good !

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.