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!
www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern
Schaltstufe für kleine Lasten, anstelle des Relais deine Leds.
Wie viele Leds du in Serie schalten kannst hängt von deiner Spannung ab.
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
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.
Ja, dann würde ich für die LEDs einfach die 12v vom Netzteil abzweigen.
Ich bräuchte dann "nur" noch die Widerstandswerte für den LED
Vorwiderstand und den Wert für R2 am BC337
Viele Grüße
Alex
R2 hat 470 Ohm bis 1k, für die Vorwiderstände der Led muss ich wissen
welche du nimmst, blaue haben eine höhere Flußspannung als rote oder
grüne.
Wie willst du die Leds aufteilen, bei 12V gehen max. 5 in Serie. Wie
groß soll der Ledstrom maximal sein.
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.
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.
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?
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.
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)
Nee,
aus den Controller kommen 5V. Mit dieser Spannung geht es zur Basis des
Transistors.
Wie schon oben von Hubert geschrieben: 5V / 2mA ergibt 2500 Ohm.
Axel
Ü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.
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.)
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
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.
@ Karl heinz Buchegger
>Kann man.>Du hast> am Timer1 2 PWM-Kanäle
ich wusste nicht das es zwei "compare register" gibt..
das sind oc1a und oc1b richtig?
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
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 BC338BC338BC338BC338
Wenn du mehr Ausgänge brauchst zum schalten kannst du Schieberegister
nehmen
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister
Punkt 1.5
Achja keine Garantie auf Funktion und keine Haftung was meine Beiträge
angeht
Der Leser/Benutzer ist selbst zum Denken angehalten und sollte
vorschläge von meiner Person nur als Anregung verstehen! ^^