Decoder

Signale im Motorola-Format decodieren und Magnetartikel steuern
Bauanleitungen


Abb.1

Abb.1 zeigt das Flussdiagramm.

1 (hellblau):
eine Zentrale steuert konventionell digital eine Modellbahnanlage.
Ebenso kann die Anlage per PC über Software gesteuert werden (dunkelblau).

2 (hellblau):
mit konventionellen Decodern werden Komponenten der Anlage geschaltet.

3 (hellgelb):
in Vorbereitung

4 (hellgelb):
Selbstbau-Decoder im Motorola-Format.
* 4 Magnetartikel
* 4 Umschalter
* 4 Servos
* 8-10 Anzeigen
steuert Komponenten der Anlage inklusive Anzeigen für ein Gleisbildstellwerk (5).

Vorbemerkungen

Für meine Modellbahnanlage benötige ich sehr viele Decoder zur digitalen Steuerung von Weichen und Flügelsignalen.
So rechnete ich mir natürlich auch mal die Kosten aus, und: erschrak! Ich führe hier beispielsweise ein Kostenbeispiel auf.
Mit einem Viessmann-Decoder können 4 MÄRKLIN-Weichenantriebe mit Unterflurzurüstsätzen digital geschaltet werden:
Die Kosten (Listenpreise, Stand August 2022)
Artikel Art.-Nr. Preis € Stück Preis €
Märklin Weichenantrieb 75491 26,99 4 107,96
Märklin Unterfurzurüstsatz 7548 17,99 4 71,96
Viessmann Decoder 5211 33,69 1 33,69
Gesamtbetrag:       213,61
Die Kosten für den selbstentwickelten "Decoder 4 Servos OP1.4"
Alle erforderlichen Bauteile Bestellung Fa. Reichelt Internet China-Shops
Selbstbau-Gesamtbetrag 58,38 € 15,20 €
Und dabei bewegen sich die Weichenantriebe zudem noch vorbildlich langsam und alle Schaltzustände werden durch LEDs angezeigt!
Für meine Anlagenplanung mit z.B. 100 Weichen müsste ich 5.340,25 € ausgaben, mit meinem Selbstbauprojekt hingegen lediglich 380,00 €, ein Ersparnis von satten 4.960,25 €, das sind 93% Ersparnis! Da lohnt sich der Selbstbau!
Randbemerkung:
In einer Modellbahnfachzeitschrift las ich in einem dort veröffentlichten Artikel "selber machen" des verantwortlichen Redakteurs "gerne veröffentlichen wir in der DiMo auch den Baubericht eines Lesers. Schreiben Sie uns an!". Ich schrieb, da ich der Auffassung war, dass mein Selbstbauprojekt auf Grund der enormen Preisersparnis ein "Zugpferd" für die Zeitschrift sei. Das war im Juni - keine Antwort - Anfang August das zweite Anschreiben - bis heute, 1. September, keine Antwort. Mir unverständlich, was davon zu halten ist. Mir kommt es gar nicht so sehr auf das Autorenhonorar an (was sowieso äußert bescheiden in Anbetracht des Arbeitsaufwandes ist), sondern ich möchte vielmehr den - in meinen Augen - überzogenen Preisen der Hersteller mit meinen bescheidenen Selbstbauentwicklungen entgegentreten und sie den Freunden der Modellbahn zugänglich machen.
So veröffentliche ich nun hier auf meinen Seiten für alle Modellbahnfreunde meine Bauanleitungen.

Einführung
Zum besseren Verständnis der nachfolgenden Bauanleitung besuchen Sie unter ARDUINO die Seiten: Grundlagen, ARDUINO und Zubehör, ARDUINO ATtiny-Brenner, und Servosteuerung.

Teil 1: ein Decoder mit 4 Weichen-Servos und Anzeigen


Abb.2

Abb.3

Wenden wir uns dem Schaltplan zu. Die Beschreibungen erfolgen schrittweise für die einzelnen Funktionsstufen.

Decoder und Signal-Datensenke

Da unsere Schaltung  mit 5V (TTL-Pegel) arbeitet, die Zentrale jedoch ihre digitalen Daten mit +/-19,5V liefert, sind diese erst mal auf auf 5V-Pegel zu bringen. Dies erfolgt mittels der Stufe "Pegelanpassung"; Eingänge St31 und St32.
Die auf 5V-Pegel umgesetzten digitale Daten werden werden dann dem Dateneingang des Decoder-ICs 1 (MC14027 Pin 9) zugeführt. Der Adressbereich, welcher vom Decoder dekodiert werden soll, ist mit dem 8-poligen DIL-Schalter 1 einzustellen.

Abb.4
Pegelanpassung: R1, R2, R3 arbeiten als Spannungsteiler, sodass am Emitter (E) des Transistors T1 die digitalen Signale der Zentrale mit 5V-Pegel zur Verfügung stehen.
Decodierung: die Daten-Signale gelangen an das Decoder-IC1 (Pin 9). Der Arbeitstakt für das Motorolaformat des IC1 erfolgt durch C4, R5, C6, R6. C7 dient der Stabilisierung von IC1. In Abb.4 sind die DIL-Schalter auf "Decoder-Nr.1" und "Adressbereich 1-4" eingestellt (Schalter mit roten Pfeilen an, also auf +5V), also wie beim Viessmann Decodern auch.
Die so eingestellten Adress-Signale gelangen zu den Adresseingängen A1 bis A4 von IC1, wobei A5 stets auf 0V (L) liegt (IC1 könnte einen viel größeren Adressbereich verarbeiten).
D6 bis D8 sind Ausgänge des IC1 an denen Impulse von 1sec. dekodiert ausgegeben werden, wobei D9 jedesmal ein 1 sec.-H-Impuls liefert, wenn an der Zentrale eine Schaltfunktion erfolgt. Diese Impulse (D6 bis D9) gelangen nun zum IC2.
IC2 74HC138 (oder baugleich 74LS138) [bildet eine sogenannte Signal-Datensenke] empfängt an seinen Eingängen A0 bis A2 die dekodierten Impulse von D6 bis D8. E3 erhält einen Impuls von D9, damit nur dann eine Datenverarbeitung erfolgt, wenn an der Zentrale eine Eingabe erfolgt. E1 und E2 von IC2 liegen permanent auf 0V (L). Y0 bis Y7 sind 8 Ausgänge von IC2 und liefern negative 1 sec. Impulse, jeweils zugehörig von dem Taster welcher an einer Zentrale (Keyboard, Software) betätigt wurde. Bei oben genannter Kodiereinstellung des DIL-Schalters geben also die IC2-Ausgänge Y0 und Y1 Adress-Daten 1 aus, mit  Y0 der Keyboardtaste Rot und Y1 der Keyboardtaste Grün gewählten Befehlen. Analog gilt dies für Y2 und Y3 Adressdaten 2, Y4 und Y5 Adressdaten 3, sowie Y6 und Y7 Adressdaten 4. Siehe hierzu die Abbildung 4. Hier sind auch Testpunkte angegeben: an TP1 (der Anschlüsse ST31 und St32) können mittels eines Oszilloskops die Digitalspannungssignale der angeschlossenen Zentrale gemessen werden; an TP2 die pegelangepassten 5V-Signale; an TP3 der Impuls der hier auftreten muss, wenn an der Zentrale eine Taste der Adresse 1 betätigt wurde. So kann schnell die Schaltung überprüft werden, ob alles funktioniert.

Abb.5
Die Abbildung 5 zeigt die möglichen Logik-Zustände des IC2.
Meine obigen Beschreibungen können damit nachvollzogen werden.
Wenn E3 = L, dann passiert nichts.
Wenn E1 und E2 = H und E3 = L, dann werden binäre Eingangssignale an A0, A1, A2 dekodiert an die Ausgänge Y0 bis Y7 jeweils entsprechend der Eingabe ausgegeben.

Abb.6
Wen es interessiert:
Abbildung 6 zeigt das Blockdiagramm von IC1.

Datenspeicher

Die dekodierten Signale, welche an den Ausgängen Y0 bis Y7 von IC2 nur kurzfristig nach jeder Eingabe an einer Zentrale (Keyboard oder Software) als negative Impulse zur Verfügung stehen, müssen nun gespeichert werden. Um mögliche Störeinflüsse auf das angeschlossene Digitalsystem zu vermeiden, werden zuvor aber Optokoppler zur galvanischen Trennung eingesetzt. Außerdem werden damit die Ausgänge von IC2 in ihren TTL-Pegeln nicht durch Folgestufen belastet. Als Optokoppler kommen ICs vom Typ LTV847 zu Einsatz. Ein IC besitzt intern 4 LEDs als Eingänge mit zugehörigen 4 npn Transistoren als Ausgänge. Die LEDs haben jeweils zur Strombegrenzung Vorwiderstände (R7 bis R14) an ihren Anoden zu +5V. Erscheint nun ein negativer Impuls (also L = 0 Volt) an der Kathode einer LED, so wird der zugehörige Transistor im IC leitend und gibt den Impuls an seinem Kollektor-Ausgang (C) aus. Die Emitter (E) vom IC liegen über Widerstände (R15 bis R22) an +5V. Siehe Abbildung 7 unten.

