Tag Archives: transistor

Picking The Right Output

The other day I ran across a publication from Allegro MicroSystems which was filled with an extensive list of terms and definitions for IC outputs. For instance, do you know the difference between a bipolar and a unipolar output? Well, a bipolar design allows the output to both sink and source current via controlled connections to power and ground. A unipolar output, however, can either sink or source current, but it cannot do both.

Now I don’t know about you, but I frequently confuse NPN and PNP outputs. I guess I just don’t work with these terms that often. Well, here’s one way to keep track of the difference: NPN outputs connect to the Negative supply while PNP outputs connect to the Positive supply. So just remember “N” for negative and “P” for positive! Take for example the following NPN sensor connected to a microcontroller (MCU):

NPN Sensor Wiring

The actual sensor circuitry is not shown here, only the output transistor. Now in this case, we have a unipolar output (the “Signal” line) which can only sink current to ground. In other words, this NPN sensor either connects the output to the negative supply (ground) or lets it float. In this configuration, however, the output does not float but gets pulled up to the positive supply line (V+) by a pull-up resistance. In this way, the input to the MCU is always either high (V+) or low (Gnd), but never in between (an undefined state).

For completeness, here’s one example of an actual PNP output used on a light curtain:

PNP Output ExampleThis may be a little tougher to interpret at first. However, there is one transistor directly connected between the positive supply rail (the topmost line) and the output (labeled OSSD). This means that the output may be connected directly to the positive supply as expected with a PNP configuration. This particular device also includes a pull-down resistor of 2.2kΩ. The difference here is that the pull-down may not always be connected to ground. That extra lower transistor can be disabled, allowing the output to float.

Anyway, check out that document and save it someplace – it might come in handy!