Perfekte Zeiten einhalten

Gast #1358268
Lesenswert?

Ich hab mir überlegt und auch etwas herumgespielt mit 7-Segment 
anzeigen.
Wenn ich die jetz multiplexen möchte also ein par transis und nen mega, 
was dann die perfekten zeiten sind, welche dafür nötig sind, dass keil 
flackern auftritt, und die segmente nicht "nachläuchten" also immer noch 
ein bisschen läuchten obwohl auf dem segment nix zu sehen ist.

Ich hoff jemand hat da etwas erfahrung gesammelt.

Grüße
#1358277
Lesenswert?

Wenn da was "nachläuchtet" (schreibt man übrigens nicht mit ä), dann ist 
die Multiplexsteuerung falsch programmiert.
Perfekte Zeiten? 100Hz und mehr. (aber nicht zu hoch in den kHz-Bereich 
gehen, sonst führen evtl. die Schaltzeiten von Transistor & Co. evtl. 
dann doch wieder zum "nachläuchten")
Gast #1358283
Lesenswert?

50Hz reichen nicht, 100 schon. Die obere Grenze ergibt sich meist aus 
den EMV Anforderungen, das Ding soll ja andere Geräte nicht stören, und 
bei Multiplexanzeigen fliessen recht hohe Ströme. Daher legt man bei 
kommerziellen Anzeigen wert auf langsamen Ansteig und Abfall der Ströme, 
das bremst.

Ist die Multiplexanzeige bewegt, kann man mehr als 100Hz benötigen.
Gast #1358288
Lesenswert?

hab in meinem Programm jetzt halt 450 mikrosekunden wo die an ist, und 
dann schalt ich die wieder aus und die nächste wieder an und isgesammt 
halt 5 stück.
Ich werds mir nacher mal durchrechnen, aber dankeschonmal.

CU

P.S.: 50 und 100 Hz sind bei den fernsehern doch auch der fall gell ;)
#1358291
Lesenswert?

Oberhalb 100 Hz Wiederholfrequenz flackert nichts mehr, ich nehme immer 
Werte so zwischen 120 und 150 Hz. An den Prozessortakt angepasst und auf 
gute Teilbarkeit optimiert.
Nachleuchten vermeidest Du, indem Du beim Wechsel zuerst den 
Digittreiber abschaltest, dann die neue Segmentinformation an die 
Anzeige ausgibst und am Schluß den nächsten zugehörigen Digittreiber 
wieder einschaltest.
Also nicht bei aktivem Digittreiber die Segmenansteuerung wechseln, das 
sieht man.

Reinhard
Gast #1358321
Lesenswert?

Jo vorher würde ich machen, aber das war eins meiner ersten projekte und 
das fand ich echt schon gut ;) naja okay das nächste mal dann.

Das mit der übergabe daran hab ich gar nicht gedacht, ich mach mir grad 
das layout für ein 5 stelliges display so wie ein LCD nur mit 7-Seg, da 
werd ich mir dann mehr mühe machen ;)
#1358740
Lesenswert?

wie MaWin schon sagte:
100 Hz reichen nicht unbedingt.

Beim Fernseher fällt es nicht auf, da das Bild bewegt ist und (bei 
röhren) leicht nachleuchtet.
wenn du eine LED mit 100Hz und geringem Duty-Cylce pulst und deinen Kopf 
bewegst (oder die LED) hast du so einen Perlenschnur-Eeffekt.
Das kann ganz schön unangenehm sein.


Edit:
>das hat nix mit Layout zu tun, sondern etwas mit dem Timing beim
>ansteuern der Segmente und Digits ....

würd ich auch vermuten.
Zb, dass du erst den einen Port umschaltens, dann den anderen. -> die 
falschen LEDs gehen erst mal ganz kurz an.
um das zu beheben must du den anderen Port erst ausschalten, dann den 
einen an und dann den anderen wieder mit dem neuen Wert.
Gast #1358852
Lesenswert?

