Servos um Positionsrückmeldung erweitern PDF Drucken E-Mail
Geschrieben von: Manfred Fuchs   
Montag, den 28. November 2011 um 02:24 Uhr

 

Bei den meisten Projekten in denen ich bisher Servos einsetze, benötige ich mehr als die üblichen 180° Drehwinkel. Ich verwende daher in der Regel den Hitec HS-785HB Servo. Dies ist ein Windenservo der etwas über 9 Umdrehungen schafft (wenn er mit einem ordentlichen Servocontroller angesteuert wird).
Nun eignet sich ein Servo hervorragend für eine genaue Positionierung, er gibt aber keinerlei Rückmeldung wenn er die angegebene Position erreicht hat. Da es bei 9 Umdrehungen schon mal etwas dauern kann, erschwert dies eine saubere Ansteuerung.
Wenn der Servo z.B. mittels Joystick relativ angesteuert werden soll, erhöht (oder erniedrigt) man die Position des Servos zyklisch solange der Joystick nicht in Neutralstellung steht. Da man nun keine Information über die aktuelle Servoposition besitzt, ist das Timing für die Positionserhöhung problematisch. Wählt man die Abstände zu groß bzw. die Werte zu niedrig, ruckelt der Servo (da er immer wieder stoppt). Im umgekehrten Fall läuft der Servo noch lange nach, wenn der Joystick schon längst nicht mehr bewegt wird.

Die Lösung des Problems ist nun relativ einfach:
Der Servo ermittelt die aktuelle Position seines Motors mittels eines Potentiometers an der Getriebeachse. Man muss also nur die korrekte Leitung des Potis anzapfen und kann anhand der aktuellen Spannung Rückschlüsse auf die gegenwärtige Position schließen.
Dabei muss man eines beachten: Servos werden in der Regel mit einer Spannung zwischen 4,8V und 6V betrieben, diese Spannung liegt dann normalerweise auch am Potianschluss an. Wenn nun die Spannung mittels eines Microcontrollers ausgewertet werden soll, muss man darauf achten, dass dessen maximale Eingangsspannung nicht überschritten wird.

Ich zeige anhand eines Hitec HS-785HB Servo wie man die Erweiterung vornimmt.

Achtung: Die Umbaumaßnahme ist nicht besonders schwierig. Man sollte aber wissen, an welchem Ende ein Lötkolben heiß wird. Zudem sollte man eine ruhige Hand haben, bei manchen Servos kann es etwas eng werden.
Auch sollte jedem klar sein, dass bei dieser Umbaumaßnahme jegliche Garantie verloren geht.
Ich übernehme keinerlei Verantwortung, wenn dabei der Servo kaputt geht. Jeder sollte selber wissen, was er da tut.

Hier ist nun das gute Stück:
Servo 01

Folgendes wird für den Umbau benötigt:
    - Einen kleinen Kreuzschlitz-Schraubendreher
    - Einen Lötkolben
    - Ein Stück isolierten Draht
    - Ein Multimeter
Servo 02

Als erstes muss der Boden abgeschraubt werden.
Ich habe mir ein kleines Microcontrollerprogramm geschrieben, das den Servo ständig hin und her fahren lässt. Mit dem Multimeter muss dann gemessen werden, an welcher Stelle sich die Spannung analog zur Servoposition ändert.
Servo 03

Bei dem hier verwendeten Hitec Servo ist es der rot markierte Bereich. Direkt am Widerstand wäre der geeignetste Lötpunkt.
Servo 04

Nun einfach einen ausreichend langen Draht an diese Stelle anlöten, über die Dichtungsmanschette kann der Draht nach Aussen geführt werden.
Nach dem Löten sollte man den Servo unbedingt erst mal testen. Bei meinem ersten Servo hatte anschließend der Widerstand keinen richtigen Kontakt mehr und der Servo bewegte sich nur noch stotternd. Nach erneutem Löten war er dann aber ok. Beim zweiten Modell klappte es ohne Probleme.
Servo 05

Wenn man so wie ich den Draht mit den bereits vorhandenen Leitungen verdrillen will, sollte man darauf achten, dass der Draht mindestens ein Drittel länger als die Anschlussleitung des Servos ist.
Nachdem der Boden wieder festgeschraubt ist, sieht der fertige Servo nicht anders aus als vorher. Es ist lediglich eine vierte Leitung hinzugekommen, diese wertet den Servo aber funktionell deutlich auf.
Servo 06


Leider liegt die abgegriffene Potispannung des Hitec Servo nur zwischen 0,5V und 1,9V. Wenn man nun den Wert z.B. mit einem ATmega Microcontroller auswerten will, sollte man mit einer Referenzspannung von ungefähr 2V arbeiten um eine brauchbare Auflösung zu erhalten.

 Ich hatte vor einiger Zeit als Test einen billigen Conrad Servo umgebaut. Bei diesem liegt die Spannung zwischen 0V und 5V, geht also über den vollen Bereich. Allerdings hat der Servo einen sehr minderwertigen Poti, das Messergebnis "zittert" entsprechend.
Servo 07


So, das war es auch schon. Ich hoffe, damit dem Einen oder Anderen helfen zu können.

Zuletzt aktualisiert am Montag, den 28. November 2011 um 10:06 Uhr