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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren