Forum: Mikrocontroller und Digitale Elektronik 2 LEDs (Signal rot/grün) mit einem uC Ausgang umschalten?


von Thomas W. (Gast)


Lesenswert?

Hi

Ich möchte mit je einem uC Ausgang ein Modellbahn Signal mit rot/grün 
LEDs umschalten.
Wie könnte eine Schaltung aussehen, wenn der Ausgang bei 0V rot schaltet 
und bei 5V auf grün schalten soll?
Die LEDs werden zwischen 5mA und 10mA benötigen.

Danke für eure Hilfe
Thomas

von Thomas W. (thomas0906)


Lesenswert?

Mist, wieso war ich als Gast eingeloggt? Nochmal:

Hi

Ich möchte mit je einem uC Ausgang ein Modellbahn Signal mit rot/grün
LEDs umschalten.
Wie könnte eine Schaltung aussehen, wenn der Ausgang bei 0V rot schaltet
und bei 5V auf grün schalten soll?
Die LEDs werden zwischen 5mA und 10mA benötigen.

Danke für eure Hilfe
Thomas

von Davis (Gast)


Lesenswert?

Das sollte funktionieren:

         .---<LED rt--Widerstand---VCC
Portpin -o
         .---LED gr>--Widerstand---GND

von STK500-Besitzer (Gast)


Lesenswert?

Zwei NPN-Transistoren:
der erste bekommmt das Signal vom Controller.
An dessen Kollektor hängt die grüne LED und die Basis des zweiten 
Transistors.
An dessen Kollektor hängt die rote LED.

Man sollte sich noch ein paar Vorwiderstände gönnen.

von Wolfgang (Gast)


Lesenswert?

Thomas W. schrieb:
> Ich möchte mit je einem uC Ausgang ein Modellbahn Signal mit rot/grün
> LEDs umschalten.

Meinst du Einzel-LEDs, d.h. eine rote und eine grüne oder meinst du 
Duo-LEDs, d.h. welche mit rot und grün in einem Gehäuse? Bei letzteren 
wäre die weitere Frage ob mit 3 oder mit 2 Pins?

Ein Datenblatt wäre natürlich das größte oder zumindest eine Angabe, mit 
welchem Strom du die LEDs betreiben möchtest, damit sie in der von dir 
gewünschten Helligkeit leuchten.

von Thomas W. (thomas0906)


Lesenswert?

Wolfgang schrieb:
> Thomas W. schrieb:
>> Ich möchte mit je einem uC Ausgang ein Modellbahn Signal mit rot/grün
>> LEDs umschalten.
>
> Meinst du Einzel-LEDs, d.h. eine rote und eine grüne oder meinst du
> Duo-LEDs, d.h. welche mit rot und grün in einem Gehäuse? Bei letzteren
> wäre die weitere Frage ob mit 3 oder mit 2 Pins?
>
> Ein Datenblatt wäre natürlich das größte oder zumindest eine Angabe, mit
> welchem Strom du die LEDs betreiben möchtest, damit sie in der von dir
> gewünschten Helligkeit leuchten.

??? Der Strom ist doch angegeben.

Ich meine es so, wie es in der ersten Antwort dargestellt ist.
Also 2 Einzelne LEDs an einem Ausgang.
Ich war mir nicht sicher, ob das so funktioniert, wie in der Zeichnung 
dargestellt.  Vielleicht noch eine Diode 1N4148 antiparallel zur LED, um 
evtl. Sperrspannungsprobleme zu vermeiden?
Ansonsten wäre die Lösung ja einfach zu realisieren.
Transistoren wie in der 2. Lösung sind dann ja nicht nötig.

Gruß
Thomas

von Stefan (Gast)


Lesenswert?

5V sind kein Problem für die Sperrschicht einer LED. Ich glaube, man 
muss erst bei mehr als 7V aufpassen.

von Martin Beuttenmüller (Gast)


Lesenswert?

Sind die LEDs vorverdrahtet, z.B. gemeinsame Anode/Kathode, oder
sind alle Anschlüsse herausgeführt ?

Der erste Fall betrifft hauptsächlich fertige Signale, die zweite
Variante sollte bei Bausätzen oder Eigenbau vorliegen ...

Gruß
Martin

von Rolf M. (rmagnus)


Lesenswert?

