Forum: Mikrocontroller und Digitale Elektronik 3x3x3 LED-Cube / Transistoren ?


von Stefan E. (spam-sfs)


Angehängte Dateien:

Lesenswert?

Guten Abend zusammen.

Vorab ich hab die schaltung wie ich es mir gedacht hab schonmal 
angehängt.

Ich baue im zuge eines Projektes in der Fachhochschule einen LED-Cube
der Größe 3x3x3.

Ich bekomme zur Ansteuerung des Cubes ein Board von Altera zur verfügung 
gestellt. Dieses Board darf nicht belastet werden !!!

Deswegen hatte ich mir gedacht ich mache vor jeden Strang ( bzw. Ebene ) 
einen Transistor der vom Board gesteuert wird den Strom aber von z.B 
einer Batterie bekommt.

Und um den Strom nicht in das Board zu leiten das selbe also am Ausgang 
der LED`s. Ich hoffe die Zeichnung zeigt es ein wenig.

Kann man das so machen ?

Desweiteren hab ich schon so viel gelesen aber begreif es irgendwie 
nicht.
Die LED`s müssten doch unterschiedlich hell leuchten ?
Denn der Controller weiß ja nicht ob eine oder 3 LED`s leuchten, es gibt 
aber nur einen Vorwiederstand. Allerdings werden die meißten Cubes im 
Netz
( 3x3x3 ) so angesteuert. Sehen die das alle nicht ^^

Oder versteh ich da was falsch ?

Hoffe das Thema nervt nicht langsam und ich bekomme trotzdem eine nette 
Antwort. :)

von uC (Gast)


Lesenswert?

Das Geheimnis heißt Multiplexing.

von Dietrich L. (dietrichl)


Lesenswert?

Stefan EgalWarum schrieb:
> Kann man das so machen ?

Ja. Voraussetzung ist, dass die Pins, die die oberen Transistoren (die 
an +5V) einschalten, als High-Pegel auch +5V liefern.

> Desweiteren hab ich schon so viel gelesen aber begreif es irgendwie
> nicht.
> Die LED`s müssten doch unterschiedlich hell leuchten ?
> Denn der Controller weiß ja nicht ob eine oder 3 LED`s leuchten, es gibt
> aber nur einen Vorwiederstand.

Dazu musst Du multiplexen, d.h. eine Ebene nach der anderen 
eingeschaltet. Immer im Kreis herum. Allerdings muss der Strom dann 3x 
so groß sein, um die gleiche Helligkeitswirkung zu haben.

Gruß Dietrich

von Flexbex (Gast)


Lesenswert?

ohne es genau zu wissen aber ich würd jetzt ins blaue hinein sagen das 
die LEDs PWM gesteuert sind. In einer Periode ist nacheinander einer von 
den drei Ausgangstransistoren an und die entsprechenden 
Eingangstransistoren. Wenn du das schnell genug machst 100Hz sieht man 
kein Flackern.

von Cyblord -. (cyblord)


Lesenswert?

Also einen 3x3x3 Cube hab ich letztens an 2 Abenden aus Spass kurz 
gebaut und programmiert. Einfach weil alle Welt nen Cube macht und ich 
auch wollte. Mit nem mega8. Und das soll ein Projekt an einer Hochschule 
werden?
Bisschen lächerlich oder?

Aber zur Vorgehensweise:

Du hast 3 Ebenen. Jede Ebene hat 9 LEDs. logisch.

Immer die 3 LEDs jeder Ebene sind parallel geschaltet und gehen (von mir 
aus auch über einen Treiber, was ich nicht hatte da ja nur eine einzige 
LED pro Portpin leuchtet) an einen Controller Pin. Hier am besten den 
Pluspol schalten. Also 9 Pins dafür.
Dann wird jede Ebene separat per Transistor geschaltet. Jetzt am besten 
GND schalten, also per NPN Transistor. Nochmal 3 Pins.

Jetzt kannst du mit den 9 Pins direkt jede LED einer Ebene ansprechen 
und mit den 3 Ebenen-Pins wählst du die Ebene aus welche aktiv sein 
soll.

Das ganze per Multiplexing schnell alle 3 Ebenen durchlaufen und für 
jede Ebene die korrekten LEDs mit den 9 Pins einschalten.

In diesem Fall brauchst du kein PWM, jede LED sollte nur mit dem 3 
fachen Strom betrieben werden, da sie ja nur 1/3 der Zeit leuchtet.

gruß cyblord

von Stefan E. (spam-sfs)


Lesenswert?

>Und das soll ein Projekt an einer Hochschule werden?
> Bisschen lächerlich oder?

Es ist nur ein kleines Projekt im Rahmen einer Vorlesung.
Soll nur das Timer verständniss und das Board erklären.

> Das ganze per Multiplexing schnell alle 3 Ebenen durchlaufen und für
> jede Ebene die korrekten LEDs mit den 9 Pins einschalten.
> In diesem Fall brauchst du kein PWM, jede LED sollte nur mit dem 3
> fachen Strom betrieben werden, da sie ja nur 1/3 der Zeit leuchtet.

Ok so hatte ich mir das auch gedacht. Dann leuchten natürlich auch alle 
gleich hell.

>Ja. Voraussetzung ist, dass die Pins, die die oberen Transistoren (die
>an +5V) einschalten, als High-Pegel auch +5V liefern.

Warum ?
Gibt es keine Transistoren die man sozusagen als Schalter nutzen kann ?
Also 0,8V drauf und der Schaltet voll durch ?

Ich weiß leider gerade nicht genau was die Boards liefern. Aber mehr als 
3,8V und 20mA bekomm ich aus dem Ausgang nicht raus.

Ich hatte mir nämlich gedacht das der Transistor einfach durch schaltet 
wenn ich den Pin ansteuere. und somit die 5V anliegen.

von Cyblord -. (cyblord)


Lesenswert?

Stefan EgalWarum schrieb:

> Ich hatte mir nämlich gedacht das der Transistor einfach durch schaltet
> wenn ich den Pin ansteuere. und somit die 5V anliegen.

Dann schau dir doch vorher einfach nochmal die Funktionsweise von 
Transistoren (Bipolar und FET) an. Elektronik Kompedium oder so.
Spannungsabfall hast du immer. Sehe aber nicht wo das Problem dabei 
liegen soll.
Wieviel Strom können die Altera Ausgänge denn liefern? Reicht das 
nichtmal für ne kleine LED? Es gibt ja auch Low-Current LEDs die 
leuchten schon bei 2mA. Mal 3 = 6 mA. Dann sparst du dir die 9 
Transistoren und brauchst nur welche für die Ebenen. Und guck dir mal an 
ob du das nicht lieber mit FETs machen willst.

edit: Oh hab gesehen du hast ja 20mA schon angegeben. Das reicht für 
eine LED doch locker. Dann häng die direkt ran. Oder nimm gleich 
integrierte High-Side-Treiber wenns denn sein muss. Da mit einzelnen PNP 
Transistoren fummeln ist doch blöd (UDN2981).

gruß cyblord

von Stefan E. (spam-sfs)


Lesenswert?

> edit: Oh hab gesehen du hast ja 20mA schon angegeben. Das reicht für
> eine LED doch locker. Dann häng die direkt ran.

Wurde mir ausdrücklich untersagt !
Ich soll sie nicht direkt dran hängen.

> Oder nimm gleich
> integrierte High-Side-Treiber wenns denn sein muss. Da mit einzelnen PNP
> Transistoren fummeln ist doch blöd (UDN2981).

Also bräuchte ich statt 12 Transistoren nur 2 Dieser Treiber.
Hab mal ins Datenblatt geschaut, allerdings werd ich aus diesen dingern 
nie wirklich schlau. Bin wohl zu blöd dafür.

An Vs würde ich jetzt meine 5 V anlegen.
An die eingänge meine 9 Pins,
und die Ausgänge gehen zu den LED`s  richtig ?

Was würde der denn jetzt von meinen Pins vom Board ziehen ?
Das hab ich da nicht rauslesen können ...
Sagen wir das Board gibt 3,8 V , wieviel mA würden dann in den Treiber 
fließen. Ich darf es ja nicht belasten ...

von Cyblord -. (cyblord)


Lesenswert?

Stefan EgalWarum schrieb:

> Also bräuchte ich statt 12 Transistoren nur 2 Dieser Treiber.
> Hab mal ins Datenblatt geschaut, allerdings werd ich aus diesen dingern
> nie wirklich schlau. Bin wohl zu blöd dafür.

Genau 2 Treiber aber für 9 LEDs. Die 3 Ebenen würde ich über 3 NPN 
Transistoren schalten. Oder N-Kanal Mosfets. Weil die sollten Low-Side 
Schalten.

Tja naja, also einfacher als so ein Treiber gehts nun fast nimmer. Schau 
dir mal Beispielschaltungen dazu an. Da kommt irgendwo Spannung rein, 
dann 8 mal TTL Eingänge, und 8 mal Last-Ausgänge. Also komm. Bisschen 
Eigenleistung muss da her.

Ohne Belastung geht nicht. Aber die Eingänge sind recht hochohmig. Da 
fließt wenig Strom. Ist ja Sinn der Sache. Steht im Datenblatt. Hab 
jetzt keine Lust das rauszusuchen.

gruß cyblord

von Stefan E. (spam-sfs)


Lesenswert?

> Genau 2 Treiber aber für 9 LEDs. Die 3 Ebenen würde ich über 3 NPN
> Transistoren schalten. Oder N-Kanal Mosfets. Weil die sollten Low-Side
> Schalten.


Als Transistoren würde ich jetzt 3 BC 140-10 nehmen.

        Ausführung
        NPN

    Elektrische Werte
        Uces   40 V
        Ic     1 A
        Ptot   800 mW
        fT     50 MHz

Müsste gehen oder ?

Frage nur weil ich mich absichern möchte ^^ sry.

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.