Multipositionssteuerung: eine Software für OpenDecoder (V.2)
Überblick
-
Modellbauservos sind die preiswerte Möglichkeit schlechthin, um
wirklichkeitsgetreue Bewegungen auf der Modellbahn
durchzuführen. Hier wird ein Decoder vorgestellt, der bis zu
acht Zielpositionen je direkt anfahren kann. Dies kann zum für
eine umschaltbare Straßenkreuzung in Faller Car verwendet
werden, wo je nach eingestelltem Winkel in unterschiedliche
Richtungen gefahren wird. Ein besonderer Anwendungsfall ist eine
Segmentdrehbrücke oder Segmentdrehscheibe, welche in ihrer
Drehachse auf einem Servo gelagert ist.
Die Segmentdrehscheibe hat zwei oder mehrere Abgänge, welche jeweils mit einem Weichenstellbefehl angefahren werden sollen. Von der Startposition wird jeweils auf die Zielposition ohne Zwischenhalt gefahren.
Das Losfahren der Drehbrücke erfolgt mit feinfühliger Beschleunigung und das Anfahren der Zielposition geschieht mit sanftem Bremsen, wobei die maximale Bewegungsgeschwindigkeit unabhängig von der Distanz zum Ziel ist.
Diese Software basiert auf dem normalen ServoDecoder, benutzt aber andere CVs zur Einstellung sowie auch andere Befehle.
Unterstützt werden bis zu 8 Abgänge, die einfach durch CVs oder auch durch einen interaktiven Lernprozeß eingestellt werden.
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.
Konfiguration mit CV-Variablen
-
Damit die Drehscheibe die richtigen Positionen anfährt. muß der
Decoder für die jeweilige Bewegungsaufgabe konfiguriert werden.
Folgende Dinge müssen eingestellt werden:
- Die Zielpositionen der einzelnen Abgänge: diese hängen von der Einbausituation ab.
- Das gewünschte Laufverhalten: einfacher Umlauf oder Umlauf mit sanftem Anfahren und Abbremsen.
- Die gewünschte Umlaufgeschwindigkeit: hiervon abhängig werden die Zeitdauern der Umläufe errechnet.
- 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 Servodecoder 2 Multiposition Servo-Decoder (z.B. für Segmentdrehscheibe (hier beschrieben) 8 DMX-Decoder 32 Signaldecoder mit Dimming - CV 576 (64): Kontrollwort Steuerung (*=0)
Hiermit wird festgelegt, welche Umlauftyp der Decoder verwendet und ob eine manuelle Justage und Bedienung erlaubt ist.CV 576: Kontrollwort 0 0: linearer Umlauf (konstante Geschwindigkeit)
1: sanfter Umlauf (mit Anfahrbeschleunigung und weichem Bremsen)1 0: Justage der Zielpositionen nur über CV
1: Justage der Zielpositionen über CV und über zusätzliche Weichenbefehle (manuelle Justage)2 0: Ansteuerung nur per DCC Schaltbefehle
1: Bedienung und Zielwahl über externe Taster - CV 577 (65): Geschwindigkeit / Zeitliche Dehnung
(*=5)
Skalierungswert für die Bewegung. Ein größerer Wert macht die Bewegung langsamer. - CV 578 (66): Letzte angefahrene Position (Index)
(read only)
Nur zur Kontrolle: an dieser Stelle steht das Servo aktuell, darf nur gelesen werden. Dieser Index wird nachdem Ab- und wiederanschalten erneut angefahren. - CV 579 (67): Justierschrittweite
Mit dieser Variablen wird die Justierschrittweite festgelegt, die bei jeden Justierschritt verfahren wird. (muß normalerweise nicht verändert werden)
Es gibt 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. - CV 581 (69): Zielwert Abgang A (*=10)
Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 580 und braucht normalerweise nicht verändert zu werden. - CV 583 (71): Zielwert Abgang B (*=50)
Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 582 und braucht normalerweise nicht verändert zu werden. - CV 585 (73): Zielwert Abgang C (*=100)
Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 584 und braucht normalerweise nicht verändert zu werden. - CV 587 (75): Zielwert Abgang D (*=150)
Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 586 und braucht normalerweise nicht verändert zu werden. - CV 589 (77): Zielwert Abgang E (*=200)
Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 588 und braucht normalerweise nicht verändert zu werden. - CV 591 (79): Zielwert Abgang F (*=64)
Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 590 und braucht normalerweise nicht verändert zu werden. - CV 593 (81): Zielwert Abgang G (*=64)
Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 592 und braucht normalerweise nicht verändert zu werden. - CV 595 (83): Zielwert Abgang H (*=64)
Wertebereich 0...255.
Dies ist eigentlich das High Byte eines Integerwertes, das zugehörige Low Byte ist in CV 594 und braucht normalerweise nicht verändert zu werden. - OpenDecoder macht CV-Remapping, d.h. die CV 513 ist auch als CV 1 ansprechbar, die CV514 auch als CV2 usw. Die entsprechenden Adressen sind in Klammern angegeben.
- 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. Die Weichenbefehle unterscheiden sich je nach Hardware.
Stellbefehle (bei OpenDecoder2) | |
---|---|
Taste | Wirkung |
1 | Anfahren der Position A |
2 | Anfahren der Position B |
3 | Anfahren der Position C |
4 | Anfahren der Position D |
5 | Anfahren der Position E |
6 | Anfahren der Position F |
7 | Anfahren der Position G |
8 | Anfahren der Position H |
9 | Die aktuelle angefahrene Position wird etwas nach
unten korrigiert (kleinerer Servo-Wert). (Dieser Befehl ist nur verfügbar, wenn manuelle Justage in CV576 freigegeben wurde.) |
10 | Die aktuelle angefahrene Position wird etwas nach
oben korrigiert (größerer Servo-Wert). (Dieser Befehl ist nur verfügbar, wenn manuelle Justage in CV576 freigegeben wurde.) |
11 | Der mit den Befehlen 9 und 10 veränderte Servowert
wird permanent für diese Position gespeichert. (Dieser Befehl ist nur verfügbar, wenn manuelle Justage in CV576 freigegeben wurde.) |
Stellbefehle (bei OpenDecoder3) | |
---|---|
Taste | Wirkung |
1 | Abschalten Relais 1 |
2 | Einschalten Relais 1 |
3 | Abschalten Relais 2 |
4 | Einschalten Relais 2 |
5 | Abschalten Relais 3 |
6 | Einschalten Relais 3 |
7 | Abschalten Relais 4 |
8 | Einschalten Relais 4 |
9 | Anfahren der Position A |
10 | Anfahren der Position B |
11 | Anfahren der Position C |
12 | Anfahren der Position D |
13 | Anfahren der Position E |
14 | Anfahren der Position F |
15 | Anfahren der Position G |
16 | Anfahren der Position H |
17 | Die aktuelle angefahrene Position wird etwas nach
unten korrigiert (kleinerer Servo-Wert). (Dieser Befehl ist nur verfügbar, wenn manuelle Justage in CV576 freigegeben wurde.) |
18 | Die aktuelle angefahrene Position wird etwas nach
oben korrigiert (größerer Servo-Wert). (Dieser Befehl ist nur verfügbar, wenn manuelle Justage in CV576 freigegeben wurde.) |
19 | Der mit den Befehlen 17 und 18 veränderte Servowert
wird permanent für diese Position gespeichert. (Dieser Befehl ist nur verfügbar, wenn manuelle Justage in CV576 freigegeben wurde.) |
Hinweis: der Weichendecoder enthält die Beschreibung der CV's für normale Decoderbefehle und Adresseinstellung.