Jumbo-LED Uhr

OP #413059
Lesenswert?

Anbei mal ne Ansteuerung für Jumbo-LED Anzeigen.

Da je 4 LEDs in Reihe geschaltet sind, werden mindestens 8V benötigt.
Daher habe ich die Betriebsspannung für die Anzeige auf 12V festgelegt.
Als Treiber für die Segmente dient ein TPIC6B595 (max 50V).

Die Anoden werden durch einen CMOS-Pegelwandler CD4504 mit
nachgeschaltetem Stromverstärker angesteuert.

Das Multiplexen macht dann der ATTiny26 nebenbei im Timerinterrupt.
Es werden die Segmente gemultiplext, d.h. je nach ausgewähltem Segment
die Digits eingeschaltet.

Durch die hohe Multiplexfrequenz (5,4kHz) ist praktisch kein Flimmern
sichtbar.

Als Beispiel wurde eine Uhr programmiert mit 2 Tasten zum Setzen der
Uhrzeit.

Außerdem läßt sich die Helligkeit dimmen. Dazu wird im Kompareinterrupt
die Anzeige wieder ausgeschaltet (PWM).
Das Dimmen erfolgt in 11 logarithmischen Stufen.


Peter
Angehängte Dateien:
Gast #413060
Lesenswert?

Wer sich fragt, wo bekommt man den TPIC6B595, hier eine Antwort:
Segor (1,20€/bei 10 Stk. 0,95€)
Reichelt, Conrad und CSD scheinen ihn nicht zu haben.
Ich habe das Teil auch gerade gesucht, um eine andere Schaltung zu
verkleinern.

Gruß Elektrikser
#413062
Lesenswert?

Hallo,

ich habe soetwas mal ohne externen IC gemacht, nur Transistoren
verwendet. Anbei die Schaltungsidee als Schaltplan.

Meine Schaltung arbeitet mit einem Tiny2313/90S2313, empfängt die
DCF77-Zeit und regelt die Helligkeit der Anzeige über die
Umgebungshelligkeit. Damit ist die Anzeige bei Dunkelheit gerade noch
sichtbar, im Hellen aber trozdem gut lesbar.

Schöne Grüße, Clemens
Angehängte Dateien:
Gast #413063
Lesenswert?

@Clemens
Ist das nur eine Schaltungsidee oder hast Du das auch in die Tat
umgesetzt?
Was mich wundert, ist die Ansteuerung der Anoden. Wenn die Transistoren
mit dem Emitter an einer höheren Spannung (V+ bei Dir)
liegen, werden sie sowohl bei L, als auch bei H-Pegel aufgesteuert
sein, da 5V an der Basis immer noch "negativer" als +12V am Emitter
sind. (Kopf kratz) :-)

MfG Paul
#413065
Lesenswert?

Hallo Paul,

du hast die schönen Z-Dioden übersehen... Ich hab 8 oder 9 V für die
LEDs, der rest auf 5V, dann sind die Dioden 4.7V und es geht. Hier
läuft die Anzeige seit dem Entwurf einwandfrei.

Einziges Problem ist der etwas magere Strom durch den AVR, dieser macht
wirklich nicht deutlich mehr als 200mA gesamt, auf jeden Fall schafft er
die 800mA (die ja bei "alles an" fließen müssten) definitiv nicht. Das
schadet allerdings nich so viel, der Unterschied in der Helligkeit ist
nicht so stark wie der Unterschied im Strom.

Clemens
OP #413066
Lesenswert?

@Clemens,

man kann die Pegelwandler natürlich auch diskret aufbauen.

Mir ging es aber darum, den Schaltungsaufwand möglichst zu minimieren.
Auch wollte ich dem MC strommäßig nicht zuviel zumuten.

Die Widerstände 47R sind etwas groß, aber bei mir ausreichend.
Der TPIC6B595 kann ja bis zu 500mA Spitzenstrom, also kann man die
Widerstände ruhig noch verringern oder die Spannung auf 15..18V
erhöhen.


Peter
OP #413067
Lesenswert?

Noch ne Anmerkung zum Compare-Interrupt.

Der Comparewert 0 kann nicht benutzt werden bei Software-PWM !

Der Grund ist, daß ein Compareinterrupt erst einen Zyklus später
erkannt wird:

Overflowinterrupt: Zähler von FF->00
Compareinterrupt: Zähler = Comparewert + 1 CPU-Zyklus

Abhängig davon, ob im Main gerade ein 1-Zyklusbefehl oder ein
Mehrzyklusbefehl nicht im letzten Zyklus ausgeführt wird, wird mal der
Compare- und mal der Overflowinterrupt zuerst ausgeführt.
Das Ergebnis ist ein zufälliges Flackern der PWM.

Deshalb habe ich für maximale Helligkeit 255 benutzen müssen.


Peter
Gast #413068
Lesenswert?

@Clemens
Oh, oh! Das habe ich als "normale" Dioden genommen.
Entschuldige meine Unachtsamkeit.
Anbei mal die Lösung bei meiner Uhr. Ich arbeite mit
geschalteten Konstantstromquellen, weil bie mir die
Segmente "hochkant" 5 LED´s haben und die quer nur 4.
Allerdings brauche ich außer dem Prozessor (Attiny2313)
keine weiteren Schaltkreise. Der Strom durch die LED´s
ist: 0.6 Volt / Emitterwiderstand.

MfG Paul
Angehängte Dateien:
#413071
Lesenswert?

Hallo Paul,

sehe ich das richtig, dass bei Dir die Anzeige immer gleich hell
leuchtet? Also dass bei einem eingeschaltetn Segment genausoviel Strom
(=Licht, was rauskommt) fließt als wenn alle 8 an sind? Eignetlich ist
das ja ein unerwünschter effekt, ist die Anzeigehelligkeit dann
deutlich von der angezeigten Zahl abhängig.

Vielleicht musst du eine ähnliche Konstruktion für jedes einzelne
Segment machen? Also die Dioden und den Emitterwiderstand in die
Kathodenleitung integrieren, oben wird er dann nicht mehr benötigt.

Schöne Grüße, Clemens
Gast #413073
Lesenswert?

Ach so, ich muß vielleicht noch dazu sagen, daß sowohl die Digits
gemultiplext als auch die Segmente, wenn das jeweilige Digit "dran"
ist gemultiplext werden. Somit ist immer nur ein Segment im Gange,
entweder mit 4 oder mit 5 roten LED´s in Reihe.
Die Bilder werden leider zu groß. (als jpeg ca. 1,6 MB)
#413074
Lesenswert?

Heisst das, dass du "anders rum muliplexet"? Also 1. Segment an und
alle Stellen die dieses Segment an haben auch an, danach 2. Segment und
alle Stellen die das zweite Segment an haben, etc?

Ist auch eine Idee, ich kann mir vorstellen, dass der "Character
generator" dann etwas umfangreicher ist, oder? schließlich muss man
sich bei jeder Multiplexstufe die richtigen Stellen raussuchen...

Bei der anderen Methode ist es einfach ein Memoryzugriff auf ein Array
in dem der Wert für eine Stelle steht und das anschließende Einschalten
der Stelle.

Clemens
Gast #413077
Lesenswert?

>>So ist es. Ich habe eine ziemlich lange SELECT CASE Anweisung drin.
Ist alles in BASCOM.

Das ist doch die Perfekte Anwendung für eine Lookup-Table (im Flash).
Aber sowas geht in BASCOM sicher nicht oder?
OP #413080
Lesenswert?

@Clemens

"Ist auch eine Idee, ich kann mir vorstellen, dass der "Character
generator" dann etwas umfangreicher ist"


Nö, damit hat das überhaupt nichts zu tun.

Schau mal in mein Programm, ich mache es genau so.

Im Interrupt werden einfach die 4 Digits für das aktuelle Segment
zusammen gesammelt und ausgegeben.
Dazu wird eine Maske rotiert, die dann auch ein 1-Bit in das
Schieberegister füttert, wenn sie einmal rum ist.


Peter
Gast #413081
Lesenswert?

