Hallo ich komme nicht drauf wie man Prescalar bestimmt(Timer 16 Bit; Frequenz 2000HZ; N/fclk= 1 mikroSekunde; Fast PWM). Ich wäre sehr dankbar wenn mir Jemand dabei helfen könnte :) Danke
Lea D. schrieb: > ich komme nicht drauf wie man Prescalar bestimmt Du kommst darau wen du intensiv das Datenblatt (den Abschnitt zu den Timern) liest und verstehst. Prescalar wird Prescaler geschrieben.
Hallo, je nach Timer gibt es Nebenbedingungen, z.B. den max. Zählwert. Z.B. 2^8 = 256 oder 2^16 = 65536 Dann gibt es unterschiedliche Prescaler (Vorteiler), z.B. Elemete aus dieser Menge: {0,1,8,64,256,1024} Die Auswahlbedingung kann man in eine Formel schreiben:
1 | F_CPU/ Prescaler/ DEST_FREQUENCY <= MAX_TIMER_COUNTER |
Z.B.: es sei gegen: MAX_TIMER_COUNTER = 2⁸ ; ist Abhängig vom Timer und Timermodus! F_CPU = 1*10⁶ Hz DEST_FREQUENCY = 2*10³ Hz Prescaler = 8 Dann fragt man sich, gilt:
1 | (1*10⁶ Hz/ 8/ 2*10³ Hz <= 2⁸) <==> |
2 | (500/ 8 <= 2⁸) |
Und berechnet noch den Fehler aus, wir rechnen hier mit Ganzenzahlen aus |N. Der Bruch 500/ 8 = 62,5 und kann also 62 oder 63 als Prescaler wählen. Also teste man noch andere Prescaler auf geringe Fehler aus. Mit Prescaler = 256 folgt:
1 | (1*10⁶ Hz/ 256/ 2*10³ Hz <= 2⁸) <==> |
2 | (500/ 256 <= 2⁸) |
Der Bruch 500/ 256 ~ 1,9531 Mit (Auf-)Runden (long)(1.0* 500/ 256 +0.5) = 2 kommt man zu einem besseren Ergebnis.
Einen Prescaler benötigt man, wenn das gewünschte Teilerverhältnis größer ist als es der Timer alleine schafft. Hier gilt 1 MHz / 2 kHz = 500, ein 16-bit-Timer erreicht bis zu 2^16 = 65536, also ist kein Prescaler nötig, bzw. er wird auf 1 gesetzt.
Vielen Vielen dank für die Antwort :) Das hat mein Problem gelöst Grüße Lea
@Auf Gemerkt du erinnerst mich an meinen Professor :D! chill mal .. das war nur ein Tippfehler ;)
:
Bearbeitet durch User
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.