Wir hatten ja das Thema, dass der Arduino mit seinen Ausgängen nur wenige LEDs direkt ansteuern kann. Hier mal mehrere Möglichkeiten viele LEDs parallel ansteuern zu können.
Der Controller des Arduinos kann nur wenige mA pro Ausgang direkt schalten. Ebenso gibt es einen gesamten Maximalstrom des jeweiligen Ausgangs-Ports. Das heißt, nicht alle Ausgänge eines Ports können gleichzeitig mit dem Maximalstrom betrieben werden, sonst wird der Maximalstrom des Ports überschritten. Die Werte können von Controller zu Controller und von Port zu Port variieren. Deshalb sind die Werte dem Datenblatt des Controllers oder den Angaben des Arduinos zu entnehmen.
Z.B. wäre eine gängige Größe 40 mA pro Ausgang und 200 mA pro Port. Bei 8 Ausgängen pro Port wären das 8 x 40 mA = 320 mA und damit mehr als der Port dauerhaft verkraften kann.
Um stromhungrigere Verbraucher ansteuern zu können bedarf es also eines Verstärkers. Elektromechnisch könnte man das über ein Relais realisieren oder elektronisch über Transistoren. Die Transistoren machen im Grunde nichts anderes als ein Relais, sie "schalten den Strom".
Einzelne Transistoren sind aber recht groß und aufwändig in eine Schaltung zu integrieren. Stattdessen kann man auf Treiber-ICs zurückgreifen, in denen sich mehrere Transitorschaltungen befinden. ICs der ULN- und UDN-Reihe sind sehr simpel aufgebaut und können wesentlich höhere Ströme dauerhaft verkraften.
Ein weiterer Vorteil liegt darin, die ICs oder Transistoren mit einer viel höheren Spannung versorgen und trotzdem mit den 5 V des Arduinos schalten zu können. In meinen Beispielschaltungen habe ich Klemmen gesetzt, an die eine beliebige Spannungsquelle angeschlossen werden kann, solange die Maximalwerte der Bauteile nicht überschritten werden.
ICs der ULN-Reihe beinhalten mehrere Transistor-Schaltungen, die in Open-Kollektor-Bauweise arbeiten. Das heißt im Klartext: Sie schalten den "Minus". Die Anode (+) der LED muss also mit einem Vorwiderstand dauerhaft mit der Versorgungsspannung (+) verbunden werden. Die Kathode (-) der LED wird mit dem Ausgang des ULN verbunden. Steuert man nun mit dem Ausgang des Arduino den Eingang des ULN mit einem High-Signal (1) an, schaltet der ULN durch und die LED leuchtet.
ICs der UDN-Reihe beinhalten mehrere Transistorschaltungen, die in Tri-State-Bauweise arbeiten, aber der elektrisch neutrale Zustand nicht angesteuert werden kann. Die Ausgänge eines Arduino arbeiten ebenfalls nach Tri-State-Bauweise. Das heißt im Klartext: Sie schalten zwischen "Plus" und "Minus" um. Das ermöglicht zwei Arten die LEDs zu betreiben.
Eine weitere Möglichkeit viele LEDs parallel zu betreiben ist, wie oben schon erwähnt, einzelne Transistoren zu nutzen. Die sind recht groß und bei gleicher Anzahl an Ausgängen viel aufwändiger zu realisieren. Aber wenn man richtig viel Leistung schalten möchte, dann sind sie genau das richtige Mittel.
Es gibt diverse Arten und Typen von Transistoren, die kann ich nicht alle aufzählen und erklären. Zumal viele davon heutzutage und in dieser Anwendung keinen Sinn machen. In meiner Beispielschaltung habe ich einen N-Channel Feldeffekttransistor in Open-Source-Schaltung verwendet.
Der Transistor wird mit dem Gate an den Ausgang des Arduino angeschlossen. Der Drain des Transistors wird mit dem "Minus" verbunden. Die Anode (+) der LED wird mit einem Vorwiderstand an die Versorgungsspannung angeschlossen. Die Kathode (-) der LED wird mit dem Source des Transistors verbunden.
Statt der einen LED mit Vorwiderstand in den Schaltungen können natürlich mehrere LEDs mit Vorwiderstand betrieben werden. Dabei sind aber die Werte von Spannungen, Ströme und Leistungen der LEDs und der ICs bzw. Transistoren zu berücksichtigen.
In meinen Beispielschaltungen entspricht die Farbe des Rahmens der Farbe des Textes der beschriebenen Bauteile.
Hier ein paar Bilder dazu:
Das ist der Schaltplan.
Das ist das Platinenlayout. Im Layout und auf der Platine befinden sich die Bauteile auf der Oberseite und die Leiterbahnen auf der Unterseite. Bedrahtete Bauteile halt.
Eine 3D-Ansicht der Platine mit Bauteilen.
Die 3D-Ansicht ohne Platine, ICs/Transistor und Klemmen.
Eine 3D-Ansicht ohne Platine und Bauteile.
Der Controller des Arduinos kann nur wenige mA pro Ausgang direkt schalten. Ebenso gibt es einen gesamten Maximalstrom des jeweiligen Ausgangs-Ports. Das heißt, nicht alle Ausgänge eines Ports können gleichzeitig mit dem Maximalstrom betrieben werden, sonst wird der Maximalstrom des Ports überschritten. Die Werte können von Controller zu Controller und von Port zu Port variieren. Deshalb sind die Werte dem Datenblatt des Controllers oder den Angaben des Arduinos zu entnehmen.
Z.B. wäre eine gängige Größe 40 mA pro Ausgang und 200 mA pro Port. Bei 8 Ausgängen pro Port wären das 8 x 40 mA = 320 mA und damit mehr als der Port dauerhaft verkraften kann.
Um stromhungrigere Verbraucher ansteuern zu können bedarf es also eines Verstärkers. Elektromechnisch könnte man das über ein Relais realisieren oder elektronisch über Transistoren. Die Transistoren machen im Grunde nichts anderes als ein Relais, sie "schalten den Strom".
Einzelne Transistoren sind aber recht groß und aufwändig in eine Schaltung zu integrieren. Stattdessen kann man auf Treiber-ICs zurückgreifen, in denen sich mehrere Transitorschaltungen befinden. ICs der ULN- und UDN-Reihe sind sehr simpel aufgebaut und können wesentlich höhere Ströme dauerhaft verkraften.
Ein weiterer Vorteil liegt darin, die ICs oder Transistoren mit einer viel höheren Spannung versorgen und trotzdem mit den 5 V des Arduinos schalten zu können. In meinen Beispielschaltungen habe ich Klemmen gesetzt, an die eine beliebige Spannungsquelle angeschlossen werden kann, solange die Maximalwerte der Bauteile nicht überschritten werden.
ICs der ULN-Reihe beinhalten mehrere Transistor-Schaltungen, die in Open-Kollektor-Bauweise arbeiten. Das heißt im Klartext: Sie schalten den "Minus". Die Anode (+) der LED muss also mit einem Vorwiderstand dauerhaft mit der Versorgungsspannung (+) verbunden werden. Die Kathode (-) der LED wird mit dem Ausgang des ULN verbunden. Steuert man nun mit dem Ausgang des Arduino den Eingang des ULN mit einem High-Signal (1) an, schaltet der ULN durch und die LED leuchtet.
ICs der UDN-Reihe beinhalten mehrere Transistorschaltungen, die in Tri-State-Bauweise arbeiten, aber der elektrisch neutrale Zustand nicht angesteuert werden kann. Die Ausgänge eines Arduino arbeiten ebenfalls nach Tri-State-Bauweise. Das heißt im Klartext: Sie schalten zwischen "Plus" und "Minus" um. Das ermöglicht zwei Arten die LEDs zu betreiben.
- Die Anode (+) der LED wird mit einem Vorwiderstand mit dem Ausgang des UDN verbunden. Die Kathode (-) der LED wird mit dem Ground (-) verbunden. Steuert man nun mit dem Ausgang des Arduino den Eingang des UDN mit einem High-Signal (1) an, schaltet der UDN durch und die LED leuchtet.
- Die Anode (+) der LED wird mit einem Vorwiderstand mit der Versorgungsspannung (+) verbunden. Die Kathode (-) der LED wird mit dem Ausgang des UDN verbunden. Die LED leuchtet. Steuert man nun mit dem Ausgang des Arduino den Eingang des UDN mit einem High-Signal (1) an, schaltet der UDN durch und die LED geht aus.
Eine weitere Möglichkeit viele LEDs parallel zu betreiben ist, wie oben schon erwähnt, einzelne Transistoren zu nutzen. Die sind recht groß und bei gleicher Anzahl an Ausgängen viel aufwändiger zu realisieren. Aber wenn man richtig viel Leistung schalten möchte, dann sind sie genau das richtige Mittel.
Es gibt diverse Arten und Typen von Transistoren, die kann ich nicht alle aufzählen und erklären. Zumal viele davon heutzutage und in dieser Anwendung keinen Sinn machen. In meiner Beispielschaltung habe ich einen N-Channel Feldeffekttransistor in Open-Source-Schaltung verwendet.
Der Transistor wird mit dem Gate an den Ausgang des Arduino angeschlossen. Der Drain des Transistors wird mit dem "Minus" verbunden. Die Anode (+) der LED wird mit einem Vorwiderstand an die Versorgungsspannung angeschlossen. Die Kathode (-) der LED wird mit dem Source des Transistors verbunden.
Statt der einen LED mit Vorwiderstand in den Schaltungen können natürlich mehrere LEDs mit Vorwiderstand betrieben werden. Dabei sind aber die Werte von Spannungen, Ströme und Leistungen der LEDs und der ICs bzw. Transistoren zu berücksichtigen.
In meinen Beispielschaltungen entspricht die Farbe des Rahmens der Farbe des Textes der beschriebenen Bauteile.
Hier ein paar Bilder dazu:
Das ist der Schaltplan.
LEDs mit Arduino über Transistoren ansteuern
LEDs mit Arduino über Transistoren ansteuern
Das ist das Platinenlayout. Im Layout und auf der Platine befinden sich die Bauteile auf der Oberseite und die Leiterbahnen auf der Unterseite. Bedrahtete Bauteile halt.
LEDs mit Arduino über Transistoren ansteuern
LEDs mit Arduino über Transistoren ansteuern
Eine 3D-Ansicht der Platine mit Bauteilen.
LEDs mit Arduino über Transistoren ansteuern
LEDs mit Arduino über Transistoren ansteuern
Die 3D-Ansicht ohne Platine, ICs/Transistor und Klemmen.
LEDs mit Arduino über Transistoren ansteuern
LEDs mit Arduino über Transistoren ansteuern
Eine 3D-Ansicht ohne Platine und Bauteile.
LEDs mit Arduino über Transistoren ansteuern
LEDs mit Arduino über Transistoren ansteuern
Zuletzt bearbeitet: