PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Decoder für LED



Der Eisvogel
17.12.2012, 13:49
Hallo

für ein Schulprojekt möchte ich 9 RGB-LEDs mit einem AT89C5131 ansprechen. Da dieser "nur" 32 Ausgänge hat und ich diese nicht alle für die LEDs verbraten will (das wären nämlich 27), wollte ich das ganze über einen Decoder lösen.

Dabei dachte ich an einen von diesen:
Datenblatt: http://www.jaycar.com.au/images_uploaded/CD4514BC.PDF
Conrad 1: http://www.conrad.de/ce/de/product/173690/CMOS-IC-4515-Gehaeuseart-DIP-24-Ausfuehrung-1-aus-16-Decoder-Low-Ausgang
Conrad 2: http://www.conrad.de/ce/de/product/173088/CMOS-IC-4514-Gehaeuseart-DIP-24-Ausfuehrung-1-aus-16-Decoder-High-Ausgang

Eine der folgenden LED Typen möchte ich damit ansprechen:
http://www.conrad.de/ce/de/product/150433/RGB-LED-Rainbow-LED-5-RAINBOW-RGB-2-theta-12-15-Gehaeuseart-5-mm-Max-1800-mcd
http://www.conrad.de/ce/de/product/185353/Full-Color-RGB-LED-5-mm-LF-59-RGB-60-Gehaeuseart-5-mm-253020-mcd
http://www.conrad.de/ce/de/product/185388/Full-Color-RGB-LED-5-mm-LF-59-RGB-30-Gehaeuseart-5-mm-403045-mcd

Das Problem ist jetzt nur, das ich nicht weiß, ob der Decoder überhaupt das richtige macht, davon würde ich zwei Stück nehmen und diese dann an den Mikrocontroller hängen. Was genau ist jetzt der Unterschied zwischen der HIGH und LOW Version?

Bei den LEDs bin ich mir auch nicht ganz sicher. Wie hell sind die denn genau, bzw. welche ist da am geschicktesten? Auf was muss ich dann achten beim Anschließen? Kann ich die direkt an den Decoder hängen, oder muss ich die Ausgänge noch mittels Transistoren verstärken? Wenn ja, gibt es da sowas wie Transistor-Arrays? Müssen da dann auch Wiederstände davor?

Muss ich dann zwischen LED und Decoder noch ein Flip-Flop basteln, oder hab ich das richtig verstanden, dass der Decoder das zuletzt übermittelte Signal an der Adresse hält?

Das sind ziemlich viele Fragen auf einmal. Was Elektronik angeht kann ich zwar die ein oder andere Schaltung zusammenbasteln, aber selbst erstellen fällt mir dann doch ein wenig schwierig.

Vielen Dank für alle Antworten!

MfG
Der Eisvogle

oderlachs
17.12.2012, 14:23
nimm I2C decoder ....

Hubert.G
17.12.2012, 14:35
Die Zahl 9 ist ungünstig, da die meisten Gatterschaltungen bis 8 oder 16 gehen.
Für solche Ansteuerungen nimmt man meist 74HC595, das ist ein Schieberegister. Du würdest drei brauchen, für jede Farbe eines, wenn du auf acht reduzierst.
Dazu als Treiber je einen UDN2981 je Farbe. Vorwiderstände brauchst du für jede LED und Farbe.
Der erste Typ der LED ist meiner Ansicht nach nicht geeignet, da du die Farben nicht beeinflussen kannst.
Zeichne dir mal die Schaltung und überlege was wie leuchten soll.

Der Eisvogel
17.12.2012, 15:24
Hallo Hubert,

erstmal Danke für die Antwort.

Die Zahl 9 ist leider unumgänglich, da ich ein 3x3 LED Feld brauche. Die leuchtenden LEDs sollen dann auf Knopfdruck in jede Richtung verschoben werden können. Darum kümmert sich dann der Mikrokontroller.

Jetzt weiß ich wieder warum ich den ersten LED-Typ beim ersten Mal aussortiert hatte, danke.

Wenn ich dafür Schieberegister benutze, dann muss ich ja, wenn ich das richtig verstanden habe, immer alle LEDs aktualisieren, auch wenn ich nur eine ändern will, oder? Während das Register aktualisiert wird, blinken die LEDs doch dann auch für einen Bruchteil von einer Sekunde, oder gibt das Teil das dann immer erst dann aus, wenn es einmal durch ist?

Als Wiederstände würde ich dann Wiederstands-Arrays mit 470 Ohm nehmen, oder sind die unpassend? Und der Treiber ist dann quasi das "Transistor-Array", oder?

MfG
Der Eisvogel

Hubert.G
17.12.2012, 15:46
Dann sind das drei 3x3 LED-Matrixen. Dann nimm drei Schieberegister, für jede Farbe eines. Drei Bit für die Zeile und drei Bit für die Spalte.
Das Schieberegister hat einen Speicher.
Die Spalten schaltest du mit einem n-Fet.
Bei den Widerständen kommt es darauf an wie du die Matrix betreiben willst. Wenn je Farbe immer nur eine LED leuchtet, also im multiplex betreibst, dann brauchst du je Farbe nur einen Widerstand. Leuchten mehrere LEDs gleichzeitig, ist pro LED und Farbe einer notwendig.
Dieser Widerstand ist aber je Farbe unterschiedlich, siehe "Forward Voltage" im Datenblatt.

Der Eisvogel
17.12.2012, 19:22
Hallo Hubert,

es kann duchaus auch vorkommen, dass an alle 27 Leitungen HIGH sein sollen.

Ich verstehe leider jetzt nicht mehr genug um dir mit der Ansteuerung über das n-Fet und die drei Bit für Spalte und Zeile folgen zu können. Könntest du mir das etwas ausführlicher darlegen, oder mir den Schubs in die richtige Richtung geben, nach was ich googlen soll?

MfG
Der Eisvogel

Hubert.G
17.12.2012, 19:48
Stichworte sind LED-Matrix und Multiplexen.
Siehe auch mal hier: http://www.mikrocontroller.net/articles/LED-Matrix

Der Eisvogel
17.12.2012, 19:59
Hallo Hubert,

vielen Dank für den Hinweis. Das ist dann für mich leider nicht passend, denn es kann durchaus mal vorkommen, dass der Controller längere Berechnung durchführen soll, bevor die nächste Anzeige raus kann, was, wenn ich das richtig verstehe, dazu führen würde, dass nichts angezeigt wird. Dann nehm ich lieber drei 16-Bit-Schieberegister, dann bleibt die Anzeige ja solange erhalten, bis ich was neues reinschreibe, richtig? Es würde sich dann ja auch anbieten auf eine 4x4 Matrix umzustiegen, quasi als Erweiterung des urspünglich erdachten Projektes.

Dann brauch ich quasi eben jene Schieberegister, drei Treiber UDN2981, und ein paar Wiederstände.
Die Wiederstände berechnen sich ja aus R=U/i, heißt wenn ich 5V als Referenzspannung habe, Forward Voltage der LED 3V beträgt und 20mA zieht, dass mein Wiederstand 2/0,2=20 Ohm groß sein muss, richtig?

MfG
Der Eisvogel

Hubert.G
17.12.2012, 20:12
Wenn du die Matrix statisch betreiben willst, kann nur mit Einschränkung mehr als eine LED leuchten.
Zeichne dir mal die Schaltung auf, dann wirst du schnell sehen was nicht geht.
2/0,2 = 10 du hast aber 0,02 also 100 Ohm.
Die Forward Voltage ist bei jeder Farbe unterschiedlich.

Der Eisvogel
17.12.2012, 20:35
Hallo Hubert,

ups, da hab ich mich glatt beim Umrechnen vertan.

Also ich hab da jetzt mal so eine Skizze gemacht. Die roten Dinger sollen die LEDs sein. Wenn ich da jetzt drei Schieberegister so anschließe, wie das was da drin ist, dann kann ich doch die LEDs beliebig leuchten lassen. Wiederstände müssen natürlich auch rein und der Treiber auch, aber ist ja nur eine grobe Ansteuerungsskizze.

Hab ich jetzt irgendwo einen Denkfehler, oder geht das mit den Schieberegistern nicht so wie ich mir das denke?

MfG
Der Eisvogel