Okay habs jetzt mal soweit verbessert, und zuerst das neue zeichen 
"angelegt" und dann die masse  durchgeschalten. funktioniert perfekt! 
DANKE!
Aber jetzt nochmal zu der frequenz, wenn ich da jetzt immer 1ms warte 
pro segment, dann macht das mich pro durchlauf eines Taktes ja immer 5 
ms also geht mir da ziemlich die rechenleistung verloren.

wenn ich jetzt nicht alzu lang warte, dann werden die segmente dunker -> 
auch doof...

irgendwie muss es da doch eine andere lösung geben oder???

Guten abend noch
#1358892
Lesenswert?

CU schrieb:
> Aber jetzt nochmal zu der frequenz, wenn ich da jetzt immer 1ms warte
> pro segment, dann macht das mich pro durchlauf eines Taktes ja immer 5
> ms also geht mir da ziemlich die rechenleistung verloren.


Nö, Multiplexen ist Standard, kostet unter 1% CPU-Zeit (in C).

Du muß ja im Timerinterrupt nur 3 Ausgabebefehle machen, das schafft man 
schon.
Für 5 Digits brauchst Du im SRAM 5 Byte als "Bildspeicher" und ein Byte 
zum Zählen, welches Digit grad ausgegeben werden soll.


Peter
#1358990
Lesenswert?

@  CU (Gast)

>Aber jetzt nochmal zu der frequenz, wenn ich da jetzt immer 1ms warte
>pro segment, dann macht das mich pro durchlauf eines Taktes ja immer 5
>ms also geht mir da ziemlich die rechenleistung verloren.

Nöö, wenn man sich mal über das Thema LED-Matrix und Interrupt 
informiert, ist das alles ganz einfach.

>irgendwie muss es da doch eine andere lösung geben oder???

Nicht das Rad neu und viereckig erfinden, NACHLESEN wie es MILLIONEN vor 
dir gemacht haben.

MFG
Falk
#1359143
Lesenswert?

CU schrieb:

> Aber jetzt nochmal zu der frequenz, wenn ich da jetzt immer 1ms warte
> pro segment,


Musst du nicht.
Du musst nur dafür sorgen, dass dein Interrupt alle 1ms kommt. Bei jedem 
Interrupt schaltest du um 1(!) Stelle weiter. Also nicht alle 5 in einem 
ISR Durchgang.

EDIT: Bisher war ja von Interrupt noch gar nicht die Rede, sehe ich 
gerade. Sollte es aber. Am einfachsten legt man das Multiplexing in eine 
ISR.
Gast #1359241
Lesenswert?

> wenn du eine LED mit 100Hz und geringem Duty-Cylce pulst und
> deinen Kopf bewegst (oder die LED) hast du so einen Perlenschnur-
>Eeffekt. Das kann ganz schön unangenehm sein.

Sieht man auch ab und zu bei den Rücklichtern und Tagfahrlichtern von 
neueren Autos. Da werden die LEDs auch gerne mal zu niedrig getaktet.
#1359626
Lesenswert?

>Wer Multiplexanzeige ohne Interrupts macht, muß extremst Langeweile
>haben.

zumal dann die Anzeige ständig flackert, wenn der µC mal mehr, mal 
weniger zu tun hat (sieht man noch schön bei alten/einfachen TV-Geräten, 
wenn man eine Taste drückt - da war also offensichtlich auch schon ABM 
angesagt ;-)
Gast #1359628
Lesenswert?

> Sieht man auch ab und zu bei den Rücklichtern und Tagfahrlichtern von
> neueren Autos. Da werden die LEDs auch gerne mal zu niedrig getaktet.

Es spart eine Spule im Wert von 12 ct.
Das ist bei den Preisen von Premium-Autos mit LED Rücklichtern natürlich 
absolut wichtig, dieses Geld einzusparen, um den Reibach-Koeffizienten 
hoch genug zu halten.

Das kann man problemlos zu Lasten aller anderen Verkehrsteilnehmer 
machen, schliesslich hat man den TÜV-Prüfer mit hundertausenden EUR 
bestochen.

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