Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Wenn wir von einem “Transistor” sprechen, dann ist zumeist ein bipolarer Transistor gemeint. Transistoren bestehen aus Halbleitern, dass heisst sie können leitend oder auch sperrende Eigenschaften besitzen. Diese Eigenschaften werden genutzt um den Transistor als eine Art “Schalter” zu verwenden. Er ermöglicht es, größere Lasten mit kleinen zu schalten. Dies kann zum Beispiel sehr nützlich sein, wenn mit dem Arduino Board ein größeres Relais, ein Motor usw. geschaltet werden soll.

Image Removed

Man kann sich den Transistor wie einen Schalter vorstellen. Wenn der Schalter betätigt wird, so fliesst der Strom. Wird der Schalter dagegen losgelassen, so fliesst kein Strom mehr. Der Transistor besitzt drei Anschlüsse: Base, Emitter und Collector. Mit der Spannung an der Base-Emitter wird die Strecke Collector–Emitter geschaltet. Die Beschaltung eines Transistors hängt von seinem Typ ab. Es gibt im wesentlichen zwei unterschiedliche Arten von Transistoren: NPN und PNP Transistoren. Generell gilt: Es muss unbedingt die Stromrichtung (Collector-Emitter) beachtet werden, da ansonsten der Transistor beschädigt werden könnte. Meistens werden NPN Transistoren verwendet, deswegen soll dessen Funktionsweise im folgenden verdeutlicht werden. Hier eine Zeichnung aus dem Datenblatt des TIP 122, die verdeutlicht, wo Base, Emitter und Collector herausgeführt werden.

Image Removed

In der folgenden Darstellung werden der Stromfluss (I/rot) und der Spannungsfluss (U/blau) welche am Transistor anliegen visualisiert. Wichtig: Für eine korrekte Funktionsweise immer einen Basiswiderstand (RB) und eine Last benötigt.

Image Removed
UCE = Kollektor-Emitter-Spannung
UE = Steuerspannung
UBE = Basis-Emitter-Spannung (Schwellwert)
IC = Kollektorstrom / Verbraucherstrom
IB = Basisstrom
RB = Basiswiderstand

Der Transistor als Schalter

Die häufigste Verwendung findet der Transistor in der Schaltung höherer Lasten – da die meisten Mikrocontroller in ihrer Ausgangsleistung begrenzt sind. Das Arduino kann pro Ausgang z.B. eine Last von 5V bei 20mA schalten. Dies reicht für LED’s und auch ein kleines Vibrationsmodul kann direkt an das Arduino angeschlossen werden. Wird jedoch ein Ventilator, eine High-Power-LED, ein Solenoid, ein Motor, usw. angeschlossen benötigt man unbedingt eine Transistorschaltung. Der Transistor wirkt in diesem Fall ähnlich wie ein Relais: Er schaltet höhere Lasten mit kleineren Lasten. Grundsätzlich muss unterschieden werden zwischen dem Schalten von nicht-induktiven Lasten (z.B. LED) und induktiven Lasten (z.B. Ventilator, Relais, Motor). 

Schalten einer nicht-induktiven Last

Für das Schalten einer nicht-induktiven Last ist die Transistorschaltung sehr einfach aufzubauen. Man benötigt lediglich einen NPN Transistor (hier TIP 122) und einen Vorwiderstand in der Strecke IB (1 kOhm). Der Schaltplan sieht folgendermassen aus:

R1 = 1 kOhm (RichtwertGerman Version

When we talk about "transistors", we usually mean a bipolar transistor. Transistors consist of semiconductors, which means they can transition from conducting to non-conducting. These properties can be used as a kind of electrically activated "switch". This makes it possible to switch larger loads with small ones. This can be really useful, for example, if a larger relay, motor or lightbulb needs to be switched with an Arduino board.

Image Added

You can imagine the transistor like a switch. When the switch is pressed, the current flows. If the switch is released, the current no longer flows. The transistor has three connections: Base, Emitter and Collector. The voltage at the base-emitter switches the collector-emitter path. The circuit of a transistor depends on its type. There are two main types of transistors: NPN and PNP transistors. The current direction (collector-emitter) must be observed, otherwise, the transistor could be damaged. We will use NPN transistor most of the time.

Here is a drawing from the Datasheet of the TIP 122, which shows where base, emitter and collector pins can be found

Image Added

The following diagram visualizes the current flow (I/red) and the voltage flow (U/blue) which are applied to the transistor. Important: A base resistor (RB) and a load are always required for correct operation.

Image Added
UCE = Collektor-Emitter-Voltage
UE = Driving Voltage
UBE = Base-Emitter-Voltaege (Threshold value)
IC = Collector Current 
IB = Base current
RB = Base resistor 

The Transistor as a Switch

A common use of a transistor is in the switching of higher loads - since most microcontrollers are limited in their output power on digital pins. For example, the Arduino can switch a load of 5V at 20mA per output. This is enough for LED's and maybe a small vibration motor. However, if a fan, a high power LED, a solenoid, a motor, etc. is connected you definitely need a transistor circuit. In this case, the transistor works similar to a relay: it switches higher loads with smaller loads. A distinction must also be made between switching non-inductive loads (e.g. LED) and inductive loads (e.g. fan, relay, motor). An inductive load will probably need a Fly Back Diode

Switching a non-inductive Load

For switching a non-inductive load, the transistor circuit is very simple to set up. You only need an NPN transistor (TIP 122) and a series resistor in the path IB (1 kOhm). The circuit diagram looks as follows:

R1 = 1 kOhm (approximate value)
Transistor = TIP 122

...

Example

In diesem Beispiel wollen wir den RGB LED Streifen zum leuchten bringen, sowie dessen Helligkeit regeln. Laut Beschriftung und Datenblatt benötigt der Streifen 12V Versorgungsspannung – entsprechende Widerstände sind bereits vorhanden und fest auf dem Streifen verlötet. Um diese Schaltung zu realisieren benötigen wir also eine 12V Spannungsquelle (Netzteil), pro Kanal einen Transistor this example, we want to light up the RGB LED strip and control its brightness. According to the labelling and datasheet, the strip needs 12V supply voltage - corresponding resistors are already present and soldered on the strip. To realize this circuit we need a 12V power supply, one transistor (TIP 122 NPN) , pro Kanal einen Widerstand per channel, one resistor (1kOhm) und das per channel and the Arduino. 

Folgender Aufbau wird zum ansteuern einer Farbe (hier Rot) benötigt…

Image Removed

Das Arduino programmieren wir mit folgendem Beispiel Code, welcher den roten Kanal hin und her fadet

The following setup is needed to control a single color (here red)...

Image Added


We program the Arduino with the following example code, which fades the red channel back and forth.

Code Block
languagejava
titleBeispiel Example with PWM mit and Transistor
collapsetrue
#define RED_LED 1110 // PWM fähiger PIN
void setup()
{
  pinMode(RED_LED, OUTPUT);
}
void loop()
{
  for (int i = 0; i < 255; i++)
  {
    analogWrite(RED_LED, i); // Den Wert i
setzen     delay(10);
  }
  for (int i = 255; i > 0; i--)
  {
    analogWrite(RED_LED, i); //
Den Wert i setzen     delay(10);
  }
}

Aufgaben

...

Exercise

  1. Extend the previously developed circuit so that all three channels of the RGB LED strip can be controlled differently.
  2. Program a color change which fades between red, green and blue (logic: off>red>green>blue>off).
Code Block
languagejava
titleLösung Aufgabe 1
collapsetrue
//Selber herausfinden ;-)

...

Code Block
languagejava
titleLösung Aufgabe Solution Exercise 2
collapsetrue
#define RED_LED 11 // PWM fähigerPin
PIN
#define GRN_LED 10 // PWM fähiger PIN
#define BLU_LED 9  // PWM fähigerfPIN
PIN
void setup()
{
  pinMode(RED_LED, OUTPUT);
  pinMode(GRN_LED, OUTPUT);
  pinMode(BLU_LED, OUTPUT);
}
void loop()
{
  for (int i = 0; i < 255; i++)
  {
    analogWrite(RED_LED, i); // Den
Wert i an RED_LED setzen     delay(10);
  }
  for (int i = 255; i > 0; i--)
  {
    analogWrite(RED_LED, i); // Den Wert iD
an RED_LED setzen     analogWrite(GRN_LED, (-1) * (255 - i)); // Den Wert i umkehren und an GRN_LED setzen
    delay(10);
  }
  for (int i = 255; i > 0; i--)
  {
    analogWrite(GRN_LED, i); //
Den Wert i an RED_LED setzen
    analogWrite(BLU_LED, (-1) * (255 - i)); // Den Wert i umkehren
und an BLU_LED setzen
    delay(10);
  }
  for (int i = 255; i > 0; i--)
  {
    analogWrite(BLU_LED, i); // Den Wert i an RED_LED setzen
    delay(10);
  }
}

...

Further Information

Make Presents: The Transistor
Bipolarer Transistor – Erklärung im Elektronik Kompendium 
Der Transistor als Schalter – Erklärung der Funktionsweise im Elektronik Kompendium