Neuigkeiten    Das Projekt    Technik    RoboSpatium    Unterstützung    Stichwortverzeichnis    Download    Reaktionen    Spiele    Gadgets    Kontakt   




<<< Relais         Rotationssensor >>>

Servos

Das Video zum Thema


Positionsregelung

Winkelstellung Servohorn
Abbildung 1:
Ein Servo ist ein Bauteil das eine zu einem Steuersignal proportionale Bewegung durchführt. Üblicherweise erzeugt ein Elektromotor eine mechanische Kraft und die Antriebseinheit dreht sich um einen Winkel, der dem Steuersignal möglichst nahe kommt. Ein an dem Servomechanismus angebrachter Sensor überträgt die aktuelle Stellung des Servohebels zurück an die Steuerelektronik des Motors.


Komponenten eines Servos
Abbildung 2:
Teilzerlegtes RC Servo:
Ein an der Unterseite der Abtriebswelle des Getriebes angebrachtes Potentiometer fungiert als Drehsensor.

Steuersignal

Oszillogramm des Steuersignals eines Servos
Abbildung 3:
Die Position des Hebels kleiner Servos, wie sie üblicherweise in funkferngesteuerten Fahrzeugen oder kleinen Robotern Verwendung finden, wird durch ein Pulsweitensignal übertragen. Die Grundfrequenz der Pulsfolge beträgt 50Hz und mit dem Tastgrad, der zwischen 5% und 10% liegt, wird die Position des Servoarms festgelegt. Die meisten Servos haben einen Drehwinkel von 90°, wobei eine Pulslänge von 1ms einem Ausschlag von -45°, 1.5ms der Mittelstellung (0°) und 2ms einem Winkel von +45° entspricht. Die Servos verschiedener Hersteller weichen von diesem Schema mit unter ab und der Drehwinkel kann unter Umständen auf einen Bereich bis zu 180° erweitert werden, indem Pulslängen von fast 0ms bis zu 3ms zur Ansteuerung verwendet werden. Üblicherweise befinden sich Stopper am Zahnrad der Abtriebswelle, die den Drehwinkel mechanisch begrenzen. Um Beschädigungen zu vermeiden, sollte das Servos niemals mit Pulssignalen angesteuert werden, die dazu führen, dass der Motor gegen die Stopper drückt. Wird die Servomechanik blockiert, so fließt ein hoher Strom durch den Motor und die Zahnräder der Mechanik können zerstört werden, wenn das Drehmoment des Servos ausreichend hoch ausfällt. Einige Servos interpretieren das Ausbleiben von Pulsen als eine Pulslänge von 0ms, weshalb diese Typen sich zu drehen beginnen, sobald das Steuersignal abgeschaltet wird, das Servo dabei aber immer noch mit der Spannungsversorgung verbunden ist. Andere Servos hingegen besitzen eine Schutzfunktion, die den Motor abschaltet, sobald keine oder zu lange Steuerpulse empfangen werden.


Servotester

Im Kapitel zur Pulsweitenmodulation wurde ein Schaltkreis bestehend aus einem invertierenden Schmitt-Trigger und zwei Dioden gezeigt. Diese Schaltung kann durch die Wahl einer geeigneten Kondensator / Widerstandskombination als Servotester verwendet werden:

Schaltplan Servotester, einfache Ausführung
Abbildung 4:
Vierfach OPV = LM324
C1 = 0.1μF
R1 = 47kΩ
R2 = 12kΩ
R3 = 16kΩ
R4 = 2kΩ
R5 = 1kΩ
P1, P2 = 10kΩ
Der zweite Operationsverstärker entkoppelt das Ausgangssignal des Servotesters von dem Schwingkreis am Ausgang des ersten Operationsverstärkers, wodurch eine h&öuml;here Signalqualität erreicht wird.

Ein etwas komplexerer Schaltkreis mit mehr Einstellmöglichkeiten besteht aus einem nicht invertierenden Schmitt-Trigger, einem Integrator und einem invertierenden Schmitt-Trigger:

