Let's Make Robots!

H bridge

Hi, can someone please tell me what is wrong here. I have attached my schematic as pdf. All the line are physical connections on my pcb. The right tip127 gets hot when I allow current to flow.    

h_bridge_1.pdf17.84 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Have you tried driving a motor one way with this configuration, not in an H-Bridge configuration (using transistor 1 and 4 only)?  I suggest using a 0.1uF or similar nonpolarized capacitor in parallel with your motor to reduce back EMF and four schottky diodes in the standard h-bridge implementation.

You are using a 24V motor with how much stall current (what is the resistance of the motor)?

I'm also curious why you are using -12v rails versus driving it from 0 to 24v.

You might try LTSpice for simulation, it is free and is also good for making schematics.


To begin with, you have the emitter and collector connections reversed on the NPN transistors. The emitters on the transistors cannot be tied together, and you show no steering logic so that opposite transistors cannot be turned on at the same time putting a short accross your power supply.

Thanks a lot. Hope I can manage from here.

Why the separate post? I gave you much of the same advice as Salvage and rogue on your original post here.

As Salvage pointed out, you still have your PNP transistors connected incorrectly. Remember I explained the current for a PNP transistor flows from emitter to collector.

You say the right TIP127 gets hot when you "allow current to flow". Is the motor turning when this happens or not? How are you setting inputs 1, 2, 3, and 4 into the base connections of your transisitors? If you are turning on both the transistors on the right at the same time, you short that leg of the h-bridge and you they will get hot or even burn out.


The separate post is because I have changed my schematic.  The motor does not turn, even if I have no current on any base of any transistor then that tip127 still gets hot when I switch on the power supply. I will post a new topic with the entire schematic. Perhaps then you guys will have a better idea of what is going on. Or if someone can tell me how to upload the updated schematic here then I will do so.

You can insert an image of your schematic using the insert image icon on the toolbar when leaving a message.  It is to the right of the anchor icon.  You will need to upload it to a picture hosting website first such as flickr or picasa (both free).  Then enter the url or address of the image.  To get the url of the uploaded image in windows I usually right click and select "copy image location".

If you use LTspice to design your schematic it will be easier for us to read as well.  Another tip is to create an image in windows using the ctrl + prtscn buttons.  Hope this helps.

Thanks man, here it is. Hope everything is clear to you. Only one note. The opto isolators I am using do not have a base.


Try grounding the emitters of your NPN transistors on the H-bridge.  In other words, the bottom right and bottom left transistors should swap emitter and collector terminal connections.

This basic H-bridge layout is a good description.  Have you tried using just an NPN to do single direction PWM speed control?  This is a simple circuit with the base connected to PWM output of a micro, emitter grounded, and motor between Vcc and collector.  If you have an oscilloscope you will see how much noise and kickback voltage is across the motor, thats what the capacitor and diodes will help suppress.  I use a 0.1uF 50V nonpolarized capacitor in parallel with the motor, which can be soldered across the motor leads.


If your right TIP127 is still getting hot with no current applied to any transistor base, something is clearly wrong. You may have a short circuit somewhere. Is this all built on a breadboard or soldered on a protoboard or what? Maybe a clear, focused picture of your actual circuit would be helpful.

If the right TIP127 gets hot and the left one doesn't, this supports the idea that there is a short. The circuit is symetical, so why does one get hot and the other doesn't? You need to fix this before proceeding to fix the rest of your circuit. I have more notes on what else is wrong below.

I'm not sure about how you have your optoisolators connected. Maybe your schematic is just incomplete, but there seems to be a lot of unconnected pins. I see other problems with the circuit as diagrammed too. I don't know if it is a problem with your schematic or if you actually built your circuit this way.

  • Both optoisolators on the right have nothing connected to the LED cathodes.
  • The optoisolator LEDs should have a smaller current limiting resistor (You need about 10mA current, but if your micro puts out 5V on it's output you will bet getting only about 1mA with the 3200 ohms of resistance on each LED.)
  • You have separate LEDs (as indicators, I guess) on the optoisolators. The two on the right are shown upside down. The 1000 ohm resistors on these LEDs will probably have them running pretty dimly. Also check the max current output of your micro per pin. Make sure you are not exceeding what it can put out to supply both the optoisolator LED and the external LED.
  • I don't get the arrangement of resistors around your optoisolators at all.I'm not sure what the bottom 1000 ohm resistor does at all.
  • The transistor output of your optoisolators should have pull-up resistors on the PNP TIP127s. 10kohms should do nicely. You want to pull the base of the TIP127s high when their optoisolators are off. It is possible that the base of your TIP127s are being pulled low enough to turn on, even when you don't turn the optoisolator on.
  • The transistor output of your optoisolators should have pull-down resistors on the NPN TIP120s. You want to pull the base of the TIP120s low when their optoisolators are off. You may want a 1000 ohm current limiting resistor between the 12V supply and the collecctor of the optoisolator transistor output, to limit the base current.