Start
Experimente
- Servo 1
- Servo 2
- Servo 3
Grundlagen
Produkte
Neues
Impressum
|
Versuche mit dem Servomotor, Teil
1
Servomotoren gibt es
komplett mit eingebauter Elektronik
für Fernsteuermodelle. Aber kann man die erforderliche
Steuerung auch
selbst entwickeln? Dazu braucht man zunächst die geeignete
Mechanik,
also einen Getriebemotor mit angesetztem Potentiometer.
Das hier
verwendete
Modell wurde ursprünglich für den Einsatz in
Kartenlesegeräten
entwickelt. Eine weiche Gummiwalze sollte eine Plastikkarte einziehen.
Die Betriebsspannung des Motors beträgt 3 V, das Poti hat
einen Widerstand
von 5 kOhm. |
Für eine erste
Untersuchung der Eigenschaften
des Servos eignet sich das SIOS-Interface. Der Motor lässt
sich über
die analogen Leistungsausgänge
A und B ansteuern. Damit beide
Drehrichtungen
möglich werden, wird er in Brückenschaltung zwischen
die Ausgänge
gelegt. Das Poti wird mit den äußeren
Anschlüssen an Masse
und die Betriebsspannung von 5 V gelegt. Der Schleifer führt
zum Analogeingang
A. |
Für den ersten
Versuch eignet sich das Programm DoIt.
Hier lassen sich die Ausgänge direkt steuern und die
Eingänge
ablesen. Damit kann man sehr schnell feststellen, dass der Moror
bereits
mit ca. 1 V anläuft. Wenn einer der Ausgänge auf eine
mittlere
Spannung von 2,5 V eingestellt wird, kann der andere zwischen 0 V und 5
V den beide Drehrichtungen und Stillstand steuern.
Der erste Test zeigt auch, dass das Getriebe einen
internen Anschlag
hat, der den Drehwinkel begrenzt. Das Poti erreicht daher nicht seinen
Anschlag. Das verwendete Muster zeigte einen Stellbereich zwischen 1,2
V und 4,8 V. (Diese Werte sind möglicherweise nicht
allgemeingültig,
weil der Autor seine Neugier nicht zügeln konnte und das
Getriebe
vor dem Versuch einmal öffnete. Es zeigt sich dass, der
Schleifer
leicht abgenommen werden kann. Eine Justierung auf der Achse ist
möglich.)
|
Ein Regelkreis
Normalerweise werden Servomotoren nicht manuell
gesteuert sondern durch
einen Regelkreis.
Dabei wird durch Vergleich mit einem Sollwert
festgestellt,
ob der Istwert zu klein oder zu groß ist. Dann wird eine
entsprechende
Nachführung veranlasst. Ein guter Regelkreis muss schnell und
exakt
sein und die Sollposition unabhängig von der Belastung des
Motors
ansteuern. Wie präzise das geht, sieht man an
Industrierobotern in
der Autoproduktion.
DoIt enthält eine einfache
Programmierumgebung, mit denen man die
ersten Gehversuche unternehmen kann. Dabei ist klar, dass das erste
Servoprogramm
nicht gleich perfekt werden kann. Nicht umsonst ist die
Regelungstechnik
ein eigenes Fachgebiet.
PROGRAMM B-Ausgang = 125 A-Ausgang = 125 Wiederhole Wenn A-Eingang > 100 Dann A-Ausgang = 50 Sonst A-Ausgang = 200 EndeWenn Bis A-Eingang = 100 A-Ausgang = 125 ENDE.
Das Ergebnis: Im Prinzip funktioniert es. Aber Der
Motor scheint laufend
über das Ziel hinauszuschießen. Es entstehen starke
Regelschwingungen.
Wenn die äußere Schleife nach einiger Zeit
tatsächlich
mit dem Istwert 100 verlassen wird, dauert es noch einige
Millisekunden,
bis der Motor abgeschaltet wird. In dieser Zeit entsteht eine neue
Abweichung.
Also wenn auf diese Art Industrieroboter gesteuert würden,
sähen
auch neue Autos schon arg verbeult aus.
Das erste Programm kann etwas verbessert werden,
wenn man die Motordrehzahl
reduziert. Die Regelung ist zwar langsamer, dafür aber
präziser.
Trotzdem ist mit diesem Verfahren keine durchgreifende Verbesserung
möglich.
Es handelt sich nämlich um einen Zweipunktreger, der also nur
zwei
Ausgangszustände kennt: links und rechts.Nach der Theorie muss
es
auf jeden Fall zu Regelschwingungen kommen.
|
Proportionalregler
Damit der Regelkreis einen stabilen Endzustand
erreichen kann, muss
ein Regler analog gesteuert werden. Beim Proportionalregler ist die
Stellgrößer
proportional zu Abweichung. Wenn der Istwert sich dem Sollwert
annähert,
wird der Motor langsamer, bis er schließlich steht. So etwas
kann
man mit DoIt leicht programmieren:
PROGRAMM A-Ausgang = 125 B-Ausgang = 125 Wiederhole B-Ausgang = A-Eingang Bis Tastendruck B-Ausgang = 125 ENDE.
Vor dem Test sollte der Motor manuell an eine der
Randpositionen gebracht
werden. Dann startet man das Programm und untersucht, ob der Motor
seinen
Sollwert erreicht. Ergebnis: Im Prinzip ja, aber nicht genau.
Tatsächlich
gibt es jetzt keine Regelschwingungen mehr. Aber der Motor bleibt schon
vor dem vorgesehenen Endpunkt stehen.
Für eine Verbesserung müsste man
eine größere Verstärkung
der Abweichung haben. Allerdings ist das in DoIt etwas aufwendiger,
weil
hier nur mit Byte-Variablen gearbeitet wird. Das folgende Programm
verwendet
die Verstärkung 2.
PROGRAMM A-Ausgang = 125 B-Ausgang = 125 Wiederhole Zahl = A-Eingang Wenn Zahl < 80 Dann Zahl = 80 Sonst EndeWenn Wenn Zahl > 120 Dann Zahl = 120 Sonst EndeWenn Zahl - 100 Zahl * 2 Zahl + 125 B-Ausgang = Zahl Bis Tastendruck B-Ausgang = 125 ENDE.
Ergebnis: Jetzt ist der Regler
tatsächlich genauer. Mit einer kleinen
Änderung kann man die Verstärkung noch weiter
erhöhen (Zahl
* 3). Aber dann kommt es doch wieder zu Regelschwingungen. Auch dieses
Verhalten ist in der Regelungstechnik bekannt. Man begegnet ihm mit
einem
Integral-Anteil (I) und einem Differentialanteil (D) und baut einen
PID-Regler.
Den kann man allerdings mit DoIt nicht realisieren, schon aber mit VB
oder
Delphi.
|
Hinweise zu DoIt
DoIt gibt es für unterschiedliche
Interfaces als Freeware. Die
Software läuft an Windows3.1. Vorsicht mit langen Datei- und
Verzeichnisnamen.
Hier muss man noch Rücksicht auf die alte
Längenbegrenzung (8+3)
nehmen. Inzwischen gibt es zwar das 32-Bit-Programm TurboCompact. Aber
dieses neuere Programm ist für viele Interfaces von
AK-Modul-Bus gemeinsam
zu nutzen und unterstützt deshalb keine
Analogausgänge. Außerdem
hat DoIt eine sehr gute Hilfe. Deshalb eignet es sich nach wie vor
für
einfache Experimente.
Ideen für den Einsatz des Servomotors am
SIOS:
- Demonstrationsmessgerät mit langem
Zeiger
- Mini-Roboter, der auf der Gummiwalze
"läuft"
- Roboterarm mit zwei Motoren
- Steuerung einer Marionette
Links:
Das
Sios-Interface
Software-Download
|
|