Arduino Mikrocontroller Tutorials - Input/Output

Schalten eines Transistors

Transistor Pinout

Über einen digitalen Ausgang des Arduinos wird ein Transistor geschaltet. Mit wenigen Milliampere Strom über den Basisanschluss (B) des Transistors lässt sich ein sehr hoher Strom über den Kollektor- (C) und Emitteranschluss (E) ein- und ausschalten. In unserem Beispiel verwenden wir einen NPN-Transistor vom Typ TIP 120. Dieser kann mit bis zu 60V und 5A betrieben werden. Die Stromverstärkung ist im Datenblatt mit 1000 angegeben (der TIP 120 ist ein Darlington Transistor).

Berechnung des Basiswiderstandes

Berechnung Transistor Basiswiderstandes

Möchte man wie hier im Beispiel einen Motor mit 5A betreiben, benötigt man einen Basisstrom um den Stromverstärkungsfaktor 1000 kleiner. Also 5mA.

An einem Transistor aus Silizium fallen zwischen der Basis und dem Emitter immer 0,7V ab. Da es sich hier um einen Darlington Transistor handelt, also um intern zwei hintereinander geschalteten Transistoren, fallen 2 x 0,7V = 1,4V ab. Der Basiswiderstand und der Transistor sind in Reihe geschaltet. Ausgehend von den 5V des Arduinos muss am Basiswiderstand VRBasis = 5V - 1,4V = 3,6V verbraucht werden. Mit dem Ohmschen Gesetzt R = U / I folgt damit RBasis = 3,6V / 0,005A = 720Ω

Wir nehmen den nächst größeren Widerstand mit 1kΩ.

Schaltung und Programmcode

Schaltplan Transistor ansteuern
// setup wird nur einmal ausgeführt void setup() { // Pin13 wird als Ausgang definiert pinMode(13, OUTPUT); } // loop wird dann ständig wiederholt void loop() { // Pin13 wird auf +5V gelegt digitalWrite(13, HIGH); // Pause von 5s delay(5000); // Pin13 wird auf Masse geschalten digitalWrite(13,LOW); // Pause von 5s delay(5000); }