Forum: Analoge Elektronik und Schaltungstechnik Hilfe bei LED Matrix


von NoMad 1. (damon)


Angehängte Dateien:

Lesenswert?

Hallo Leute,
Ich brauche etwas Hilfe bei meinem ersten Projekt.
(Ich habe noch nie gelötet, Schaltpläne gezeichnet, etc.)
Noch befindet sich das ganze in der Planungsphase, damit ich weiß, was 
ich alles kaufen muss. Folgendes:
Ich will eine binäre Uhr basteln, dazu brauche ich eine LED Matrix (6x3)
Da ich keine 18 LEDs einzeln ansteuern will, soll das ganze durch 
Multiplexing gesteuert werden.
Das Prinzip von Multiplexing habe ich soweit verstanden.
Ich habe auch schon einen Schaltplan gezeichnet (siehe Anhang), mit 
Hilfe des LED-Matrix Artikels. (Werte im Anhang sind falsch, soviel ist 
schon mal klar)
Wobei ich Probleme habe:
Welche Widerstände,Ströme und Spannungen brauche ich wo?

Für die LEDs habe ich eine 5V Spannung (Stromstärke unbekannt - 
niedrig).
Die Transistoren (U_basis) werden mit ca. 3,3V (Stromstärke ebenfalls 
unbekannt) angesprochen.

Ich gehe von BC547B Transistoren aus, mit
Basis-Emitter = 0,7V
Sättigungsspannung = 0,7V
hfe = 20 (@20mA)? Wird für mich nicht ersichtlich aus 
http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=A100%252Fbc546_48.pdf 
- Oder haben die Transistoren doch unterschiedliche Eigenschaften?

Die 3,3V Steuerspannung und 5Vcc sollen von einem RaspberryPi kommen, 
daher will ich mir möglichst auch nichts zerschießen.
Im LED-Matrix Artikel steht, Vorwiderstände vor den Transistoren der 
Zeilen werden nicht gebraucht (wegen Emitterfolger-Schaltung), also 
brauche ich nur je einen Widerstand für die 3 in Reihe geschalteten 
LEDs. Bei 2V/20mA LEDs:
(5V-0,7V-0,7V-2V)/0,02A*3 = ~26 Ohm, zwischen Transistor (Emitter) und 
LEDs.

Die Transistoren für die Spalten (Die den Stromkreis also "schließen"), 
brauchen aber einen Vorwiderstand? Mit dem Artikel Basiswiderstand habe 
ich
Ib = 60mA/20=3mA
Rv = (3,3V - 0,7V)/0,003A = 866 Ohm
errechnet. Diese werden zwischen die 3,3V und den Transistor (Basis) 
gesetzt.

Liege ich damit irgendwo in der richtigen Richtung? Für mich wird aus 
dem Datenblatt nicht ganz klar, warum der Stromverstärkungsfaktor hfe = 
20 sein soll.
Außerdem weiß ich nichts mit dem Pulsstrom der Spaltentreiber (Isp) 
anzufangen.

Zusätzlich:
Was empfehlt ihr - 3 Zeilen mit 6 LEDs oder 6 Zeilen mit 3 LEDs?
Eigentlich sind 3 Zeilen praktischer für die Programmierung, da die 
erste Zeile die Stunden der Uhr sind, die zweite Minuten und die untere 
Zeile die Sekunden, allerdings ist das nicht sehr praktisch zu 
multiplexen.

MfG
Damon

von Hubert G. (hubertg)


Lesenswert?


von NoMad 1. (damon)


Lesenswert?

Wow, DANKE!!
Ich habe die Seite ja erst 4 Mal durchgelesen, aber genau DER LINK hat 
jetzt DIE ERLEUCHTUNG gebracht.
Wurden die obrigen 2459 Zeichen eigentlich mal durchgelesen? Da wäre ein 
Link zu Google genau so hilfreich.

Falls einfach jemand über die von mir errechneten Werte drübergucken 
könnte, und mir sagen kann, ob das so richtig ist, ober wo ich Fehler 
gemacht habe...

(Sorry, aber ich kann es nicht wirklich fassen, dass mir einfach so 
dieser Link an den Kopf geklatscht wird, ohne jegliche Erklärung - 
obwohl ich geschrieben habe, dass ich den Artikel bereits gelesen 
habe...)

MfG
Damon

von Jesse (Gast)


Lesenswert?

Die 3 Transistoren links sollten pnp sein, die Widerstände R1-3 
berechnest du (5v- Flußspannung) / ledstrom.

Die Basiswiderstände sollten so dimensioniert sein, dass der Basisstrom 
1/10 bis 1/100 des Led Stromes is.

von Hubert G. (hubertg)


Lesenswert?

Das du den Link schon gelesen hast habe ich übersehen.
PNP Transistoren für T1 bis T3 werden bei 3,3V Steuerspannung nicht 
funktionieren.
Beim Emitterfolger ist die Spannung am Emitter abhängig von der 
Steuerspannung. Also 3,3 - 0,7 -0,3 -2, bleiben nur 0,3V.

von Falk B. (falk)


Lesenswert?

@  NoMad 1337 (damon)

>Für die LEDs habe ich eine 5V Spannung (Stromstärke unbekannt -
>niedrig).
>Die Transistoren (U_basis) werden mit ca. 3,3V (Stromstärke ebenfalls
>unbekannt) angesprochen.

>Ich gehe von BC547B Transistoren aus, mit
>Basis-Emitter = 0,7V
>Sättigungsspannung = 0,7V
>hfe = 20 (@20mA)? Wird für mich nicht ersichtlich aus

Die haben bei 100mA typisch 200, da fehlt bei dir eine Null.

>brauche ich nur je einen Widerstand für die 3 in Reihe geschalteten
>LEDs. Bei 2V/20mA LEDs:
(5V-0,7V-0,7V-2V)/0,02A*3 = ~26 Ohm, zwischen Transistor (Emitter) und
>LEDs.

Ja.

>Die Transistoren für die Spalten (Die den Stromkreis also "schließen"),
>brauchen aber einen Vorwiderstand? Mit dem Artikel Basiswiderstand habe
>ich
>Ib = 60mA/20=3mA
>Rv = (3,3V - 0,7V)/0,003A = 866 Ohm
>errechnet. Diese werden zwischen die 3,3V und den Transistor (Basis)
>gesetzt.

Naja, du hast deutlich mehr Stromverstärkung, kannst also einen höheren 
Basiswiderstand nutzen. Im Prinzip ist deine Rechnung OK.

>Außerdem weiß ich nichts mit dem Pulsstrom der Spaltentreiber (Isp)
>anzufangen.

Artikel nochmal lesen. Wenn du mit T1-T3 3:1 multiplexen willst 
(Zeilen), dann sind im schlimmsten Fall 3*20*6=360mA, die T1-T3 liefern 
müssen. Die BC547 können offiziell nur 200mA peak. Nimm BC337 & Co.

>Was empfehlt ihr - 3 Zeilen mit 6 LEDs

Ja.

> oder 6 Zeilen mit 3 LEDs?

Nein.

Das Multiplexverhältnis so klein wie möglich wählen.

von holger (Gast)


Lesenswert?

>Ich brauche etwas Hilfe bei meinem ersten Projekt.

Ja, das muss dann auch gleich eine Matrix sein.

>Da ich keine 18 LEDs einzeln ansteuern will, soll das ganze durch
>Multiplexing gesteuert werden.
>Die 3,3V Steuerspannung und 5Vcc sollen von einem RaspberryPi kommen,

Bist du sicher das der das Multiplex Timing auch einhalten kann?
Bzw. bist du sicher das du ein Programm schreiben kannst
was das Multiplex Timing einhalten kann? Deine LEDs sind ganz
schnell im Arsch wenn das Multiplexing gestört wird.

>Bei 2V/20mA LEDs:

Nimm superhelle LEDs dann reichen auch 5mA.
Keine LED MUSS mit 20mA betrieben werden.

von NoMad 1. (damon)


Lesenswert?

Danke für die vielen Antworten.

Programmieren ist kein Problem für mich, da habe ich schon mehrere Jahre 
erfahrung. Der Raspberry Pi kann die GPIOs mit python etwa mit 500Hz 
ein/ausschalten (andere berichten von 4500Hz mit C), das sollte also 
genügen.
Wenn nicht, ASM kann ich auch ein wenig.

BC337 sind auch auf meiner Kaufliste (bei reichelt), verschiedene Arten 
LEDs, etc. Ich werde sicher nicht sofort mit der Matrix anfangen, vorher 
werde ich noch etwas experimentieren, weil mir ja noch komplett der 
praktische Teil fehlt.

Ich werde mich dran machen, die neue Schaltung am PC zu entwerfen (und 
evtl. simulieren?), wenigstens scheinen meine Rechnungen einigermaßen zu 
stimmen.

Ich melde mich wieder, wenn die neue Schaltung entworfen ist.
MfG
Damon

von holger (Gast)


Lesenswert?

>Programmieren ist kein Problem für mich, da habe ich schon mehrere Jahre
>erfahrung. Der Raspberry Pi kann die GPIOs mit python etwa mit 500Hz

Etwa oder genau? Für eine LED Matrix muss das schon sehr genau sein.
Sonst brennen dir die LEDs weg.

>ein/ausschalten (andere berichten von 4500Hz mit C), das sollte also
>genügen.

Naja.

>Wenn nicht, ASM kann ich auch ein wenig.

ASM aufm Raspberry? Ich denke eher nicht.

von MaWin (Gast)


Lesenswert?

> Welche Widerstände,Ströme und Spannungen brauche ich wo?

Du brauchst eine andere Schaltung.

> Die Transistoren (U_basis) werden mit ca. 3,3V angesprochen

Das wird nicht reichen, produzieren die Emitterfolger doch
damit nur 2.6V am Emitter, dazu die ca. 0.4V am durchgeschalteten 
Transistor nach Masse, bleiben für die LED ca. 2V übrig.

Damit du deine 5V an die LEDs durchschalten kannst, solltest du
PNP Transistor nach 5V verwenden. Damit du die mit deinen 3.3V
ansteuern kann (ziemlich ungeschickte Betriebsspannungswahl also)
brauchst du folgende Schaltung:

             +5V
          |   |
         1k   |
          |   |E
    3 x   +--|<  BC327
          |   |
        330R  +------|>|---100R---+   6 x
          |          LED          |
uC --1k--|<  BC547        BC547   >|--1k--
          |E                     E|
         GND                     GND

Der BC327 schaltet 6 x 20mA = 120mA und braucht dazu 12mA
Basisstrom, also ca. 330 Ohm, der BC547 schaltet 12mA und
braucht dazu 1.2mA also ca. 1.9k Ohm, der andere BC547
schaltet 20mA und braucht dazu 2mA also ca. 1k, ich nehme
1k.

Keine Ahnung ob der Raperry Schrott wenigstens diese 2mA
liefern kann, denn eine Datenblatt zum BCM2835 ist ja
offensichtlich geheim, und die Beschreibung der Hersteller
trotz Verprechens bis heute nicht verfügbar.

Du solltest vielleicht dein Uhr mit einem vernünftigen
Prozessor aufbauen, der auch dokumentiert ist.

> Das Multiplexverhältnis so klein wie möglich wählen.

genau so ist das sinnvoll.

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.