Electronic – PNP wont turn off


I am somewhat new to electronics and I've got a problem.

I made a H-bridge, I'm trying to control it indirectly with my Ardunio through a PNP (BC557). The motor spins once PNP is in place however the motor keeps spinning even when I coded the digital pin (D6) to HIGH. I've tried using pull-up resistors connected to 5 V on my Arduino to get it to turn off but it still keeps on going.

I've got some experience with NPN and know that PNP transistor logic is reverse but I still don't know what I'm doing wrong.

enter image description here

Any help would be great, thanks in advance.

(Ingnore the other transistors in the schematic, trying to keep it tiding and just get once side working for now.)


Thanks for everyone for the help and feed back. i was able to get the answer from Transistor by following this website (http://lednique.com/gpio-high-side-driver-fail/) , what i did was added a NPN low-side switch to the base of the PNP, and control the NPN low side switch with my Arduino, which help get rid of the PNP always turning on. Now it works great and saves me going done to the shops and getting NPN's and re doing the circuit all over again to get this H-bridge working.

i will keep in mind the feedback revived when i do more motor projects in the future.

Thanks again.

enter image description here

Best Answer

enter image description here

Figure 1. A few problems.

Q2 or Q3 should be PNP transistors. The problem with this schematic is that 1 and 2 are "emitter followers" and the emitter voltage will be lower than the base voltage by 0.7 V. It is impossible with a single supply to drive the transistors fully on.

Q6 is an attempt to interface with the logic level but it fails too.

enter image description here

Figure 2. High-side switch fail. Source: LEDnique.com.

Your Q5 circuit (3) won't work either. There will be enough leakage through your micro's protection diodes that the transistor can't be turned off.

You need to find a better design or use a proper H-bridge driver.