I have built a H-bridge as in the image below. The NPN transistors are TIP102 and the PNP transistors TIP107. The bottom NPN transistor is connected to the PWM pulse of the MCU. When I close one of the switches (MCU pin HIGH), the corresponding PNP transistor overheats and the motor is turning very slow. I measured a voltage at that transistor at about 1.8V and strangely at the opposite PNP only about 5V. So it seems to me the transistors don't saturate properly. I also tried smaller base resitors, but it didn't work. With further testing however, when I connected the switch to the 12V rail, the the PNP doesn't overheat and everything is working correctly. Is there a flaw in my design?

2 Answers
2

You need 12v on V2 and V4, otherwise you cannot turn off your PNPs, they will be on all the time.

When those switches deliver 0v, the PNP is on and the NPN is off.

When the switch delivers 3.3v, the NPN turns on, but the voltage is not high enough to turn off the PNP. There's still 8v across R1 or R3, which keeps the PNP on, fighting the NPN. You'll measure any voltage between 1v and 11v under those circumstances, depending on which one 'wins'.

No, this circuit will not function properly as a H bridge. With 3V3 applied to the common base terminal both transistors will be switched on. You need to control the PNP base drive with respect to its emitter voltage (up at 12 volts).

However, if your input were a signal that could rise up to 12V you'd be getting there so, in order to improve this you need extra transistors on each common base terminal (left and right).

\$\begingroup\$Do you mean to add an NPN transistor before the PNP transistor, with the NPN's collector connected to 12V? So that when the NPN is conducting, there will be a 12V on the base of the PNP.\$\endgroup\$
– MatthiasNov 21 '16 at 9:39

1

\$\begingroup\$Basically, where you have the thing called "key=space" you have an amplifier that converts 0 to 3.3 volts into 0 to 12 volts. A common emitter stage with fairly high gain would do this but you still have to guard against shoot-through - there will be a fraction of a milli-second (possibly a few tens of micro seconds or less) when both NPN and PNP transistors will be simultaneously trying to conduct. This is a secondary problem of course.\$\endgroup\$
– Andy akaNov 21 '16 at 9:57

\$\begingroup\$Also, there are a few examples of doing it differently here: google.co.uk/…\$\endgroup\$
– Andy akaNov 21 '16 at 9:59