OpenDCC AniMat: Glockenschlag-Dekoder

Überblick

    Neben simulierten Tag-Nachtübergängen auf der Modellbahn macht es Sinn, auch die sonstigen Animationen an den Tagesablauf anzupassen. Die hier beschriebene Software implementiert eine vollautomatische Kirchturmuhr auf dem OpenDCC AniMat. Jeweils zur Viertelstunde oder zur vollen Stunde wird die richtige Schlaganzahl abgespielt: und zwar nicht als Gebimmel, sondern die Zeit wird aus einzelnen kräftigen Schlägen zusammengesetzt, welche genau die aktuelle Modellbahnuhrzeit auswerten.

    Hierzu wird die DCC FAST CLOCK Nachricht ausgewertet.

Wie werden die Töne erzeugt?

    Der Glockenschlag-Dekoder verwendet einzelne mp3-Dateien, um z.B. einen kompletten Stundenschlag (bestehend aus vier Viertelschläge, dann die richtige Anzahl der Stundenschläge) zusammenzusetzen. Dabei werden die Einstellungen für den normalen Sound-Dekoder benutzt, um die aufzurufenden Töne zu laden und die Parameter (wie z.B. Lautstärke oder Balance) bestimmen. Der Ablauf ist wie folgt: Der DCC-Eingang wird auf Uhrzeitnachrichten der Modellzeituhr abgehört, und z.B. um 9:45 wird dreimal der Viertelstundenschlag abgespielt, wobei zur realistischeren Darstellung zweimal der Viertelschlag kurz und einmal mit Ausklingen abgespielt wird.

    Es gilt folgende Zuordnung:
    NummerVerwendet für:
    0 Ruhe
    1 Stundenschlag, erster bis vorletzter Schlag
    2 Stundenschlag, letzter Schlag; der letzte Schlag ist separat gespeichert, weil hier dann ein längeres Ausklingen abgespielt werden kann.
    3 Viertelschlag, erster bis vorletzter Schlag
    4 Viertelschlag, letzter Schlag (mit Ausklingen)
    5 reserviert
    6 Mittagsläuten
    7 Festläuten
    Man kann also jede beliebige Kirche nachbilden - einfach die benötigen Aufnahmen als entsprechende mp3-Files auf der SD-Card ablegen. Dateien hierzu kann man im Internet finden - am besten sucht man allerdings nicht nach mp3, sondern nach ogg (z.B. auf Wikimedia: "Glocke ogg").

CVs für den Glockenschlag-Dekoder

    Vorbemerkungen:
    Diese CVs sind als Block aufzufassen. Die tatsächliche Adresse ergibt sich, wenn man die Basisadresse des Block zur Teiladresse addiert. Deswegen sind die CV-Adressen hier mit einem '+' - Vorzeichen angegeben. Je nach integrierten SW-Modulen kann eine andere Basisadresse gelten, bitte daher bei CV-Steuerprogrammen diese Möglichkeit vorsehen.
    Die CVs des mp3-Blockes finden hier auch Anwendung, über diese CV werden die einzelnen Teiltöne, Lautstärke und Balance eingestellt.
  • CV [Base] + 0: CONFIG
    Hier wird das allgemeine Verhalten des Glockenschlagdekoders eingestellt, also wie er sich im System verhält.
      CV [Base] + 0: CONFIG
      Bit 0 0: der Decoder belegt keine DCC-Adresse.
      1: Es wird eine Zubehöradresse belegt: rot schaltet das Schlagwerk aus, grün schaltet ein.
      Bit 1 0: der Decoder belegt nur eine oder keine DCC-Adresse (abhängig von Bit 0)
      1: Es werden zwei weitere Adressen belegt, diese stellen die Uhr auf vorgegebene Zeitpunkte (0:00, 6:00, 12:00, 18:00, siehe unten)
      Bit 2..7 reserviert.
  • CV [Base] + 1: UHRTYP
    Hier wird das Schlagverhalten eingestellt. Eine genaue Erläuterung über Schlagwerke findet sich im zugehörigen Wikipedia-Artikel über Uhrwerke.
      CV [Base] + 1: UHRTYP
      0 Stundenuhr. Die Glockenschläge erfolgen nur jeweils zur vollen Stunde, ein Viertelschlag erfolgt nicht.
      1 Kuckucksuhr. Die Glockenschläge erfolgen nur jeweils zur vollen Stunde, zur halben Stunde erfolgt ein einzelner Schlag mit der Stundenglocke.
      2 Kirchturmuhr: Jede 15min erfolgt ein Viertelschlag, zur vollen Stunden erfolgen 4 Viertelschläge, gefolgt von der Anzahl Stundenschläge. Diese Kombination aus Stundenschlag und Viertelstundenschlag wird auch 'Wiener Schlag' genannt. (1 Schlag bei 'viertel nach', 2 Schläge bei 'halb', 3 Schläge bei 'viertel vor').
      3 Westminster-Schlag: Jeweils zur Viertelstunde erfolgt ein ein Viertelschlag (Nr. 4), zur vollen Stunden erfolgen die Anzahl Stundenschläge. Als Schläge werden hier spezifische Tonfolgen verwendet.
      4..255 reserviert
  • CV [Base] + 2: ERSTE STUNDE
    Mit dieser CV wird eingestellt, wann die Uhr morgens mit den Schlagen beginnt. (Voreinstellung: 7)
      CV [Base] + 2: ERSTE STUNDE
      0 Die Uhr beginnt ab Morgens 0:00 zu schlagen
      1 .. 24 Die Uhr beginnt mit der angegebenen Stunde zu schlagen: ist hier z.B. 7 eingestellt, so erfolgt der erste Stundenschlag um 7:00.
  • CV [Base] + 3: LETZTE STUNDE
    Mit dieser CV wird eingestellt, wann die Uhr abends mit den Schlagen aufhört. Wenn diese CV kleiner als die ERSTE STUNDE ist, dann schlägt die Uhr nie. (Voreinstellung: 22)
      CV [Base] + 3: LETZTE STUNDE
      0 ... 24 Die Uhr hört mit dieser Stunde auf. ist hier z.B. 21 eingestellt, so wird um 21:00 das letzte Mal geschlagen.
      > 24 Die Uhr schlägt immer.
  • CV [Base] + 4: START_OFFSET
    Mit dieser CV wird eingestellt, ob und wie stark das Schlagwerk der Uhr nachgeht. Damit lassen sich z.B. mehrere installierte Turmuhren auf einer Anlage leicht zeitversetzt abspielen - wie es halt in der Zeit vor DCF77 auch war ... (Voreinstellung 0)
      CV [Base] + 4: START_OFFSET
      0 Nach Eintreffen der Uhrzeit wird sofort der Glockenschlag gestartet.
      1 .. 255 Der Beginn des Abspielens des Glockenschlags wird um die angegebene Zeit (in s) verzögert.
  • CV [Base] + 5: Faktor
    Mit dieser CV wird eingestellt, ob und wie schnell eine interne Uhr geht. Wenn der Faktor 0 ist, dann steht die interne Uhr und der Decoder agiert nur auf den Empfang der DCC FAST CLOCK Nachricht. Ist eine Faktor eingestellt, dann läuft die Uhr mit diesem Faktor schneller als Echtzeit. Immer wenn eine DCC FAST CLOCK Nachricht eintrifft, dann wird die interne Uhr nachgestellt.
      CV [Base] + 5: FACTOR
      0 Die lokale Uhr steht. Das Schlagwerk wird von der Zentrale gesteuert.
      1 .. 15 Die Uhr läuft um die angebene Zeit schneller.
  • Mittagsläuten
    (per Zeitgesteuerter Dateiabruf)
  • Gebetläuten

