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
> wenn 7 in Reihe geschaltet werden und mit 5v betrieben werden? Wird nicht funktionieren. Oder haben die LEDs ne Vorwärtsspannung < 714 mV?
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.
Warum hängst du dich nicht einfach an Beitrag "Machbarkeit - LED-Sternenhimmel mit AVR?" dran? Es ist ja nun nicht so, als ob du der erste bist, der so was bauen will.
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?
12V - 10,2V = 1,8V R = U/I = 1,8V / 20mA = 90 Ohm R = U/I = 1,8V / 2mA = 900 Ohm usw... Axel
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.
Ok! Also wenn die LEDs in meinem Fall mit 12v versorgt werden, nehme ich 12 V / 2mA = 6kOhm als R2 am Transistor?
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.
Ok! Kapiert! Zwar einiges vereinfacht, aber reicht erstmal für nen Laien ;) Vielen Dank für die kompetente Hilfe!
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.)
Hmm dann nehme ich lieber den Atmega644P-20PU, der hat laut Beschreibung 6 PWM Kanäle. Kann mann alle parallel nutzen?
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
18 Kanal 8 bit PWM mit ATMEGA8, Beitrag "PWM- Controller 18- Kanal TWI- Bus Proj." Lässt sich per i2c ansprechen, ist wundervollst dokumentiert und funktioniert auch!
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 BC338 BC338 BC338 BC338 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! ^^
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.