Atmega8 PWM Leds

Gast #1501903
Lesenswert?

Hallo,

eins vorweg: Achtung Anfänger :)
Ich möchte mit einem Atmega8 einige (21 LEDs) per PWM langsam heller/ 
dunkler werden lassen, aufblinken usw (Stichwort Sternenhimmel).

Meine Rechnerche hat ergeben, dass der Atmega8 insgesamt 3 PWM Kanäle 
hat, einer davon wohl mit einer geringeren Auflösung. Daher die Zahl der 
LEDs - 21, so sollen an jedem PWM Kanal je 7 LEDs hängen, die sich dann 
analog verhalten.

Ich weiß ebenfalls, dass ich die LEDs nicht direkt an den PortPin hängen 
kann, sondern Transistoren (?) brauche.

Jetzt kommen die Fragen:
Welchen Transistor für die LEDs muss ich nehmen? Wie muss die Schaltung 
dafür aussehen?

Vielen Dank!
Gast #1501933
Lesenswert?

Vielen Dank für die Antwort.

Also verwende ich den BC337 als Q2, statt des Relais meine x Leds. R2 
hängt dann an dem PWM-Pin vom Atmega?

Welchen Widerstand müsste ich bei weißen LEDs nehmen, wenn 7 in Reihe 
geschaltet werden und mit 5v betrieben werden?

Alex
#1501956
Lesenswert?

Es kommt, wie schon geschrieben, auf die Flußspannung der Leds an. Wenn 
du 2V je Led rechnest, dann gehen bei 5V maximal 2 davon.
Ich würde sie aber nicht an die 5V-Versorgung des Kontroller hängen. 
Eine geregelte Spannung ist da sicher nicht notwendig, wenn das Netzteil 
nicht gerade sehr mikrig ist.
Gast #1501997
Lesenswert?

Hallo Hubert,

ich will weiße LEDs benutzen - habe auf die Schnelle bei Reichelt 
geguckt, es scheint keine low current in weiß zu geben. In dem Fall 
würde ich dann blaue nehmen.

Wenn auch mit low current nicht mehr als 5 gehen, dann sollen´s 5 pro 
Strang, also insgesamt 15 sein.
#1502017
Lesenswert?

platine schrieb:

> Wenn auch mit low current nicht mehr als 5 gehen, dann sollen´s 5 pro
> Strang, also insgesamt 15 sein.

Du scheinst da ein Missverständnis zu haben.
Interessant ist in erster Linie nicht der Strom, der durch die LED geht.
Interessant ist in erster Linie die Flussspannung.
Eine rote LED braucht zb mindestens 1.7V (so ungefähr)
Wenn du also 5V hast, kannst du maximal 2 davon in Serie schalten, weil 
2*1.7 = 3.4 und das liegt noch unter den 5V. Bei 3 hättest du schon 
3*1.7 = 5.1 und bist damit über den zur Verfügung stehenden 5V.

Aus der Differenz von 3.4V (bei 2 roten LED) und den 5V dimensioniert 
man dann den Widerstand, so dass durch die LED ein bestimmter Strom 
fliesst. Der ist dann bei Low-Current LED natürlich geringer als bei 
normalen.

Aber grundsätzlich ändert Low-Current nichts daran, wieviele LED du mit 
einer bestimmten Spannung versorgen kannst. Diese Anzahl ist 
technologieabhängig und ist bei LED gleicher Farbe in etwa immer gleich, 
egal wieviel Strom sie brauchen um hell zu leuchten. Alle roten LED 
wollen ca. 1.7V, egal ob Low-Current oder nicht.

Grüne LED liegen auch bei ca. 1.7V. Blaue sind aber signifikant höher. 
Und auch weiße haben eine andere Flusspannung.


> dann sollen´s 5 pro
> Strang, also insgesamt 15 sein

Mann kann ja zb auch 2 5-Led Stränge parallel an einen PWM Kanal 
schalten und hatt dann 10 LED die von einer PWM gesteuert werden.
Das ist also nicht der limitierende Faktor. Wenn du 21 LED willst, dann 
geht das auch. Schlimmstenfalls muss man eben 3 Stück 2-LED-Stränge 
parallel schalten (jeder Strang mit seinem eigenen Widerstand) und den 
Schalttransistor entsprechend auslegen.
Gast #1502035
Lesenswert?

Ok jetzt fange ich an zu verstehen :)

Bleiben wir bei roten LEDs:
Spannungsversorgung 12v, Flußspannung 1.7v.
6*1.7V = 10.2 V

Also können an einem Strang 6 rote LEDs in serie hängen. Aber wie 
berechne ich nun den Vorwiderstand?
#1502063
Lesenswert?

Für diesen Transistor nimmt man 2mA Basisstrom, das sind 5V / 2mA ergibt 
2500 Ohm.
Du kannst das natürlich auch genau rechnen.
Max. Kollektorstrom durch Stromverstärkung des Transistor, ergibt den 
notwendigen Basisstrom.
Steuerspannung minus Spannungsabfall an der Basis/Emitterdiode durch den 
Basisstrom ergibt den Basiswiderstand. Für Schaltzwecke nimmt man dann 
die Hälfte des Widerstandes.
#1502078
Lesenswert?

platine schrieb:
> Ok!
>
> Also wenn die LEDs in meinem Fall mit 12v versorgt werden, nehme ich 12
> V / 2mA = 6kOhm als R2 am Transistor?

Nein.
Die Basis hat ja nichts mit den 12V zu tun.
Die Basis hängt am µC Pin und der liefert 5V.
Wenn du also bei 5V einen Stromfluss von 2mA haben willst, dann brauchst 
du

  R = U / I  = 5 / 0.002 = 2500 Ohm

Das ist jetzt zwar stark vereinfacht, aber als Modell geht es schon:

Du hast 2 Stromkreise!
Der eine ist der Stromkreis, der aus µC-Pin - Basiswiderstand - 
Transistor und Masse besteht
Und der andere ist der Stromkreis der aus 12V - Vorwiderstand - LED - 
Transistor und Masse besteht.
Der eine steuert den anderen (wie bei einem Relais)
#1502084
Lesenswert?

Übrigens stimmt die Rechnung nicht ganz, weil ja auch am Transistor 
etwas Spannung 'hängenbleibt'. Die 12V teilen sich also auf in
  Spannung die am Widerstand abfällt
  Spannung die an den LED abfällt
  Spannung die am Transistor abfällt

Die Spannung an den LED ist eine konstante
Die Spannung am Transistor ist auch konstant

Ihre Summe muss unter 12V liegen

Die Differenz der Summe zu 12V fällt am Widerstand ab und der wiederum 
wird so dimensioniert, dass die richtige Menge Strom fliesst.
Gast #1502101
Lesenswert?

kann man die drei PWM kanäle überhaupt parallel zueinander nutzen (mit 
verschiedenen PWM signalen)?

den letztlich sind in dem chip doch nur 2 counter und somit sollten auch 
max. zwei unterschiedliche pwm signale möglich sein die durch den 
gleichen interrupt gesteuert werden (overflow, compare usw.)
#1502117
Lesenswert?

Frank schrieb:
> kann man die drei PWM kanäle überhaupt parallel zueinander nutzen (mit
> verschiedenen PWM signalen)?
>
> den letztlich sind in dem chip doch nur 2 counter und somit sollten auch
> max. zwei unterschiedliche pwm signale möglich sein die durch den
> gleichen interrupt gesteuert werden (overflow, compare usw.)

Kann man.
Du hast
 am Timer1  2 PWM-Kanäle
 am Timer2  1 PWM-Kanal
Gast #1502132
Lesenswert?

Ich habe noch eine grundsätzliche Frage:

mit den PWM Kanälen kann ich ja dann meine "Säulen" ein und ausblenden. 
Wie könnte man jetzt noch realisieren, dass einzelne LEDs direkt 
aufleuchten können?

Die LEDs kann man ja nicht parallel schalten, dafür reichen die PWM 
Kanäle ja nicht.
(Firma: none until further notice) #1502186
Lesenswert?

Vorsicht auch Anfänger ^^

1. der Atmega8 hat 3 Counter ^^... aber ja zuwenig Hardware PWM- fähige

2. ich bin sicher der bursche "platine" macht des mit "PWM in Software" 
wie hier:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_PWM
erklärt.

Mit Transistoren größere lasten Schalten:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
Unter punkt 8. Im Tutorial werden BC 338 Transistoren genommen (NPN) mit 
1kOhm Vorwiderstand im Kapitel 7Segment Anzeigen.

platine muss halt gucken wieviel Leistung über sein Transistor gehen 
muss
wenn er X LEDs dranhängen will BC 338 hat Max 0,625W und max 0,5A.
Dahinter kann platine LEDs auch paralel anklemmen bei 5V wird hier
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
1kOhm als Vorwiderstand genommen.
Also wenn ich nicht irre kann platine einen größeren Transistor nehmen 
und dann auch 7 LEDs dranhängen weil beim BC338 / 337 wegen der Leistung 
nur 6 gehen dürften...(20mA s.O. * 5V = 0,1W  0,625W / 0,1W = 6) und 
(20mA*6=120mA <0,5A => i.O)





Weiß jemand zufällig wie man mehr üblicherweise größere Leistungen 
stellt ??
Also für sehr viele LEDs oder einen Motor (15 - 50W) natürlich "dimmbar 
mit pwm)
IUch dachte vielleicht gehts das PWM-Signal mit einem RC-Glied zu 
glätten also quasi Analog zu machen und dann mit einem P-Regler (1 
Operationsverstärker mit 2 Widerständen) auf 0-12V zu bringen..
bloß bekomme ich so keine 50W durch den Operationsverstärker ... oder 
wie geht das...????
(ein Relais macht wohl kaum eine PWN mit ^^ auch wenn die Leistung dort 
kein Thema wäre)
oder hilft da nur ein großer Transistor wie dieser:
http://www.reichelt.de/?;ACTION=3;LA=2;GROUP=A127;GROUPID=2885;ARTICLE=51648;START=16;SORT=artnr;OFFSET=16;SID=28JDMsQawQARwAAHIiVqAf7d11eecc0855c4276e42867d1f7cdaf

viele Grüße aus Hamburg
(Firma: none until further notice) #1502227
Lesenswert?

einzelne LEDs aufleuchten lassen
Kannste du dir recht leicht überlegen, kommt natürlich drauf an, wie du 
sie geschaltest hast ... nehmen wir einmal an du hast wie oben 
beschrieben alle in reihe geschaltet an 12V mit einem 9Ohm Vorwiderstand 
R1 vor der Reihe:

Dann könntest du z.B. zwischen alle LED je eine Diode setzen.
Vor jeder LED eine verzweigung setzen mit einem 1kOhm R2 oder wie oben 
genannt(2,2k weil 2,5 kannste gleub ich nicht kaufen)
und hinter der Led noch eine verzweigung an den beiden verzweigungen 
kommen dann 5V geschaltet

   =>  = Diode


 GND ---R1-- => -0-LED-0 => -0-LED-0 => -0-LED-0 => -0-LED-0- 12V+
                 |     |     |     |     |     |     |     |
                 R2    |     R2    |     R2    |     R2    |
                 |     |     |     |     |     |     |     |
                GND   5V+   GND   5V+   GND   5V+   GND   5V+

                       |           |           |           |
 z.B. schalten       BC338       BC338       BC338       BC338

Wenn du mehr Ausgänge brauchst zum schalten kannst du Schieberegister 
nehmen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren