LED-Uhr mit Arduino

Fragen zu Schaltungen, Elektronik, Elektrik usw.

Moderator: T.Hoffmann

Antworten
frozen
Mini-User
Beiträge: 4
Registriert: Fr, 01.04.16, 21:33

Fr, 01.04.16, 22:13

Hallo,

ich bin blutiger Anfänger in Sachen Elektronik und habe mir zum Lernen ein kleines (?) Projekt ausgedacht, welches ich gerne umsetzen möchte.

Es geht um eine Uhr, welche die Zeit mittels LEDs anzeigt. Ich dachte dabei an 60 LEDs in, sagen wir, gelb für die Sekunden, 60 LEDs für die Minuten in vielleicht rot und 12 LEDs für die Stunden in blau oder so.
Gesteuert werden soll das ganze mit einem Arduino Uno.

Klar ist mir bereits, dass ich das Ganze mit Schieberegistern realisieren könnte, z.B. 74HC595. Allerdings saugen die vielen LEDs um 12:59:59 Uhr dann doch etwas arg viel Strom, so dass ich wohl eine Art Treiber benötige. Dabei dachte ich an ULN2803A.

3 PINs des Arduino würde ich zum Befüllen der Schieberegister verwenden.
An die Schieberegister kommt dann je ein ULN2803. Und an dessen Ausgänge dann direkt die LEDs mit Vorwiderständen.

Einen Schaltplan hänge ich mal an.
Ich hoffe, das könnte so funktionieren.

Was mir fehlt, ist eine Möglichkeit, die LEDs bei Dunkelheit auch dunkler zu machen, sie sollen ja nicht blenden. Mir ist einfach nicht klar, an welcher Stelle ich ein PWM-Signal dafür generieren könnte.

Kann mich jemand auf den richtigen Weg führen (und meinen Schaltplan kommentieren)?
Um die RTC (ggf. mit DCF77) habe ich mir noch nicht sooo viele Gedanken gemacht, das kommt später...

Vielen Dank!

LG,

frozen
Dateianhänge
uhr1.jpg
Benutzeravatar
dBase
Mega-User
Mega-User
Beiträge: 204
Registriert: Sa, 07.02.09, 14:14

Sa, 02.04.16, 06:36

So wie ich es sehe, und in der Annahme, dass es nicht highpower-LEDs sein werden, kannst Du ohne Treiber realisieren. Lies im Datenblatt vom Schieberegister, wie gross der maximale Strom pro Output Pin und Total sein darf (ich komme auf 20 und 70mA). Also begrenze den Einzel-LED-Strom auf 8.5mA, und Du bist im grünen Bereich.
PWM solltest Du am OE Output-Enable Pin anlegen können.
Bei nur einer LED pro Kanal kannst Du die LED-Speisung auch von 5V nehmen.
frozen
Mini-User
Beiträge: 4
Registriert: Fr, 01.04.16, 21:33

Sa, 02.04.16, 12:19

Vielen Dank für die schnelle Antwort!

Die Annahme ist korrekt, es sollen ganz normale LEDs werden, 3mm oder 5mm bedrahtet. Das Schieberegister kann bei meiner Variante anscheinend sogar 35mA pro Output aber ebenfalls nur 70mA insgesamt, folglich sind die 8,5mA auch in diesem Fall wohl die beste Lösung. Ich bin nur nicht auf die Idee gekommen, die LEDs mit so wenig Strom zu versorgen, danke für die Erinnerung, dass nicht immer alles voll angesteuert werden muss.. :-)

Wenn ich mir die Datenblätter verschiedener LEDs anschaue, sehe ich bei allen Modellen schöne Grafiken (Relative Luminous Intensity vs Forward Current), die mir suggerieren, dass beim Betrieb mit 8,5mA statt 20mA weniger als die Hälfte der Leuchtintensität erreicht wird. Wenn ich das so richtig verstanden habe, fehlt mir die Erfahrung um einschätzen zu können, ob das reicht, um bei Tageslicht noch gut sichtbar zu sein. Kann da jemand einen Erfahrungswert beisteuern?

Die anderen Tipps sind echt klasse! PWM an OE ist natürlich super, das spart einiges gebastel da ich dann direkt den Arduino zur Helligkeitssteuerung nutzen kann.
Und 5V an die LEDs spart ein Netzteil oder einen Spannungsregler bzw. -Teiler.

Herzlichen Dank für die Tipps! Ich sehe, dass ich noch viel lernen muss, aber jeder fängt ja klein an..
Benutzeravatar
jokerjux
User
User
Beiträge: 19
Registriert: Mo, 04.03.13, 00:46

So, 03.04.16, 09:12

