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.
    Bewegungsablauf
    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:
    1. Die Zielpositionen der einzelnen Abgänge: diese hängen von der Einbausituation ab.
    2. Das gewünschte Laufverhalten: einfacher Umlauf oder Umlauf mit sanftem Anfahren und Abbremsen.
    3. Die gewünschte Umlaufgeschwindigkeit: hiervon abhängig werden die Zeitdauern der Umläufe errechnet.
    Diese Parameter und damit das gewünschte Verhalten des Decoders kann einfach durch CV (=Configuration Variablen) eingestellt werden:
  • 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! Im folgenden sind nur die CV's für den MODE 2 beschrieben!
  • 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.


  • Hinweise:
    • 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.

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.