Bascom & Frequenz bei PWM einstellen

OP (Firma: Frickelhauptquartier) #4768726
Lesenswert?
• ▲
▼
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
Gast #4768762
Lesenswert?
• ▲
▼
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
Gast #4768765
Lesenswert?
• ▲
▼
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.
Gast #4768840
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.