Servotester, komplexer Schaltplan
Abbildung 5:
Vierfach OPV = MC34071 (besser) oder LM324 (billiger)
C1 = 0.33μF
P1, P3 = 10kΩ
P2 = 1kΩ
R1 = 13kΩ
R2 = 27kΩ
R3, R9 = 56kΩ
R4 = 220kΩ
R5, R6, R10, R11 = 27kΩ (oder ein Wert zwischen 10kΩ und 100kΩ)
R7 = 1MΩ
R8 = 2.7kΩ


Mit einem Oszilloskop kann die Grundfrequenz durch Drehen von P3 justiert werden. Anschließend muss P2 in Mittelstellung gebracht und durch Drehen von P1 eine Pulsweite von 1.5ms eingestellt werden.
Ist kein Oszilloskop verfügbar, schließt ein Servo an den Schaltkreis an und dreht P3 und P2 in Mittelstellung. Jetzt muss P1 verstellt werden, bis sich der Servoarm in Neutralstellung (0°) befindet.
Nach der Kalibrierung kann das Servo durch Drehen von P2 angesteuert werden.

Motorsteuerung

Das Pulsweitensignal muss durch den Steuerschaltkreis in eine Bewegung des Motors verwandelt werden. Der hier gezeigte einfache Schaltkreis demonstriert die Funktionsweise:

Tiefpass
Abbildung 6:
Zunächst muss das Pulsweitensignal mit Hilfe eines Tiefpasses in eine Gleichspannung von 0 bis 0.5V verwandelt werden. Der Kondensator wird durch das Signal ständig ge- beziehungsweise entladen, wodurch der Kurvenverlauf am Ausgang des Filters geglättet wird. Durch die Glättung wird das Eingangssignal in die durchschnittliche Gleichspannung des Pulsweitensignales verwandelt. Ein Nachteil dieses einfachen Filters liegt darin, dass am Ausgang eine Restwelligkeit bleibt, die lediglich verringert, aber nie ganz unterbunden werden kann. Je höher die Kapazität und der Widerstand des Filters, um so geringer wird die Restwelligkeit. Andererseits folgt das Ausgangssignal der Änderung des Eingangssignals um so schneller, je kleiner die Kapazität und der Widerstand des RC-Gliedes werden. Die Werte des RC-Filters sind immer ein Kompromiss zwischen diesen gegensätzlichen Anforderungen.

Tiefpass 2. Ordnung
Abbildung 7:
Der RC-Filter glättet also das rechteckige Eingangssignal deutlich. Was passiert, wenn man das Ausgangssignal des Tiefpasses als Eingangssignal eines zweiten Tiefpasses verwendet? Nun, das Signal wird weiter geglättet. Eine derartige Anordnung bezeichnet man als einen Tiefpass zweiter Ordnung. Ein Tiefpass höherer Ordnung ist besser geeignet, das Pulsweitensignal in eine entsprechende Gleichspannung zu wandeln.

Verstärkung Eingangssignal
Abbildung 8:
Ausgehend von einer Versorgungsspannung von 5V variiert die Ausgangsspannung des Tiefpasses zwischen 0 und 0.5V bei einer Pulslänge zwischen 0 und 2ms. Diese Gleichspannung kann durch einen Operationsverstärker mit negativer Rückkopplung verstärkt werden. Der erforderliche Verstärkungsfaktor ist 10, womit Widerstände von R2 = 27kΩ und R3 = 220kΩ die Aufgabe erfüllen.

Komparatorschaltung
Abbildung 9:
Der Motor eines Servos wird durch eine H-Brücke angesteuert. Der Motor muss sich im Uhrzeigersinn (oder entgegen diesem, abhängig von der Polarität des Sensors) drehen, wann immer die verstärkte Gleichspannung des Pulsweitensignals höher als die Ausgangsspannung des als Sensor arbeitenden Potentiometers ausfällt. Andererseits muss sich der Motor entgegen dem Uhrzeigersinn drehen, wenn das Pulsweitensignal niedriger als die Sensorausgabe ist. Ein Komparator ist somit für die Ansteuerung der H-Brücke geeignet. Die Ausgabe des Komparators entspricht Null Volt, wann immer die Spannung des Pulsweitensignals niedriger als die des Potentiometers ausfällt, womit der Motor in diesem Fall durch die H-Brücke mit einer Polarität angesteuert wird, die diesen entgegen dem Uhrzeigersinn drehen lässt. Die Polung wird vertauscht, wann immer die Gleichspannung des Pulsweitensignals die des Potentiometers übersteigt, womit die Ausgangsspannung des Komparators auf HIGH-Pegel geht. Das Ausgangssignal des Komparators ist immer entweder 0V oder dieses gleicht der positiven Versorgungsspannung,weshalb der an die H-Brücke angeschlossene Motor ständig eingeschaltet ist und im oder entgegen dem Uhrzeigersinn rotiert.

