UXDE dot Net

Farbiges Licht mit LEDs – Teil 2: Controller und Eingänge

von -

Also, was haben wir bis jetzt? In Teil 1 haben wir uns angesehen, was eine RGB-LED ist und wie wir sie zum Leuchten bringen können. Jetzt ist es aber sehr umständlich, immer manuell drei verschiedene Spannungen mit irgendwelchen Netzgeräten zu erzeugen, nur damit wir ein schönes Stimmungslicht im Wohnzimmer haben. Also brauchen wir ein möglichst kleines, unauffälliges Stück Elektronik, das uns die Arbeit abnimmt und vielleicht sogar ein wenig Komfort bietet. Zusätzlich möchte eine möglichst flexible und universelle Plattform für spätere Projekte schaffen.

Die zu lösende Aufgabe ist eigentlich ganz einfach. Ich benötige eine Logik, die mir eine durch den Bediener vorgegebene Farbe in drei Spannungswerte umrechnet und damit die LEDs ansteuert. Hier kommen sogenannte Mikrocontroller ins Spiel. Im Grunde ist ein Mikrocontroller nichts anderes als ein kleiner Computer. Er besitzt einen Speicher, Eingänge, Ausgänge und ist programmierbar. Für dieses Projekt habe ich einen Controller der Firma Atmel gewählt. Dies bietet mir zum einen die Möglichkeit auf eine große Wissensbibliothek im Internet zuzugreifen (die Controller sind sehr beliebt) und zum anderen finde ich die Controller der ATMEGA-Reihe sehr einfach in eigene Projekte zu integrieren. Außerdem programmiere ich gerne in der Sprache C (und allen Nachfolgern von C).

Gleichzeitig bringt die Wahl des Controllers aber auch wieder Rahmenbedingungen mit sich, die es zu beachten gibt. Der Controller selbst benötigt eine 5V-Spannungsversorgung, die LEDs benötigen 12V für ihre volle Leuchtkraft. Hier wird also eine Zwischenschaltung benötigt, um die Betriebsspannung für den Controller zu erzeugen. Die Ausgänge des Controllers können auch nicht genug Strom (max. 40mA pro Ausgang) liefern, um die LEDs (max. 3,6A pro Meter) zu betreiben, eine Verstärkerschaltung an den Ausgängen muss her. Außerdem hat der Controller nur digitale (An oder Aus, keine Zwischenstufen) Ausgänge. Für die unterschiedlichen Farben benötige ich aber analoge (frei wählbare) Spannungswerte zwischen 0V und 12V um die Mischfarben zu erzeugen. Mit diesem Problem beschäftige ich mich später. Zuerst einmal kann also ein Groblayout der Prototyp-Platine erstellt werden:

Groblayout

Eingangsbeschaltung (5V)

Die erste Herausforderung besteht in den zwei unterschiedlichen Potentialen, einmal die 5V für den Controller und dann noch die 12V für die LEDs. Mit zwei verschiedenen Netzteilen zu arbeiten wäre eine Lösung, widerspricht aber der Idee der Einfachheit. Die Lösung besteht in einem sogenannten Festspannungsregler. Der von mir verwendete Baustein (LM7805) kann eingangsseitig mit unterschiedlicher Spannung (7V bis 25V) versorgt werden und liefert am Ausgang immer feste 5V. Die benötigte Peripheriebeschaltung ist dabei sehr übersichtlich:

LM7805Die Diode D1 dient dem Verpolungsschutz, der Elektrolyt-Kondensator C1 der Glättung der Eingangsspannung. Die beiden Kondensatoren (C2 und C3, kein Elektrolyt) sorgen für saubere und konstante 5V (Schwingungsunterdrückung) am Ausgang der Schaltung. Wirklich notwendig für die Beschaltung des LM7805 sind nur die Kondensatoren C2 und C3, die möglichst nah am Bauteil platziert werden sollten.

Eingabemöglichkeiten

Der Bediener benötigt eine Möglichkeit, die gewünschte Farbe auszuwählen. Dabei muss er die Möglichkeit haben Helligkeit, Sättigung und Farbton getrennt voneinander einstellen zu können. Für den Prototyp habe ich mich für eine einfache Auswahl mit zwei Bedienelementen entschieden. Zum einen ein Taster um von einem Parameter zum nächsten zu springen, zum anderen ein Inkrementalgeber (Drehrad) um den gewählten Parameter verändern zu können. Später kann man sich noch Gedankten über eine Anzeige auf einem Display oder eine Ansteuerung über die Ferne machen, aber um die Funktion der LED-Ansteuerung zu überprüfen, sollte das genügen.

Taster_Pull_DownDer Taster wird wie im Bild gezeigt an 5V und den Eingang des Controllers angeschlossen. Der Eingang des Controllers wird zusätzlich noch über einen Widerstand mit 0V (GND) verbunden. Solange der Taster nicht gedrückt wird, liegen am Eingang des Controllers 0V an. Solange der Taster gedrückt ist, fließt ein Strom über den Widerstand und am Eingang des Controllers können 5V gemessen werden. Bei dieser Beschaltung spricht man von einem sogenannten Pull-Down-Widerstand, da er den Eingang auf 0V „zieht“ solange der Taster nicht gedrückt ist.

Ein Inkrementalgeber funktioniert auf ähnliche Weise wie ein Taster, nur das zwei Ausgänge existieren und über die Änderung der zwei Ausgänge zwischen zwei Inkrementen die Drehrichtung ausgewertet werden kann. Die zwei Ausgänge des Inkrementalgebers können also auch einfach mit je einem Pull-Down-Widerstand an zwei beliebige Eingänge des Controllers gehängt werden. Wie genau die Auswertung im Controller erfolgt, werde ich in einem späteren Teil lösen.

In Teil 3 dieses Projekts werde ich mich mit der Ausgangsbeschaltung befassen, es gilt das Problem der hohen Stromaufnahme der LEDs sowie der benötigten analogen Spannungen zu lösen.

Michael Steitz

Hi, mein Name ist Michael. Ich befasse mich schon seit meiner Kindheit mit Technik aller Art (mittlerweile auch beruflich). Ich hoffe der Artikel war interessant für Dich. Für Anregungen,Kritik und Verbesserungen zu meinen Artikeln nutze einfach die Kommentar-Box weiter unten.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>