PNP Transistor – High-Side Switching with Microcontroller

arduinomicrocontrollerpnptransistors

Up to this date I was working with NPN transistor with micro controller and it was working fine. But here I need a PNP transistor.

Arduino PNP interface

Does any one can tell me is that the above configuration is correct and that the circuit can be used safely ?

Best Answer

You are trying to create a high-side switch.

schematic

simulate this circuit – Schematic created using CircuitLab

Figure 1. (a) NPN open collector switch. (b) A failed attempt to make a PNP version.

Does any one can tell me is that the above configuration is correct and circuit can be use safely?

I can tell you that the above configuration is not correct and can not be used safely.

The low side switch is very simple as shown in Figure 1a. The low-voltage logic just has to feed sufficient current into the NPN transistor to turn it fully on.

There is a temptation to think that we could do the same trick with an PNP transistor as shown in Figure 1b. The problem is that the emitter-base junction is always forward biased. This will apply the 12 V to the chip output and destroy it or, if there are protection diodes on the output, the current will flow through the protection diodes into the micro-controller supply (shown as 5 V in this case). The effect of this current flow is to turn on Q3 and the load can not be switched off.

schematic

simulate this circuit

Figure 2. A high-side switch.

  • We want to drive Q2 hard-on. Given the gain of 350 in your comment 2 mA would be about right so if we set R2 to 1k we'll get 9 mA and that will be sure to work.
  • R3 just has to pull the Q2 base high when Q1 is off to prevent it turning on with any leakage through Q1. 10k will be fine. 100k would probably work too.
  • Q1 only has to switch about 10 mA so we can ensure that it's turned hard-on with a 1 mA base current. I've shown a 1k but 4k7 would be fine.