Forum: Mikrocontroller und Digitale Elektronik Binär-Uhr/ PWM+Schieberegister


von hobo (Gast)


Lesenswert?

Hallo,

wie schon im Betreff steht möchte ich eine Binär-Uhr bauen. Dabei sollen 
RBG-Leds von hinten eine "Milchplexiglasplatte" an leuchten. Also 
insgesamt 13 RGB-Leds, die Farbe soll per Poti (oder so) regelbar sein - 
aber nur insgesamt, nicht für jede LED einzeln.
Realisieren möchte ich das ganze über Hardware-PWM (timer) und die 
74HC595 Schieberegister

meine Fragen:

1) Welche LEDs könnt ihr Empfehlen?
-> SMD LEDs sind wohl die beste Wahl (abstrahlwinkel/ Farbmischung) , 
aber ich weiß nicht ob ich die gelötet (verdrahtet) bekomme; ansonsten 
wohl Superflux

2) Welches Plexiglas?
-> das trueLED (oder wie das genau heißt) sollte sich eignen?

3)An die Schieberegister (jeweils 2 kaskadiert) kommen dann jeweils alle 
LEDs einer Farbe(schiebergister1+2 ->blau /schieberegister3+4 ->grün 
usw)und die Output-enable Eingänge jeweils an einen PWM-Pin.
Funktioniert die Farbeinstellung so?

4) das Strom-Problem: der 74HC595 kann nur 70mA treiben
-> werden rund 12mA pro led reichen damit man die Uhr auch bei 
tageslicht/sonnenlicht ablesen kann???
-> ansonsten würde ich die Trickschaltung aus [[AVR-Tutorial: 
Schieberegister]] anwenden und die häflte der leds über Ground, die 
andere Häflte über +5v schalten. Da benötige ich dann aber Leds mit 
gemeinsamer Kathode (leds zwischen SR und GND) und gem Anode (LEDs 
zwischen +5V und SR) oder ?!

von Foglo (Gast)


Lesenswert?

Wie sind die 13 LEDs eingeteilt(hh:mm:ss)?

von Eumel (Gast)


Lesenswert?

Nimm 3 TLC5940, das verringert deinen Aufwand erheblich.

von Werner M. (Gast)


Lesenswert?

hobo schrieb:
> werden rund 12mA pro led reichen damit man die Uhr auch bei
> tageslicht/sonnenlicht ablesen kann?

Bei direktem Sonnenlicht wohl eher nicht. Es kommt auch drauf an, wie 
groß die Fläche ist, die von der LED beleuchtet wird. Den Lichtstrom von 
der Sonne kenne man, der von deiner LED steht im Datenblatt und dann 
kommt es noch auf das Transmissions- und Reflektionsverhalten der 
Plexiglasscheibe drauf an.

von Axel S. (a-za-z0-9)


Lesenswert?

hobo schrieb:

> RBG-Leds von hinten eine "Milchplexiglasplatte" an leuchten. Also
> insgesamt 13 RGB-Leds, die Farbe soll per Poti (oder so) regelbar sein -
> aber nur insgesamt, nicht für jede LED einzeln.

Es würde wesentlich einfacher werden, wenn du die Spielerei mit der 
einstellbaren Farbe weglassen würdest. Viel wichtiger wäre IMHO 
automatisches Dimmen in Abhängigkeit von der Umgebungshelligkeit.

> Realisieren möchte ich das ganze über Hardware-PWM (timer) und die
> 74HC595 Schieberegister

Würde ich anders machen. S.u.

> 1) Welche LEDs könnt ihr Empfehlen?
> -> SMD LEDs sind wohl die beste Wahl (abstrahlwinkel/ Farbmischung) ,
> aber ich weiß nicht ob ich die gelötet (verdrahtet) bekomme; ansonsten
> wohl Superflux

Kommt vor allem darauf an, wie groß die Uhr werden soll, und ob sie mal 
im prallen Sonnenlicht hängen wird (und dann noch ablesbar sein soll).

