PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo abhängig von Takt?



rXenon
18.05.2006, 15:36
Hallo!

Ich wollte gerne wissen, ob die Servoansteuerung von Bascom abhängig vom uC Takt ist?

Ich hatte eine kleine Testschaltung mit einem Mega8 und 4Mhz Quarzoszillator. Damit liefen die Conrad Servos relativ gut. Jetzt wo ich wieder den internen Oszillator nutze, kann man den Servo vergessen:
Wenn man als Servowert (so ist das in Basic) z.B. 50 eingibt dann dreht der Servo langsam nach links (Servo is gehackt); gibt man 40 ein dreht der Servo sich nach links. Nun meine Frage ob vielleicht der interne Oszillator daran schuld sein könnte?

MfG rXenon

Hiµck
18.05.2006, 15:59
Servos werden über Pulsweitenmodulation (PWM) angestoßen. Die Sevos erhalten daher Pulse von 1ms bis 2 ms. Und diese Pulse müssen nach spätestens 20 ms wiederholt werden (zumindest solange bis der Servo seine Zielposition erreicht hat).
Da zur Erzeugung dieser Pulse die Timer verwendet werden, ist die Servoansteuerung vom Takt abhängig.
Wenn Du den internen Takt auf 4MHz stellst oder die Timer an die interne Frequenz anpasst müsste es auch gehen.

Schau am besten noch mal ins Wiki.
https://www.roboternetz.de/wissen/index.php/Servos

rXenon
18.05.2006, 16:05
Wie die Ansteuerung bei Servos ist, weiß ich ja schon. Dass Bascom dazu den Timer verwendet ist auch klar, aber Timer sind doch gar nich abhänig vom Takt des uCs, oder doch?
Wenn das so ist dann sehe ich das Problem eindeutig beim internen Oszi...

linux_80
18.05.2006, 17:04
Hallo,

die Clock-source des Timers ist der Takt vom µC !
Für die Servoansterueng wird der Timer auf 10µs eingestellt (Reloadwert), und diese werden je nach Takt des Controllers mal genauer mal nicht so genau getroffen.
Dieser Reloadwert ist dann ausschlaggebend welche Position bei welchem ServoWert der Servo anfährt.

rXenon
18.05.2006, 17:10
die Clock-source des Timers ist der Takt vom µC !


Genau das war meine Frage

Ich habe immer gedacht, dass der Timer völlig unabhängig von dem Takt ist. Das war mein Problem. Naja vielen Dank für die Antworten :D