@Rahul
Ja, das ist nur wegen meiner Anzeige so. Dieses Ding hat 12cm hohe
Ziffern und leider bei den "Quersegmenten" nur 4 LED drin. Deshalb
die Stromquellen. Außerdem war das eine böse Denkaufgabe und das Pro-
gramm ging gerade klemmend in den Prozessor. :-)

Ich wollte aber unbedingt diese Anzeigen nehmen, weil die Uhr auch
aus größerer Entfernung abzulesen sein sollte.
#413084
Lesenswert?

Ein vernünftig heruntergerechnetes Jpg hat ca 50 bis 60 KByte.

1600*1200 Pixel sind super um sie daheim anzuschauen,
fürs I-Net tuts auch 640*480. Dazu eine erträgliche
Kompressionsstufe und die 60 KB lassen sich ohne Probleme
erreichen.
Meine Mavice machte auf eine normale 1,44 MB Diskette
25 bis 30 Bilder drauf.

Deine Uhr würde mich auch interessieren. Vieleicht überlegst
du dir das mit den Bilder ja noch mal.
Gast #413085
Lesenswert?

Ich finde es übrigens sehr interessant, dass andere Leute (in diesem
Fall Peter) die gleiche Lötmethode anwenden, wie ich: Nicht erst lange
Drähte biegen, sondern gleich in Lötzinn auslegen.
Gast #413089
Lesenswert?

Falls der Betreiber mitliest: Entschuldige die großen Dateien, ich
habe sie zu komprimieren versucht, aber si waren nachher nicht zu
öffnen.
In der Not lösche sie bitte.

Schuldbewußt: Paul
Gast #413091
Lesenswert?

