Forum: Mikrocontroller und Digitale Elektronik AVR Atmega32 RGB LED über PWM


von Stefan P. (baloo_the_bear)


Lesenswert?

Hallo Leute,

ich hab gearde angefangen mit Microcontrollern.
Es geht um die Ansteuerung von RGB LEDs über PWM

Ich habe schon das Forum, inklusiv aller Tutorials zum Thema 
Transistoren durch und verstehe nicht warum es trotzdem nicht 
funktioniert.

Ich habe eine RGB LED, 4Pin, gem. Kathode. inklusiv Wiederstände für 12 
V.
Datenblatt: 
http://www.impolux.de/extern/datasheetled/LED5R40RGB2DW6,6m.pdf

Versuch NR 1 Versuch:
12V direkt an die LED + Wiederstand
=> funktioniet, leuchtet auf maximum

Versuch NR 2 Versuch:
LED direkt an den PWM Port, PWM Welle so einstellen das die max Spannung 
nicht größer wird, als die LED es verträgt
=> funktioniert, ist auch "dimmbar"

Versuch NR 3:
PWM über Transistor(npn BC337)
PWM Port( mit kleinem Vorwiederstand) an Base des Transistors
an den Emitter/ Collector 12V bzw LED+Wiederstand.
=>LED leuchtet, allerdings nicht so hell wie bei Versuch 1 und darauf 
kommt es an
(Hab es Versuchsweise auch noch mit einem MOSFET 540n versuch gleiches 
ergebnis)

Ich versteh nicht warum es nicht geht, könnt ihr mir helfen

von Michael Diekren (Gast)


Lesenswert?

Guten Tag.

Bin mir da leider nicht ganz sicher ... Schaue mal ob du den Mos richtig 
eingebaut hast und nicht über die Diode läufst. Ansonsten mal Frequenz 
extrem runterstellen und schauen ob die LED blinkt oder leuchtet (Dann 
kann man sehen ob richtig geschaltet wird).

von Bjojon (Gast)


Lesenswert?

Stefan P. schrieb:
> Versuch NR 2 Versuch:
> LED direkt an den PWM Port, PWM Welle so einstellen das die max Spannung
> nicht größer wird, als die LED es verträgt
> => funktioniert, ist auch "dimmbar"

LEDs sollte man NIE ohne Vorwiderstand (man beachte die Schreibweise) 
betreiben!

Stefan P. schrieb:
> Versuch NR 3:
> PWM über Transistor(npn BC337)
> PWM Port( mit kleinem Vorwiederstand) an Base des Transistors
> an den Emitter/ Collector 12V bzw LED+Wiederstand.
> =>LED leuchtet, allerdings nicht so hell wie bei Versuch 1 und darauf
> kommt es an

Nach Deiner Beschreibung würde ich vermuten, daß die LED immer an ist. 
So wird das nix, da Ube nie zu Null wird.

Versuch mal einen NPN Transitor gegen GND zu verwenden, also

+12V o--[R]--\/>--|GND
              | uC Pin mit Widerstand

von Bjojon (Gast)


Lesenswert?

Hups,

die LED muß da natürlich auch noch rein und zwar zwischen dem Widerstand 
und dem Transistor.

von Bjojon (Gast)


Lesenswert?

Bjojon schrieb:
> Nach Deiner Beschreibung würde ich vermuten, daß die LED immer an ist.
> So wird das nix, da Ube nie zu Null wird.

Sorry, das war vermutlich quatsch.

Stefan P. schrieb:
> PWM über Transistor(npn BC337)
> PWM Port( mit kleinem Vorwiederstand) an Base des Transistors
> an den Emitter/ Collector 12V bzw LED+Wiederstand.

Kannst du mal skiziieren, wie die Schaltung aussieht. Deine Angaben sind 
etwas verwirrend.

von Stefan P. (baloo_the_bear)


Angehängte Dateien:

Lesenswert?

Hier sind meine Versuche als Zeichnung.
Ich hoffe damit kann ich die verwirrung auflösen.

der npn Transistor ist ein BC337
anstelle BC337 habe ich es auch mit einem MOSFET 540n versucht.

Versuch 1: LED leuchten maximal, steuerung manuell spannung wegnehmen

Versuch 2: LED leuchtet, kann reguliert werden über PWM welle. Ich hab 
mit dem Messgerät gemessen bei welchem Compare Wert welche Spannung 
herauskommt und dann immer zwischen 0 und dem gemessenen max wert 
gefaded

Versuch 3: LED leuchtet, aber nicht sehr hell. theoretisch kann ich 
meinen Compare Wert zwischen 0-255 setzten da der Transistor die 
richtige Spannung schaltet.

Microcontroller:
16Mhz, FAST PWM -> 62,5 KHz ( oder irre ich mich da)
Es geht nacher darum mehrere LED "Cluster"(10 LED parralelschaltung) 
Zeitmultiplext anzusteuern so ca. 30 Stück

von Paul (Gast)


Lesenswert?

