Mosfet dual H-bridge (IRF3205)

Ok, so I have looked around and across the web for a simple Mosfet H-bridge that I can use to power my MKII Tankbot. So far all I know is aren't they expensive and hard to get to match your specs, so i decided on designing and building one myself. I had a mobility scooter motor controller which had 20 N-channel IRF3205 MOSFETs which have plenty of power handling for my needs, I have come up with a simple design to incorporate them on to a veroboard after testing on breadboard but the power getting through to the motor is significantly reduced. I think the problem is that I'm controlling the FETs directly from the arduino.

http://www.flickr.com/photos/58848339@N08/5390785968/

http://www.flickr.com/photos/58848339@N08/5390785040/

http://www.flickr.com/photos/58848339@N08/5390178469/in/photostream/

I have pulldown resistors on the gates of the FETs you cant see them from the photos

Couple of items:

  1. Datasheet - http://www.irf.com/product-info/datasheets/data/irf3205.pdf
  2. These are n-channel FETs
  3. Where’s your top-side voltage booster?
  4. I don’t think these are logic-level FETs…?
  5. Heatsinks (not sure if they’ll be absolutely necessary)?
  1. I don't think these are logic-level FETs...?

No, they are not. They require a 10vdc gate to source voltage to fully saturate on, so they won't even make good low side drivers for direct connection to an Arduino output pin.

Lefty

I’m going to try using a 9v battery in series for the gate for now (lack of funds) and use another transistor I’ve got lying around I’ll link the two gate’s and see how that goes, unless you have a better way of doing it on the cheap.

That doesn't help with the top-side gate drive, which needs to be at the motor supply voltage plus 10V. You can do something clever with a capacitor, a diode, and an opto-isolator along with one of those drive transistors.

Hello everyone,

searched the forum and this was the only thread i found which seems appropriate, so hopefully someone can still help us.

Could someone please enlighten to why this isn’t working. When checking the graph the datasheet says Vgs @ 5 V can switch a 30 A current.

Otherwise could someone tell me what the Vgs(th) actually is? I know it’s the threashold but what is the practical implication if you still need a 10 V Vgs?

Thank you!

Best Regards
DamienSlayer

Otherwise could someone tell me what the Vgs(th) actually is? I know it's the threashold but what is the practical implication if you still need a 10 V Vgs?

Vgs(th) is the applied gate voltage that allows for just the start of conduction for the drain/source path, perhaps just a few milliamps. You have to look at the graphs in the datasheet to see the actual minimum gate voltage to support higher current conditions. "logic level" MOSFET Vgs(th) rating are usually in the 1-2vdc range and then where +5vdc will allow for full device current flow dependent only the the resulting Ron value.

If you build a MOSFET H-bridge from n-channel only MOSFETs you use appropriate drivers, such as HIP4081, or a couple of hi-side-lo-side MOSFET drivers, or 2/3rds of a FAN7388. Such chips do all the right things and you can even choose suitable dead-time with a resistor with some of them. Many of these chips have useful details in their datasheets.

The higher the power you are controlling the harder it is to make a motor controller that works robustly.

The IRF3205 is definitely NOT logic level, the typical plateau is at 5.5V !!

Thank you for your quick respons, sorry i'm not in the same level.

retrolefty: You have to look at the graphs in the datasheet to see the actual minimum gate voltage to support higher current conditions.

http://www.irf.com/product-info/datasheets/data/irf3205.pdf If you check figure 3 you have Id = 30 A @ Vgs = 5V, that is what tripping me off a bit. If you needed saturation current (or similar) then a minimum power should be stated.

Or am i totally missing the point?

I will check for a driver, i don't know much about them so i need to do some research. Thank you for driver tips!

Appreciate your support!

Best Regards DamienSlayer

DamienSlayer: http://www.irf.com/product-info/datasheets/data/irf3205.pdf If you check figure 3 you have Id = 30 A @ Vgs = 5V, that is what tripping me off a bit. If you needed saturation current (or similar) then a minimum power should be stated.

Or am i totally missing the point?

Yes, that graph is for Vds = 25V, so if the voltage is 25V the current is 30A, an on resistance of about 1 ohm, not 0.008 ohm if you drive the gate at 10V.

The graph in fig 6 is the killer - the gate plateau doesn't even start till 5.4V or so, the plateau is the point at which proper conduction starts to happen. You normally want drive voltage about twice the plateau voltage.

The only spec you need to look at is the Rds(on) spec - for this device its quoted only for 10V, which means you drive the gate at 10V or higher, end of story.

