Forum: Mikrocontroller und Digitale Elektronik und nochmal RGB LED Treiber


von Sebi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
ich hab schon einiges im Forum gefunden zu RGB LED Treiber, allerdings 
möchte ich gerne meine LEDs mit verschiedenen Helligkeitsstufen 
verwenden. Wie hell die Farbe der LED ist soll ein ATmega8 steuern. Da 
die LED ja mehr Strom ziehen als gut für den µC ist hab ich einen NPN in 
Reihe zur Spg.quelle gelegt. Ist das totaler Humbug oder klappt das so 
schon? Ein schnelles IC was sowas auch kann gibt's nicht, oder?

von Tom (Gast)


Lesenswert?

Der Mega8 ist bei 5V mit max. 40mA pro Output spezifiziert, unter ein 
paar weiteren Randbedingungen wie z.B. Gesamtstrom kleiner als 300mA. 
Die Ausgangsspannung ist im H-Zustand bei 25mA etwa 4,4V. Das alles 
entnommen aus dem Datenblatt bei atmel.com.

Wenn Du nun eine große Menge LED treiben willst, dann wirst du den 
Gesamtstrom überschreiten, und du brauchst Treiber wie in deiner 
Schaltung. Dafür gibt es auch Treiber-ICs. Die meisten Leute sind der 
Meinung, es sei besser, die LED und deren Vorwiderstände in die 
Kollektorleitung zu legen (hab ich das vorsichtig genug gesagt?).

Bei nur einer oder zwei RGB-LEDs würde ich die direkt aus dem Port 
treiben, natürlich mit Vorwiderstand.

von Christian Erker (Gast)


Lesenswert?

Klar gibt es solche ICs.. und die paar kHz sind alles andere als 
schnell, da lacht dich jedes IC aus.

ULN2803 gibt es, die können 500 mA pro Kanal, invertieren aber, das 
sollte aber kein Problem sein wenn du die LED nach VCC schaltest (mit 
Vorwiderstand).

Gruß,
Christian

von Sebi (Gast)


Lesenswert?

Danke für die schnelle Antwort! Ich wollte 5 RGB-LED an dem ATmega8 
anschließen. Einen Farbwechsel soll man nicht erkennen (soll man schon 
erkennen, aber nicht so stufig). Irgendwo hab ich Treiber gesehen die 
sich per I²C steuern lassen, aber das wär dann zu langsam.

Tom schrieb:
>Die meisten Leute sind der Meinung, es sei besser, die LED und deren 
>Vorwiderstände in die Kollektorleitung zu legen (hab ich das vorsichtig >genug 
gesagt?).

Wieso denn das? Kann ich auch machen, versteh nur nicht wieso :o

greetings
Sebastian

von Matthias (Gast)


Lesenswert?

...Die meisten Leute sind der
Meinung, es sei besser, die LED und deren Vorwiderstände in die
Kollektorleitung zu legen (hab ich das vorsich...

Eher gerade so wie in deinem Bild (also in den Emitterzweig)
Weil:
-Emitterschaltung (Impedanzwandler, Stromgegenkopplung) schalten 
schneller als Kollektorschaltung, weil Transistor NICHT in die Sättigung 
geht
-Kollektorschaltung hat 180Grad Phasendrehung (hier wohl egal)
-Emitterschaltung benötigt keinen Basiswiderstand

..... Irgendwo hab ich Treiber gesehen die
sich per I²C steuern lassen, aber das wär dann zu langsam.....

zB PCA9634. Verwende ich. Das Teil läuft mit 400kHZ SCL-Frequenz.
zur Zeit schicke ich alle 100ms ein neues "Bild" da hin. Das ergibt 
schon ziemlich sanfte Übergänge. Und da lacht der I2C Bus nur...

...Ein schnelles IC was sowas auch kann gibt's nicht, oder?...

Doch, in deinem Fall den Atmega8 ;-)

von Sebi (Gast)


Angehängte Dateien:

Lesenswert?

@Matthias
400kHz SCL-Frequenz würde locker ausreichen, Hauptsache die Platine wird 
nicht alzu teuer. Gefunden hab ich den PCA9634 weder bei Reichelt noch 
bei Conrad.

Ich hab anstatt der BC550 mal den ULN2803 benutzt. Der ist zwar etwas 
teurer, aber das sind ja nur ein paar Cent. Nun werden an der 
Stiftleiste eben die Dioden, Betriebsspg., Masse und I²C angeschlossen. 
Ein anderer µC soll die Platine steuern. Meint ihr das könnte so 
klappen?

von Matthias (Gast)


Lesenswert?

Ja, geht. Aber folgendes würde ich ergänzen:
- Diode (zB 1N4148) über R1
- 100nF Abblockkondensator zwischen Vcc-GND UND zwischen Avcc-AGND und 
Avcc mit Vcc und AGND mit GND verbinden.
< 100nF Abblockkondensatoren direkt über IC2 und IC3
- wenn du den AD-Wandler nicht benötigst, dann kannst du Aref 
freilassen.
- einen Programmieranschluss. zB ISP

