Hallo, weiß jmd. wie ich die Bildwiederholungsfrequenz eines LED Cubes ausrechnen kann? Multiplexing läuft über Timerinterrupt und µC ist auf 16 Mhz
Vielleicht kann ja noch jmd. nen Rechenweg posten. Oder braucht man da genaue Angaben? timer prescale ist auf 8
Ja du Genie. Dazu muss man 1) Schaltplan 2) Source Code 3) Fueses kennen. Ansonsten ist es pure Spekulation!
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 :-)
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 :-)
Es ist ein 5er Cube. Die Ebenen liegen auf PD6-PD2. Sonst jede Säule an einen Pin und RxD und TxD frei.
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!
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
Dann rechne nochma: [(PD6-PD2) / jede Säule] * (einen Pin + RxD^TxD) = 47Hz
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 |
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.