Note that all the graphs are "typical device", and there is significant device variability not reflected in them (gate threshold / plateau voltage has lots of variation, about +/- 1V, note).

Anyway if you are building a high power H-bridge you need to use proper hi-side/lo-side MOSFET drivers capable of pushing a few amps into the gates. Most automatically generate a bootstrapped hi-side gate supply rail using an external diode and capacitor, using the PWM signal to pump charge. Look at the datasheets for chips like the HIP4081, FAN7388, FAN7392, IRS2001, etc etc etc

PS these days there are better MOSFETs available than the IRF3205, such as the IPB017N06N3 (1.3 milli ohm)

Ah...-a!

Now all the pieces are, slowly, falling into place.

Thank you for taking the time to explain all of this, i truly appreciate it.

Best Regards DamienSlayer

There is a very thorough discussion of MOSFET H-bridge design here: http://letsmakerobots.com/node/18633

It is not a "simple" thing to do. I have breadboarded Oddbot's circuit (above link) and it works great! It's not magic, though. There are lots of necessary bits and pieces that make the circuit bullet proof. Oddbot uses P-channel MOSFETs for the high-side, eliminating the need for charge-pumps.

Actually, I found a solution using a CMOS NAND Gate as a 10V or 12V Driver and Vcc to the NAND chip.
I used a Pullup Resistor of 12V at the NAND Inputs with a Resistor connecting back to the Logic output from the Arduino. The outputs of the NAND Gates drive the MOSFETs.

+10V O–+
+10V O–//–+ | |----< +10V /or -Gnd
| ±–| \o----->|
Arduino Out >–//-- ----—|___/ |----> Motor
|

=

I think I may have used a Diode to allow the Arduino only to Sink Gnd to the NAND Input, but no positive Voltage to the Input - and so the 10V+ pullup instead.

You could also just use the IR2110 Mosfet driver - to Drive the Motor Mosfets !

Good explanation and howto link below : http://tahmidmc.blogspot.com/2013/01/using-high-low-side-driver-ir2110-with.html

Or, maybe just use the Bss138-Voltage-Level-Converter instead to the MOSFETs ?

jlsilicon: Actually, I found a solution using a CMOS NAND Gate as a 10V or 12V Driver and Vcc to the NAND chip.

What? Have you any idea how much current you have to drive into gates of high power H-bridges to get efficient switching? MOSFET/IGBT driver chips start at 100mA and work up to many amps.

So far all I know is aren't they expensive and hard to get to match your specs, so i decided on designing and building one myself.

Below is a DIY H-bridge discussion that might be of interest. Bottom is a not so expensive H-bridge.

http://forum.arduino.cc/index.php?topic=53425.0

http://www.ebay.com/itm/Semiconductor-BTS7960B-Motor-Driver-43A-H-Bridge-Drive-PWM-For-Arduino-HG-/271741606544?pt=LH_DefaultDomain_0&hash=item3f450fda90

Actually, I tried the example below, - which seemed to work :

http://kushalkshirsagar.blogspot.com/2013/11/20a-motor-driver-using-mosfets.html

I just worry that the Gates might short each other out, one wanting High while dragging the other to Gnd, while the second wanting Low while dragging the first to V+.

jlsilicon: Actually, I tried the example below, - which seemed to work :

http://kushalkshirsagar.blogspot.com/2013/11/20a-motor-driver-using-mosfets.html

I just worry that the Gates might short each other out, one wanting High while dragging the other to Gnd, while the second wanting Low while dragging the first to V+.

Wise to worry - never use a circuit like this, its got shoot-through - you must turn off a high-side driver before turning on the low-side, and vice-versa. The circuit shown is sending massive spikes of current to ground every time it switches, which will have bad consequences (overheating FETs, interference, over-loading the decoupling caps' ripple current ratings leading to overheating)

Basically there must be dead-time between switch-off and switch-on signals to allow the devices to switch.

So my solution, I had luck with the Tilden Smart H-bridge solution, using 12V Motors of between 2-10Amps, driven by an Arduino 3V pin signal off its PWM.

http://wilf.solarbotics.net/PSHbridge/PSHbridge.html

I just replaced the +5V and -Gnd Rail Transistors with the IR3205 Mosfets. And, kept the 2n2222 in there to drive the MOSFETs.

This circuit is the result:

http://kushalkshirsagar.blogspot.com/2013/11/20a-motor-driver-using-mosfets.html

  • No shorts or spikes while high driving Power. Perfect results and simple - can't ask for more !