moin

hier ein Forum zu Worduhren usw. http://diskussion.christians-bastel-laden.de/index.php
Borax
Star-Admin
Star-Admin
Beiträge: 11996
Registriert: Mo, 10.09.07, 16:28

Mo, 04.04.16, 10:32

Die 74HC595 vertragen wahrscheinlich auch viel mehr... Schau mal hier:
viewtopic.php?f=35&t=14820&p=161251
Andererseits...
Wenn ich das so richtig verstanden habe, fehlt mir die Erfahrung um einschätzen zu können, ob das reicht, um bei Tageslicht noch gut sichtbar zu sein. Kann da jemand einen Erfahrungswert beisteuern?
Reicht dicke! Oft blenden LEDs beim direkten rein schauen schon mit 2-3mA. Hängt aber auch stark von den LEDs und deren Abstrahlcharakteristik ab.
Echtzeituhr / DCF77 ist oft gar nicht nötig. Ich habe einen Wecker mit einem ATMega8 und normalem 4 MHz Quarz am laufen, der nach entsprechendem Ziehen des Quarzes und Eichung per Software nur etwa 1-2 Sekunden pro Monat falsch geht. Einschließlich automatischer Sommerzeit / Winterzeit Umstellung. Ist allerdings in Bascom geschrieben.
Quarz ziehen ist auf einem Arduino Uno wahrscheinlich nicht so einfach, aber dann muss man halt die ganze Korrektur per Software machen. Geht auch...
frozen
Mini-User
Beiträge: 4
Registriert: Fr, 01.04.16, 21:33

Di, 05.04.16, 10:43

Hallo,

vielen Dank für die Infos, das hilft mir sehr!
Ich werde es dann mit 8,5mA umsetzen.
MacGyver
Super-User
Super-User
Beiträge: 65
Registriert: Do, 10.06.10, 21:50
Wohnort: Dresden

Fr, 08.04.16, 16:22

Hallo,

zum Lernen ist die Schaltung mit den 595 Schieberegistern zwar gut geeignet, aber du kannst dir das Leben auch wesentlich vereinfachen, indem du WS2812B LEDs verwendest. Die können bereits von Hause aus RGB und haben die Elektronik, ähnlich einem Schieberegister gleich mit eingebaut. Die WS2812B hat 4 Pins. Masse, 5V, Data Input und Data Output. Der erste Data Input kommt an einen Arduinoausgang und der Data Output der ersten LED kommt an den Data Input der 2. LED und so weiter die ganze Reihe durch. Für den WS2812B gibt es bereits fix und fertige Libs.
Wenn du aus gleich welchen Gründen lieber 3x 60 Einzel-LEDs verbauen willst, dann lohnt es sich noch einen Blick auf den MAX7219 zu werfen. Einer davon kann eine 8x8 LED Matrix, also 64 LEDs ansteuern. 8x8 bedeutet ja nicht zwingend, das die LEDs auch optisch wie auf einem Schachbrett als Matrix angeordnet werden müssen. :wink:
Das passt doch perfekt! Auch die MAXe lassen sich kaskadieren und es gibt eine fertige Lib.
Ich habe das z.B. für ein pseudoanaloges Thermometer genutzt, wo 192 LEDs die Thermometerskala ergeben.
Mit einem Sack voller 74HC595 bekommst du das theoretisch zwar auch gebacken, aber wenn du da irgendwo Störungen reinbekommst, wirst du mit der Fehlersuche nicht mehr froh. Wenn nicht alle ICs einen 100n KerKo bekommen und ca. jeder 5. IC dann nochmals einen kleinen Elko von ca. 10-47µF bekommt, dann hast du verloren. Dazu kommt, das die Takteingänge von über 20 ICs schon eine beachtliche dynamische Last für einen Prozessorpin darstellen und du bei 20 ICs auch ruckzuck bei einer Leitungslänge von 50 cm bist.
frozen
Mini-User
Beiträge: 4
Registriert: Fr, 01.04.16, 21:33

Fr, 08.04.16, 19:01

Hallo MacGyver,

wow, das ist ja genial, das Teil! Besten Dank für diesen Tipp! Was es nicht alles gibt..
Gut, damit ist meine gesamte bisherige Planung erstmal hinfällig, aber diese MAXe sind tatsächlich genau das, was ich brauchen könnte. Denn die Fehlersuche, vor der du mich warnst, hätte sicher viel Frust verursacht, vielleicht so viel, dass ich mir ein neues Hobby gesucht hätte...

Also neuer Plan mit MAX7219.. Irgendwann wird auch mal was fertig werden.. ;)

Vielen Dank!!

LG,

frozen
Antworten