Der Transistor muß in Emitterschaltung (Spannungsverstärkung)eingebaut 
sein. Entweder Du verwendest einen pnp-Typen oder du hängst den npn auf 
die Low-Side.


Für den npn:

Emitter an Gnd. An den Collector kommt die Diode mit Vorwiderstand.

von Paul (Gast)


Lesenswert?

Noch was: Der Vorwiderstand des Transistors muß so berechnet sein, daß 
Ib = 3 bis 5 mal Ic/beta ist. (Übersteuerungsfaktor). Erst dann wird der 
Transisor von Uce sat in Uce rest überführt!

http://www.elektronik-kompendium.de/sites/bau/1506161.htm

von Stefan P. (baloo_the_bear)


Lesenswert?

Das bedeutet ich besorg mir einen pnp und setzte ihn dort ein wo vorher 
meine npn sind? oder kaufe neue LEDS die gem anode haben.

gibt es keine möglichkeit mit einem npn die LEDs mit gem. Kathode zu 
schalten? wenn ich die Kathode der LED an den emitter häng kann ich ja 
nur eine farbe nutzen.

ich bin mir nicht ganz sicher, wird der pnp dann auch mit einem Ausgang 
verbunden? und schaltet dann bei 0V und bei 5 nicht?

von Bjojon (Gast)


Lesenswert?

Stefan P. schrieb:
> Das bedeutet ich besorg mir einen pnp und setzte ihn dort ein wo vorher
> meine npn sind? oder kaufe neue LEDS die gem anode haben.

> ich bin mir nicht ganz sicher, wird der pnp dann auch mit einem Ausgang
> verbunden? und schaltet dann bei 0V und bei 5 nicht?

Wenn Du den npn in deiner Schaltung durch einen pnp ersetzt, wird es 
trotzdem nicht funktionieren. Der Controller liefert nur 0V oder 5V, du 
hast am Emitter aber 12V anliegen. Damit ist Ube immer so groß, daß der 
Transistor einschaltet (7V oder 12V). So einfach geht das nicht, du wird 
einen zweiten Transistor benötigen.

Die einfachste Lösung ist hier wohl eine LED mit gemeinsamer Anode.

von Stefan P. (baloo_the_bear)


Lesenswert?

@Bjojon

Ich war eben mal im Conrad und hab mir mal zum testen ein MOSFET p-Kanal 
besorgt.
Ich habe nun denke ich alles hier um ne menge zu testen und zu 
verheizen.

Kannst du mir evtl. eine Schaltung geben mit er ich die LEDS betreiben 
kann?
mittels MOSFET P- oder/und N-Kanal und Mikrokontroller.

Da wäre mir sehr mit geholfen.

von holger (Gast)


Lesenswert?

>Ich habe eine RGB LED, 4Pin, gem. Kathode. inklusiv Wiederstände für 12
>V.

Dann besorg dir Widerstände für 5V wenn du Highside
schalten musst und versorg die LEDs mit 5V. Das wäre
der einfachste Weg und du kannst einen PNP nehmen.

von Bjojon (Gast)


Angehängte Dateien:

Lesenswert?

Stefan P. schrieb:
> @Bjojon
>
> Ich war eben mal im Conrad und hab mir mal zum testen ein MOSFET p-Kanal
> besorgt.
> Ich habe nun denke ich alles hier um ne menge zu testen und zu
> verheizen.
>
> Kannst du mir evtl. eine Schaltung geben mit er ich die LEDS betreiben
> kann?
> mittels MOSFET P- oder/und N-Kanal und Mikrokontroller.
>
> Da wäre mir sehr mit geholfen.

Dann bin ich mal so frei :-) Die MOSFET helfen dir aber auch nur bedingt 
weiter.

Am einfachsten wäre die Lösung von Holger - sprich 5V für die LEDs 
nehmen. Dann kannst du den linken Schaltungsteil verwenden. Bei 12V 
braucht du einen "Pegelwandler", dafür kannst du den rechten Teil 
verwenden. Wenn Du MOSFETs verwenden willst, kannst du einfach den 
Transistor entsprechend ersetzten.

Ich hoffe das hilft dir erst mal weiter - ich gehe jetzt auch etwas 
basteln.

von Bjojon (Gast)


Lesenswert?

Es ist schon zu spät...

Die rechte Schaltung ist natürlich für 12V, die linke für 5V.

von ... (Gast)


Lesenswert?

Bjojon schrieb:
> Es ist schon zu spät...
>
> Die rechte Schaltung ist natürlich für 12V, die linke für 5V.

Immer noch verkehrt :)
Die linke Schaltung ist für 12V, die rechte für 5V. Steht ja 
richtigerweise auch so in der Schaltung.

von Stefan P. (baloo_the_bear)


Lesenswert?

Ich versuch das mit 5V. Ich arbeite momentan mit einem Computer Netzteil 
als Quelle, da bietet sich das ja an :-)

Vielen Dank für die schnelle Hilfe :-)

von Stefan P. (baloo_the_bear)


Lesenswert?

Es funktioniert super :-)
Vielen Dank für eure Hilfe

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.