PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM - 2 Fragen



Roboter n00b
11.02.2007, 19:46
Hallo zusammen^^

So, ich will mich jetzt auch an die PWM Motorregelung heranwagen. Habe mir schonmal den PWM Eintrag im Wiki zu Gemüte geführt, und das scheint ja auch nicht so schwer zu sein. Ein paar fragen hätte ich dennoch:

- Der PWM Takt stellt ja einen Pin periodisch von 0 auf 1 und umgekehrt. Heisst das im Bezug zur Motoransteuerung, das ein PWM geregelter Motor im Prinzip in sehr kleinen Zeitabständen immer ein und wieder ausgeschalten wird? Und je länger die "low-periode" dauert, desto langsamer der Motor?

- Beim Bascom Beispiel im Wiki werden folgende Comparewerte gebraucht:


Config Pinb.1 = Output
Config Pinb.2 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Compare1a = 205
Compare1b = 51

205 + 51 = 256...

Zufall? Oder anders gerfragt, kann man die beiden Werte unabhängig voneinander wählen, oder geht das nicht, da beide den selben Timer benutzen?

das wärs vorerst

liebe grüsse
serge

linux_80
11.02.2007, 20:09
Hallo,
die beiden PWM Kanäle kann man unabhängig einstellen.
Wenn aber, wie hier, auf 8Bit PWM eingestellt ist, ist der max. Wert 255.
Bei 10Bit entsprechend max. 1023.

Roboter n00b
11.02.2007, 20:12
Hallo

Also je höher die Bitzahl, desto genauer kann man einstellen?

Und noch was: OC1a und OC1b nutzen ja den selben Timer. OC2 hingegen hat einen separaten timer. Was heisst das nun in der praxis?

gruss
serge

linux_80
11.02.2007, 20:27
Bedeuted, das man für OC1x den Timer 1 konfigurieren muss,
und für OC2x den Timer2.

Dann gibts auch noch AVR, bei diesen kann der Timer0 auch noch PWM, dann ist das an den Pins OC0x.

Also die Zahl nach OC zeigt den dahinterliegenden Timer an.

Timer 0 und 2 sind meist 8-Bit Timer, also auch max. 0-255,
Timer1 ist ein 16-Bit Timer.
Bei manchen AVR kann man die Bitbreite des PWM einstellen von 2 - 16.
Beim Mega32 zB. geht 8, 9 oder 10Bit breite.

Roboter n00b
11.02.2007, 20:42
ok, dann sollte soweit mal alles klar sein. Vielen Dank für deine Antworten, linux_80

serge