Fensterkomparator
Abbildung 10:
Um einen dritten Schaltzustand zu erhalten in dem der Motor ausgeschaltet ist, kann ein Fensterkomparator verwendet werden. Nehmen wir an, die verstärkte Gleichspannung des Pulsweitensignals entspricht der halben Versorgungsspannung und das Signal des Potentiometers liegt leicht darüber. Das Signal am nichtinvertierenden Eingang des oberen Operationsverstärkers ist somit höher als das am invertierenden Eingang. Das sich ergebende Ausgangssignal des oberen Operationsverstärkers ist somit auf HIGH-Pegel. Die Situation am unteren Operationsverstärker weicht ab: Der Ausgang des Potentiometers ist mit dem invertierenden Eingang und das niedrigere Potential des Pulsweitensignals mit dem nichtinvertierenden Eingang verbunden, womit sich als Ausgangssignal ein LOW-Pegel ergibt.
Der Zustand des Ausgangssignals des Fensterkomparators ändert sich, sobald das Potential am Potentiometer leicht unterhalb das des Pulsweitensignals fällt: Das Ausgangssignal des oberen Operationsverstärkers fällt auf LOW-Pegel. Hervorgerufen durch den Spannungsteiler fällt am nichtinvertierenden Eingang des unteren Operationsverstärkers nur ein Bruchteil der Gleichspannung des Pulsweitensignals ab. So lange das Signal des Potentiometers nur leicht unterhalb dem des Pulsweitensignals liegt, ist somit das Potential am nichtinvertierenden Eingang des unteren Operationsverstärkers nach wie vor niedriger als das am invertierenden Eingang, womit dessen Ausgangssignal auf LOW-Pegel bleibt. Erst wenn das Potential am Ausgang des Potentiometers unter einen bestimmten Wert sinkt, fällt die Spannung am invertierenden Eingang unter die des nichtinvertierenden Eingangs womit das Ausgangssignal des Operationsverstärkers auf HIGH-Pegel geht.

Wenn USensor > UPWM dann Op-amp 1 = HIGH und op-amp 2 = LOW
Wenn USensor < UPWM und USensor > UX dann op-amp 1 = LOW und op-amp 2 = LOW
Wenn USensor < UX dann op-amp 1 = LOW und op-amp 2 = HIGH

Für UX gilt:


Die hier abgebildete Gesamtschaltung kann an einer Versorgungsspannung von 5-12V betrieben werden (24V sollten möglich sein, ich habe das aber bislang nicht getestet):

Gesamtschaltung Servoplatine
Abbildung 11:


OPV - LM324 (günstig) oder MC34071 (besseres Ausgangssignal)
C1 - 4.7μF
C2, C3, C4, C5 - 1nF
D1, D2, D3, D4, D5 - 1N4003
D6, D7, D8, D9 - SB1240
D10, D11 - LEDs (z.B. Rot und Grün)
R1, R3 - 33kΩ
R2 - 12kΩ
R4, R5, 56 - 2.7kΩ
R7, R8, R9, R10 - 47kΩ
R11 - 470Ω
P1, P2, P3 - 100kΩ
P4 - 1kΩ
T1, T3 - IRF9Z34N
T2, T4 - IRLZ24N
T5, T6 - 2N7000

Festspannungsregler 5V - L4940V5
C6, C7 sind abhängig vom verwendeten Festspannungsregler!
C6 - 0.1μF
C7 - 22μF