> 2) Welches Plexiglas?
> -> das trueLED (oder wie das genau heißt) sollte sich eignen?

"True LED" bedeutet meist nichts anderes, als daß das Plexiglas 
eingefärbt ist und an die spektrale Durchlässigkeit einer(!) LED-Farbe 
angepaßt ist. Was bei RGB-LED natürlich ausfällt.

> 3)An die Schieberegister (jeweils 2 kaskadiert) kommen dann jeweils alle
> LEDs einer Farbe(schiebergister1+2 ->blau /schieberegister3+4 ->grün
> usw)und die Output-enable Eingänge jeweils an einen PWM-Pin.

Würde ich anders machen. 13x RGB heißt ja 13*3 = 39 Einzel-LED. Könnte 
man nominell als Matrix 5*8 aufbauen. Oder - um in einer Zeile jeweils 
nur LED einer Farbe zu haben - als Matrix 6*7 mit 3 unbesetzten Plätzen.

Die PWM für die Farbeinstellung macht man dann entweder komplett in 
Software. Oder mit nur einem PWM-Kanal in Hardware. Für letzteres bietet 
sich an, die 6 Zeilen in Hardware zu dekodieren, z.B. mit einem 74HC138. 
Dann kann man die PWM an dessen Enable-Eingang legen. Die 
Multiplex-Routine muß dann nur für jeden Zyklus den für die jeweilige 
Zeile (= Farbe) gültigen PWM-Wert laden. Und natürlich macht man PWM und 
Mutiplex synchron.

> 4) das Strom-Problem: der 74HC595 kann nur 70mA treiben

Es gibt auch Schieberegister mit Treibern (oder anders herum: Treiber 
mit eingebautem Schieberegister). Wenn es hell werden soll, geht es 
nicht ohne Treiber. Die Matrix-Lösung hat den Vorteil, daß man weniger 
Treiber braucht.

Aber zuerst mal solltest du dir darüber im Klaren werden, welche LED bei 
welchem Strom du brauchst. Bau doch einfach das Gehäuse zuerst und dann 
experimentiere mit verschiedenen LED bei verschiedenen 
Lichtverhältnissen. Wenn du wirklich viel Strom brauchst, dann ergibt 
eine Matrix natürlich weniger Sinn. Andererseits sind die von dir 
angedachten SMD- bzw. Superflux-LED auch keine ausgesprochenen 
Hochstromtypen.


XL

von Hobo (Gast)


Lesenswert?

erstmal danke für eure Hilfe :)

hab gestern unter Zeitdruck natürlich wieder das wichtigste vergessen 
...

ich verwende ein arduino board (mit atmega 328p). Die uhr besteht aus 
hh:mm, für die einstelligen minuten / stunden 4 leds, für 2stellige min 
3leds und für 2stellige stunden 2 leds.

Es soll eine Wanduhr werden; ca 40x30cm (BxH), eine LED würde dann ein 
Rechteck von ca 7,5x5cm (BxH) möglichst homogen ausleuchten (bei 
möglichst geringer Tiefe).

Die Uhr könnte durchaus direktem Sonnenlicht ausgesetzt sein (falls die 
wiedermal scheinen sollte), muss dann aber nicht mehr unbedingt ablesbar 
sein.

Da ich so etwas noch nie gemacht habe und mich auch nicht mit RBG-LEDs/ 
den Helligkeits angaben auskenne weiß ich nicht wie stark diese sein 
müssen ...

daher werde ich wohl Schieberegister mit Treiber, wie das TLC5940, 
verwenden. Obwohl dieses etwas überdimensioniert scheint, brauche 
eigentlich nur output-enable um die LEDs per PWM zu dimmen...

von Hobo (Gast)


Lesenswert?

gibt es überhaupt RGB-LEDs mit vernünftigem Preis, die Leistungs/Strom 
mäßig zwischen den standart 20mA und den High Power LEDs liegen ?

Am besten nicht im SMD-Format :D

hab nicht wirklich was gefunden ...

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
Noch kein Account? Hier anmelden.