Thomas W. schrieb:
> Ich meine es so, wie es in der ersten Antwort dargestellt ist.
> Also 2 Einzelne LEDs an einem Ausgang.

Anfangs hattest du aber noch von je einen Ausgang geschrieben.

Davis schrieb:
> Das sollte funktionieren:
>
>          .---<LED rt--Widerstand---VCC
> Portpin -o
>          .---LED gr>--Widerstand---GND

Wozu zwei separate Widerstände und nicht einfach:

                      .---<LED rt--VCC
Portpin --Widerstand--o
                      .---LED gr>--GND

von Teo D. (teoderix)


Lesenswert?

Rolf Magnus schrieb:
> Wozu zwei separate Widerstände und nicht einfach:
>
>                       .---<LED rt--VCC
> Portpin --Widerstand--o
>                       .---LED gr>--GND

Weil sie unterschiedlichen Fussspannungen haben und so de Hellichkeiten 
abstimmbar sind. Das is Modebauern manchma ziemlich wichtig, 
verständlicher weise.

von Wolfgang (Gast)


Lesenswert?

Thomas W. schrieb:
> Vielleicht noch eine Diode 1N4148 antiparallel zur LED, um
> evtl. Sperrspannungsprobleme zu vermeiden?

Wo wird da an einer der LEDs eine Spannung in Sperrrichtung angelegt?
Anode bzw. Kathode liegen auf 5V bzw. Gnd und der Ausgang des µC bewegt 
sich dazwischen.

von flip (Gast)


Lesenswert?

Mit nur einem Widerstand brennen die LEDs ab, wenn die betriebsspannung 
größer als beide flussspannungen wird.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Allerdings kann es bei der einfachen Lösung mit dem Portpin zwischen den 
LEDs sein, das bei Tristate des Portpin beide LEDs dunkel leuchten. 
Sollte aber kein Problem sein, sobald der Port definiert high oder low 
ist. Da rote und grüne LEDs unterschiedlich hell sind, ist die Lösung 
mit je einem Widerstand pro LED m.E. die bessere.

von M.N. (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Wozu zwei separate Widerstände und nicht einfach:
>
>
>
>                       .---<LED rt--VCC
>
> Portpin --Widerstand--o
>
>                       .---LED gr>--GND

Wenn der Controller auf Tri-State schaltet oder er ihn versehentlich als 
Input konfiguriert, könnte es sein, dass die LEDs erst gelb und dann 
schwarz leuchten. Bei Vcc = 5 V, Flusspannungen typisch bei 20 mA rot: 
V_f = 1,85 (Toshiba TLRE1002), grün: V_f = 2,4 V (TLGU1002) könnts 
ungemütlich werden.
Ein separater Vorwiderstand für jeden Zweig ist schon OK so.

von spontan (Gast)


Lesenswert?

Auch im Falle eines hochohmigen Ausgangs ist die Version mit nur einem 
Widerstand denkbar schlecht. Der Strom durch die LED kann dann beliebige 
Werte annehmen, nur begrenzt durch die Stromversorgung.

Die Schaltung mit zwei Widerständen hat diesen Fehler nicht. Ist der 
Ausgang des µC hochohmig, oder nicht angeschlossen, so wird der Strom 
durch beide Widerstände begrenzt.

von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

Hallo Thomas W.

es ist schön das du ein neues Rad erfinden willst. Hat schon länger 
keine Veränderungen mehr in diesem Bereich gegeben.

Allerdings ist es auch nicht wirklich wichtig - das mit dem neuen Rad :)

Vielleicht schaust du dir einfach an, wie das schon mehrfach erfolgreich 
umgesetzt wurde. z.Bsp. bei OpenDCC das sind die Dinger fertig, mit 
Schaltplan, Layout und Software. und das für Atmel und Pic. Außerdem 
gibt es die ganzen Infos und Dokumente kostenlos.

Also kein neues Rad, das alte hat sich bewährt und wir wissen das es 
funktioniert!

Gruß aus Berlin

von Thomas W. (thomas0906)


Lesenswert?

Martin Beuttenmüller schrieb:
> Sind die LEDs vorverdrahtet, z.B. gemeinsame Anode/Kathode, oder
> sind alle Anschlüsse herausgeführt ?
>
> Der erste Fall betrifft hauptsächlich fertige Signale, die zweite
> Variante sollte bei Bausätzen oder Eigenbau vorliegen ...
>
> Gruß
> Martin

