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:
Nummer | Verwendet 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 | Mittagsläuten |
6 | Festläuten 1 |
7 | Festläuten 2 |
CVs für den Glockenschlag-Dekoder
-
Vorbemerkungen:
- 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
Wenn in der CV422 das Bit 0 gesetzt ist, wird bei den Uhrtypen Stundenuhr, Kirchtrumuhr und Westminster nach 12:00 mittags der Sound 6 angehängt. - Gebetläuten
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.
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.