Forum: Mikrocontroller und Digitale Elektronik 4 Leitungen, 5 LEDs


von Michael \. (pixelmonster) Benutzerseite


Angehängte Dateien:

Lesenswert?

Guten Abend!

Folgende Problemstellung:
Schieberegister mit 8 Ausgängen, davon 4 bereits belegt;
Die anderen 4 Ausgänge sollen 5 LEDs schalten.
Ein zweites Register einzuplanen wäre (vermutlich) zu aufwendig.
(Es werden 40 Schieberegister in Reihe geschaltet)

Ich habe mir gedacht, das man dieses Problem "einfach" mit einem 
Logikbaustein löst (4xAND, 2xEingang) und dann durch Kombinationen von 3 
Leitungen 4 LEDs schaltet und durch die 4. Leitung die 5. LED.

Es sollen nur 6 Zustände möglich sein:
1
LED 1 2 3 4 5
2
    O O O O O
3
    X O O O O
4
    X X O O O
5
    X X X O O
6
    X X X X O
7
    O O O O X
8
9
X...Leuchtet
10
O...Leuchtet nicht

Im Anhang habe ich das Schaltbild von meiner Idee, aber ich bin mir 
nicht sicher, ob man das Problem so lösen kann.

Bitte um eine Kontrolle und wenn etwas falsch ist um eine andere Idee 
oder Verbesserungsvorschläge.

Falls noch Fragen offen sind werde ich diese schnellstmöglich 
beantworten.

Mit freundlichen Grüßen,
Michael

von Bernhard S. (b_spitzer)


Lesenswert?

Autsch... LED4 wird nie leuchten, weil Pin 11 nur dann '1' sein kann, 
wenn auch Pin 13 auf '1' ist. Dann liegt an der LED keine Spannung. Wenn 
Pin 13 '0' ist, dann ist Pin 11 auch '0', also wieder keine Spannung. 
Und wenn Pin 13 '1' ist und Pin 12 auf '0', dann ist Pin 11 auf 0 und 
die Diode ist in Sperrrichtung geschaltet.

Wenn Du noch die ermittelten Bitkombinationen der Signale 2,3,4 
verrätst, könnte man Dir auf die Sprünge helfen. Ein formaler Entwurf 
mit Funktionstabelle käme mit nur 3 Eingangssignalen für alle 5 LEDs 
aus, aber die Schaltung wird umfangreicher als Dein Versuch (dafür würde 
es funktionieren).
Andere Idee: die LEDs 1 und 5 werden antiparallel mit einem gemeinsamen 
Vorwiderstand zwischen 2 Ausgänge geschaltet. Damit Leuchtet LED 1 bei 
1-0, LED 5 bei 0-1 und beide sind aus, wenn beide Ausgänge gleich sind.
Bleiben 2 Ausgänge a,b und 3 LEDs:
Aus  LED
a b  2 3 4
     O O O
0 0  O O O = erste Zeile
0 1  X O O
1 0  X X O
1 1  X X X
     O O O = erste Zeile
Die LED 2 wird mit 2 Dioden (Wired OR, Anoden an a und b) an beide 
Ausgänge geschaltet. Die LED 3 wird nur an den Ausgang a geschaltet, die 
LED 4 braucht ein logisches AND von a und b. Oder /LED4 braucht ein 
logisches OR von /a und /b. Dazu wird der Vorwiderstand von LED4 an VCC 
geschaltet, LED4 kommt mit Kathode an GND und 2 Dioden kommen mit der 
Anode an den Knoten Widerstand/Anode LED. Die Dioden kommen mit Kathode 
zu den Ausgängen. Bei einer 0 an einem der Ausgänge stiehlt dann die 
Diode der LED den Strom. Nachteil: auch wenn alle LEDs aus sind braucht 
LED4 Strom.
Damit das alles die Ausgänge des Registers nicht überlastet, sollten nur 
Low-Current LEDs verwendet werden.

von Michael \. (pixelmonster) Benutzerseite


Lesenswert?

Die Tabelle war so geplant:
1
Eingänge LEDs
2
1 2 3 4  1 2 3 4 5
3
0 0 1 1  X O O O O
4
0 1 1 0  X X O O O
5
0 1 0 1  X X X O O
6
0 1 1 1  X X X X O
7
1 0 0 0  O O O O X

Aber klar, warum sollte der Strom durch Pin13 fließen, wenn er über die 
LEDs gegen Masse abfließen kann. Denkfehler von mir, sorry.