Das war irgend so ein Shareware-Programm, was ich auf die Schnelle
hergeladen habe. :-( Das ist hier nur mein "Werkstattrechner" und auf
dem ist nur das Nötigste. Ich habe absolut keine Ahnung von
Bildbearbeitung und brauchte das bis jetzt auch nicht.
MfG Paul
OP #413097
Lesenswert?

Auf Deinem Bild ist sehr schön zu sehen, welchen Wust an diskreten
Bauteilen ich mir mit den 2 ICs eingespart habe.

Allerdings sind die ausgeschalteten LEDs sehr hell zu sehen.
Hast Du keine Kontrastfolie davor oder sind die leuchtenden LEDs so
dunkel ?

Ich suche noch ne rote Folie, bei Sonnenlicht sind die nackten
Jumboanzeigen ziemlich kontrastarm.


Peter

P.S.:
Ich benutze auch das Programm, welches bei der Kamera dabei war und das
fragt beim Abspeichern als JPEG nach der Qualität (0..100).
Gast #413098
Lesenswert?

@Karl-Heinz
Jetzt habe ich Photoshop auf der CD zur Kamera gefunden. Geht.
Hätte schon eher mal danach gucken sollen.

@Peter
Ich habe diskrete BE en Masse hier liegen, weil ich gerne
"Schlachtfeste" mit alten Geräten veranstalte.
Hier gibt es keinen Laden mehr für Elektronikkram. :-(
Da nehme ich das, was da ist.
Auf den Platz kam es nicht an, da die Uhr ja groß genug
ist.

Folie ist nicht davor, sondern 1mm "Bastlerglas" (Polystyrol)

Ich suche auch noch nach roter Folie, um nur die leuchtenden LED´s
sichtbar zu machen.
Die LED´s sind VQA13/1 aus DDR-Produktion. Ich traue mich nicht, den
Strom zu erhöhen.
Ursprünglich wollte ich die Anzeige nach 20 Uhr dimmen, aber das Stück
Programm passt nicht mehr in den Prozessor. (Attiny2313) :-(

MfG Paul
OP #413099
Lesenswert?

@Paul,

"Hier gibt es keinen Laden mehr für Elektronikkram. :-("

Ja hier in Berlin hat sichs auch schon ausgedünnt. Die Ostläden
(Kastanienallee, Warschauer Straße, Bastlerquelle) gibts wohl alle
nicht mehr, aber Segor ist ganz gut.


"Ursprünglich wollte ich die Anzeige nach 20 Uhr dimmen, aber das
Stück Programm passt nicht mehr in den Prozessor. (Attiny2313) :-("

Stells doch mal rein, da ist bestimmt noch Optimierungspotential.
In C würde es jedenfalls garantiert reinpassen.


Peter
Gast #413104
Lesenswert?

...läuft mit einem Pic 16F84..

bin gerade dabei einen kalender zu implementieren. alles in pic asm..

7 Helligkeitsstufen sind möglich...

4 tasten zur bedienung

wochentag soll selbstständig errechnet werden..

maddin
Gast #459113
Lesenswert?

@Armin K.

also ich mache das so:
1
| |  _
2
| | |_|
3

4
 
5
 _|  
6
|_| |
7

8

9
 _
10
| |  
11
| | |
12

13
 
14
 _|  _
15
|_| |_|
16

17
 _
18
|_   _
19
|   |
20

21
 _   _
22
|_  |_|
23
 _| | |
24

25
 _
26
|_   _
27
 _| |_|
auch wenn das M nicht ganz der Norm entspricht, kann man es sehr gut 
erkenen..


Dennis
#2101863
Lesenswert?

Ich kann das natürlich nicht überprüfen, von Peda weiss ich, sein Code 
funktioniert.

Wie sieht's mit den FuseBits aus, welche hast du eingestellt, bzw. 
programmiert ?

Wenn wir hier nichts finden, bitte ich dich eine Nacht darüber zu 
schlafen und alles nochmals zu überprüfen.

Evtl. sind auch noch Tasten zu drücken ?
#2101875
Lesenswert?

also hardwear ist kein problem
was ich nicht hinkriege ist das er kompiliert.
Die datei die du hast geht eben auch nicht und wenn ich es kompiliere 
dan kommt eine fehlermeldung die mir sagt das alles nicht gefunden 
wurde.
Ich arbeite mit dem myavr-workpad-plus
Könnte es sein as du das falsche dokument geschickt hast?
den an der endung heist es .gz aber es müsste .hex heisen oder?
#2104582
Lesenswert?

eine frage hab ich noch

ich hab nochmals alles durchkontroliert und angeschaut und habe von der 
verdratung her keinen fehler gefunde. Die bauteile sind auch ganz und 
genau die wie im plan. Mein Problem ist das ich die Uhrzeit mit den 
Tastern nicht ändern kann und der Punkt blinkt nicht. Wo kann da der 
fehler sein?
#2104772
Lesenswert?

Hallo Peter,

schön dass Du hier mit liest, das gepostete HEX-File wurde mit
1
CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
2
CFLAGS += -Wall -Wstrict-prototypes
3
## Zusatz Flags
4
CFLAGS += -fno-inline-small-functions
5
CFLAGS += -fno-split-wide-types
6
CFLAGS += -fno-tree-scev-cprop
7
CFLAGS += -fno-move-loop-invariants
8
CFLAGS += -ffunction-sections -fdata-sections -Wl,--gc-sections
9
CFLAGS += -Wl,--relax
10
#
11
## -- ende --

und mit gcc-Version 4.3.4 (GCC) unter Linux übersetzt.

Bisher laufen alle meinen damit geschriebenen Programme.

.
#2111349
Lesenswert?

hallo peter

du hast folgendes am anfang geschrieben:
> Als Beispiel wurde eine Uhr programmiert mit 2 Tasten zum Setzen der
> Uhrzeit.

Ich bringe es jetzt dur das neue hex file hin die helligkeit 
einzustellen mehr nicht.
die anzeige bleibt auch immer bei null stehen auch nach einer stunde 
warten
OP #2111743
Lesenswert?

Mente Fabian schrieb:
> Ich bringe es jetzt dur das neue hex file hin die helligkeit
> einzustellen mehr nicht.

Funktionieren beide Tasten, d.h. links = heller und rechts = dunkler?

Zum Stellen muß links länger gedrückt werden, bis die Stunden blinken.

Ich hab das Hexfile noch auf meiner HD gefunden, sollte daher 
funktionieren.
Testen kann ich es aber nicht, da ich die Uhr verschenkt habe.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren