PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM an 18f6620



bernhard1366
11.03.2008, 21:26
Hallo Leute,

ich weiß, es gibt sehr viele Beiträge über PWM in diesem Forum, also verzeit meine Frage.

Also ich habe einen Pic 18f6620 als Hauptkontroller meines Bots und möchte mit diesem einen Servo ansteuern. Quarz ist 25MHz.

Was ich so gelesen habe braucht ein Servo aber 50 Hz als Trägerfrequenz und
1 - 2ms Dutycycle!
Sehe ich das richtig, dass ich mir das abschminken kann damit den Servo über PWM anzusteuern, da ich nie auf 50 Hz runterkomme (Formeln für PR2 und Tastverhältnis)??

Gibts da einen Trick oder so, wie ich das doch machten könnte??

PS.: Es würde auch mit einem Timer gehen, mit dem ich mir das selbst generiere aber das wird vermutlich sehr ungenau sein oder?

Danke schon im Voraus

Bernhard

Siro
19.04.2008, 11:15
Natürlich kannst du mit dem PIC hervorragend einen Servo steuern.
Du solltest den "COMPARE" Mode benutzen.

Kurzbeschreibung: Timer 1 zählt kontinuierlich von 0..65535.
Das Compare Register wird mit dem entsprechenden Zählerstand geladen. Wenn Timer
; und Compare Register identisch sind, wird ein Interrupt ausgelöst.
; Die Interruptroutine "addiert" zum Compare Wert die neue gewünschte
; Pulslänge und setzt die neue Pegeländerung für das Portbit, welche nach
; Ablauf der neuen Zeit erfolgen soll.

; Vergleichswert für das Compare Register = Quarzfrequenz * Pulslänge
; Bei einem Quarz von 9,216Mhz ergeben sich folgende Werte:
; 9216000 * 0,0009 sek = 8294 counts für 0,9ms links
; 9216000 * 0,0015 sek = 13824 counts für 1,5ms mitte
; 9216000 * 0,0021 sek = 19353 counts für 2,1ms rechts

Ich hoffe Dir damit geholfen zu haben.
Siro