Die LEDs sind bereits als Low-Current geplant (2mA), deswegen ist auch 
R1 so groß dimensioniert, wenn 5V Betriebsspannung geplant sind.

Deine Lösung gefällt mir gut, nur leider gibt es ein paar Probleme:
1) Sehr komplex; Noch mehr Bauteile -> nur wenig Platz auf der Platine 
(25x50mm)/Platine
2) Das Gerät wird mit Batterien betrieben, deswegen kommt es schon auf 
kleine Ströme an, da ein paar Stunden Betrieb möglich sein sollen und 
immerhin 40 von diesen Feldern und dann auch noch die Hauptplatine, ...

Aber schonmal ein riesiges Danke an Dich, du hast mir damit sehr 
geholfen!

- Michael

von Michael \. (pixelmonster) Benutzerseite


Lesenswert?

Leider kann ich den obigen Beitrag nicht mehr bearbeiten.

Ich werde das ganze wohl mit 2 Schieberegistern lösen, denn dann kann 
ich auch noch eine andere Idee in das Projekt einfließen lassen.

Wenn jemand doch noch eine andere Lösung hat, dann bitte trotzdem 
posten!

Dankeschön,
Michael

von Bernhard S. (b_spitzer)


Lesenswert?

> Deine Lösung gefällt mir gut, nur leider gibt es ein paar Probleme:
> 1) Sehr komplex; Noch mehr Bauteile -> nur wenig Platz auf der Platine
na ja, die LEDs und Widerstände brauchst du eh. Dann sind hier nur 4 
Si-Dioden notwendig statt 1 14-Pin IC. Doppel-Dioden in SOT23 oder SC70 
brauchen wirklich keinen Platz. Die passen noch unter das SRG.

> (25x50mm)/Platine
Auf die Fläche passt ein kompletter Rechner mit Ethernet, 32MB RAM und 
32MB Flash - Ist dann aber High-Tech...

> 2) Das Gerät wird mit Batterien betrieben, deswegen kommt es schon auf
> kleine Ströme an, da ein paar Stunden Betrieb möglich sein sollen und
> immerhin 40 von diesen Feldern und dann auch noch die Hauptplatine, ...
Wenn man für die LED1 die Ausgänge (jetzt mal c und d genannt) auf 1-0 
setzt kann man die LED4 statt an VCC auch an Ausgang C anhängen. Dann 
fließt nur unnötig Strom, wenn auch LED1 angeschaltet ist und LED4 nicht 
leuchtet.
Maximal 4 leuchtende LEDs je 2mA + das drumherum mach unter 10mA pro 
Modul. Davon 40 Stück sind 400mA. Mit 4 Mignon-Akkus (mind. 2000mAh) 
sollte das Teil also mindestens 5 Stunden laufen. Eher länger, weil ja 
nicht immer alle 4 x 40 LEDs an sein werden.

unn tschuess
Bernhard

von Sascha W. (sascha_w)


Angehängte Dateien:

Lesenswert?

Hallo,

einfacher wird's kaum noch,

LED5 leuchtet wenn Ausgang 4=High und Ausgang 3=LOW, T1 sorgt dafür, das 
LED4 nur leuchtet wenn auch LED3 leuchtet.

Sascha

von Michael \. (pixelmonster) Benutzerseite


Lesenswert?

An Bernhard:
>> (25x50mm)/Platine
>Auf die Fläche passt ein kompletter Rechner mit Ethernet, 32MB RAM und
>32MB Flash - Ist dann aber High-Tech...

Einseitig? :)

Kannst Du mir mal bitte eine Skizze anfertigen, denn ich kann dir leider 
nicht wirklich folgen.

An Sascha:
Ich habe das mal so gelesen:
1
EIN      LED
2
1 2 3 4 | 1 2 3 4 5
3
--------|----------
4
1 0 0 0 | X O O O O
5
1 1 0 0 | X X O O O
6
1 1 1 0 | X X X O O
7
1 1 1 1 | X X X X O
8
0 0 0 1 | O O O O X
Das wäre auf jeden Fall sehr einfach, dankeschön!

Nur wozu dient D1?

- Michael

von Sascha W. (sascha_w)


Lesenswert?

