Hallo Zusammen!
Ich würde gerne ein LED-Lauflicht bzw. eine LED-Beleuchtung bauen.
Das ganze soll über einen ATmega (32, da viele Ports?) aufgebaut werden.
Was sind dabei für LEDs zu empfehlen?
Könnte der Controller, wenn ich an alle 4 Ports(A-D) eine LED hänge,
diese gleichzeitig treiben?
Sollte man die LEDs gegen + schalten, und durch die Ports des
Controllers
auf Masse ziehen?
Sind SMD-LEDs vielleicht besser geeignet für das Vorhaben?
Ich bin ein Einsteiger in Elektronik, habe jedoch schon einige male mit
einem
ATmega gearbeitet und habe passendes Entwicklungswerkzeug hierfür.
Danke für eure Hilfe!
Grüße
Alex
Alexander schrieb:> Hallo Zusammen!>> Ich würde gerne ein LED-Lauflicht bzw. eine LED-Beleuchtung bauen.>> Das ganze soll über einen ATmega (32, da viele Ports?) aufgebaut werden.
Kann man. Ansonsten bieten sich Schieberegister oder Expander an. Kommt
drauf an wieviel Aufwand man möchte und was man so Programmiertechnisch
kann.
> Was sind dabei für LEDs zu empfehlen?> Könnte der Controller, wenn ich an alle 4 Ports(A-D) eine LED hänge,> diese gleichzeitig treiben?
Schlecht. Man kann da besser noch was zwischenschalten. Gibts
Konstanstromquellen für, Transistor Arrays und und und ...
> Sind SMD-LEDs vielleicht besser geeignet für das Vorhaben?
Der Verbrauch ändert sich durch SMD nicht. Kommt eher drauf an was du
genau machen willst und wie gut du Löten etc. kannst.
Beschreib mal wofür du das Lauflicht bauen willst und welche
Randbedingungen noch da sind.
Hallo!
Danke zunächst für die Antwort.
Also, das Vorhaben ist folgendes:
Zum Geburtstag eines Freundes soll ein Schild gebastelt werden.
Hier werden LEDs eingelassen und diese sollen leuchten -
nach Möglichkeit nicht alle gleichzeitig.
Da stellt sich auch sofort die nächste Frage, wie man sowas am besten
mit Spannung versorgt, damit das Ding eventuell eine Nacht durchblinken
kann.
Reicht dafür ein 9V Block mit Anpassung auf 5V oder nimmt man lieber
etwas anderes?
Für guten Rat bin ich sehr dankbar ;-)
Alexander schrieb:> Was sind dabei für LEDs zu empfehlen?> Könnte der Controller, wenn ich an alle 4 Ports(A-D) eine LED hänge,> diese gleichzeitig treiben?
Wenn du Low-Current LEDs (2 mA / z.B. Reichelt) benutzt, dürfte das kein
Problem sein.
Bedeutet, dass ich eine (oder 2) LEDs mit entsprechendem Vorwiderstand
gegen 5V schalten kann und diese mit dem ATmega auf Masse durchschalte?
Interessant wäre nun noch das mit der Spannungsversorgung.
Gruß
Alex
Alex schrieb:> Bedeutet, dass ich eine (oder 2) LEDs mit entsprechendem Vorwiderstand> gegen 5V schalten kann und diese mit dem ATmega auf Masse durchschalte?
Ja.
> Interessant wäre nun noch das mit der Spannungsversorgung.
Spannungsversorgung? Irgendein billiges 5V Netzteil, stabilisiert sollte
es sein. Gibt es zu auf dem Grabbeltisch für irgendwelche
Multimediasachen oder als Ladegerät fürs Handy.
Alex schrieb:> Bedeutet, dass ich eine (oder 2) LEDs mit entsprechendem Vorwiderstand> gegen 5V schalten kann und diese mit dem ATmega auf Masse durchschalte?
Sollange es eine Low Current ist ja.
> Interessant wäre nun noch das mit der Spannungsversorgung.
Wenn du nur ein paar Low Current LEDs ansteuerst und nicht noch viele
Zusatzfunktionen einbaust, dann kannst mit genug Zeit rechnen.
Hi!
Noch was anderes:
Ich musste gerade feststellen, dass es keine (nur SMD) weißen
Low-Current LEDs gibt.
Da nun aber auf jeden Fall weiße LEDs enthalten sein sollen,
muss ich wohl doch mit Transistoren arbeiten.
Welche Transistoren können hier benutzt werden?
Oder gleich die o.G. Transistorarrays?
Gruß
Alexander schrieb:> Hi!>> Noch was anderes:> Ich musste gerade feststellen, dass es keine (nur SMD) weißen> Low-Current LEDs gibt.
Kann sein. Wo denn geschaut?
> Da nun aber auf jeden Fall weiße LEDs enthalten sein sollen,> muss ich wohl doch mit Transistoren arbeiten.>> Welche Transistoren können hier benutzt werden?> Oder gleich die o.G. Transistorarrays?
Zum ein-/ausschalten tuts eigentlich jeder. BC337 usw. so billige
reichen da vollkommen. Als Array fällt mir spontan nur die dinger der
ULN reihe ein, kann man nehmen, ist aber wieder das mit den Kanonen und
Spatzen.
evtl. mal nach LED Treiber ICs googlen. Gibt paar die direkt mehrere
LEDs ansteuern können mit nur einem Widerstand als Referenz.
Funktionieren nach dem Prinzip der Konstantstromquelle. Vielleicht
meldet sich hier auch mal jemand dem spontan ein passender einfällt der
auch bei den üblichen Verdächtigen erhältlich ist.
Hallo!
Ich habe nun alles zusammen und aufgebaut.
Weiterhin benutze ich zur Programmierung (C) die eclipse
Entwicklungsumgebung.
Ich begreife nun leider nicht, wie ich den C-Code übersetzt bekomme,
bzw. wo ich nach dem Übersetzen die Hex-Datei zum Übertragen finde.
Beim Betätigen von "Build" im Eclipse erscheint keinerlei Fehlermeldung,
sodass ich davon ausgehe, dass das übersetzen klappt (bitte Korrigiert
meine Aussage, falls meine Annahme falsch ist).
Was muss ich tun? Bzw. wo finde ich die Hex-Datei?
Gruß & Dank
Alex
Moin!
Habe es selbst hinbekommen, nun stehe ich jedoch vor dem nächsten
Problem:
Auf dem Eva-Board von Atmel funktioniert das LED-Blinklicht mit LED1/2
über JP6/7 an Port D.5 und D.6.
Nun, wenn ich die Jumper löse und eine eigene Schaltung hinanhänge,
funktioniert das ganze nicht mehr - vermutlich liegt der Fehler also bei
der Schaltung.
Für die Schaltung, siehe Anhang.
Die beiden Basen sind über einen 1k-Ohm Basiswiderstand an den µC
angeschlossen (Beide Basen parallel!!).
Die LEDs sind über einen Vorwiderstand an VDD angeschlossen.
Der Emitter der Transistoren liegen auf GND.
Wo ist der Fehler in der Schaltung?
NImm deine Schaltung mal vom µC weg, und lass nur Vdd und GND
angeschlossen. Kontrollier zur Sicherheit noch, ob du an Vdd auch
wirklich +5V hast. Und dann verbindest du einfach mal das jetzt offene
Ende des Basiswiderstandes mit einem Stück Draht mit Vdd. Leuchten deine
LED? Was ist, wenn du statt an Vdd mit GND verbindest?
(Leider kann man auf deiner Graphik nicht erkennen, welche Bezeichnung
deine Transistoren tragen. Und 2 Transistoren an einem Basiswiderstand
finde ich jetzt auch nicht so prickelnd. Wenn das ein Wald und Wiesen
Transistor ist, dann kann leicht 1 Transistor alle beide LED treiben.
D.h. den 2.ten brauchst du gar nicht)
Alexander schrieb:> Moin!>> Habe es selbst hinbekommen, nun stehe ich jedoch vor dem nächsten> Problem:> Auf dem Eva-Board von Atmel funktioniert das LED-Blinklicht mit LED1/2> über JP6/7 an Port D.5 und D.6.
Keine Ahnung welches du meinst, aber wenn es klappt super.
> Nun, wenn ich die Jumper löse und eine eigene Schaltung hinanhänge,> funktioniert das ganze nicht mehr - vermutlich liegt der Fehler also bei> der Schaltung.
Wahrscheinlich.
> Für die Schaltung, siehe Anhang.> Die beiden Basen sind über einen 1k-Ohm Basiswiderstand an den µC> angeschlossen (Beide Basen parallel!!).
Nicht so toll. Beiden einen eigenen Basiswiderstand verpassen.
> Die LEDs sind über einen Vorwiderstand an VDD angeschlossen.> Der Emitter der Transistoren liegen auf GND.
Hört sich richtig an.
> Wo ist der Fehler in der Schaltung?
Wenn du das so gebastelt hast wie gezeichnet, dann ist der einzige
Fehler an der Stelle mit den Basiswiderständen. Ansonsten sollte das
Funktionieren.
Wobei ich mich Frage:
Du hast oben zwei LEDs mit jeweils einen Port Pin angeteuert. Warum
steuerst du hier zwei LEDs mit einem an?
Weil so wie du das jetzt da gezeichnet hast, reicht auch nur ein
Transistor für beide LEDs.
Wenn du aber beide LEDs seperat ansteuern willst, dann solltst du jedem
Transistor einen eigenen Basiswiderstand spendieren und jeweils an den
richtigen Port Pin hängen.
Alexander schrieb:> Ich musste gerade feststellen, dass es keine (nur SMD) weißen> Low-Current LEDs gibt.
Hast du dir die LED 3-04700 WS bei Reichelt angesehen? Man muß ja nicht
20mA durchschicken.
Hi!
Danke zunächst für die Masse an Antworten.
Die Transistoren sind BC548A's.
Ich habe die LEDs gesehen, jedoch sind diese deutlich zu düster für das
Vorhaben.
Habe nun die LED 5-3000 WS von Reichelt hier liegen.
Diese passen von der Helligkeit sehr gut.
Leider haben Sie aber lt. Daten(blatt) eine Spannung von 3,6-4V bei 20mA
und ich benötige evtl. > 30 Stück (steht erst morgen genau fest) von den
Teilen.
Daher wollte ich zwei LEDs mit einem Port treiben, da sowieso jeweils
zwei gleichzeitig geschaltet werden sollen.
Zu der Drahtprobe: Verbinde ich den Basisvorwiderstand mit VDD, leuchten
die beiden LEDs.
Ist der 1k Widerstand und der damit verbundene Strom von rund 45mA nicht
richtig dimensioniert?
Meine Überlegung war nach der Stromteilerregler, dass sich die Ströme
eigentlich nahezu gleich aufteilen müssten an beide Basen - und 25mA
sollten zum Durchschalten des BC548A reichen, oder?
Weiterhin dürften die LEDs dann ja eigentlich auch nicht leuchten, wenn
ich den Basiswiderstand mit Vdd verbinde.
LG & Danke im Vorraus.
Kleines "Edit":
Deine LEDs hatte ich auch im Auge.
Letztendlich sind meine Ähnlich.
Könnte ich diese auch am Controller treiben?
Glaube nicht, dass ein einzelnder Port 8 von den Dingern treiben kann
oder?
Hallo,
Alexander schrieb:> Ist der 1k Widerstand und der damit verbundene Strom von rund 45mA nicht> richtig dimensioniert?
1. Wie kommst du auf die 45mA bei 1kOhm?
2. http://www.mikrocontroller.net/articles/Basiswiderstand
Du willst ein unter Umständen etwas batteriebetriebenes bauen, aber
verschwendest unnötig am Transistor Strom?
Dein Transistor hat ein HFE von mindestens 110. Sprich bei 20mA an der
LED brauchst du weniger als 182µA um den Transistor ausreichend
durchzuschalten.
Alexander schrieb:> Könnte ich diese auch am Controller treiben?> Glaube nicht, dass ein einzelnder Port 8 von den Dingern treiben kann> oder?http://www.atmel.com/Images/doc2503.pdf Seite 287:
DC Current per I/O Pin ................................................
40.0mA
DC Current VCC and GND Pins.......................... 200.0mA and
400.0mA TQFP/MLF
Jetzt kannste abschätzen, wie viele LEDs du anschließen kannst, wenn du
sie maximal/verringert bestromst.
Gruß
Michael
Alexander schrieb:> Meine Überlegung war nach der Stromteilerregler, dass sich die Ströme> eigentlich nahezu gleich aufteilen müssten an beide Basen
Die Stromteilerregel besagt bei Dioden, also auch bei BE-Strecken von
Transistoren, dass der Strom wegen der Temperaturabhängikeit der
Eingangskennlinie hauptsächlich durch den wärmeren Transistor fließt,
m.a.W. ein gemeinsamer Basiswiderstand bei Parallelansteuerung mehrerer
Transistoren in Emitterschaltung ist Mist.
Michael schrieb:> 1. Wie kommst du auf die 45mA bei 1kOhm?> 2. http://www.mikrocontroller.net/articles/Basiswiderstand> Du willst ein unter Umständen etwas batteriebetriebenes bauen, aber> verschwendest unnötig am Transistor Strom?> Dein Transistor hat ein HFE von mindestens 110. Sprich bei 20mA an der> LED brauchst du weniger als 182µA um den Transistor ausreichend> durchzuschalten.
Die Rechnung war meinerseits 5V - 0,7V = 4,3V / 1k =~ 45mA (um eine
Zehnerpotenz versehen ;-))
Aber trotzdem müsste der Transistor doch schalten, oder?
Wenn ich die Schaltung anschließe, dann schalten sich die LEDs an, wenn
ich den "Basisdraht" an PD5 herausziehe, gehen diese aus.
Werner schrieb:> Die Stromteilerregel besagt bei Dioden, also auch bei BE-Strecken von> Transistoren, dass der Strom wegen der Temperaturabhängikeit der> Eingangskennlinie hauptsächlich durch den wärmeren Transistor fließt,> m.a.W. ein gemeinsamer Basiswiderstand bei Parallelansteuerung mehrerer> Transistoren in Emitterschaltung ist Mist.
Habe nun versucht, das ganze nur mit einem 1kOhm an einem Transistor zu
machen. Der Effekt ist der Selbe wie bei beiden Transistoren zusammen:
Die Dioden leuchten dauerhaft.
Das zugehörige µC Programm ist folgendes:
Das kann nicht alles sein.
Da fehlen noch die #include und es fehlt die Angabe von F_CPU für den
_delay_ms. Und wenn die falsch ist, dann blinkt deine LED nicht alle 1
Sekunden sondern zb alle 16 Sekunden. Und wenn du vorzeitig die Geduld
verlierst (weil du nicht 16 Sekunden wartest), dann sieht es für dich so
aus, als ob sie gar nicht blinkt.
Habe den Fehler gefunden:
Es lag an zwei unterschiedlichen Massen (eine vom USB-Anschluss des
Rechners, einmal von dem Netzteil zur Versorgung der Platine).
Da hättet ihr noch lange suchen können, wenn ich soetwas nicht dazu
schreibe.
Tut mir leid, und vielen Dank für die Tipps!