Verdammt, da sagst Du was.
Das hab ich mal wieder übersehen!!!

Also muß ich die Frage neu formulieren :-(

Die LEDs sind vorverdrahtet und ich kann sie nicht auftrennen.
Die Kathode ist verbunden.

      ----|<---- grün
     |
 --- o
     |
      ----|<----  rot

Also suche ich eine einfache Möglichkeit mit EINEM Port die 5V auf
entweder rot oder grün zu schalten?

Danke und Gruß
Thomas

von oldmax (Gast)


Angehängte Dateien:

Lesenswert?

Hi
Vielleicht schafft die Skizze mehr Durchblick
Gruß oldmax

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Thomas W. schrieb:

> Die Kathode ist verbunden.

Damit sind alle vorhergehenden Diskussionen hier obsolet.

> Also suche ich eine einfache Möglichkeit mit EINEM Port die 5V auf
> entweder rot oder grün zu schalten?

Das Signal an einer der beiden Anoden muss invertiert werden. Dann 
brennt immer eine von beiden.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

oldmax schrieb:
> Vielleicht schafft die Skizze mehr Durchblick

Da sich jetzt herausgestellt hat, dass die LEDs gemeinsame Kathoden 
haben, kannst Du das Bildchen vergessen.

von Karl H. (kbuchegg)


Lesenswert?

Thomas W. schrieb:

> Die LEDs sind vorverdrahtet und ich kann sie nicht auftrennen.

Kannst du sie gegen andere austauschen?

> Die Kathode ist verbunden.
>
>       ----|<---- grün
>      |
>  --- o
>      |
>       ----|<----  rot
>
> Also suche ich eine einfache Möglichkeit mit EINEM Port die 5V auf
> entweder rot oder grün zu schalten?


Bauen musst du sowieso.
Du kannst es dir jetzt aussuchen. Entweder Elektronik, die die Sache an 
der Anode regelt, oder die LED austauschen.

von Teo D. (teoderix)


Lesenswert?

Hallo Thomas,

nun rück mal raus was Du da genau machen willst und was Dir dazu zur 
Verfügung steht!

1. Wie viel von diesen Doppel-LEDs willst Du überhaupt verbauen.
2. Wie viele Portpins stehen insgesamt zur Verfügung.
3. Wie sieht die restliche Hardware aus.
4. ...

von Thomas W. (thomas0906)


Lesenswert?

Hi

Eigentlich alles trivial.
Hätte ich auch gleich drauf kommen können.

Ich habe jede Menge Signale bekommen, die je eine rote und eine grüne 
LED verbaut haben. Leider werden nur 3 Kabel herausgeführt. (siehe 
Skizze)

Meine Schaltdecoder haben den PIC 1320 drauf und 10 Ausgänge, die per 
DCC Adressen geschaltet werden zwischen 1 und 0.

Normalerweise müßte ich da jetzt Ausgang 1 für Signal1 rot anschließen 
und
Ausgang 2 für Signal1 grün.
D.h. ich könnte 5 Signale anschließen.

Wenn ich nun, wie oben auch schon erwähnt, nur EINEN AUsgang nehmen 
möchte, um 10 Signale anzuschließen, muß ich den Ausgang einfach an eine 
der LEDs anschließen und über einen TTL Inverter an die andere LED im 
Signal. Natürlich mit VOrwiderständen. Das war es schon.

ALso muß ich eine kleine passive Platine nachschalten mit einem TTL 
Inverter IC und den Widerständen.

Gruß
Thomas

von Bernd S. (bernds1)


Lesenswert?

Oder, wenn's einfacher ist, kannst du auch zur Invertierung einen 
Transistor nehmen statt einem TTL-Inverter. Der Transistor invertiert 
und steuert die zweite LED an. Kommt drauf an, was du zur Verfügung 
hast.

von Sam P. (Gast)


Lesenswert?

Ich werf auch mal das Wort "Schieberegister" in den Raum. Könnte 
hilfreich sein, wenn es wirklich "jede Menge Signale" sind.

von Thomas W. (thomas0906)


Lesenswert?

SCHIEBEREGISTER!

Das ist DIE Idee.
Da kann ich mit einem Decoder ALLE Signale eines Segments (Platte)
ansteuern, egal wie viele. Das steuert dann die Software.

Danke
Thomas

von Bernd S. (bernds1)


Angehängte Dateien:

Lesenswert?

Ich hab das mal schnell mit LTspice simuliert.
Vielleicht hilft es ja. Man braucht nur einen Transistor und einen 
Widerstand zusätzich. Die Anordnung kann dann jeweils an einen Ausgang 
des Schieberegisters angeschlossen werden. Damit brauchst du für 2 LED's 
(rot und grün) nur jeweils einen Ausgang des Schieberegisters.
Besser kommst du bestimmt nicht weg! :-)))

