Irgendwie sehe ich vor lauter Bäumen den Wald nicht mehr; ich brauche für einen Motor eine PWM-Frequenz von ca 25 kHz. Wie stelle ich die ein? Ich blicke da mit den Registern nicht durch. Bis hierhin funktioniert erstmal alles: $regfile = "attiny2313.dat" $crystal = 8000000 $hwstack = 32 $swstack = 10 $framesize = 40 Config Portb.3 = Output 'OC1A Pin 15 Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare_a_pwm = Clear_up Pwm1a = 200 '200 von 511 ~ 40% high (wegen Clear_up) Do Loop End Mit PWM=8 und Prescale=1 komme ich auf 16,~ kHz. Kann mir evtl mal einer anfängerkompatibel zeigen, wie ich die Register einstellen muß (in BASCOM) um auf ca 25 kHz zu kommen. Ich verstehe nicht, welches Register ich wie einstellen muß, damit er "vorzeitig" zurückspringt. Danke Thomas
Thomas, schau für den verwendeten Mode mal ins Datenblatt des attiny2313, dort steht etwas über das TOP-Register und der sich ergebenden PWM-Frequenz. Mode 8 aus dem Datenblatt: Register: WGM13 WGM12 WGM11 WGM10 Belegung: 1 0 0 0 Text: PWM, Phase and Frequency Correct Top : ICR1 Register f = fclk / (2 *N *TOP ) N := prescaler divider (1, 8, 64, 256, or 1024) TOP := ICR1 Register
Zu Deiner Frage, man stelle die Formel um und setze die Vorgaben ein: fpwm = fclk / (2 *N *TOP) fpwm = 25kHz fclk = 8Mhz N = 1 TOP ist gesucht. TOP = fclk / (2 *N *fpwm) = 160 in das ICR1 Register wird dann der Wert (160-1) geschrieben.
Anm.: Man sieht also, die PWM Auflösung beträgt nur noch 160 Schritte. Wenn man mehr haben möchte muss die CPU Frequenz höher sein.
Thomas G. schrieb: > Kann mir evtl mal einer anfängerkompatibel zeigen, wie ich die Register > einstellen muß (in BASCOM) um auf ca 25 kHz zu kommen. http://bascom-forum.de/mediawiki/index.php/Timer#PWM_mit_variabler_Frequenz da mal lesen und "Fast PWM mit beliebiger Frequenz" wählen. ICR1 auf 319, prescale = 1 (8000000/1/320=25000) ... und mit Datenblatt vergleichen. Beispiel müßte aber auch für den ATtiny2313 passen.
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.