Folding hard with a solid state reversing circuit

So I feel like this is a common thing everybody should know but I missed the memo.

I want to start with a DC supply and a transformer as my load. I want to alternate the DC supply's polarity across the primary coil using an arduino as a gating source and mosfets as switches. However, I've been doodling in Tina for a while and can't seem to figure out how to draw the circuit such that it will do this. With relays it's easy but with MOSFETs it seems I can't figure it out. Again, I just want the SIMPLEST possible way to flip the battery voltage back and forth from + to - over the primary coil using only mosfets to swap the polarity.

Can anybody hit me over the head with a hammer so I can understand? Thank you.

Google H-bridge

Hmm.. I'm not particularly good with P-channel mosfets.

I have a ton of 3708s that I use all the time. Those are logic level N-channel fets. Is there a good candidate for a P-channel that works in an identical way (ie. feed the gate 5V and it turns on) ? Also, being P-Channel, doesn't the output pin have to be at a higher voltage than the gate or something? This is what screws me up about using P channel.

Ok did some quick reading and I remember now why I hate P channel.

So in the H-bridge, whenever I want to de-activate one of the P-Channel fets I pretty much have to hit it with the same voltage as whatever source I am supplying the circuit. This way Vgs = 0 and it's off. But my circuit is 24V and the arduino only puts out 5 so Vgs will always be 0 - 24 = -24V at the lowest or 5-24V = -19V at the highest, both of which are more than enough to fully keep the fet on. How do I feed both the N-Channel and P-Channel from the same Arduino gating pulse but still get the P-channel to shut off, with such a large supply voltage?

If you don't want to do it explicitly with mosfets, then look for motor driver chips which, for motor reversal, implement an H-Bridge. I've used an * L293 in a project which may be similar to yours: https://forum.arduino.cc/index.php?topic=622082.0
What I would say is that, if you are learning about the properties of mosfets, an H bridge is a bad starting point because it is easy to get wrong.

Edit

  • L293 is ancient and there are many better ones now.

It looks like a fine chip but a little shy of what I need current-wise. I will probably be dealing with continuous draw up to 3 amps. I'm looking around now for another bridge chip but most seem to have 2A peak at the most. Perhaps because it's a single chip solution, they can't dissipate much heat.

Maybe rather than try to drive the fets from the arduino directly, I can use the supply voltage itself to drive the fets and ground it using yet another fet. This would give a 24V / 0V pulse. I just have to check if the 3708 can handle gate voltage that high.

BTW your project looks very cool :smiley:

Carefully chosen and correctly driven mosfets should not have to dissipate much heat.
You may encounter these problems with the IRF3708 at 24 volts:

  1. The Vgs is only 12 volts so you have to use a resistor divider and/or zener diode.
  2. Using a pullup (instead of say a push/pull driver) is relatively slow because of the gate capacitance. That means the mosfet is in a partially conducting state for an extended period (= gets hot). The higher the frequency (PWM) the worse this effect is.

You may find some suitable motor driver chips/modules here: Pololu High-Power Motor Drivers

Hi,
Have you googled

power inverter arduino

Tom.. :slight_smile:

Gahhhrrrlic:
Hmm… I’m not particularly good with P-channel mosfets.

I have a ton of 3708s that I use all the time. Those are logic level N-channel fets. Is there a good candidate for a P-channel that works in an identical way (ie. feed the gate 5V and it turns on) ? Also, being P-Channel, doesn’t the output pin have to be at a higher voltage than the gate or something? This is what screws me up about using P channel.

Its normal to use all four n-channel devices in a MOSFET H-bridge, as this is how standard
gate-driver chips work. Start by looking at the HIP4081A datasheet for how this is done,
its a full-H-bridge driver chip (lots of driver chips are half-H-bridge, some are full, some are 3-phase
bridge)
https://www.renesas.com/us/en/document/dst/hip4081a-datasheet

Ok did some quick reading and I remember now why I hate P channel.

So in the H-bridge, whenever I want to de-activate one of the P-Channel fets I pretty much have to hit it with the same voltage as whatever source I am supplying the circuit. This way Vgs = 0 and it’s off. But my circuit is 24V and the arduino only puts out 5 so Vgs will always be 0 - 24 = -24V at the lowest or 5-24V = -19V at the highest, both of which are more than enough to fully keep the fet on. How do I feed both the N-Channel and P-Channel from the same Arduino gating pulse but still get the P-channel to shut off, with such a large supply voltage?

This awkwardness is one of the reasons all-n-channel bridges are much simpler to use - the voltage for the
bridge itself is unconstrained, but you do need a 12V supply for the driver chip as well.

I think that if you use a transformer with a center tapped primary,
you can do that with two N-channel MOSFETs.

By the way I should have said there is no simple way to make a reliable H-bridge (might seem non-intuitive),
which is why you want gate-driver chip(s) to hide all the necessary complexity (mainly protection
circuitry and dead-time generation).

Its easy to make a simple H-bridge that rapidly fails in use, but no-one wants a circuit that self-destructs.
One common failing you see when people design their first H-bridge is shoot-through. With high powers
shoot-through will mean exploding MOSFETs (quite literally).

The centre-tapped primary idea given above is indeed much easier to drive, as the topology doesn't allow
shoot-through. Its less efficient use of a transformer though.

I've just looked up the IRF3708 you mentioned. The abs-max gate-source voltage specification is +/-12V,
making it unsuitable for use with standard gate-driver chips alas. Get some which are +/-25V or more for
use with gate drivers that take 12V supply. The IRF3708 gate oxide is thin, putting them in a category I'd
call "logic level only".

Gate over-voltage is one of the ways MOSFETs fail catastrophically, and for fast switching the
lead-inductance on the source pin is often enough to spike some extra volts across gate/source
junction and cause issues if the device isn't robustly rated.

6v6: That's true about the 3708... I probably can't use that either. One way or another I'm going to have to buy new stuff to make this work so I guess a 1 chip solution that is done for me would be the safest, although I like the idea of making it myself because I can get maximum flexibility.

herb/MarkT: +1 I had considered the center tap, as that would be much easier (although admittedly I didn't realize all the benefits at the time) but like Mark said, I need a bigger transformer, which in my case is a design problem.

The hip4081a seems to do exactly what I want it to do and with enough current. The only thing that confuses me is how the inputs are spec'd in the datasheet. In the description area it mentions you can put up to 15v on the pins but in the table it seems to indicate no more than 2 and change... Is there something equivalent to a Vgs(th) parameter for the inputs or are they purely digital and all processing is done inside? Can I just throw 5V on them and forget about it? If so I think I could just get 1 of these and call it a day. I have plenty of 12v regulator chips I can use to power it.

Upon further investigation it looks like I made a mistake. The primary side of my circuit is rather high current. The 3A I mentioned before is actually on the secondary side, where a higher voltage permits lower currents. So the hip4081, while perfect in design, has insufficient current capacity. Looks like I'll have to do the bridge manually...

Not a total loss though. I have found a few components I think will do nicely. To maintain my battery source nice and stable, I have pre-selected LM338. I would need to use 2 of these in parallel, again due to current capacity, but at least everything else about it is just fine. After regulating the voltage at 24 or 25'ish, then I can use 2 x FQP27P06 for the p-channel and 2 x FQP30N06 for the N-channel. Both should be able to handle the voltages, currents and are logic level. I can use a pair my 3708s and some pull-down resistors to toggle the gates between high and low side operation as per the diagram here:

Since I had a custom transformer made for me but I screwed up the design parameters, I'm going to try to squeeze some extra juice out of it by moving from 20kHz switching frequency to maybe 30 or 40... see if that helps me get some more power out of it.

Did the author of that circuit specify a load and switching frequency? I doubt if that is a very practical circuit, even with low values of the pull-up resistors, for the reasons mentioned in post #5

I didn't see a frequency there. I think it was just a tutorial for how to build a bridge. So do you mean that because the resistors limit the current flow transients, it will take a while to transfer the necessary electrons onto the gate and so you'll have a lazy triode dwell time, causing it to act more like a resistor than a switch?

There are gaps in my knowledge regarding special pieces of hardware used to overcome these problems. These sorts of elementary setups are my speed so far, so that's probably why I didn't see anything wrong with it. I saw some stuff on that website you linked me above that seemed interesting but the pinout didn't make sense to me. I couldn't find the 4 gate inputs so maybe it doesn't work the way I thought it worked.

Power mosfet gates act like capacitors in the low nF range. If the gates are not explicitly forced high or low by some sort of push pull or similar driver circuit but simply pulled in one direction by a resistor then the switching time is dependent on the charge or discharge rate of the gate capacitance through that resistor.
During this protracted switching, the mosfet is in a partial conducting state so will tend to heat like a resistor.
You can use an online calculator to see the time constant of the RC network formed by the gate and pull-up resistor. The gate capacitance can be found in the mosfet data sheet. For the IRF3708 it is about 2.5nF

You should consider becoming a teacher.

Thousands of different kinds of transformers and you have "a transformer". ::slight_smile:

So I spent an hour using Digikey’s excellent search engine and found 2 FETs to use for the H-Bridge. P channels are few and far between so I had to make the best trade-off I could but plenty of N-channels to pick from. I think these 2 are the best:

https://media.digikey.com/pdf/Data%20Sheets/Fairchild%20PDFs/FQAF17P10.pdf

Opinions?

So due to the very legit concern raised in post #16 and if we start with the circuit depicted in post #13 as a baseline, what would be the simplest modification needed in order to prevent the shoot-through condition? Can I throw a capacitor in there somewhere to produce a lead-lag effect so that the gates don’t go through the triode/conducting zone at the same time?