Abb.7
Der Optokoppler-Schaltungsbereich ist in Abb.7 grau hinterlegt und besteht aus IC3 und IC4. Die galvanische Trennung vom unteren zum oberen Schaltungsbereich ist durch eine grau gestrichelte Linie gekennzeichnet.
Der Schaltungsbereich des Datenspeicher ist rosa hinterlegt. Zum Speichern der empfangenen Daten wird das IC5 vom Typ 4044 verwendet. IC5 beherbergt 4 unabhängige RS-FlipFlops. Pin 5 (EN = Enable) ist ein Freigabeeingang, welcher permanent auf +5V liegt, so ist das IC5 stets zu Eingaben bereit. Gelangt ein L-Impuls an S (Set), so schaltet der Ausgang Q auf H (ein). Gelangt ein  L-Impuls an R (Reset), so schaltet der Ausgang auf L (aus). Das ist genauso, als ob ein bistabiles Relais verwendet würde, nur viel preiswerter, mit einem Nachteil: gespeicherte Daten gehen verloren, wenn die Versorgungsspannung abgeschaltet wird. Um diesen Datenverlust zu vermeiden, wird über D2 ein Goldcap (großer Kondensator) C8 mit  5V geladen (in Abb.7 Grün hinterlegt) [Taster Ta1 ist optional zum Entladen von C8, wenn man IC5 spannungslos aus der Fassung nehmen möchte]. Datenspeicher IC5 wird also über D8 mit Stromversorgt und bei Spannungsabschaltung ist D8 in Sperrrichtung zu anderen Verbrauchern, sodass die Spannungsversorgung von IC5 durch C8 über lange Zeit aufrecht erhalten wird (rechnerisch für 600 Tage). Die Ausgänge Q1 bis Q4 liefern somit gespeichert die Schaltzustände der Adressen 1 bis 4. Und zwar jeweils L für Gerade, wenn eine grüne Keybooard-Taste betätigt wurde, oder H für Abzweig, wenn eine rote Keybooard-Taste betätigt wurde (deshalb sind diese Leitungen im Schaltplan auch Orange/Grün-gestrichelt dargestellt, um die 2 Potentiale von Schaltzuständen zu vermitteln). An TP4 kann die Funktion von Adresse 1 gemessen werden. Die kleine Tabelle "Logik IC 4044" zeigt die logischen Funktionen von IC5.

Treiber und Anzeigen 24.09.

Die Ausgänge Q1 bis Q4 des Daten-Speicher-IC5 4044, also die Daten der Adressen 1 bis 4, gelangen zu den Eingängen 1 bis 4 des IC6 vom Typ ULN2803. IC6 ist ein 8-fach-Treiber-IC, welches die Eingangssignale invertiert! Und die LED-Anzeigen treibt (sowie auch die Servosteuerung, Beschreibungen hierzu folgen später weiter unten). Die Funktionsweise ist wie folgt: Gehen wir mal aus, dass für Adresse 1 am Keyboard die rote Taste gedrückt wurde.

Abb.8
Dann ist Q1 von IC5 H (Abzweig). Das Signal wird am Eingang Pin 1 von IC 6 am Ausgang Pin 18 invertiert als L ausgegeben und gelangt an die Kathode von LED1, die über R23 auf +5V liegt; sie ist also an und signalisiert W1or=Abzweig. Zugleich gelangt das L-Signal über D3 Auf die Anode der LED2, welche dadurch ausgeschaltet ist. Betätigen wir nun für Adresse 1 am Keyboard die grüne Taste, dann geht Q1 von IC5 von H auf L und damit Pin 18 von IC6 invertiert auf H und gelangt ebenso an die Kathode von LED1, die über R23 auf +5V liegt, welche aus geht, da nun ihre beiden Anschlüsse auf +5V liegen. Diode D3 ist in Sperrrichtung, sodass keine positive Spannung zur zur Anode von LED2 gelangen kann! LED 2 geht an und signalisiert W1gn=Gerade.
Entsprechendes gilt für die Adressen 2, 3 und 4 für die Anzeige-LEDs 3 bis 8. Wozu dient das IC6? Nun, es müssen nicht nur Anzeige-LEDs versorgt werden, sondern auch 2 weitere ICs (zur Servosteuerung der Weichenantriebe, Beschreibung folgt im nächsten Abschnitt). Die Ausgänge von IC5 können aber jeweils nur maximal 2 Gatter ansteuern, was hier aber nicht ausreichend ist, sodass ein Treiber-IC erforderlich ist, eben IC6. In Abbildung 7 rechts sind bereits vier Adressleitungen mit dem Hinweis "zur Servosteuerung" eingezeichnet, was im Folgebeitrag beschrieben wird.

 

Fortsetzung folgt

zurück zu ARDUINO