Modellbahn Servodecoder für Weichen mit Rückmeldung
Von: Micha68
Einleitung
Hier beschreibe ich meine Version des DCC-Servodecoders "OpenDecoder2" von Wolfgang Kufer (http://www.opendcc.de)
Funktionsübersicht:
- Spannungsversorgung über ein externes 5V-Netzteil, Durchschliff für weitere Verbraucher (ACHTUNG! Polarität beachten!)
- (Ich betreibe meine Modellbahn mit 2 zentralen Schaltnetzteilen. Daher haben meine Platinen keinen eigenen Spannungsregler.)
- Spannungsversorgung der Servos schaltbar, dH das Servo wird nur während des Umlaufs mit 5V versorgt. (Diese Option ist im Default eingeschaltet)
- Relais für Herzstückpolarisation. Während des Umlaufs ist das Herzstück Spannungsfrei.
- Rückmeldung der Weichenlagen über vier s88-Melder (im Default über Kontakte der Herzstück-Relais, kann aber auch über externe Schalter signalisiert werden)
- Belegtmeldung über vier s88-Melder (2 für die Weichen, 2 freie DCC-Blöcke)
- 4 freie Ausgänge über Treiber (ULN2803, 5V, einzeln schaltbar, für Lampen, Leds, Relais etc.)
- 8 freie Ausgänge ohne Treiber (5V und 1,5kOhm Vorwiderstand - für LEDs, paarweise schaltbar für zB Signale)
- Weichen-Rückmeldung über openDCC-Ringleitung (Option, ungetestet)
- schwarze Platine, zweiseitig, 10cm x 10cm, keine SMD´s
Software
- Attiny2313 für s88-Melder. Die Software entspricht ohne Änderung der Software der s88-Tastatur von opendcc.de
- Atmega8515 für Decoder. Hier sind einige Änderungen durchgeführt worden. (Beschreibung folgt)
- Von der Standardbelegung abweichende CV´s:
Mit diesen Einstellungen betreibe ich meine Robbe FS100-Servos. Um den Servoweg zu testen, am besten mal das Servo ohne mechanische Verbindung zur Weiche laufen lassen. Die jeweiligen Endpunkte lassen sich ja über die Adressen 3 und 4 justieren. Da ich mit meinen Erweiterungen an die Speichergrenze des Atmega kam, habe ich einige vordefinierte Servokurven löschen müssen (Flügelsignale). Also am besten nur mit Kurve 7 bzw. 8 laufen lassen.
Liste CVs: Download
Einbindung in Modellbahnsoftware am Beispiel von RocRail
Die Weichen liegen auf der Decoderadresse, die Ausgänge 9-16 auf der Decoder-Adresse+1 und die Ausgänge 5-8 liegen auf der Decoder-Adresse+2 ! Die erste Adresse wird gesetzt, indem man den Prog-Taster drückt und die Weiche 1 schaltet.
Adresse | Ausgang | Funktion1 | Bemerkungen 1 |
---|---|---|---|
x | 1 Rot | Weiche 1 gerade | Sollte durch die Einbausituation des Servos die Richtung nicht stimmen, müssen über den Abgleich die passenden Positionen eingegeben werden. |
x | 1 Grün | Weiche 1 abbiegen | |
x | 2 Rot | Weiche 2 gerade | |
x | 2 Grün | Weiche 2 abbiegen | |
x | 3 Rot | Servoabgleich minus | Mit dem Abgleich kann die zuletzt angefahrene Weiche eingestellt und die neue Position abgespeichert werden. |
x | 3 Grün | Servoabgleich plus | |
x | 4 Rot | Servoabgleich speichern | |
x | 4 Grün | ||
x+1 | 1 Rot | Ausgang 9 EIN, Ausgang 10 AUS | Anwendung: Signale, zB Blocksignale, Weichensignale etc. Es wird immer paarweise geschaltet. |
x+1 | 1 Grün | Ausgang 9 AUS, Ausgang 10 EIN | |
x+1 | 2 Rot | Ausgang 11 EIN, Ausgang 12 AUS | |
x+1 | 2 Grün | Ausgang 11 AUS, Ausgang 12 EIN | |
x+1 | 3 Rot | Ausgang 13 EIN, Ausgang 14 AUS | |
x+1 | 3 Grün | Ausgang 13 AUS, Ausgang 14 EIN | |
x+1 | 4 Rot | Ausgang 15 EIN, Ausgang 16 AUS | |
x+1 | 4 Grün | Ausgang 15 AUS, Ausgang 16 EIN | |
x+2 | 1 Rot | Ausgang 5 EIN | Anwendung: Beleuchtung, Relais zB Kehrschleife |
x+2 | 1 Grün | Ausgang 5 AUS | |
x+2 | 2 Rot | Ausgang 6 EIN | |
x+2 | 2 Grün | Ausgang 6 AUS | |
x+2 | 3 Rot | Ausgang 7 EIN | |
x+2 | 3 Grün | Ausgang 7 AUS | |
x+2 | 4 Rot | Ausgang 8 EIN | |
x+2 | 4 Grün | Ausgang 8 AUS |
s88-Melder:
Melder | Funktion |
---|---|
1 | Endlage Weiche 1 gerade |
2 | Endlage Weiche 1 abbiegen |
3 | Endlage Weiche 2 gerade |
4 | Endlage Weiche 2 abbiegen |
5 | Belegtmeldung Block 4 |
6 | Belegtmeldung Block 3 |
7 | Belegtmeldung Block Weiche 2 |
8 | Belegtmeldung Block Weiche 1 |
Hardware
Zur Inbetriebnahme die DCC-Versorgung der Weichen nicht anschliessen (3-polige Stecker) und die Servos nicht mechanisch mit den Weichen verbinden. Zunächst mal mit der Modellbahn-Software die Weichen schalten und die richtige Polarität am Kontakt für das Herzstück prüfen. Evtl. muss man in der Software die Weiche Umkehren (so heisst die Option in Rocrail), das Servo umdrehen oder per Abgleich die Endpositionen ändern. Auch die Lagemelder können so zunächst überprüft werden. Erst wenn alles stimmt, die Weiche mit DCC versorgen (sonst kurzschlussgefahr!).
Bestückungsvarianten
- schaltbare Servoversorgung
Um die Servos nur während des Umlaufs mit Spannung zu versorgen, müssen zusätzlich zu den Bauteilen Q5, Q6, R5 und R6 noch zwei Jumper gesetzt werden. (Foto 1) Die CV´s sind schon entsprechend gesetzt. Q5 und Q6 brauchen keine Kühlung. Achtung! Die Kühlfäche ist der Kollektor und somit Spannungsführend!
Wird diese Funktion nicht benötigt, können die Bauteile Q5, Q6, R5, R6 weggelassen werden und die eingerahmten Pins unter Q5 und Q6 müssen gebrückt werden. (Foto 2)
- eigene Rückmelder
Um eigene Rückmelder für die Weichenlage zu nutzen, sind 4 Leiterbahnen zu durchtrennen. (siehe Foto 1 und 2, klicken zum vergrössern, markierte Leiterbahnen)
Die eigenen Melder müssen dann die Kontakte RM1-4 mit GND verbinden. (ACHTUNG! Nur diese blau markierten GND-Pins nutzen! s88-Ground!)
Bestückung
folgende Bestückungsreihenfolge hat sich bewährt:
- Widerstände (klassiche Bauform, Kohleschicht 5%, alle liegend) und die 1N4148
- IC-Sockel und Taster
- Kondensatoren (RM2.5 oder RM5, wenn die jemand in schwarz findet, bitte melden :) )
- Stecker (DCC-Seite oben) und Pinleisten (wo nötig)
- Dioden (stehend)
- LEDs
- Transistoren (die kleinen)
- Stecker (s88)
- Elkos
- Relais
- Leistungstransistoren
Die plus-Seite der LEDs auf der linken Seite (5V und s88) liegt unten. Bei der Decoder-LED (rechts unten) ist die plus-Seite oben. Das Bauteil D101 (Eingang 5V) habe ich ersetzt durch eine Polyfuse. Ob die Spannung für die Schaltung reicht, wenn eine 1N5400 als Schutzdiode eingebaut ist, muss ich noch testen. Wer weiss was er tut, kann die Pads oben auch brücken :)
Bilder
Downloads
- Schaltbild: Download
- Gerber Dateien: Download
- KiCad Projekt Dateien: Download
- Bauteileliste: Download
- Software Atmega8515: Download
Sollen die KiCad-Dateien als Grundlage für eigene Entwicklungen dienen, dann am besten per Mail die aktuelle Version anfordern! Ich korrigiere immer noch diverse Kleinigkeiten, die mir beim testen auffallen.
Stand der Dinge
Der Decoder ist bei mir im Einsatz. Bei Interesse: Es gibt noch Platinen
Bekannte Fehler
- 6N136 in KiCad falsch definiert, Pin 5 auch als 4 deklariert, daher keine Masse an Pin5. -> Auf der Lötseite eine Brücke von Pin4 nach Pin5 löten. (In den aktuellen Dateien behoben)
- Stecker für s88 zu eng beieinander. -> Plastiksteg am Steckergehäuse entfernen. (In den aktuellen Dateien behoben)
- Padreste an den LEDs auf der Unterseite zu gering. ->Sehr sorgfältig löten, evtl. auch von oben (In den aktuellen Dateien behoben)
- ISP-Stecker zu nahe am Jumper. ->zum Programmieren Jumper ziehen (In den aktuellen Dateien behoben)
- Diverse Korrekturen der Platinenbeschriftung (zu klein etc) (In den aktuellen Dateien behoben)
- Befestigungslöcher vergessen
- BC547C getauscht in BC547A. Die Empfindlichkeit war zu hoch. Dadurch gab es bei langen DCC-Kabel falsche Belegtmeldungen