von Thomas W. (thomas0906)


Lesenswert?

Ah, sehr gut, danke.

Ich frage mich gerade, ob das wohl irgendwie Probleme macht, wenn das 
Schieberegister seinen stabilen Zustand noch nicht erreicht hat.
Also während "geschoben" wird. Ob dann die LEDs für kurze Zeit flackern 
oder so?
Man müßte ja eigentlich Zustand speichern, dann die Daten neu 
reinschieben und dann erst die LEDs neu versorgen?

Gruß
Thomas

von Bernd S. (bernds1)


Lesenswert?

Du nimmst am besten nicht die einfachste Form eines Schieberegisters, 
die nur aus aneinandergereihten Flipflops besteht. Die meisten 
Schieberegister haben einen Ausgangspuffer, der das Signal der einzelnen 
Flipflops erst dann übernimmt und durchschaltet, wenn das Enable gesetzt 
ist. Bis dahin wird der vorherige Zustand ausgegeben. Dürfte also nicht 
flackern.

von Thomas W. (thomas0906)


Lesenswert?

Hi

Tja, dann hab ich noch ein Problem.
Ich wollte die Ausgangspins des uP verstärken, da ja immerhin an 10 
Augänge LEDs angeschlossen werden sollen.

Normalerweise nimmt man da ja einen ULN2003.
Der zieht aber die LEDs gegen Masse.

Wie krieg ich die Portpins bzw. ja jetzt die Ausgangspins des 
Schieberegisters verstärkt? Was könnte man als Treiber verwenden?
Hier fließt der Strom ja umgekehrt ab.

Gruß
Thomas

von Timm T. (Gast)


Lesenswert?

UDN2981 bis UDN2984

von Bernd S. (bernds1)


Angehängte Dateien:

Lesenswert?

Oder 4 Transistoren, aber das ist wahrscheinlich schon zu viel.

Da schaltest du lieber 2 Inverter nacheinander.
An den ersten kommen die roten LED's und die Eingänge des 2. Inverters.
An die Ausgänge des zweiten kommen die grünen LED's (jeweils mit ihren 
Widerständen).
Das ist vielleicht das beste.

von Wolfgang (Gast)


Lesenswert?

Thomas W. schrieb:
> Also während "geschoben" wird. Ob dann die LEDs für kurze Zeit flackern
> oder so?

Bernd S. schrieb:
> Bis dahin wird der vorherige Zustand ausgegeben. Dürfte also nicht
> flackern.

Die Sache mit dem Latch dürfte übertrieben sein, es sei den, es gibt 
andere Gründe, die Daten besonders langsam zu schieben. Früher (tm) hat 
man mal gesagt, dass vom Menschen alles über 25Hz nicht mehr als 
Flackern gesehen wird. Wenn du die Daten mit ein paar Kilohertz 
eintaktest, hast du da nichts zu befürchten.


Gut, das jetzt geklärt ist, dass du schaltungstechnisch doch eine 
Duo-LED hast :-(

Wolfgang schrieb:
> Meinst du Einzel-LEDs, d.h. eine rote und eine grüne oder meinst du
> Duo-LEDs, d.h. welche mit rot und grün in einem Gehäuse? Bei letzteren
> wäre die weitere Frage ob mit 3 oder mit 2 Pins?

Thomas W. schrieb:
> Die LEDs sind vorverdrahtet und ich kann sie nicht auftrennen.
> Die Kathode ist verbunden.

von Teo D. (teoderix)


Lesenswert?

Schau mal ob Dir bei 8mA die Helligkeit reicht.
Wenn ja, reicht ein 74HC595 ohne zusätzlichem Treiber. (Icc = 70mA)
Mit ist natürlich zukunftssicher :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.