Schalten eines Transistors
Ü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
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
// 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);
}