ServoDecoder: eine Software für OpenDecoder2 (V2, V2.5)
Überblick
-
Modellbauservos sind die preiswerte Möglichkeit schlechthin, um
wirklichkeitsgetreue Bewegungen auf der Modellbahn durchzuführen
- und da gibt es viel zu bewegen:
-
Signale, Schranken, Weichen
Schuppentore, Türen, Dächer, die sich Öffnen
Kinder, die am Spielplatz wippen
Fotograph, welcher sich bei Zugvorbeifahrt mitdreht (und blitzt!)
Bewegte Menschen - beim Trinken, Arbeiten (z.B. Maler, Sensenmäher, Kaminkehrer), Sex
Bewegte Fahrzeuge (Dampfwalze, Radlader) und Objekte (Wasserkran, Bagger, Lademaß)
Suchscheinwerfer, Radarschirme
Segmentdrehscheibe oder Drehbühne.
Wenn man OpenDecoder V.2 mit dieser Software lädt, so ist die gleichzeitige Ansteuerung von zwei Servos möglich.
Diese Software arbeitet als Accessory Decoder, die Programmierung der Servos erfolgt mittels CV (=Configuration Variable). Die Ansteuerung im Betrieb geht dann ganz einfach mit den üblichen Weichentasten.
Theorie: Ansteuerung der Servos
- Signale zum Servo
Ein übliches Modellbauservo hat drei 3 Anschlüsse, Stromversorgung und die Positionsvorgabe:- GND (meist schwarz oder braun)
- +5V (meist rot)
- PWM (meist weiß oder orange)
Mit der PWM-Leitung wird die Position definiert. Hierzu wird ein pulsweitenmoduliertes Signal mit einer Wiederholrate von 20ms verwendet. Diese Zeit muß nicht exakt eingehalten werden, sondern kann nach einer Diskussion in d.r.m.b. von 10ms bis 30ms betragen. Die aktive Zeit des PWM-Pulses liegt zwischen 1ms und 2ms. Die Position des Servos bestimmt sich auch der Länge des Pulses, wobei 1ms ganz links und 2ms ganz rechts (also die Endlagen) anfährt. Ein Puls mit 1,5ms würde demnach die Mittelstellung bedeuten. Man kann also direkt mit der Pulslänge die Position des Servos vorgeben. Die im Servo integrierte Regeleletronik sorgt über die Auswertung eines mit dem Hebel gekoppelten Potis für die Einhaltung der vorgegebenen Position. - Erzeugung der Signale
Das benötigte PWM-Signal läßt sich einfach mit dem Timer des AVR-Prozessors erzeugen. Dieser wird so programmiert, daß er bei 20ms umläuft (Fast-PWM-Mode), damit wird das Pulsraster der PWM festgelegt. Da der Zähler 16 Bit breit ist, muß für 20ms der Eingangstakt des Zählers vorgeteilt werden. Dies wird mit der Einstellung clkdiv=8 gemacht, der Zähler taktet dadurch mit 1MHz.
Mit Hilfe der OCR-Register kann nun ein Schwellwert definiert werden. Der zugehörige Ausgangspin ist während der Zeit von Zählerstand 0 bis zum Zählerstand=OCR auf high, danach auf low. OCR liegt bei der o.g. Taktrate also zwischen 1000 und 2000, was 1ms bis 2ms entspricht.
Der ATmega8515 (oder auch der ATmega162) verfügt über zwei solche OCR-Register (am gleichen Timer 1), was die Ansteuerung von zwei Servos ermöglicht.
Mit dem Umlauf des Zählers wird ein Interrupt ausgelöst, welche die Neuberechnung des aktuellen Positionswertes je nach gewünschter Bewegung veranlasst. Alle 20ms wird ein neuer OCR-Wert errechnet.
- Positionierung
Die physikalsiche Auflösung eines Servos ist ca. 0,2% bei 90° Weg. Durch die Timerprogrammierung und die Ansteuerung der Servos per Hardware erreicht man eine Auflösung von 1us, d.h. für den Bereich 1ms bis 2ms 1000 Schritte, also etwa 0,1%.
Die Start- und Zielposition wird als integer [Bereich 0..65535] abgelegt. Selbst wenn man nur das Highbyte hiervon verändert [Bereich 0..255], entspricht dies bereits einer Genauigkeit von 0,3°. - Zeit-Ortskurve
Die Bewegung des Servos erfolgt entlang einer Ortskurve, in der die jeweiligen Stellungen und die zugehörige Zeit als als 8-Bit Integer (Wertebereich 0...255) abgelegt sind. Diese Kurve wird mit hoher Genauigkeit zwischen Start und Ziel interpoliert. Diese Ortskuve ist normiert, d.h. sie wird erst bei Andwendung auf die aktuelle Servokalibrierung umgerechnet. Daher kann der Bewegungsablauf unabhängig von den jeweiligen Endpositionen des Servos definiert werden.
Als Beispiel ist hier der Bewegungsprofil beim Öffnen eines Formsignals dargestellt: Das Signal wird aufgezogen, dann setzt der Wärter im Stellwerk um und drückt das Signal ganz auf. In der Endlage wippt es noch nach.
Dieser Verlauf wird als normierte Liste (Wertebereich der Positionen 0..255) von Zeit- und Positionspunkten abgelegt.
Die Verlaufskurve wird in Einheiten von 0,02s abgelegt, wobei die Zeit wieder einen Wertebereich von 0 bis 255 hat. Damit sind 5,12s direkt erfassbar. Zusätzlich gibt es noch einen Streckungsfaktor (servo.time_ratio), mit dem die Verlaufskurve zeitlich bis zu 21min gestreckt werden kann.
Es gibt eine Reihe vordefinierter Bewegungsabläufe, wie z.B. Signal, Kinderwippe, Pendel, Schranke, die man einfach auswählen kann.
Am Ende einer Bewegung kann nathlos eine Folgebewegung aktiviert werden, natürlich muß die folgende Kurve dafür geeignet sein. Die vordefinierten Profile verwenden oft 25 und 230 als Endpunkte, so dass noch etwas Platz für zwischenliegende Profilpunkte bliebt, welche außerhalb der Endpunkte liegen. Diese Festlegung ist willkürlich und könnte auch anders gelegt werden. Dadurch lassen sich aber verschiedene Übergänge frei kombinieren.
Bei der Ausgabe wird nun diese Liste mit den für diesen Servo geltenden Start und Zielpunkten umgerechnet und damit auf diesen Bereich abgebildet. in der folgenden Graphik ist das für drei verschiedene Endpunktpaare dargestellt:Interpolation der Verlaufskurve für verschiedene Min und Max-Punkte ⇒
Konfiguration mit CV-Variablen
-
Damit das Servo wie gewünscht funktioniert, muß der Decoder für
die jeweilige Bewegungsaufgabe konfiguriert werden. Folgende
Dinge müssen eingestellt werden:
- Die Endpositionen der Servos: diese hängen von der Einbausituation ab.
- Das gewünschte Laufverhalten: Hin- und Herlauf jeweils einzeln (wie eine Weiche) oder Dauerlauf (wie z.B. bei eine Wippe), d.h. Hin- und Herlauf werden immer wieder ausgeführt.
- Die gewünschte Verlaufskurve, sowohl für den Hinlauf als auch für den Herlauf. Hier kann ganz bequem aus einer Reihe vordefinierter Verläufe (z.B. Signal, Wippe, Schranke) gewählt werden bzw. es können bis zu vier eigene, frei definierbare Verläufe in den Decoder geladen werden.
- Die Zeitdauer der Umläufe.
- CV 545 (33): DECODER MODE
Diese CV legt die Betriebsart des Decoders fest. Je nach nach Betriebsart kann sich die Bedeutung der folgenden CV's komplett ändern!CV 545: DECODER MODE 0 (*) Weichen- und Schaltdecoder mit Rückmeldung (Feedback) 1 Dual Servodecoder
(hier beschrieben)2 Multiposition ServoDecoder 8 DMX-Decoder 32 Signaldecoder mit Dimming
Im folgenden sind nur die CV's für den MODE 1 beschrieben! - CV 552 (40): Minimalwert Servo 1 (*=64)
Wert für Endanschlag unten, Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 551 und braucht normalerweise nicht verändert zu werden. - CV 554 (42): Maximalwert Servo 1 (*=192)
Wert für Endanschlag oben, Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 553 und braucht normalerweise nicht verändert zu werden. - CV 555 (43): Kontrollwort Servo 1 (*=0)
Hiermit wird festgelegt, wie der Servo prinzipiell auf Steuerbefehle reagiert.CV 555: Kontrollwort Bit: Bedeutung 0 Umlaufverhalten: *0 Taste grün aktiviert Umlauf A
Taste rot aktiviert Umlauf B1 rot: Servo 1 bleibt nach dem nächsten Umlauf Richtung B stehen.
grün: Servo 1 läuft permanent A - B - A ...1 Schaltverhalten der Ausgänge: 0 Keine Kopplung der Ausgänge mit Servobewegung. *1 Bei Erreichen der Endposition wird der jeweile Ausgang eingeschaltet (z.B. für eine Herzstückpolarisierung). 2 Manuelle Bedienung (nur Hardware Version 3): 0 keine Taster am Decoder angeschlossen, die Anschlüsse können für die Rückmeldung verwendet werden. *1 Steuerung vor Ort per Taster möglich. 3 Rückmeldekontakt (nur Hardware Version 3): *0 keine Rückmeldekontakte angeschlossen 1 Externe Rückmeldekontakte für eine echte Rückmeldung angeschlossen.
Hinweis: nicht möglich zusammen mit manueller Bedienung.4 Manuelle Justage: 0 keine zusätzlichen Decoderkommandos für Justage *1 zusätzliche Decoderkommandos für Justage der Servos. Schrittweite gemäß CV579 5 Servoansteuerung auch in Ruhe: 0 Wenn aktuell keine Bewegung stattfindet, werden auch die Servoansteuersignale abgeschaltet. Das Servo hält die Lage mit der eigenen Rastung. *1 Die Servoansteuersignale werden kontinuierlich ausgegeben. Das Servo *regelt* weiterhin die Position (hat mehr Kraft), kann allerdings manchmal leicht knurren. Wenn die Endlage federbelastet ist, ergibt sich ein höherer Stromverbrauch. 6 Init-Sequenz (mit dieser Option kann (abhängig vom angeschlossenem Servo) eventuell das Einschaltruckeln minimiert werden, s.u.), (ab Version V0.11) *0 Zu Beginn ist die Pulskette ausgeschaltet und wird synchron eingeschaltet. 1 Zu Beginn ist das Pulssignal dauerd ein und wird synchron auf Pulsbetrieb umgeschaltet. 7 Erweiterter Einstellbereich.
Manche Servos halten sich nicht an den definierten Bereich von 1ms bis 2ms Pulsbreite, sondern haben einen etwas breiteren Bereich.*0 Die Servoansteuerung erfolgt von 1ms bis 2ms 1 Die Servoansteuerung erfolgt von 0.5ms bis 2.5ms
Bei Betätigen von "rot" wird der gerade aktuelle Umlauf noch fertig abgefahren, damit beim nächsten Einschalten die Startlage mit der abgespeicherten Startlage übereinstimmt. Man sollte einen solchen Betrieb immer kontrolliert beenden, nie einfach abschalten, weil sonst bei nächsten Start ein heftiger Ruck erfolgt. - CV 556 (44): Wiederholungen Servo 1 (*=0)
Sollte CV555, Bit 0 auf 1 stehen (permanenter Lauf), so bestimmt diese CV die Zahl der Wiederholungen.CV 556: Wiederholung 0 Servo läuft nach Aktivierung in Dauerbetrieb
1..255 Bei einer Aktivierung werden die angegebene Zahl an kompletten A-B Umläufen ausgeführt. - CV 558 (46): Bewegung und Zeit-Ortskurve "A"
(*=5)
Hier wird die Verlaufskurve ausgewählt - dies erfolgt mit der Kennzahl der gewünschten Zeit-Ortskurve. Diese Einstellung gilt für den Umlauf "A" (d.h. der Umlauf für Taste grün).
Bit 7(MSB) legt die Durchlaufrichtung der Kurve fest: rückwärts wird durch ein gesetztes Bit 7 (=MSB) angezeigt.
Die Kurven in der Tabelle werden zeitlich mit dem Werten der Zeitstreckung gedehnt, in der Tabelle sind die Zeiten für Dehnung=1 angegeben.
Die Kurven in der Tabelle werden bei der Ausgabe auf die dann jeweils gültigen Minmial- und Maximalwerte (Also CV552/553 und CV554/555) skaliert. Es gilt folgender Bezug:-
Ausgabewert = Tabellenwert * (Max-Min) / 255.
Ein Ausgabewert 0 entspricht 1ms Pulsdauer, ein Wert von 255 entspricht 2ms Pulsdauer.CV 558: Zeit-Ortskurven 0 keine Kurve
reserviert für Justage.1 benutzerspezifische Kurve 1
diese Kurve kann mit weiteren CVs im Decoder abgelegt werden.2 benutzerspezifische Kurve 2
diese Kurve kann mit weiteren CVs im Decoder abgelegt werden.3 benutzerspezifische Kurve 3
diese Kurve kann mit weiteren CVs im Decoder abgelegt werden.4 benutzerspezifische Kurve 4
diese Kurve kann mit weiteren CVs im Decoder abgelegt werden.5 einfacher Umlauf
Diese Kurve ist ein einfacher linearer Umlauf von Min nach Max.
6 einfacher Umlauf
Diese Kurve ist ein einfacher linearer Umlauf von Max nach Min.7 weicher Umlauf
Diese Kurve ist ein einfacher linearer Umlauf mit einer kleinen Beschleunigungsphase am Anfang und Bremsphase am Ende. (cosinus)
8 weicher Umlauf
Diese Kurve ist ein einfacher linearer Umlauf mit einer kleinen Beschleunigungsphase am Anfang und Bremsphase am Ende.9 sinusförmiger Umlauf, Richtung A
Der Umlauf folgt einer Sinuskurve im Bereich 0° bis +180°. Dieser Umlauf ist zusammen mit dem Umlauf 10 für Pendelbewegungen geeignet.
10 sinusförmiger Umlauf, Richtung B
Der Umlauf folgt einer Sinuskurve im Bereich 180° bis 360°. Dieser Umlauf ist zusammen mit dem obigen Umlauf für Pendelbewegungen geeignet.11 parabelförmiger Umlauf, Richtung A
Dieser Verlauf ist zusammen mit Umlauf 12 z.B. für eine Wippe geeignet.
12 parabelförmiger Umlauf, Richtung B 13 Formsignal - HP0
Dieser Verlauf entspricht dem Schliessen eines Formsignals oder einer Schranke mit Nachwippen.
14 Formsignal - HP1
Dieser Verlauf entspricht dem Öffnen eines Formsignals mit Nachwippen
15 Formsignal - HP1 - Pause
Dieser Verlauf entspricht dem Öffnen eines Formsignals mit Umgreifen des Stellwerkers
- CV 559 (47): Zeitstreckung Servo 1, Umlauf "A"
(*=1)
Die geladene Kurve wird um diesen Faktor zeitlich gestreckt. - CV 560 (48): Bewegung und Zeit-Ortskurve "B"
(*=6)
- CV 561 (49): Zeitstreckung Servo 1, Umlauf "B"
(*=1)
Parameter für Servo 2 (Wertebereiche wie oben):
- CV 564 (52): Minimalwert Servo 2 (*=64)
(zugehöriges Low-Byte: CV 563) - CV 566 (54): Maximalwert Servo 2 (*=192)
(zugehöriges Low-Byte: CV 565) - CV 567 (55): Kontrollwort Servo 2 (*=0)
- CV 568 (56): Wiederholungen Servo 2 (*=0)
- CV 570 (58): Bewegung und Zeit-Ortskurve "A" (*=7)
- CV 571 (59): Zeitstreckung Servo 2, Umlauf "A" (*=1)
- CV 572 (60): Bewegung und Zeit-Ortskurve "B" (*=8)
- CV 573 (61): Zeitstreckung Servo 2, Umlauf "B" (*=1)
- CV 579 (67): Justierschrittweite
Mit dieser Variablen wird die Justierschrittweite festgelegt, die bei jeden Justierschritt verfahren wird. (muß normalerweise nicht verändert werden)
Es gilt folgende Zuordnung:-
1: Der Decoder benötigt 4096 Justierschritte für einen
vollen Umlauf.
255: Der Decoder benötigt 16 Justierschritte für einen vollen Umlauf.
Parameter für ladbare Kurven:
- CV 600-CV 647: Kurve 1
Die Kurven werden jeweils als Folge von Paaren aus Zeit- und Ortsangaben abgelegt- Die Zeitangaben sind in Einheiten von 20ms anzugeben, 100 entspricht dann 2sec. Sollte eine Laufzeit verlängert werden, so kann mit CV559/561 bzw. CV571/573 die Kurve zeitlich gestreckt werden.
- Die Ortsangaben sind von 0 bis 255 skaliert und werden dann bei der Ausgabe mit den Min- und Max-Werten des Servos skaliert. Damit bleibt unabhängig vom Weg des Servos die Charakteristik des Umlaufes erhalten.
- Es dürfen maximal 24 Kurvenpunkte (inkl. Endpunkt) definiert werden, der Endpunkt einer Kurve wird mit Zeit=0 gekennzeichnet.
- Beispiel: Obige Kurve Nr. 5 "Linearer Umlauf A" würde
folgendermassen kodiert sein:
CV 600 0 CV 601 25 Startpunkt bei (0;25) CV 602 2 CV 603 128 Zwischenpunkt bei (2;128) CV 604 4 CV 605 230 letzter Punkt bei (4;230) CV 606 0 CV 607 0 (0;0) = Kurvenende
- CV 648-CV 695: Kurve 2
- CV 696-CV 743: Kurve 3
- CV 744-CV 791: Kurve 4
- Die Beschreibung zum Weichendecoder enthält die Beschreibung der CV's für normale Decoderbefehle und Adresseinstellung.
- OpenDecoder macht CV-Remapping, d.h. die CV 513 ist auch als CV 1 ansprechbar, die CV514 auch als CV2 usw.
- Nicht benutzte CV's (und nicht angegebene CV's) dürfen nicht verändert werden.
Hinweise:
Decoderbefehle
-
Nach der Konfiguration des Servodecoders kann er wie jeder
andere Decoder auch einfach über die Stellbefehle angesprochen
werden. Im folgenden sei für CV555/CV567, Bit 0 der Inhalt 0
angenommen, also getrennte Umläufe für rot und grün.
Taste | Wirkung (bei OpenDecoder 2) |
---|---|
1 | Servo 1 läuft Richtung B um. Zu Beginn des Umlaufes wird Ausgang 1 und Ausgang 2 deaktiviert, am Ende des Umlaufes wird Ausgang 1 aktiviert. |
2 | Servo 1 läuft Richtung A um. Zu Beginn des Umlaufes wird Ausgang 1 und Ausgang 2 deaktiviert, am Ende des Umlaufes wird Ausgang 2 aktiviert. |
3 | Servo 2 läuft Richtung B um. Zu Beginn des Umlaufes wird Ausgang 3 und Ausgang 4 deaktiviert, am Ende des Umlaufes wird Ausgang 3 aktiviert. |
4 | Servo 2 läuft Richtung A um. Zu Beginn des Umlaufes wird Ausgang 3 und Ausgang 4 deaktiviert, am Ende des Umlaufes wird Ausgang 4 aktiviert. |
5 | Ausgang 5 permanent ein, Ausgang 6 aus. |
6 | Ausgang 6 permanent ein, Ausgang 5 aus. |
7 | Ausgang 7 permanent ein, Ausgang 8 aus. |
8 | Ausgang 8 permanent ein, Ausgang 7 aus. |
Die Ausgänge 5 bis 8 können als normale bistabile Schaltausgänge verwendet werden.
Hinweis: bei OpenDecoder2.5 (kleine SMD-Version) werden die Ausgänge nicht geschaltet (sind ja nicht vorhanden, dafür wird auf die Befehl 5-8 Manual Adjustment ermöglicht.)
Die Hardware bei OpenDecoder3 unterscheidet sich ein wenig. Hier sind die Relais bereits auf der Platine integriert, es sind die Schaltkontakte am Anschlußstecker verfügbar (z.B. für die Herzstückumschaltung) Es gibt anstelle der Schaltausgänge 5 bis 8 vier Tastereingänge (gegen Masse zu schalten), mit diesen Tastern können die Befehle 1 bis 4 gegeben werden.
Die DCC-Befehle 5 bis 8 werden für eine Programmierung der Endpositionen verwendet. Man braucht hierfür keine CV's zu programmieren.
Taste | Wirkung (bei OpenDecoder 3) |
---|---|
1 | Servo 1 läuft Richtung B um, am Ende des Umlaufes wird Relaiskontakt 1 geschlossen. |
2 | Servo 1 läuft Richtung A um, am Ende des Umlaufes wird Relaiskontakt 2 geschlossen. |
3 | Servo 2 läuft Richtung B um, am Ende des Umlaufes wird Relaiskontakt 3 geschlossen. |
4 | Servo 2 läuft Richtung A um, am Ende des Umlaufes wird Relaiskontakt 4 geschlossen. |
5 | Die zuletzt angefahrene Position wird etwas nach
unten korrigiert (kleinerer Servo-Wert). (Dieser Befehl ist nicht verfügbar, wenn manuelle Justage in CV555 / CV567 gesperrt wurde.) |
6 | Die aktuelle angefahrene Position wird etwas nach
oben korrigiert (größerer Servo-Wert). (Dieser Befehl ist nicht verfügbar, wenn manuelle Justage in CV555 / CV567 gesperrt wurde.) |
7 | Der mit den Befehlen 5 und 6 veränderte Servowert
wird permanent für diese Position gespeichert. (Dieser Befehl ist nicht verfügbar, wenn manuelle Justage in CV555 / CV567 gesperrt wurde.) |
8 | Die Geschwindigkeit des zuletzt benutzten Servos wird kann eingestellt werden. Hierzu pendelt das Servo ständig zwischen den Endlagen hin- und her. 5 macht langsamer, 6 schneller, 7 speichert die Einstellung. (dies fehlt noch) |
Applikation, Tipps für den Anwender
- Stromversorgung:
Die Servos arbeiten auf 5V, diese wird aus der Versorgungsspannung per Längsregler erzeugt. Erfolgt die Versorgung mit DCC oder mit einer hohen Wechselspannung (> 10V), so fällt am Längsregler viel Leistung ab, welche abgeführt werden muß.
Empfohlen ist die Versorgung mit einen preiswerten Steckernetzteil mit etwa 9 Volt Ausgangsspannung. - Ein- und Ausschalten:
Der Decoder merkt sich die jeweils letzte Lage des Servos. Wenn der Dekoder (und damit das Servo) vor dem Erreichen dieser Lage abgeschaltet wird, dann stimmt beim nächsten Einschalten die gespeicherte Lage und die tatsächliche mechanische Lage nicht überein und das Servo fahrt mit seiner Maximalgeschwindigkeit in die von Decoder vorgegebene Startlage.
Daher sollte eine Bewegung immer kontrolliert beendet werden, nie einfach abgeschaltet werden. - Mechanische Ankopplung:
Servos (besonders die billigen) Erzeugen bei Einschalten einen kleinen Ruck. Die Mechanik muß so ausgelegt sein, dass es dadurch nicht Beschädigungen kommt. Also z.B. Kraftübertragung mit Federmöglichkeit oder Gummirutschkupplung vorsehen.
Ich verwende oft eine Steckverbindung für WireWrap-Stifte - diese klemmen gut genug für einfache Bewegungen, lösen aber sofort bei Überlastung und lassen sich auch noch leicht justieren.
Weitere Möglichkeiten sind ein Ventilschlauch, durch den (entweder längs oder quer) die Stelldrähte geschoben werden oder das Einbiegen einer federnden Schlaufe in den Stelldraht. - Welches Servo?
Entscheidend für eine feine Bewegung ist neben der perfekten Ansteuerung auch die Wahl des Servos.
Ich habe verschiedene Servos probiert und hier gilt: Geiz ist NICHT geil!
Die günstigen Servos von Conrad in der 5-Euroklasse (z.B. ES-05, ES030) ruckeln bei langsamen Bewegungen und haben bei geringen Bewegungen Probleme mit der Auflösung. Zudem hat mich ein ES-05 nach ein paar Stunden 30%-Betrieb einfach im Stich gelassen.
Empfehlenswert ist das Robbe FS 100 (leise und exakt, kostet etwa 10 Euro) und das Hitec HS-311 und als kleines Servo das Hitec HS-55.
Beste Ergebnisse lassen sich mit Digitalservos erzielen - diese rucken auch nicht bei Einschalten. - Andere Bewegungskurven:
Berechnungsblatt zum Erzeugen weiterer Ortskurven: servo_curve.xls bitte per mail anfragen.