wofür ist R4,R5,R6 ??

sonst hab ich auf den ersten blick nix zu beanstanden...

PS: Du hast RGB-LEDs mit gemeinsamer Kathode?? Bedrahtete??
Ich hab da mal eine gekauft, die taugte garnichts (von der 
Farbe/Helligkeit her) und war schweineteuer...

von Sebi (Gast)


Lesenswert?

R4 R5 R6 hab ich drin damit alle Pins vom µC hochohmig sind. Wenn das 
Blödsinn ist fliegen die raus.

ISP ist nicht unbedingt notwendig, außerdem wollte ich es mal mit 'nem 
Bootloader ausprobieren :)

Noch hab ich keine RGB-LEDs, ich wollte mir welche bei Ebay kaufen 
(http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=250130040520), wenn 
die Schrott sind dann muss ich mal bei Reichelt etc. schauen.

Danke auf jeden Fall für die Tipps, echt große Klasse.

von Matthias (Gast)


Lesenswert?

Also ich verwende rgb-leds von reichelt: die teile heißen: LATB T66C.
Sind aber SMD..

von Alex (Gast)


Lesenswert?

Achtung! der ULN2803 wird nicht an VCC angeschlossen! Schau mal ins 
Datenblatt..
Das ist ein Analoger IC der nur einen GND Anschluss braucht.

von Sebi (Gast)


Lesenswert?

Okay,
hab's gesehen, danke.

von Werner A. (homebrew)


Lesenswert?

Sebi,
welche Software ist das eigentlich zum simulieren im ersten Beitrag?

von Michael U. (Gast)


Lesenswert?

Hallo,

@Matthias:
>...Die meisten Leute sind der
>Meinung, es sei besser, die LED und deren Vorwiderstände in die
>Kollektorleitung zu legen (hab ich das vorsich...

Naja, Du brauchst es nicht so vorsichtig ausdrücken. ;)

Es ist weniger die Frage des "besser" als eine historische Geschichte.

Technologisch waren Silizium-npn-Transistroren einfacher herzustellen 
als pnp, bei Germanium war es genau umgekehrt.

Schaltungen und ICs hatten also einen npn am Ausgang, der gegen GND 
geschaltet hat. Auch TTL hatte unsymmetrische Ausgangsstufen, die nach 
GND größere Ströme konnten. So ist es also teilweise Gewohnheit, auch 
wenn heute oft Ausgänge verfügbar sind, die auch genug Strom bei H-Pegel 
liefern können.

Der ganz praktische Punkt dabei ist es, daß man mit Low-Side-Schaltern 
auf einem Bezugspunkt bleibt, wenn man verschiedene Spannungen benutzen 
muß.

Nimm einen Treiber und schalte mit einem µC ein 12V-Relais.

Bei npn ist das kein Problem, Basiswiderstand an den µC und das Relais 
am Collektor an 12V. Hat man jetzt nur ein 24V zur Verfügung, ändert 
sich nur die Betriebsspannung des Relais und die restliche Schaltung 
bleibt unverändert.

Ich plane auch heute noch möglichst so, einmal findet man schneller 
billige Low-Side-Treiber (ULN200x, ULN28xx) als High-Side und selbst bei 
"lumpigen" LED ist es flexibler. Reichen die 5V nicht für eine 
LED-Reihenschaltung, kann ich sie problemlos an eine höhere Spannung 
legen ohne umzubauen.

Gruß aus Berlin
Michael

von Matthias (Gast)


Lesenswert?

@ Michael U. (Gast):

Das ist sicherlich richtig.

Aber ich meinte das eher aus dem Standpunkt, dass die Betriebsspannung 
von Steuerteil (µC) und Leistungsteil (LED,..) dieselbe ist.
Dann würd ich IMMER eine Kollektorschaltung bevorzugen (falls ich kein 
IC nehme), weil:
diese Schaltung keinen Vorwiderstand an der Basis benötigt, schneller 
schaltet und nicht in die Sättigung geht. Da ich oft relativ hohe 
Frequenzen habe, ist das wichtig..

von Sebi (Gast)


Lesenswert?

@Werner
multisim 7, das ist auch nur ein SPICE derivat :)

von Sven (Gast)


Lesenswert?

>>Achtung! der ULN2803 wird nicht an VCC angeschlossen! Schau mal ins
Datenblatt..

Aua! Der ULN2803 und ähnliche können sehr wohl an VCC angeschlossen 
werden. An dem Pin hängen die internen Freilauf-Dioden, und wenn Relais 
getrieben werden, sollten die zwingend auch benutzt werden.

Für die LEDs ist es egal, aber sicher nicht falsch.

Sven

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.