Building a proper h-bridge from scratch
LoopyByteloose
Posts: 12,537
Hi all,
I've been rather annoyed with the solutions for DIY h-bridges that are on the Internet. Many are in error, a lot are poorly explained and just about everyone ignores the fact that one must really start with knowing something about their motor before they select a certain solution.
First off, no load current is nearly useless as a parameter for a good solid-state h-bridge. It seems to me that one must actually go to their work bench, clamp a visegrip on the motor shaft (so it won't turn), and measure the stall current at the selected operating voltage to assure they are using a large enough MOSfet or BJT or Darlington in the final stages - the H portion of the h-bridge.
After that, it is all about selecting whether you want relays, BJTs, Darlingtons, or MOSfets to do the switching. Of course, if you want some really high powered solution it might even call for IGBTs. But one Horsepower is 742 watts and it is rare that anyone is going to use a DC permanent magnet motor to go above a fraction of a horsepower. It gets expensive. If you don't believe me, take a look at the DC motors that Granger sells.
Having finally figured out that transistor switching is all about full saturation of the transistor, I have also noticed that the transistors Beta suffers greatly by being driven to full saturation. For a BJT, a Beta of 10 is quite common. That means that 10ma will only drive 100ma for a motor. And 100ma at 12 volts is merely 1.2 watts of power. That's a long way from a full 742 watts or 1 horsepower or even a tiny 1/30 HP motor.
On the other hand, MOSfets can be a bit annoying in that they may require some special driver chips if you want to get them to full on and full off in an h-bridge. These parts are a bit more costly and a bit harder to acquire. I know there are ways to use BJTs to drive them, but I am a bit confused about doing this in an H-bridge context.
So, I have pretty much zeroed in on the TIP120/TIP125 Darlingtons. At saturation, they have a Beta of 250 and can handle up to 5 amps or so. Plus, they have protective diodes included. But to get them up to saturation, you still have to provide 12ma minimum for 3amps and 20ma minimum for 5amps. You can drive them as high at 120ma to saturate, but no microcontroller is going to manage to drive them directly at 120ma. And it might be wiser to drive them at something in between, say 50ma with another stage of transistors.
That extra stage is where things get complicated. I guess it is not important that the extra stage is also saturated, it just has to saturate the bridge, right?
There are all sorts of schematics on the internet on how to do this, but many are unclear. I've fallen back on Bob Blick's H-bridge design which will allow a 100watt motor to be driven by a set of TIP120/125s and those driven from +5 volt logic via 4 2n2222 transistors.
It is a good compromise, but there are a lot of times that I really don't need this much of an h-bridge and using an L298 or L293 seem to avoid the chance to learn anything. So I am looking at DIY design of smaller h-bridges taylored to smaller power motors. For a long time I thought I found the solution in the Tilden H-bridge, I am finding these are too tiny and have managed to hide their dubious engineering in the fact that they are so small. They may work for a solar powered toy, but not much more. And there are no protective diodes.
Right now, I am trying to optimize a design with BD139/BC140 as the H-bridge, but I have to add the diodes as unlike the Darlingtons and the MOSfets, no protective diodes are included. I can build a direct from the microcontroller bridge with 220 ohm current limiting resistors, but that provides 22ma and with a saturation Beta of 10, I would only get 220ma of power from a set of transistors that can handle about 1.5 amps.
So I am a bit stuck there and considering how to insert another set of transistors to have the microcontroller (which is limited to 20ma) provide more substatial drive, about 150ma to the h-bridge transistors.
I'd appreciate any suggestions on how to do this and on how to look at design. I am thinking that two 2n2222s would be quite adequate, but that I should limit the saturation current somehow as the 2n2222 can provide up to 500ma.
Suggestions? I'd like a quantitative solution so I could adapt to other mid-power BJTs.
I've been rather annoyed with the solutions for DIY h-bridges that are on the Internet. Many are in error, a lot are poorly explained and just about everyone ignores the fact that one must really start with knowing something about their motor before they select a certain solution.
First off, no load current is nearly useless as a parameter for a good solid-state h-bridge. It seems to me that one must actually go to their work bench, clamp a visegrip on the motor shaft (so it won't turn), and measure the stall current at the selected operating voltage to assure they are using a large enough MOSfet or BJT or Darlington in the final stages - the H portion of the h-bridge.
After that, it is all about selecting whether you want relays, BJTs, Darlingtons, or MOSfets to do the switching. Of course, if you want some really high powered solution it might even call for IGBTs. But one Horsepower is 742 watts and it is rare that anyone is going to use a DC permanent magnet motor to go above a fraction of a horsepower. It gets expensive. If you don't believe me, take a look at the DC motors that Granger sells.
Having finally figured out that transistor switching is all about full saturation of the transistor, I have also noticed that the transistors Beta suffers greatly by being driven to full saturation. For a BJT, a Beta of 10 is quite common. That means that 10ma will only drive 100ma for a motor. And 100ma at 12 volts is merely 1.2 watts of power. That's a long way from a full 742 watts or 1 horsepower or even a tiny 1/30 HP motor.
On the other hand, MOSfets can be a bit annoying in that they may require some special driver chips if you want to get them to full on and full off in an h-bridge. These parts are a bit more costly and a bit harder to acquire. I know there are ways to use BJTs to drive them, but I am a bit confused about doing this in an H-bridge context.
So, I have pretty much zeroed in on the TIP120/TIP125 Darlingtons. At saturation, they have a Beta of 250 and can handle up to 5 amps or so. Plus, they have protective diodes included. But to get them up to saturation, you still have to provide 12ma minimum for 3amps and 20ma minimum for 5amps. You can drive them as high at 120ma to saturate, but no microcontroller is going to manage to drive them directly at 120ma. And it might be wiser to drive them at something in between, say 50ma with another stage of transistors.
That extra stage is where things get complicated. I guess it is not important that the extra stage is also saturated, it just has to saturate the bridge, right?
There are all sorts of schematics on the internet on how to do this, but many are unclear. I've fallen back on Bob Blick's H-bridge design which will allow a 100watt motor to be driven by a set of TIP120/125s and those driven from +5 volt logic via 4 2n2222 transistors.
It is a good compromise, but there are a lot of times that I really don't need this much of an h-bridge and using an L298 or L293 seem to avoid the chance to learn anything. So I am looking at DIY design of smaller h-bridges taylored to smaller power motors. For a long time I thought I found the solution in the Tilden H-bridge, I am finding these are too tiny and have managed to hide their dubious engineering in the fact that they are so small. They may work for a solar powered toy, but not much more. And there are no protective diodes.
Right now, I am trying to optimize a design with BD139/BC140 as the H-bridge, but I have to add the diodes as unlike the Darlingtons and the MOSfets, no protective diodes are included. I can build a direct from the microcontroller bridge with 220 ohm current limiting resistors, but that provides 22ma and with a saturation Beta of 10, I would only get 220ma of power from a set of transistors that can handle about 1.5 amps.
So I am a bit stuck there and considering how to insert another set of transistors to have the microcontroller (which is limited to 20ma) provide more substatial drive, about 150ma to the h-bridge transistors.
I'd appreciate any suggestions on how to do this and on how to look at design. I am thinking that two 2n2222s would be quite adequate, but that I should limit the saturation current somehow as the 2n2222 can provide up to 500ma.
Suggestions? I'd like a quantitative solution so I could adapt to other mid-power BJTs.
Comments
For smaller motors, you can drive that same H bridge with just a bus driver such as the 74LVX4245.
I have to admit several things.
First, MOSfets really are superior and likely the best way to go, but I have been interested in the BJT and Darlington solutions, though they take up a lot more space and generate much more heat. Often the parts are easier to buy and can be built without surface mount construction.
Secondly, the BD139/BD140 transistors may just be all wrong for H-bridges. While they output 1.5amps, that would require they be driven at .150ma. Micro-controllers can't directly provide that amount of current. So a preliminary driver stage with about a gain of up to 50 is needed. Why bother with building a preliminary stage when you can use Darlingtons such as the TIP120/TIP125 to get the same results with less to build and with the protective diodes included? (Something has been learned about selection of the right parts for micro-controller control.)
So there are some solutions on the web that are rather absurd. That is where I saw the BD139/140 and decided they might be a good single stage solution.
If you want to have a single stage h-bridge with direct micro-controller drive, you are limited to about 22ma of drive current from the micro-controller and at a saturation Beta of 10, you would have merely 220ma available to drive the motors.
My reasons for avoiding FETs are rather simple. The main reason is that one more than likely has to go to SMD construction to use them. Another reason is that I don't have these available over-the-counter in Kaohsiung. So I have to order from Mouser or Digikey except for some older types, like the IRF540 and its mate.
The focus here is hopefully on the engineering and the math involved. It is about learning the design approach and not about just buying parts. A lot of us have older parts on hand that we would love to make use of rather than have to just buy newer ones.
I have some TIP35c and TIP36c transistors that could make an h-bridge up to 25amps - easily driving 1/3 hp at 12 volts, and 1/2 hp at 24 volts. But saturation may require 2.5 amps or more. So it seems these should be driven by TIP120/TIP125 Darlingtons that in turn could be driven by +5 logic. To re-enphasize, yes - I know MOSfets would do this better, with less space, and cooler. But I have the parts and want to learn the engineering - even if it seems a bit retro.
If I wanted to just use an easy solution, I could buy a pair of HB-25 h-bridges and have the same capacity in a smaller packages with better features. But I'd learn nothing.
Loopy,
I like this approach, especially if you're in this for the hobby and not the money (and the fame and glory, of course!)
It may end up what you learn is next time buy the HB-25's but this sounds like one of those times when the journey is at least as important as the destination!!
YAY for the new project!
a. a simple direct micro-controller solution to a simple h-bridge either MOSfets or BJT or Darlington
b. a more powerful mid-range solution. This is where the TIP1xx Darlingtons are very appealing
c. a really powerful 1/3 to 1/2 hp solution.
For a., it seems that driving 2n2222s and 2n2907s are quite adequate with 220 ohm current limiters. With that 22ma driving a Beta of 10, you get the 220ma drive in saturation. Can direct drive really work, and how? I'll have to post a schematic that claims to work.
b. Bob Blick's 100 watt TIP120/TIP125 solution seems to fit the bill quite well. I'd like to fully understand it. I don't understand the 47ohm resistors limiting the output from the 2n2222. Again I need to post a schematic.
c. This is my own concoction. Have TIP120/TIP125s drive TIP35c/TIP36c. It just might work, but it all could go up in smoke. At 24VDC, this would drive a very serious DC motor.
Between a. and b. those BD139/BD140s might find a way to be driven to get near their full 1.5amp rated output. At 12VDC, that would be an 18 watt motor capacity, at 24VDC, it would double to 26 watts.
Kaohsiung,Taiwan
Kaohsiung,TaiwanBD
Looking up BC140/BD139, looks like I can rely on an hFE of at least 15 at 1.5 amps for both. So, since base current needs to be 100mA...
When saturated, the BC140/BD139 have a Base to Emitter voltage around 1V each, though the BC140 datasheet I found said it could be up to 1.8v. So, that's 2.8v there, and the 2n2222 has a saturation voltage ~.3-.5. So, 3.3v drop. That leaves 1.7v to be dropped by the resistor. By making it 10Ohms, that gives us a least 100mA, and probably closer to 180mA in practice.
For the driver, I'll assume 150mA collector current. The datasheet I found for the 2n2222 says that at 150mA collector current, the hFE is still around 50. So, that means we need 2-3mA into the base to drive it. Assuming that our base is at 1.8v (1.1v for BC140, .7v for 2n2222) and our drive is 3.3v, that's 1.5v to be dropped by the resistor. 1.5v/720ohm=2mA. You can go to a 470/510 ohm to be safe, but what I've drawn out should work reasonably well.
On a closer look at the datasheet, it seems the BC140 has a higher gain than the 2n2222 at Ic=150mA, so you could go back to the 720 ohm resistor if you swapped in BC140s for the 2n2222s, but I imagine that would make the circuit slightly more expensive.
http://www.cuteminds.com/index.php/en/mosfetfull
http://www.cuteminds.com/index.php/en/repository/file/74-fulldriver
Bruce
Just because you can find 1.5A on the data sheet, does not mean you should design that as a typical operating point !!
If you are looking for "a proper h-bridge", then power efficiency should be near the top of the list.
Something with Dual P & N fets is a good choice, depending on your load.
eg
http://www.fairchildsemi.com/pf/FD/FDD8424H.html
seems cheap, available, and with very low i2r losses.
You can also get Dual FETs in the very common SO8 package.
Upper P fets are easily driven from NPN common base (Base to Vcc) non saturating level shifters, and lower N FET can drive from a level shifter dual gate.
-Phil
With regard to the 47 ohm resistors.... They are there to limit the current for a BOTH high situation on the inputs which is allowed in that particular design.
Here is a quote from Bob's web-site....
Reference:
http://bobblick.com/techref/projects/hbridge/hbridge.html
First off, the BC129/BC130 absolute rating is 1.5 amps and that means the breaking point. But the solution I have included below seems to only want to drive about .220amps. I like the bare-bones simplicity, but fear that it may not be very useful, above 220ma, it may work in unsaturated mode. The use of 1.5 amp transistors may be vaiid if you are concerned about having rather high headroom to protect the h-bridge in a stalled motor. But there is not much in the way of another good reason for doing so. Having it redesigned might allow a 1.2amp output with ample safety margin, for some motors that may be a significant difference in performance.
We all have salvaged motors in this power range, but one should really test their stall current at operating voltage to determine what size h-bridge transistor are required.
To begin with I am using Pololu's 3pi motors for a reference of the power demands of smallest of h-bridges, they have 60ma no load current and 560ma stall current. There is not much reason to use the BC159/BC160 transistors as a 2n2907/2n2222 combination will easily handle the load and be a smaller package. Pololu uses an IC on their 3pi and the motors are geared down at 1/30. These are roughly similar to hacking into a continuous rotation servo and replacing a damaged circuit board with an external h-bridge (DON'T toss out your fryed servos, modify them with this circuit).
The Main Point is that the h-bridge needs to ponder the available power (restricted BOTH by the size of the h-bridge transistors and by the ability to drive the bridge) in relationship to the needed power when selecting the transistors for the h-bridge. It is rather silly to waste big transistors unless you just don't have anything else on hand. Also, there are a lot of h-bridge schematics on the web that cannot be driven from +5 or +3.3 logic AND they don't mention this.
Before I got around to posting my examples below, Circuitsoft jumped in and added 2n2222 driver transistors that get the BD139/BD140 capable of driving their higher capacity. Thanks, that is what I wanted to learn. I will read it several times until I grasp the math behind the limiting resistors.
The Tilden H-Bridge does something like this, but without any 10 ohm limiting resistor to the H-bridge, so it is a specialized case that requires rather large limit resistors to the i/o and operates as an unsaturated h-bridge - not the normal approach, but useful in the BEAM world of extreme low power.
The 2n2907/2n2222 are rated up to 1 amp and really are best at something less than 800ma. Voltage tends to not be a issue as the transistors are rated way above the operating voltages of these small hobby motors and they are likely to be operated in a range from 1.5volts to 12volts. But above 6 volts may just destroy the motor, while it won't destroy the h-bridge.
Also, I am inserting the schematic for Bob Blick's h-bridge as this design is a real goodie if you don't know what to build. Not only does it give you something to drive 1/8 Hp, he has designed it with internal braking and he provide art work to make your own printed circuit boards.
The 2n2907/2n2222 h-bridge is for a motor of merely a few watts (.220ma x 12 volt = about 2.5 watts) - really for toys. Bob Blick's design is for 100 watts and since 742 watts is one horsepower, that exceeds an 1/8 hp motors demands. It will also manage 24 volts and Parallax's HB-25 only goes to about 16 volts, though it will handle 1/2 hp motors.
It is ALWAYS about fitting the target motor and its operating voltage. A lot of DC motors will operate at both 12 and 24 volts DC, but the 24 volt operation provides a higher output of HP.
I guess that covers an introduction to what I am thinking for an A and a B option of h-bridges. My presentation of a C design is still in the works.
Though I really like Bob Blick's design and know that it is reliable, I still don't completely understand it. I do know that the 47 ohm resistor limits saturation current to the H-bridge transistors, but I just don't know how to do the math to size such a transistor. And going from a direct drive - like my A design, to having drive transistors seems to require this knowledge. Circuitsoft uses a 10ohm in a similar context and begins to explain.
Furthermore, I am at a complete loss as to how Bob Blick's design provides braking without burning up the h-bridge in a short circuit from the V+ to Ground. I am not sure how that is blocked in a High-High logic.
I'll put on my thinking hat and try to get back with my proposed 1/2 HP 25amp design.
Are the NPN (BD139) transistors really supposed to be on the top in your circuit? Seems that the ON condition would require +6 volts for them and -1.8 for the PNP (BD140). Sorry to mention this, but this kind of error is very common in examples all over the web.
So I now see that the 10 ohm resistor is dependent on all the transistor voltage drops (at saturation) deducted from the suppiled motor power voltage AND the maximum base current of the H-bridge top and bottom. Also, the +5 supply would only provide +3V across the motor, correct?
It seems that one could provide a resistor for limiting at the highest possible voltage (say 24VDC) with the highest possible base current, and the bridge would still saturate at lower voltages. But a complete set of calculations for each voltage is the best approach.
For instance....
If your +5V supply was changed to +12V, the calculations would come out with a 8.7 volts to be dropped by the resistor at 100ma or 87 ohms. It could be less as saturation could go as high as 150ma (the limit of base current) and 8.7/.15 = 58 ohms for 12 volt supply. Still I am getting a feeling that is too high for a +5V to supply to have the bridge saturation.
I think I will do some spread sheets for +5, +6, +7.2, +9, and +12. It actually seems harder to make low voltage properly drive the motor.
@everyone
Fly back diodes are assumed. After a bit of reading between conventional rectifier diodes, geranium diodes, and Schotky diodes - it seem Schotky diodes are the most appropriate - something like a 1n5818.
Often you see the tiny 1n914s and such, but these are primarily used in tiny relays and tiny motors.
It's not clear to me, however, whether D5 and D6 are capable of preventing shoot-through if both inputs are high.
-Phil
It helps to see an 'active leg' of the schematic with a linear equivalent:
3-diode drops = 1.95V
5V minus 1.95V = 3.05V
3.05V across a 10 Ohm resistor is 305 mA of current to drive the transistor bases (See Note below)
With Bob Blick's design you have to figure in two more diode drops because of the darlington transistors being used.
Again, it helps to see an 'active leg' of the schematic with a linear equivalent:
5-diode drops = 3.25V
5V minus 3.25V = 1.75V
1.75V across a 47 Ohm resistor is 37 mA of current to drive the darlington transistor bases (See Note below)
The 'trick that allows both inputs to be HIGH is with Q7 and Q8, in addition Q3 and Q4 MUST be a darlington transistor.
Since a Darlington transistor requires at least 2 diode drops (~1.3V) across the B-E junction to turn 'on', Q7 and Q8 crowbar this voltage requirement when they are 'on' thus preventing the corresponding TIP120 to turn 'on'. If BOTH Q7 and Q8 are 'on' then BOTH of the TIP120's are 'off'. In the same condition where BOTH Q7 and Q8 are 'on', Q1 and Q2 are also BOTH 'on'. This is where braking is applied. Since Q1 and Q2 deliver the Positive supply to each side of the motor, they effectively 'short' the motor.
Phil,
I have used a circuit similar to that but instead of the NPN's at the bottom head of the H-bridge, I used a mechanical SPST switch.
However, in the design that you posted, I don't see any protection against both of the inputs being high. The diodes (D5 and D6) are there to prevent self turn on via the external load through the B-C junctions on the PNP transistors.
Duane J
Yes, that saves pins, but it needs a Zener to prevent over-voltage on the P-FET gates, and there is a significant crow-bar current due to the lack of any dead-time.
Floating motor drive option is also lost.
So, not really suited to PWM control, but probably ok for lower voltage On/Off bridges, where you just live with the crow bar current.
I'm surprised drivers for P-Fets are so rare - P FETs are improving all the time, and many of the widely available Dual-N Fet drivers need bootstrap support, so cannot do 100%.
Allegro make some Dual N drivers, with an extra Bootstrap charge pump, that does give 100%, but that is a niche part.
That's not a hardware characteristic of the drive in question, but something that's completely avoidable with proper programming. You just turn off input A, wait a bit, then turn on input B. Still, although dead time can be programmed, it's always better to have it built into the hardware.
-Phil
If you are talking about "drive the pMOS transistors from the drains of the diagonally-opposite nMOS transistors", then Spice disagrees.
Even with a longish 10us dead-time, I see 21 Amps of (expected) crowbar current for a 24V 0.5A resistive load example.
Allowing some motor inductance lowers it, but then G-S resistors on the P-FETs raises it again.
-Phil
@Beau
I see your voltage drops come from different data than Circuitsofts. Where did your choice of +5 volts come from (I used +12 for the TIP120/125.)?
Circuitsoft also chose a Beta of 15 at saturation while I read that the BD139/140 require 50ma at 500ma output in staturation - so I use a Beta of 10. (I am finding that just about all the PDFs I have are consistent with BJT saturation listed at a Beta of 10).
The voltage drops for calculation of the limiting resistor is an area that seems to make it difficult for the beginner to design proper saturation. It seems that the voltage drop changes when saturation is reached, and also changes with a buildup of temperature. And it changes with the applied voltage.
I also have used different data about these voltage drops, based on Fairchild pdfs for the TIP120/125 and figured the base current at about 100ma for Bob Blick's design (I think I used 12volts as the supply voltage). I admit that I might not be looking in the right places.
Can we really rely on 0.7v for BJT and 1.3v for Darlingtons, or should we use other figures in the PDF? And should we use the figures of voltage drop at Saturation, or something else?
I do realize, that testing the AS BUILT device's voltage drop is the only conclusive way to do this, but where is it best to start?
To make matters even more confusing, the BEAM crowd seems to assert that saturation causes MORE heat, not less. With the Tilden bridge, they claim that operation in the linear, non-saturated region is superior. I'll quote from Junkbots, Bugbots, & Bots on Wheels, page 328 -- but I have seen this argument in several places on the net.
http://www.solarbotics.net/library/circuits/driver_tilden.html
Here is the quote.........
"It (the Tilden Bridge) is different from many other H-bridges in that it doesn't use limiting resistors around the driver transistors (base of the final stage). Though adding these resistors is a good idea, they are not necessary here as R1 and R2 are greater than 50K ohms, most transistors can take the load well. When saturation does happen, drive transistors heat up and motor efficiency suffers dramatically."
In sum, I am confused, is saturation good or bad. I thought that the transistor's internal resistance drops a bit in saturation, so it is more efficient. Is a limited amount of saturation better than more? Or should the level of saturation be tailored by transistor selection and the particular motors stall current and current under useful load?
I also realize that the amount of heat built up in the BJT or Darlington is the ultimate cause of failure and the PDFs provide Safe Operatiing Area charts (for instance, the TIP120 really seems to be limited to 5 amps, but only to about 15 volts or about 75 watts total, not the 100 watts claimed by Bob Blick.)
@Phil
Your design is very similar in concept to what I posted for the 2n2907/2n2222 h-bridge. I haven't built what I posted, but the addition of diodes and pull-up resistors are interesting. For small motors (toy or hobby), I am very interested in this approach.
Firstly for low power super-beta transistors are a good way to go - avoid the power wastage of Darlingtons, have the nice current-limiting behaviour of a BJT (assuming base current is set right). I've used PBSS4032SPN NPN/PNP superbeta SMT pair to implement a simple H-bridge - these have 0.13V saturation voltage at 1A for 10mA of base drive and go upto over 4A.
For MOSFET drivers there are specific H-bridge drivers that prevent shoot-through and generate hi-side gate drive bias very simply - the classic HIP4081 for instance - also used the FAN7388 (its a 3-phase driver good to 600V!) - wouldn't bother building a large MOSFET H-bridge without such devices myself. For high power protection circuitry becomes the overwhelming concern, note.
The voltage drops are based on the band-gap of the PN junction within the transistor, Darlingtons have two PN junctions to deal with, so two band-gaps.
A typical PN junction has a band-gap that varies from 0.55V to 0.75V depending on materials used and doping during the manufacturing process. I used a 0.65V value for the calculations. Also 5V vs. 12V was an arbitrary value I used because they are popular choices.
As for the Beta, always take the lowest value, because as you pointed out... Current, temperature, etc. does play a part on this and can cause it to vary widely.
For the limiting resistor, I always work backwards.... Find out how much current I need for a motor (say 5 Amps) .... then double that for a good rule of thumb (10Amps) look at the Beta of your transistor and then divide.
- If a BJT has a Beta of 10, then we divide 10Amps by the Beta and we get 1Amp of current required at the base... if the transistor cannot handle a B-E current of 1 Amp then it's time to choose another transistor.
- If a Darlington has a Beta of 100, then divide 10Amps by the Beta and we get 100mA of current. Again if the transistor cannot handle the B-E current then look for a better suited transistor for the job.
Less saturation = Less Heat? That's absurd! If a transistor is not saturated, that means that there is MORE voltage across the C-E junction. Since Power (Heat) is equal to Current times Voltage, the more voltage you have here means the more heat that the transistor will produce. This is basic Ohms Law.
Yes, see my comment :
"Allowing some motor inductance lowers it, but then G-S resistors on the P-FETs raises it again."
With a purely resistive load, G-S resistors helped a little, but with some inductance added, they made the crow-bar current worse.
Not quite what I expected, but it is a dV/dT effect, and will depend on Cgs/Cgd
I used FDS4559_P as the P-FET
Can you post a reference schematic? You really need to drive the MOSFET not only HIGH but also LOW... The resistor is only there to provide a 'safe' state during a power up... you should not rely on a pullup or pull down to do the job of turning on or off a MOSFET during normal operation. The main reason for this, is due to the gate capacitive effects combined with a pull-up or pull-down resistor can cause the transistor to conduct too long in it's linear region, thus wasting power and creating unnecessary heating of the transistor.
Yes, I'd generally agree with these comments. Certainly for PWM, you need firm drive to gates.
The circuit is a MOSFET version of the one Phil mentioned, and linked
http://www.edn.com/file/11814-Figure_2.pdf
- ie the simplest trick, of opposite side gate drive.
That said, there is a solution using NPN emitter drive level shifting, that can be used with care for cases where lowest cost matters, and you do not need PWM speeds.
Here, provided the slew rate is controlled, you can use Pullups on the P-FETS gates.
With the FDS4559_N I used, that slew rate threshold occurs at appx 500ns/24v rise times, which is ~ > 820 ohms series gate
True but not very usable - the edge of saturation varies with device and temperature and you'd have to dynamically measure the saturation voltage to be able to
maintain this state - the small excess dissipation involved in being more saturated than this point for all devices/temperatures is a lot smaller than the excess
dissipation should a device go below saturation (even when driven hard the collector circuit is taking 10 times the current of the base so that 0.1V at the collector is
worth 1.0V at the base).
If you want to avoid slow switching then you'd either put up with the extra dissipation and stick a schottky between base and collector or move to MOSFETs?
Actually having said that I now wonder if there's a chip available to solve this problem (moderate base drive to prevent over-saturation)?
But I really wanted to be empowered to crunch my own numbers from good references.
I am using 4 pairs of transistors for study examples and all with Fairchild Pdfs. The 2n2222/2n2907, the BD139/BD140, the TIP120/TIP125, and the TIP35c/TIP36 (which I have yet to get to for design). I have read and reread, looked at the curves as well as the specs, and read the fine print.
So having said that, the BEST I can seem to justify with Bob Blick's design and that 47 ohm resistor limiting base current is about 70 watts of motor and 13.94 as peak voltage at 5 amps. Not the 100 watts. I guess it might work at 40 volts, but the real world is pretty much about 12 volt and 24 volt DC permanent magnet motors with reversing brushes. So it seems at 24 volts, 2.9 amps is about tops with a 70 watt motor; at 12 volts, the limit is remains 5 amps with a 60watt motor.
Regarding saturaton Beta, I have been relying of the Fairchid PDFs that use a Beta of 10 (except for Darlingtons), but I did re-read the Art of Electronics and while Appendix G, Transistor Saturation therein on switching transistors mentions a possible saturation Beta range between 20 and 10, but the final phrase suggests 10 is best. Circuitsoft uses 15. (The Darlingtons are rated at 250 in the Fairchild PDFs at saturation.)
I do understand where Beau gets is voltage drops from, but I have been trying to use the actual figures at saturation that are provided in the PDFs. For 2N2222, the saturation voltage drop is a mere 0.3, far below the .65 figure, and for the TIP120 and TIP125 at 5amps, the voltage drops are a rather huge 4.0 with 5amps being driven by 20ma of current.
Trying to make this all fit with Bob Blick's claims is awkward. Going backwards, we can start with the 47 ohm limiting resistor, and presume the absolute max base current of 120ma (far above the 20ma required). That would give a voltage drop on the resistor of .120 x 47 = 5.64 volts. If both the TIP120 and TIP125 are outputing 5 amps, each has a voltage drop of 4 volts and the 2n2222 (also presumed staturated) would have another 0.3 voltage drop. So 5.64 + 4 + 4 +0.3 = 13.94 V as the drive volt limit at 5 amps. 5amps x13.94 volts = 69.7 watts max.
Am I off in the weeds with these calculations? I don't feel comfortable with Circuitsoft's saturated Beta of 15, though the figure is generally acceptible.
Nor do I feel that Beau's ballpark figures of 0.65v or 1.30v are optimal for driving real power at saturation. When I start looking at the TIP35c/TIP36 saturation voltage drop (these transistors will handle up to 25amps), they have a 4 volt voltage drop at the full 25 amps output, AND these are NOT Darlingtons, they are BJTs
And I don't really feel comfortable with that 47ohm resistor on the TIP120/TIP125 design of Bob Blick's as the base current could be limited quite a bit more and still have excellent saturation (120ma allowed when only 20ma required).
I do admit that any Darlington or BJT with a 4 volt drop at saturation is NOT a particularly good item for building an h-bridge, they do exist. By investigating them, I am trying to learn if my number crunching is using the right figures or not.
Frankly, just about every h-bridge design I look at that claims to work well is lacking in specifics as to what motors are appropriate and/or rigorous calculation of the design's limits with the presented components. Further, I just cannot find any text that deals with h-bridge design on the internet. Maybe, Wiley has it in a speciality catalogue, but just about everything written for the public to read is theory or touting a certain product.
@Mark T
Forgive me if you feel I am ignoring you. These super-betas are very interesting and bring conventioal transistors back into contention for h-bridge design. They also may be very appealing to audiophile's that want to build Class A transistor amps. The reason I have stuck to the transistors I selected is that I live in Taiwan and just can't buy state of the art over the counter locally. Parallax has followers worldwide and many just want to build an h-bridge with cheap, easy to get older components so that they can get on with learning. Thus, my rather stubborn focus.