Michael B. schrieb:
> An Sascha:
> Ich habe das mal so gelesen:
>
1
> EIN      LED
2
> 1 2 3 4 | 1 2 3 4 5
3
> --------|----------
4
> 1 0 0 0 | X O O O O
5
> 1 1 0 0 | X X O O O
6
> 1 1 1 0 | X X X O O
7
> 1 1 1 1 | X X X X O
8
> 0 0 0 1 | O O O O X
9
>
genau
> Das wäre auf jeden Fall sehr einfach, dankeschön!
>
> Nur wozu dient D1?
um die Sperrspannung der LED (ca. 5V) nicht zu überschreiten, aber bei 
5V Betriebsspannung geht's auch ohne.

Sascha

von Michael \. (pixelmonster) Benutzerseite


Lesenswert?

An Sascha:
Ich hab ein kleines Problem gefunden: (Glaube ich zumindest)
Wenn man das Bitmuster 0 0 1 0 anlegt fließt doch auch über T1 ein 
Strom, der ihn durchschaltet. Damit würde dann auch LED 4 leuchten.
Sehe ich das richtig?

- Michael

von Sascha W. (sascha_w)


Lesenswert?

nein, dann ist ja Ausgang 4=Low und damit kann die LED die ja über T1 
nach Masse geht auch nicht leuchten - egal ob T1 leitet.

Sascha

von Nachtaktiver (Gast)


Lesenswert?

Und wie wäre es mit Decoderbausteinen?

von Michael \. (pixelmonster) Benutzerseite


Lesenswert?

Sascha Weber schrieb:
>nein, dann ist ja Ausgang 4=Low und damit kann die LED die ja über T1
>nach Masse geht auch nicht leuchten - egal ob T1 leitet.

Tut leid, habe mich vertippt. Ich meinte das Muster 0 0 0 1

Dann fließt im ersten Moment der Strom von PIN4 (VCC) über LED5, dann 
über D1 und nach PIN3 (GND). Ein Teil fließt dann aber auch über T1 und 
dieser schaltet dann durch, sodass LED4 und LED5 leuchten, oder?

R5 groß genug dimensionieren?
Bei den Low Current LEDs fließen grade mal 2mA. Bei einer 
Stromverstärkung für T1 gehe ich mal von ~20 aus, ergibt einen 
Basisstrom von 100uA. Nehme ich jetzt die 5V Betriebsspannung minus 0.7V 
dann kommen 43mOhm heraus.
=> Kein Widerstand
Oder hab ich was falsch gemacht?

Nachtaktiver schrieb:
>Und wie wäre es mit Decoderbausteinen?

Kannst du das mal bitte genauer erläutern? Ich höre sowas zum ersten 
mal.

von Sascha W. (sascha_w)


Lesenswert?

Michael B. schrieb:
> Sascha Weber schrieb:
>>nein, dann ist ja Ausgang 4=Low und damit kann die LED die ja über T1
>>nach Masse geht auch nicht leuchten - egal ob T1 leitet.
>
> Tut leid, habe mich vertippt. Ich meinte das Muster 0 0 0 1
>
> Dann fließt im ersten Moment der Strom von PIN4 (VCC) über LED5, dann
> über D1 und nach PIN3 (GND).
> Ein Teil fließt dann aber auch über T1 und
der Ausgang liefert doch ein LOW-Signal, da müsste durch die LED schon 
soviel Strom fließen das das Potential über die ca. 0.6V gezogen wird.
> dieser schaltet dann durch, sodass LED4 und LED5 leuchten, oder?
wenn das wirklich passiert, was ich bei 2mA nicht glaube, kannst du dem 
Widerstand R5 noch eine Diode in Reihe schalten, die die Schwellspannung 
noch mal um 0.6V anhebt
> R5 groß genug dimensionieren?
ich würd mal 4.7k - 10k nehmen
> Bei den Low Current LEDs fließen grade mal 2mA. Bei einer
> Stromverstärkung für T1 gehe ich mal von ~20 aus, ergibt einen
> Basisstrom von 100uA. Nehme ich jetzt die 5V Betriebsspannung minus 0.7V
> dann kommen 43mOhm heraus.
???
> => Kein Widerstand
sicher nicht
> Oder hab ich was falsch gemacht?
auf jeden Fall
nehmen wir mal an der Ausgang deines Treibers hätte bei LOW-Pegel einen 
Innenwiderstand von 100 Ohm, dann würde daraus bei 2mA Last (LED) ein 
Spannungsabfall von 0.2V entstehen. D.h. am Ausgang sind dann nicht 0V 
sondern 0.2V zu messen, für T1 noch viel zu wenig.

Sascha

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.