Electronic – BJH H-bridge going in reverse but not forward, LL transistor overheating

h-bridge

I've built one of this BJT H-bridge to control a DC motor in an old R/C car of mine, but I'm having problems with it and wanted a few tips to help me debug the board.

The motor is a 2-wire DC with about 1.2A stall current.

Below is my schematics.

my schematics

Note that I've used TIP102 and TIP107 in the actual board, as presented in the original design. I've replaced them for TIP122 and TIP125 in schematics because those were the closest parts I could find in Eagle CAD libraries. All other components I used match exactly the schematics.

Below is my board.

Board after edit, now with the component values

The truth table for the inputs FWA, REV and ENA is shown in the link I provided above, a bit down in the page. In summary, assuming ENA (ENAble, which is active low) is always low (active) we have the following situations:

  1. FWA=HIGH, REV=LOW – The motor gets positive voltage and current, thus going forward.
  2. FWA=LOW, REV=HIGH – The motor gets negative voltage and current, thus going in reverse.

I omitted the other 2 cases (braking and coasting) for brevity.

The board works fine in reverse (situation in the list 2 above). It runs at full speed as it should. The upper-left (UL) and lower-right (LL) transistors heat up a little while the lower-left (LL) and upper-right (UR) transistors remain cold, just as expected.

The problem I'm having is that it doesn't run forward. In that configuration of inputs (situation 1 in the list above), the motor doesn't run at all and the LL transistor alone heats up quickly.

Here's what I know and measured:

  1. Vin = 12V, HIGH logic leve is 5V, while LOW is 0V.

  2. With the motor terminals disconnected, I get +Vin at the terminals with the inputs configured to move the motor forward. With the inputs in reverse, I get -Vin at the terminals, which is expected.

What could be wrong with my board? What other measurements should I make to determine if there are faulty components, short circuits or bad solders or contacts somewhere?

Edit: I found the problem, thanks to Dave Tweed's comment about double-checking the resistor values. The answer was that I switched a pair of the 1K and 10K resistors when routing the board and assembled them incorrectly, thinking they all followed two lines of resistors of equal values. The 1K resistor is highlighted in the image above.

Best Answer

Double-check that you have installed the correct value of resistor in each location.

BTW, the traces that are carrying the heavy currents between the two lower connectors and the four transistors look awfully wimpy to me. In the next revision of the board, beef up (and shorten) those traces as much as possible.