Forum: Mikrocontroller und Digitale Elektronik RGB LEDs an Schieberegistern


von Lark (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich würde gerne drei Schieberegister kaskadieren, wobei an jedem der 
Schieberegister zwei RGB-LEDs hängen sollen (siehe Schaltplan).

Da ich relativ neu in der Materie bin, hätte ich noch einige Fragen:

1. Kann das soweit funktionieren? Speziell die Anbindungen der LEDs über
die Transistoren, hier bin ich mir leider überhaupt nicht sicher...?

2. Die LEDs haben folgende Werte: Rot (2.0V, 30-160mA), Blau (3.8V, 
30-150mA) und Grün (2.2V, 140mA). Wie muss ich die Vorwiderstände und 
die Widerstände vor den Transistoren dimensionieren?

3. Ich würde das ganze gerne mit 12V betreiben, reicht das aus?

4. Diese Schaltung hängt insgesamt 5 mal an einem ATMega32, der per 
Soft-PWM die Ansteuerung der LEDs übernehmen soll. Seht ihr hierbei 
irgendwelche Probleme (Geschwindigkeit, etc)?


Vielen Dank!

von Achim M. (minifloat)


Lesenswert?

Lark schrieb:
> 1. Kann das soweit funktionieren?

Die Schieberegister werden auch mit VCC versorgt? Die Spannung am 
Emitter der Transistoren kann wegen U_be maximal ca. VCC-0,7V betragen.

Wenn du PNP-Transistoren nimmst(Emitter an VCC, Kollektor an Widerstand 
zur jeweiligen LED), ist die Logik umgedreht. Die Transistoren können 
allerdings voll durchsteuern und die Spannung Über Vorwiderstand und LED 
wird, wenn angeschaltet, nahezu VCC sein. Mit PNP-Transistoren kannst du 
außerdem bei Common-Cathode LEDn bleiben.

Das war so das, was mir so zuerst aufgefallen ist. mfg mf

von Achim M. (minifloat)


Lesenswert?

Lark schrieb:
> 2. Die LEDs haben folgende Werte: Rot (2.0V, 30-160mA), Blau (3.8V,
> 30-150mA) und Grün (2.2V, 140mA). Wie muss ich die Vorwiderstände und
> die Widerstände vor den Transistoren dimensionieren?

Über die Stromverstärkung der Transistoren am gewünschten Arbeitspunkt 
und den gewünschten LED-Strom kannst du den Basisvorwiderstand 
berechnen. Allerdings unter der Maßgabe, dass die Betriebsspannungen 
schon feststehen.

Ich weiß nicht was das für LEDn sind, die du da hast. Die Ströme werden 
für kleinsignaltransistoren wie deinen BC547 schon kritisch. Schau dich 
vllt. mal nach Darlingtontransistoren um. Insbesonere beim Blau-Zweig, 
da hier der doppelte Strom durch einen Transen gefahren wird.

Lark schrieb:
> 3. Ich würde das ganze gerne mit 12V betreiben, reicht das aus?
>
> 4. Diese Schaltung hängt insgesamt 5 mal an einem ATMega32, der per
> Soft-PWM die Ansteuerung der LEDs übernehmen soll. Seht ihr hierbei
> irgendwelche Probleme (Geschwindigkeit, etc)?

In der aktuellen Konfiguration kann der Mega32, der maximal 5V verträgt, 
die Logik ansteuern, diese bringt es aber nicht fertig die Transistoren 
durchzusteuern(bei Lastversorgung 12V nicht möglich).

Entweder du steigst auf Lastversorgung von 5V und auf PNP-Transistoren 
um, oder du steigst auf Common-Anode LEDn um, die dann Lo-Side 
geschaltet werden können.

mfg mf

von Lark (Gast)


Lesenswert?

Danke für deine Hilfe.

Die Schieberegister werden mit einer anderen Spannung VCC_S betrieben,
d.h. die maximale Spannung am Emitter wäre dann VCC_S-0.7V unabhängig 
von
der Spannung am Kollektor?

Welchen Transistor würdest du empfehlen und wie müsste ich die 
Widerstände dimensionieren?

Vielen Dank nochmals!

von Lark (Gast)


Lesenswert?

Wäre der BC560C ein geeigneter PNP Transistor?
Wenn ich auf VCC=VCC_S=5V umstelle und den Transistor tausche, dann 
sollte
es also passen? :)

von holger (Gast)


Lesenswert?

>Wäre der BC560C ein geeigneter PNP Transistor?

Nein, BC327 passt da schon eher.

von Achim M. (minifloat)


Lesenswert?

Lark schrieb:
> Die Schieberegister werden mit einer anderen Spannung VCC_S betrieben,
> d.h. die maximale Spannung am Emitter wäre dann VCC_S-0.7V unabhängig
> von
> der Spannung am Kollektor?

Ja, nahezu. Die Basis-Emitter-Strecke muss erstmal bestromt werden, 
damit ein Kollektorstrom fließen kann. Die "Basis-Emitter-Diode" frisst 
aber 0,7V.
Du willst aber schalten und keinen Spannungsfolger haben :)

Lark schrieb:
> Welchen Transistor würdest du empfehlen

Du würdest den Lastteil gern mit 12V versorgen? Die "schönste" Lösung 
wäre ein Logiclevel NMOS sowie Common-Anode LEDn herzunehmen.

Lark schrieb:
> wie müsste ich die
> Widerstände dimensionieren?

LED-Vorwiderstand zu berechnen werde ich dir aber nicht vorkauen müssen?
R = (VCC_LED - U_Fluss_LED) / I_Fluss_LED

Basisvorwiderstände: am besten erst, wenn eine Topologie festliegt.

mfg mf

von Ich (Gast)


Lesenswert?

Direkt an 12V geht nicht, da das der HC595 nicht aushält und auch, da 
das Signal vom µC nur mit 5V (?) kommt.

Du kannst zwar die LEDs selbst mit +12V betreiben, aber nicht mit 
Transistoren in der Kollektorschaltung. Emitterschaltung ist hier 
angebracht.
Der Betrieb der LEDs mit 12V bringt nichts, außer dass ein Teil der 
Verlustleistung des Spannungsreglers nun in den Widerständen produziert 
wird.

Am einfachsten ist: Ein Spannungsregler auf 5V und alles an 5V hängen.

Die Widerstände der LEDs berechnen sich folgendermaßen:
R = U / I
I = I(LED)
U = Vcc - Vf(LED)
R = (Vcc - Vf(LED) / I(LED)
R lieber größer ansetzen und I(LED) kleiner. 50% weniger Strom erhöht 
die Lebensdauer der LED ohne die Helligkeit großartig zu verringern.

Die Widerstände der Transistoren berechnen sich folgendermaßen:
Der Transistor (in Emitterschaltung) sollte sich im Sättigungsbereich 
befinden.
Bei sehr geringem Basisstrom (hoher Widerstand) ist der Kollektorstrom 
ein Vielfaches des Basisstroms. Bei ausreichend Basisstrom ist der 
Transistor komplett durchgeschalten (Sättigungsbereich). Das willst du 
ja erreichen.
Siehe Artikel Basiswiderstand

von HildeK (Gast)


Lesenswert?

Lark schrieb:
> 3. Ich würde das ganze gerne mit 12V betreiben, reicht das aus?

Heißt das, dein VCC soll 12V sein?. Ein HC595 kann meines Wissens nur 
mit max. 5V versorgt werden. Dann ist die Ansteuerung falsch, denn 
(siehe Mini Float) du wirst am Ausgang an den LEDs mit Vorwiderstand nur 
maximal auf 4.3V kommen. Das kann man zwar machen, wenn die 
Vorwiderstände auf die 4.3V berechnet werden, aber bei den anscheinend 
relativ hohen Strömen bist du fast bei 1W Verlustleistung an den 
Transistoren. Besser ist es, die Transistoren nur als Schalter zu 
nehmen. Also: PNP mit Zusatzschaltung oder NPN mit LEDs, die eine 
gemeinsame Anode haben.

Lark schrieb:
> 2. Die LEDs haben folgende Werte: Rot (2.0V, 30-160mA), Blau (3.8V,
> 30-150mA) und Grün (2.2V, 140mA). Wie muss ich die Vorwiderstände und
> die Widerstände vor den Transistoren dimensionieren?

Die verwendeten Transistoren können max. 100mA Kollektorstrom und keine 
140...160mA. Wenn du also Ströme oberhalb 50..80mA treiben willst, dann 
such schon mal nach einem anderen Transistor.
Als erstes musst du also den gewünschten Strom durch die LEDs 
definieren. Deine genannten Werte kennzeichnen den möglichen Bereich, 
welche Farbe mit wieviel Strom betrieben wird, wird auch davon abhängen, 
wie dir die einzelnen Helligkeiten zusagen. Sind alle drei Farben an, 
sollte ja Weiß als Gesamteindruck herauskommen. Dann erst können wir zur 
Berechnung der Widerstände schreiten ...

Mini Float schrieb:
> Wenn du PNP-Transistoren nimmst(Emitter an VCC, Kollektor an Widerstand
> zur jeweiligen LED), ist die Logik umgedreht. Die Transistoren können
> allerdings voll durchsteuern und die Spannung Über Vorwiderstand und LED
> wird, wenn angeschaltet, nahezu VCC sein. Mit PNP-Transistoren kannst du
> außerdem bei Common-Cathode LEDn bleiben.

Ist nur dann ein einfacher Vorschlag, wenn die Versorgung von HC595 und 
VCC identisch sind. Sonst sind noch ein paar weitere Elemente notwendig, 
im einfachsten Fall pro Transistor noch ein Widerstand und ev. eine 
Z-Diode.

von Achim M. (minifloat)


Lesenswert?

Ah, Topologie liegt fest.
Mal ne Anleitung:

Datenblatt zum Transistor ansehen.

Diagramm zum Stromverstärkungsfaktor über Kollektorstrom oder
Diagramm zum Kollektorstrom über Basisstrom heraussuchen.

Betriebspunkt bestimmen(LED-Strom = Kollektorstrom, Blau: doppelten Wert 
hernehmen, da 2 Zweige zu schalten)

Basisstrom bestimmen berechnen(Kollektorstrom durch 
Stromverstärkungsfaktor teilen)

"Sicherheitsreserve" auf Basisstrom geben

Spannung Basis-Emitter wird so 0,7V sein, der Basisvorwiderstand "sieht" 
also
(VCC_S - 0,7V)

Basiswiderstand in kΩ = (VCC_S - 0,7V) / [Basisstrom in Milli-Ampere]

- Anleitung Ende -

Der letzte Punkt sollte dir bekannt vorkommen ;)

mfg mf

von Lark (Gast)


Lesenswert?

@Holger und @mf: Danke für die Tipps!

Ich überarbeite mal kurz den Schaltplan, stelle auf 5V 
Versorgungsspannung
für die LEDs und stelle ihn nochmal rein.

von Achim M. (minifloat)


Lesenswert?

Die geforderten Ströme der einzelnen LEDn kommen mir utopisch hoch vor.

Bitte nicht die "Absolute maximum ratings" als  gut betretbare 
Obergrenze für normalen Betrieb für mehr als ein paar Sekunden ansehen.

mfg mf

von Lark (Gast)


Angehängte Dateien:

Lesenswert?

Danke erstmal an alle für die schnelle Hilfe!

Hier ist das Update. Betriebsspannung ist nun überall 5V. Für die LEDs 
habe ich einen Strom von 110mA angenommen und die Vorwiderstände 
entsprechend berechnet (evtl. ein bisschen aufgerundet auf nächste 
verfügbare Grösse).

Die Widerstände vor dem Transistor muss ich noch berechnen.

Passt das ganze dann jetzt so? :)

von Achim M. (minifloat)


Lesenswert?

Wenn eine Platine aus dem Eagle-Schaltplan werden soll: die Logik-ICs 
brauchen auch noch symbolische Versorgungsanschlüsse.

100nF an jedes Logik-IC möglichst nah an dessen VCC- und GND-Anschluss 
um die Versordung für Jedes IC noch bissl zu glätten.

Und nicht vergessen: Jetzt bedeutet High-Pegel, dass die LED aus ist und 
Low gleich an.

Hm, die Transistoren muss ich mir merken!

mfg mf

von Lark (Gast)


Lesenswert?

Super, vielen lieben Dank für eure Hilfe, vorallem auch an mf!

Dann werd ich mal einen Prototypen bauen :)

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.