Forum: Mikrocontroller und Digitale Elektronik Bildwiederholungsfrequenz Cube


von Cubefaszinierter (Gast)


Lesenswert?

Hallo,

weiß jmd. wie ich die Bildwiederholungsfrequenz eines LED Cubes 
ausrechnen kann?
Multiplexing läuft über Timerinterrupt und µC ist auf 16 Mhz

von Vlad T. (vlad_tepesch)


Lesenswert?

42Hz

von Cubefaszinierter (Gast)


Lesenswert?

Vielleicht kann ja noch jmd. nen Rechenweg posten. Oder braucht man da 
genaue Angaben? timer prescale ist auf 8

von Lehrmann M. (ubimbo)


Lesenswert?

Ja du Genie. Dazu muss man

1) Schaltplan
2) Source Code
3) Fueses

kennen. Ansonsten ist es pure Spekulation!

von mr. mo (Gast)


Lesenswert?

42 ist die antwort auf alles.

von Frank B. (foobar)


Lesenswert?

Du könntest es auch einfach per Oszilloskop ausmessen. Wenn keins 
vorhanden: mit der Soundkarte aunehmen und per Audacity eine FFT-Analyse 
drüber laufen lassen :-)

von Floh (Gast)


Lesenswert?

Cubefaszinierter schrieb:
> Multiplexing läuft über Timerinterrupt und µC ist auf 16 Mhz

> timer prescale ist auf 8

Also im Timer wird immer weitergeschalten -> Timerfrequenz

Wie oft muss umgeschaltet werden, damit es wieder von vorne anfängt-> 
Zeilen/Spalten/Reihen (je nach Implementierung)

Bildwiederholungsrate = Timerfrequenz / Zeilen
:-)

von Cubefaszinierter (Gast)


Lesenswert?

Es ist ein 5er Cube. Die Ebenen liegen auf PD6-PD2. Sonst jede Säule an 
einen Pin und RxD und TxD frei.

von FritZ (Gast)


Lesenswert?

Cubefaszinierter schrieb:
> Es ist ein 5er Cube. Die Ebenen liegen auf PD6-PD2. Sonst jede Säule an
> einen Pin und RxD und TxD frei.

Achso...na dann sind es 47Hz!

von Vlad T. (vlad_tepesch)


Lesenswert?

also ich komm auf 42,42Hz

von Karl H. (kbuchegg)


Lesenswert?

Cubefaszinierter schrieb:
> Es ist ein 5er Cube. Die Ebenen liegen auf PD6-PD2. Sonst jede Säule an
> einen Pin und RxD und TxD frei.

Es ist ganz einfach.
Sieh dir deinen Code an, welche Aktionen gemacht werden und wie oft.
Daraus suchst du dir jetzt zusammen wieviele Updates des kompletten Cube 
dein Programm in der Sekunde schafft. Schon hast du deine 
Wiederholfrequenz

von FritZ (Gast)


Lesenswert?

Dann rechne nochma:

[(PD6-PD2) / jede Säule] * (einen Pin + RxD^TxD) = 47Hz

von Cubefaszinierter (Gast)


Lesenswert?

Das ist die ISR:
1
'---------------------------
2
Multiplex:
3
'---------------------------
4
   Porta = 0 : Portb = 0 : Portc = 0 : Portd = 0
5
   Incr Ebene
6
   If Ebene = 5 Then Ebene = 0
7
   Offset = Ebene * 4
8
   Incr Offset
9
   Portd = Marray(offset)
10
   Incr Offset
11
   Porta = Marray(offset)
12
   Incr Offset
13
   Portc = Marray(offset)
14
   Incr Offset
15
   Portb = Marray(offset)
16
Return

von Karl H. (kbuchegg)


Lesenswert?

Cubefaszinierter schrieb:
> Das ist die ISR:
>
1
> '---------------------------
2
> Multiplex:
3
> '---------------------------
4
>    Porta = 0 : Portb = 0 : Portc = 0 : Portd = 0
5
>    Incr Ebene
6
>    If Ebene = 5 Then Ebene = 0
7
>    Offset = Ebene * 4
8
>    Incr Offset
9
>    Portd = Marray(offset)
10
>    Incr Offset
11
>    Porta = Marray(offset)
12
>    Incr Offset
13
>    Portc = Marray(offset)
14
>    Incr Offset
15
>    Portb = Marray(offset)
16
> Return

Schön.
Und wie oft wird die in der Sekunde aufgerufen?

(Ich bitte dich. Die Frequenz zu bestimmen ist doch einfacher als einem 
Baby den Schnuller zu klauen. Das ist doch ein ganz simpler Multiplex 
über alle Ebenen ohne irgendwelche Sonderfälle)

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.