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.
I have pulldown resistors on the gates of the FETs you cant see them from the photos
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.
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.
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?
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.
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!
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)
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.
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.
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+.
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.