Anstelle von R1 und C1 kann ein Tiefpass 2. Ordnung verwendet werden:
R1a, R1b - 220kΩ
C1a, C1b - 0.33μF

Vor dem Anschließen des Servomotors sollten die Potentiometer 1 bis 3 auf Mittelstellung und Potentiometer 4 auf seinen Maximalwert gebracht werden. Das Servohorn muss zu diesem Zweck manuell auf Mittelstellung gedreht werden. Wird die Schaltung jetzt mit einem Pulsweitensignal von etwa 1.5ms angesteuert, sollten die beiden LEDs an der H-Brücke erlöschen. Leichtes Verstellen der Pulsweite in eine Richtung bringt die grüne, ein Verstellen in die andere Richtung die rote LED zum Leuchten. Stellt eine Pulsweite ein, bei der eine der beiden LEDs gerade zu leuchten beginnt. Wird jetzt der Elektromotor des Servos an die H-Brücke angeschlossen, so muss der Motor kurz drehen und gleich wieder stoppen, da die H-Brücke abgeschaltet wird. Die Polung des Elektromotors muss vertauscht werden, wenn sich das Servo nicht wie erwartet verhält und mit Vollast in Richtung Anschlag dreht.
Mit Potentiometer Nummer 4 kann die maximale Spannung am Sensor und somit der Maximalausschlag bei der größtmöglichen Pulsweite justiert werden. Die Verstärkung der durch das Pulsweitensignal verursachten Gleichspannung und somit die Mittelstellung kann mit Potentiometer Nummer 3 verstellt werden. Ein Widerstand des Spannungsteilers am Fensterkomparator ist durch eine in Vorwärtsrichtung gepolte Diode und ein dazu paralleles Potentiometer ersetzt. Der Spannungsabfall an der Diode entspricht etwa 0.6V und ist unabhängig von der durch das Pulsweitensignal verursachten Gleichspannung. Durch Verstellen von Potentiometer 2 kann der Spannungsbereich justiert werden, in dem beide Operationsverstärker des Fensterkomparators auf LOW-Pegel gehen. Je kleiner das "Fenster", um so näher ist die tatsächliche Stellung des Servohebels an dem vorgegebenen Wert. Wird das Fenster zu klein eingestellt, beginnt der Motor um seine Ruhelage zu schwingen, da eine Restwelligkeit im Pulsweitensignal vorhanden ist. Als Nebeneffekt dieser Restwelligkeit wird der Motor mit gepulster Energie versorgt, wenn sich der Istwert des Servohorns dem Sollwert nähert.

Die Stellgenauigkeit des hier beschriebenen Schaltkreises ist geringer als die kommerziell angebotener Servos. Üblicherweise wird der Motor durch ein Pulsweitensignal angesteuert, dessen Tastgrad zunimmt, je höher die Abweichung des Ist-Wertes vom vorgegebenen Stellwert wird. Außerdem wird der durch den Motor fließende Strom begrenzt, wenn die Servomechanik blockiert ist und schließlich wird der Motor abgeschaltet, wenn die Pulslänge außerhalb der Vorgabewerte liegt.

Servos "hacken"

Gehacktes Servo
Abbildung 12:
Servos können modifiziert werden, um diese als sehr kompakte Getriebemotoren verwenden zu können. Erreicht wird das, indem der Drehsensor (Potentiometer) und die mechanischen Stopper an der Abtriebswelle entfernt werden. Ohne diese Stopper und das Potentiometer kann sich die Antriebseinheit frei in jede Richtung drehen. Wird das Potentiometer in seiner Mittelstellung blockiert und die Verbindung zwischen Potentiometerknopf und dem Zahnrad am Ausgang des Getriebes getrennt, so bleibt das Ausgangssignal des Sensors immer auf 0°, unabhängig von der tatsächlichen Stellung des Servoarms. Ein Pulsweitensignal von 1ms (-45°) bewirkt nun eine Drehung des Motors in die eine Richtung, während eine Pulslänge von 2ms (+45°) eine Drehung mit voller Geschwindigkeit in die entgegengesetzte Richtung bewirkt. Die an den Motor abgegebene Leistung sinkt, je näher das Pulsweitensignal an 1.5ms kommt und schließlich stoppt der Motor bei einer Pulslänge von (fast) genau 1.5ms (0°). Wie zuvor bereits erwähnt, schalten einige Controller den Motor auch bei einer Pulslänge von 0ms (=kein Puls) ab. Der verfügbare Geschwindigkeitsbereich hängt von dem Schaltkreis der Motorsteuerung ab und dieser variiert zwischen verschiedenen Herstellertypen. Anstatt das Potentiometer zu fixieren, kann dieses auch durch einen festen Spannungsteiler mit mehreren Kiloohm ersetzt werden.