Befehle über DCC / externe Eingänge

    Der AniMat wertet in dieser Betriebsart die DCC FAST CLOCK Nachricht aus (Modellzeit), welche aber in älteren DCC-Systemen ev. nicht zur Verfügung steht bzw. von den Steuerprogrammen nicht richtig angesteuert wird.
    Deshalb kann man hier auch per Zubehörbefehle bestimmte Aktionen veranlassen. Hierzu müssen in der CV 'CONFIG' die entsprechenden Bits gesetzt sein. Die Adresse dieser Zubehörbefehle wird mit den normalen Einstellungen für Zubehördekoder definiert.
      DCC-Befehl Wirkung
      0 Der Glockenschlag wird abgeschaltet. Dies gilt für alle folgenden Schlagzeitpunkte, ein ev. laufender Glockenschlag wird noch fertig gespielt. (Bit 0 in CONFIG muss auf 1 gesetzt sein).
      1 Der Glockenschlag wird eingeschaltet. Dies gilt für alle folgenden Schlagzeitpunkte (sofern diese zwischen ERSTER und LETZTER STUNDE liegen). (Bit 0 in CONFIG muss auf 1 gesetzt sein).
      2 Die Uhr wird auf 00:00 gestellt. (Bit 1 in CONFIG muss auf 1 gesetzt sein).
      3 Die Uhr wird auf 06:00 gestellt. (Bit 1 in CONFIG muss auf 1 gesetzt sein).
      4 Die Uhr wird auf 12:00 gestellt. (Bit 1 in CONFIG muss auf 1 gesetzt sein).
      5 Die Uhr wird auf 18:00 gestellt. (Bit 1 in CONFIG muss auf 1 gesetzt sein).
      6 Abspielen von Mittagsläuten (Sound 6.mp3)
      7 Abspielen von Festläuten (Sound 7.mp3)

Vorbelegung

    Im Glockenschlagdekoder auf der Downloadseite sind bereits 2 Glockenschläge im internen Speicher des Prozessors enthalten (Mono, 11025Hz Samplerate und auf 40kBit komprimiert). Der Dekoder spielt nach den Download bereits diese Samples ab.

CV-Einstellung mit Excel

    Im Excel-Sheet animat.xls ist auch eine Seite zu leichten CV-Einstellung enthalten:

    Die Daten werden in den grün unterlegten Felder eingegeben und mittels Write an den AniMat übertragen. Die Übertragung kann entweder direkt, per p50x oder mittels Rocrail bzw. TP erfolgen.