Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

techniken:schalten

Wie man eine Glühbirne An- und Ausschaltet

Eine wichtige Funktion des Arduino, ist das Schalten von elektronischen Komponenten. So ist das An- und Ausschalten einer LED eine leichte Übung. Bei dieser Schaltung ist der Arduino gleichzeitig Spannungsquelle und Schaltungslogik der LED. Möglich ist diese Schaltung, da eine LED mit 20-30mA zurechtkommt und der Arduino maximal 50mA liefern kann. Versucht man nun einen Verbraucher zu schalten, der einen höheren Laststrom benötigt (> 50mA), wird der Arduino zerstört.
Um dieses Ungemach zu verhindern, sollte man eine sog. Schaltstufe verwenden um „große Lasten“ zu schalten. Die Schaltstufe trennt Spannungsquelle und Schaltlogik voneinander, indem der „Schaltstrom“ des Arduino benutzt wird um die größere Spannungsquelle über einen Transistor zu schalten.

Falls ihr einen Motor oder einen anderen induktiven Verbraucher schalten wollt, dann lest diesen Artikel bis zum Ende! Sonst passieren schlimme Dinge!

Die Grundschaltung

Zum schalten verwenden wir einen n-Kanal-MOSFET Transistor, dieser wird im Schaltplan in Abb. 1 mit seinen drei Anschlüssen Gate, Drain und Source dargestellt. Die Belegung der drei Pins variiert je nach Bautyp und sollte durch lesen des jeweiligen Datenblattes überprüft werden. Außerdem könnt ihr dort feststellen welche Kennwerte der Transistor hat. Auf zwei Dinge müsst ihr achten:

  1. Welche Spannung (V(BR)DSS Drain-to-Source Breakdown Voltage) und Strom (ID Continuous Drain Current, Angabe ist Temperaturabhängig) kann der Transistor schalten ohne Schaden zu nehmen.
  2. Wie groß muss die Kontrollspannung, welche z.B. vom Arduino kommt, sein um den Schalter auf Durchlass oder Sperren zu schalten. Im Datenblatt in der Regel zu finden als VGS(th) (Gate Threshold Voltage)

Im Labor haben wir zwei Arten solcher Transistoren solche die mit 3.3V (Teensy) auskommen und solche die 5V (Arduino) benötigen.

Ist die Spannung am Gate identisch mit der Spannung an Source dann sperrt der Transistor. In diesem Fall fließt zwischen Drain und Source kein Strom, die Glühbirne ist aus. Der Spannungsunterschied wird erzeugen indem der Pin des Arduino eine Spannung am Gate anlegt (Pin HIGH), die Glühbirne leuchtet. Wichtig: Der Ground des Arduino muss mit dem Ground der Spannungsquelle verbunden sein, sonst kann der Transistor nicht „Vergleichen“ ob die Spannung am Gate identisch ist mit der an Source oder nicht.

Zusammengefasst: Ein MOSFET ist wie ein variabler Widerstand, dessen Widerstand zwischen Drain-Source abhängig ist von der Spannungsdifferenz zwischen Gate-Source. Ist die Differenz null, dann ist der Widerstand sehr groß und der Schalter geöffnet (Abb. 1 links). Ist die Differenz groß genug zwischen Gate-Source, dann wird der Widerstand zwischen Drain-Source klein und es kann Strom fließen (Abb. 1 rechts). Überlegt euch, warum man Glühbirne und MOSFET nicht in ihrer Position tauschen darf! Welche Spannung müsste das Gate annehmen, wenn man es dennoch tut?

Grundschaltung eines MOSFET-Schalters Grundschaltung eines MOSFET-Schalters, ein
Abbildung 1: Grundschaltung eines Arduino-MOSFET-Schalters


Der Strombegrenzer

Das Gate eines MOSFET-Transistors kann sich wie einen Kondensator vorstellen, es hat eine gewisse Kapazität. Wenn der Pin auf HIGH gesetzt wird lädt er das Gate auf +5/+3.3V und schaltet somit auf Durchlass. Normalerweise ist das Gate entladen und stellt daher im ersten Moment einen Kurzschluss da. Indem man einen Widerstand in Reihe zum Pin setzt wird der Strom beim Kurzschluss begrenzt. Die Formel zum berechnen des Widerstands findet ihr in Abb. 2

Abbildung 2: Arduino-MOSFET-Schalter mit Strombegrenzer


Der Pulldown

Eine Spannung von 0V am Gate ist so zu verstehen dass Gate und Source galvanisch verbunden sind. Dies kann man erreichen indem der Pin des Arduino auf LOW (0V) gesetzt wird, das Gate wird über den Pin mit Ground verbunden. Jedoch gibt es fälle, z.B. Arduino noch nicht eingeschaltet aber Verbraucher-Spannungsversorgung, bei denen der Zustand des Gate nicht definiert ist. Schlimmstenfalls führt dies zum Abbrennen des Transistors. Wer solche Probleme vermeiden möchte sollte zwischen Gate und Source einen Pull-Down-Widerstand (ca. 100 kOhm) einsetzen. Über den Widerstand kann sich das Gate bei einem Pin im undefinierten Zustand entladen und erreicht somit sicher den 0V-Pegel.

Abbildung 3: Arduino-MOSFET-Schalter mit Pulldown-Widerstand


Einen Motor an- und ausschalten

Ist unser Verbraucher eine induktive Last, stehen wir vor einem neuen Problem. Beim Abschalten von Induktivitäten entstehen hohe Spannungen. Der Strom fließt durch euren Verbraucher (z.B. ein Elektromotor) und induziert ein Magnetfeld. Schaltet ihr den Strom nun ab, bricht das Magnetfeld schlagartig zusammen und induziert einen Strom. Dieser Strom kann nicht entkommen da der Transistor bereits sperrt. Um schaden am Transistor und anderer Komponenten zu verhindern setzt man eine Freilaufdiode (eine herkömmliche Silizium-Diode) parallel zum Verbraucher. Jetzt kann der induzierte Strom so lange im Kreis fließen bis er sich über Verlustleistungen am Motor verflüchtigt hat.

Abbildung 4: Arduino-MOSFET-Schalter für induktive Lasten


techniken/schalten.txt · Zuletzt geändert: 2020/12/08 17:01 von d.golovko