Let's Make Robots!

How to choose the transistor and the current limiting resistor of the H-bridge?

I often see the H-bridge circuit for the 3V motor(Model: 130), VCC is 3V, the transistors are 8050 and 8550,

I have some 6V motors, can I lift the voltage of VCC to 5v and use this circuit to drive these motors?

Is this harmful to the 8050 and 8550?  

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
sorry, I didn't remember it clearly. yes, the upper transistor should be 8550 PNP.



                                                                        ______|(VCC +3V)_____

                                                                        | E                              | E   

                                   _____R1 1K______B____Q1 8050                          Q2  8050_____B____R2 1K______  

                                  |                                      | C                            | C                                         |

    P2.7(AT89S52) _____|                                       | ____   MOTOR   __  |                                              |__P2.6(AT89S52)

                                  |                                      | C                             | C                                         |

                                  |_____R3 1K______B____Q3  8550                          Q4  8550_____B____R4 1K______|

                                                                        | E                                | E  



Logic limit : the P2.7 pin of the AT89S52 probably switches at a 5 volt level, so you should be able to switch both transistors if using a 5 volt supply. The 8550 PNP should be the upper transistor with the emitter tied to +5 volts, and its collector tied to the collector of the 8050 NPN, which also connects to a motor lead. The 8050 NPN should have it's emitter tied to ground. The 1k resistors are probably fine for protecting the AT89S522 pins. Note these transistors have no flyback diode prtection. For a low current motor, perhaps under 200 mA, they should be fine.

Sorry Robologist, already had this discussion with captain tuna in the post mention above. He suggested the same design. Bellow is a copy of my reply to him and a diagram explaining why.


There is a flaw in your design Captain, you have not allowed for the PN junctions behaving like diodes. Below is your design.


The PN junctions form a direct short circuit across your supply and you have 4 crispy critters. Even if this did not happen, since your controls A and B only have to be 0.7V above ground to turn on then NPN transistors and 0.7V below V+ to turn on the PNP transistors you'd have all transistors on during transition times at best.

By reversing your transistors as in the diagram below. Your PN junctions don't short your supply and your transistors are all off during transistion periods where your control signals are changing from high to low. This circuit still won't work well if V+ is greater than your control voltage as the high side of the motor (which ever side is connected to positive via an NPN) will not go above your control voltage - 0.6V. This is because the base of the NPN must be at least 0.6V above the emitter for the transistor to turn on.

If your control voltage was 5V and the motor voltage was 6V then the NPN transistors would drop at least 1.6V from collector to emitter and get a lot hotter than the PNP transistors.



Hi Oddbot, I asked this here in the previous thread you mention, but got no response. PNP over NPN h-bridge suggested by Capt Tuna and myself has been used in lotsa little BEAM robot motor controls and has not gone through a smoke test when correctly hooked up. Here is another example. And even a pre-packaged configuration (pdf file).

Now it's possible that your design might work, but I've never seen such a configuration, and have my doubts. Have you actually tested NPN over PNP circuit proposed? PNP over NPN has been used and tested in many cases beyond what I've linked.

I've been busy with many robot projects that are half finished. I did not intend to ignore your input. The sample you linked to has enough resistance in series with each base pin to make it work without smoking the transistors (2K). The biggest problem with that design is that during crossover both NPN and PNP transistors are on creating a short across the supply. With my design, during crossover all transistors are off, he down side is that your control voltage needs to swing above the motors +V  by at least 0.6V and below 0V by at least 0.6V for high efficency which is why I prefer FET designs these days.

The short answer is No. Not very well anyway. 

I think you may have the collector and emitter back the front on all your transistors as that circuit will not work. The emitter has the arrow on it reguardless of NPN or PNP. At any rate you still haven't told us what the stall current of your motors are at 5V.

 Since the NPN transistors need the base voltage to be at least 0.6V higher than the emitter you will loose at least 0.6V across your NPN transistors, same with your PNP. Your motor will end up running on about 3.8V or less.

This was discussed recently. Read this post.

I click the Insert/edit image button ,but can not post a link to my schematic, oh my god!!

It's not the voltage that will harm the transistors, You need to look at the stall current of the motors. Even then, although they can handle 1.5A each some heatsinking wouldn't hurt plus they have a low hfe. according to the datasheet you will need to allow for at least 80mA through the base to get a low VCE(SAT) which is more than a processor can output directly.

As Robologist said, show us a schematic of your proposed circuit.

If you actually post a link to the circuit, perhaps more accurate help can be available.