Eine weitere Modifizierung betrifft die Elektronik eines Servos:
Die Platine steuert einen sehr kleinen Elektromotor, entsprechend gering ist die maximale elektrische Leistung der integrierten H-Brücke. Um starke Elektromotoren in Servos einsetzen zu können, benötigt man eine H-Brücke aus Leistungstransistoren. Die sehr präzise operierende Platine des Servos kann genutzt werden, um eine Eigenbau H-Brücke anzusteuern. Das Eingangssignal der Leistungs H-Brücke wird dabei von dem Ausgangssignal der Kleinsignal H-Brücke auf der Servoplatine generiert. Das Signal kann von den beiden zum Motor laufenden Kabeln abgegriffen werden, jedoch darf die Leistungs H-Brücke damit nicht direkt angesteuert werden.

Ansteuerung Leistungs H-Brücke durch Servoplatine
Abbildung 13:
Um die Leistungs H-Brücke ansteuern zu können, benötigen wir zwei Komparatoren und eine Referenzspannung, die irgendwo zwischen der halben und der vollen Versorgungsspannung liegen muss. Die jeweilige Halbbrücke wird mit LOW angesteuert, wann immer die Spannung an dem betreffenden Ausgang der Servoplatine unterhalb der Referenzspannung liegt, die in der hier zu sehenden Skizze 2/3 der Versorgungsspannung entspricht. Steigt die Spannung an einem Pin über diesen Wert, so wird die entsprechende Halbbrücke mit einem HIGH-Signal angesteuert.



Schaltplan gehackte Servoplatine
Abbildung 14:


OPV - LM324 (günstig) oder MC34071 (besseres Ausgangssignal)
C1, C2, C3, C4 - 1nF
D1, D2, D3, D4 - 1N4003
D5, D6, D7, D8 - SB1240
D9, D10 - LEDs (z.B. Rot und Grün)
R1 - 1kΩ
R2, R3, R4 - 2kΩ
R5, R6, R7, R8 - 47kΩ
P1 - 5K - 100kΩ
T1, T3 - IRF9Z34N
T2, T4 - IRLZ24N
T5, T6 - 2N7000

Festspannungsregler 5V - L4940V5
C5, C6 sind abhängig vom verwendeten Festspannungsregler!
C5 - 0.1μF
C6 - 22μF

Beim Anschließen des Servomotors sind keine Justierungen vorzunehmen, lediglich die Polung des Elektromotors ist zu beachten:
Wie bei der weiter oben gezeigten Schaltung muss vor dem Anschließen des Eigenbau-Servos dieses in Mittelstellung gedreht werden. Nun wird ein Pulsweitensignal angelegt, bei dem eine der beiden LEDs gerade zu leuchten beginnt. Wird der Motor jetzt angeschlossen, darf sich dieser nur kurz drehen und die LED sollte erlöschen. Ist das nicht der Fall, muss die Polung vertauscht werden.
Hochwertige Servos verwenden mit unter bürstenlose Motoren als Antrieb und deren Elektronikplatinen sind für die hier beschriebene Modifizierung nicht geeignet!


<<< Relais         Rotationssensor >>>


Neuigkeiten    Das Projekt    Technik    RoboSpatium    Unterstützung    Stichwortverzeichnis    Archiv    Download    Reaktionen    Spiele    Verweise    Gadgets    Kontakt    Impressum   





Twitter YouTube Hackaday Patreon TPO