(→Unterschied zwischen Digital- und Analogservos) |
K (→Unterschied zwischen Digital- und Analogservos) |
||
Zeile 23: | Zeile 23: | ||
Der hauptsächliche Unterschied besteht darin, dass digitale Servos schneller und genauer sind und ihre Position besser halten können. Analoge Servos geben ihrem Motor alle 20mS ein Signal. Wirkt eine Kraft auf das Servo brauch die Steuerelektronik bis zu 20mS um dem Motor einen neuen Spannungsimpuls zu senden. Bei Digitalservos sendet die Steuerelektronik alle 400uS einen Impuls an den Motor. Der Motor bekommt die Spannungsimpulse viel schneller. Um so öfter ein Motor Spannung bekommt, um so mehr Leistung kann er verrichten. | Der hauptsächliche Unterschied besteht darin, dass digitale Servos schneller und genauer sind und ihre Position besser halten können. Analoge Servos geben ihrem Motor alle 20mS ein Signal. Wirkt eine Kraft auf das Servo brauch die Steuerelektronik bis zu 20mS um dem Motor einen neuen Spannungsimpuls zu senden. Bei Digitalservos sendet die Steuerelektronik alle 400uS einen Impuls an den Motor. Der Motor bekommt die Spannungsimpulse viel schneller. Um so öfter ein Motor Spannung bekommt, um so mehr Leistung kann er verrichten. | ||
− | Die einfachst Art einen Servo mit Bascom anzusteuern ist folgender Befehl: | + | Die einfachst Art einen Servo mit [[Bascom]] anzusteuern ist folgender Befehl: |
+ | <pre> | ||
Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 | Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 | ||
Zeile 33: | Zeile 34: | ||
Servo(1) = 100 | Servo(1) = 100 | ||
Servo(2) = 100 | Servo(2) = 100 | ||
+ | </pre> | ||
'Wobei 100 die Mitte ist. 50 ist der linke bzw. rechte Anschlag und 150 der entprechend andere. | 'Wobei 100 die Mitte ist. 50 ist der linke bzw. rechte Anschlag und 150 der entprechend andere. |
Version vom 17. Dezember 2005, 11:07 Uhr
Servos (Servomotoren) sind kleine Getriebemotoren, die häufig im Modellbau eingesetzt werden, doch auch in der Industrie sind sie anzutreffen. Mithilfe eines Potentiometers, das an der Drehachse befestigt ist, wird intern die aktuelle Position bestimmt. Wegen ihrer einfachen Ansteuerung und Präzision eigenen sie sich hervorragend für mehr oder weniger kraftaufwändige Aufgaben in der Robotik.
Inhaltsverzeichnis
Anschlussbelegung
Handelsübliche Servomotoren besitzen 3 Anschlüsse:
- GND
- PWM
- +5V
Wobei sich die Steckerbelegung von Hersteller zu Hersteller unterscheiden.
http://www.roboternetz.de/wiki/uploads/Main/servosteckerbelegung.gif
Ansteuerung
An die PWM-Leitung wird ein pulsweitenmoduliertes Signal angeschlossen. Die Repetition-Period(Periode) entspricht bei den meisten Modellen 20mS. Innerhalb/zu Beginn dieser 20mS wird ein Puls erwartet, der sich zwischen 1mS und 2mS bewegt, wobei diese Werte jeweils den Endlagen des Servos entsprechen. D.h. 1mS ist ganz links und 2mS ist ganz rechts. 1,5mS würde demnach die Mittelstellung bedeuten. Aufgrund der Pulslänge lässt sich also eine direkte Aussage über die Position des Servos treffen. Der Motor sorgt dann intern mithilfe des Potis dafür, dass die Position gehalten wird.
http://kos.informatik.uni-osnabrueck.de/download/report/img34.gif
Unterschied zwischen Digital- und Analogservos
Der hauptsächliche Unterschied besteht darin, dass digitale Servos schneller und genauer sind und ihre Position besser halten können. Analoge Servos geben ihrem Motor alle 20mS ein Signal. Wirkt eine Kraft auf das Servo brauch die Steuerelektronik bis zu 20mS um dem Motor einen neuen Spannungsimpuls zu senden. Bei Digitalservos sendet die Steuerelektronik alle 400uS einen Impuls an den Motor. Der Motor bekommt die Spannungsimpulse viel schneller. Um so öfter ein Motor Spannung bekommt, um so mehr Leistung kann er verrichten.
Die einfachst Art einen Servo mit Bascom anzusteuern ist folgender Befehl:
Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 Config Portb = Output Enable Interrupts Servo(1) = 100 Servo(2) = 100
'Wobei 100 die Mitte ist. 50 ist der linke bzw. rechte Anschlag und 150 der entprechend andere.
Anmerkungen
Häufig entledigt man sich auch des Potis und der Endlagenanschläge, um so einen Motor mit hohem Drehmoment zu erlangen. Dieser Vorgang wird auch als Servo-Hacking bezeichnet. Durch die Pulslänge kann dann die Winkelgeschwindigkeit des Servos beeinflusst werden.
http://www.roboternetz.de/wiki/uploads/Main/servo.jpg