hello, maybe your on,off transistors are not completely turning on/off before they are told to.
therefore they are shorting the supply and drawing excesive current.
just a maybe.
I'm trying to use this H-bridge to drive a tiny motor.
The B2 B3 and PWM B are 5V logic signals from a microcontroller.
When I have V+ connected to 5V it seems to work fine, but when I connect it to something higher, the output voltage is severely reduced, and the N-channel mosfets get pretty warm.
If I don't connect the left side and right side, and just have the motor on one of the halves, it seems to work fine. When I connect the second half, (even if it is off) it starts to behave weird. If I have one of the half's V+ set to 10V, and the other to 5V it works fine. When I connect them both to the same 10V it starts to have problems.
I measured the current going into the P-channel mosfet on the side that isn't activated and when it is connected to 5V there is nothing special.
When it is connected to 10V current flows continuously.
Any ideas on how to fix it?
Thanks
hello, maybe your on,off transistors are not completely turning on/off before they are told to.
therefore they are shorting the supply and drawing excesive current.
just a maybe.
Investigate the phenomenon called "shoot thru".
You can't drive the gates (commonly) the way you are and prevent "shoot thru".
YOu have to make sure the gate you turn ON is coming on when the gate going the "opposite" way is going OFF - else "Shoot thru".
Try using dedicated fet drivers in place of your discretes - they are designed to prevent shoot thru when properly integrated
When I've been testing it, one side has always been off. So I was just dealing with one half of the bridge at a time to make it easier.
The PWM signal is pretty low frequency (around 50-200hz).
Wouldn't having one half of the bridge off prevent shoot through?
Maybe I didn't do a good job describing the problem before.
My concern is why it would work fine with 5V for a long time without any noticable heating, but once I use something higher, like 10V, it starts to heat up and pull lots of current?
It does it with a resistive load as well as with a motor, no difference.
The RATE at which you enhance/drive the gate of the fet determines how fast the fet turns on/off.
In your case, you are relying on the individual response of the verious transistors to determine the rise/fall rate of gate charge. If one set of transistors allows the gate to enhance or collapse slower or faster, the potential for shoot thru occurs. This rate of decay/enhancement varies with gate voltage applied as well as current flow thru transistor.
When you use upstream logic to drive the H bridge - IE: proper drive sequence staging via true flip/flop logic as opposed to cascading transistors as you did - you prevent shoot thru by NOT allowing the semi enhanced/collapsed condition of the fets to occur,
Another possibility is simple oscillation. Strange things affecte board capacitance and other drive issues. This can be a problem to gate charge sensitive fets thus they can start to spontaneously oscillate. Again, fet drivers and sometimes the addition of "pull downs" on the gates can prevent this.
Finally, It is always better to use a hard/fast DRIVER to drive a fet than to use a resistive pull up to drive them - especially if you expect any speed. You don't want the resultant RC constant of the gate/pull up to start to cause the fets to oscillate.
If I hooked the control inputs up so that there was no switching going on, after the initial turn on, would that remove any problems associated with the switching times?
I'm never going to be switching it very fast, the PWM will always be slow and the overall direction controls will also change probably once every few seconds.
If you simply drive the totem pole with a Flip flop set up to "toggle", you can do the same thing with a logic IC instead of with slow or uncontrolled enhancing rate transistors.
You can also do the same thing with an appriate fet driver as they make dual channel ones with "flip flop" capabilities so as NOT to have shoot rhru.
Fix the circuit design problem - not the symptoms.
Finally, even though 5v TTL IC's can drive fets, they DON'T do so well - not enough current to "hit the gates" to turn them on fast and hard.
GET A FET DRIVER!!!!!!!!!!!!!!!!
Take a look at open servo. http://www.openservo.com/
They use the high side gates to drive the low side, it has a simple h bridge that has worked for many people.
colin
Your circuit has problems above +5VDC as drawn. The PNP 3906 turns your n-channel MOSFET on. Everything works OK until you go above +5.6VDC, then it all falls apart. Here's why:
The emitter of the PNP goes to +supply. The output of your 74LS00 cannot be pulled above +5VDC. The base of the PNP cannot be pulled lower than one diode drop below your supply voltage. At 10VDC, the base is at 9.4V, the 74LS00 output is at 5V, current flows through your 100K resistor (44uA) and you cannot turn off the n-channel MOSFET. The p-channel MOSFET turns on and crowbars your supply. This is not a good thing.
Please see the attached gif. I redrew your circuit so that it will work from 5V to 24V. Above 24V you may rupture the p-channel MOSFET gate to source oxide. The PNP now turns the p-channel MOSFET off instead of on. The PNP base is driven by the NPN collector which acts a voltage level shifter. The MOSFET action will be 'fast off, slow on' which should prevent shoot-thru drain currents. This is not a high-speed circuit (about 1kHz max). High-speed circuits become more complex.
Mariss
Mariss, Thanks for the explanation.
Since I won't be able to get more 2.2k resistors until monday, can I make the circuit using 10k resistors and still have it work?
You can try it with 10K resistors and it will work. You should replace them with 2.2K resistors when you can. The switching speed of this circuit, already miserably slow at 5uS, will be 5 times slower yet with 10K resistors.
Mariss