Von Modellbauläden und im Internet werden immer wieder sehr preiswerte Modellbauservos angeboten. Es liegt nahe, diese Servos für das vorbildgerechte langsame Stellen von Weichen und Signalen auf der Modellbahn zu verwenden. Diese preisgünstigen Modellbauservos verfügen über Kunststoffzahnräder und sind nicht direkt flüsterleise. Wer aber mal neben einer Vollbahnweiche gestanden hat, als diese umgelegt wurde, weiß, dass beim Vorbild die Weichen auch nicht gerade leise sind. Ich brauchte also einen Decoder, wie die üblichen 4-fach Weichendecoder für Magnetspulen oder motorische Weichenantriebe, nur mit 4 Impulsausgängen für Servos statt mit 4 Leistungsausgängen. Das war die Grundidee in 2005, als die Auswahl an Servodecodern noch nicht so groß war wie heute und sich eigentlich nur auf einen Hersteller beschränkte. Deswegen sah mein erster Servodecoder so ähnlich aus wie die damaligen WDecD-90 und WDecN-90 Selbstbaudecoder. Später wurde daraus der weiter unten abgebildete Decoder für nur einen Servo.
Prinzip der Servosteuerung
Das Steuerungsprinzip ist bei allen Servos für Modellbauzwecke gleich. Alle 20 ms wird ein Impuls ausgegeben, dessen Länge (Dauer) die Position des Stellarms oder des Stellrades definiert. Normalerweise werden Modellbauservos funkferngesteuert. Der Funk-Empfänger bietet meistens bis zu 8 Kanäle für 8 Servos an. Um im 20 ms Rhythmus 8 Servos bedienen zu können, stehen also pro Servo 20 / 8 = 2,5 ms zur Verfügung. Die Impulslänge kann demnach maximal 2,5 ms betragen. Das ist aber Theorie und in der Praxis erreichen die Servos bei Impulszeiten von 2 bis 2,3 ms ihre linke Endlagen (gegen Uhrzeigersinn). Damit die Elektronik im Servo überhaupt den Impuls erkennt, ist eine minimale Impulslänge von ca. 1 ms erforderlich. Auch hier gibt es wieder Abweichungen und erreichen die Servos ihre rechte Endlage in einem Bereich von 0,7 bis 1 ms. Somit wird der gesamte Stellbereich des Servos (ca. 180°) mit Impulslängen von ca. 0,7 bis 2,3 ms definiert. Die Mittellage des Servo-Arms wird bei einer Impulsdauer von ca. 1,3 bis 1,6 ms erreicht. Innerhalb der Zeitspanne von 0,7 bis 2,3 ms kann der Arm an jede beliebige Position gebracht werden. Die erreichbare Stellgenauigkeit wird von der Auflösung des Impulses, der Qualität der internen Servoelektronik, aber vor allem der Mechanik bestimmt.
Der Servoantrieb
Im Inneren des Servos agiert ein kleiner 5V Gleichstrommotor, der über ein hoch untersetztes Getriebe den Stellarm zwischen beiden mechanischen Anschlägen bewegt. Mit dem Stellarm ist ein Drehpotentiometer gekoppelt, das die aktuelle Position an die Servoelektronik zurückmeldet. Der Motor wird so lang angesteuert, bis die Lage des Potentiometers und damit die Lage des Stellarms der für die Impulslänge passenden Position entspricht. Hat der Servo seine Position erreicht, steht der Motor und geht die Stromabnahme zurück. Wird der Arm durch eine externe Kraft aus seiner Position gebracht, versucht der Motor den Arm wieder auf die alte Position zu bringen. Aufgrund der großen Getriebeuntersetzung können die dabei auftretenden Kräfte beachtlich werden.
Funktion des Servodecoders
Der Servodecoder versorgt auch die interne Elektronik des Servos mit 5V Gleichspannung. Diese 5 Volt werden mit einem 7805 Längsregler oder fast verlustfrei mit einem Schaltregler aus der digitalen Gleisspannung gewonnen. Die minimale Stellzeit eines Servos beträgt ca. 0,4 bis ca. 1s für einen Stellbereich von ca. 180°. Das ist für die meisten Vorgänge auf der Modellbahn viel zu schnell. Um die für die Vorgänge auf der Modellbahn erforderlichen langsamen Bewegungen zu erreichen, müssen stetig veränderliche Positionen vorgegeben werden. Der Servo nimmt so alle 20 ms eine neue Position ein und täuscht damit eine langsame, stetige Bewegung vor. Die minimale „stetige“ Geschwindigkeit, die man so erreichen kann, liegt daher bei einem Zeitinkrement pro 20 ms. Da der vorliegende Decoder den Gesamtweg von 180° intern in ca. 1500 Inkremente auflöst, ist eine Stellzeit von 1500 × 20 ms = 30 s realisierbar. Der Einfluss der Versorgungsspannung auf die Stellzeit wird durch dieses Prinzip aufgehoben.
Hardware der Servodecoder
Die Versuche mit den 4-fach Servodecodern wurden zugunsten eines 1-fach Decoders aufgegeben. Das hatte kommerzielle und technische Gründe. Technisch wurden die Kabel zu den 4 Servos zu lang und/oder hätten über Modulgrenzen hinweg verlegt werden müssen.
Die Baumuster der 1-fach Servodecoder wurden in gemischter Bauweise in SMD Technik auf einer einseitigen Platine aufgebaut und messen ca. 35 × 39 × 20 mm (B × H × T). Auf der Oberseite der Platine befinden sich sämtliche Anschlüsse und der Spannungsregler mit seinem Kühlkörper. Der Decoder wird komplett aus der Gleisspannung versorgt. Für meine Tillig Weichen auf der Modulbahn habe ich eine etwas abweichende Variante gebaut, die entsprechend der Weichenlage, das Herzstück der Weiche mit umpolt. Auf der Abbildung unten ist dieser Decoder rechts abgebildet. Er misst 43 × 45 × 20 mm. Mittlerweile ist die gesamte Modulanlage auf Servo umgerüstet. Die meisten Viessmann Signale (Conrad/Völkner-Bausätze) sind mit einem Servodecoder und einem Servo ausgestattet. Eine sehr zuverlässige Lösung!
Zwei Hardwarevarianten, vier Firmwarevarianten
Eigenschaften SerDecD-TN DCC und SerDecRD-TN DCC
- Unterstützt NMRA Basic Accessory Decoder DCC Formate (Broadcast / Output / Operations Mode Programming)
- Einsatz für Weichen, Formsignale, Entkuppler, Schuppentore, Bahnschranken, usw.
- Stellzeit über CV einstellbar bis ca. 30 s.
- Adressierung der Weichen, nicht des Decoders. 1 Adresse pro Servo spart Zubehöradressen
- Einfache Adressierung mit einem externen Taster
- Endlage links und Endlage rechts über CV einstellbar.
- Endlagen auch über externe Tasten einstellbar
- Einstellbarer Vorschub für die manuelle Justage der Endlagen.
- Hauptgleisprogrammierung wird unterstützt
- Lesen und Schreiben Byteweise und Bitweise aller CVs am Programmiergleis
- Speicherung der letzten Position bei Spannungsausfall
- Optionale Erhaltung des Servoimpulses zum Halten der erreichten Sollposition auch unter Belastung
- Konfigurierbarer Nachlauf zum Ausregeln
Eigenschaften SerDecM-TN V1.2 MM und SerDecRM-TN V1.2 MM
- Unterstützt das „Marklin-Motorola“ Gleisformat für bis zu 319 Weichen (Zubehöradressen)
- Einsatz für Weichen, Formsignale, Entkuppler, Schuppentore, Bahnschranken, usw.
- Stellzeit über externe Tasten einstellbar bis ca. 30 s.
- Adressierung der Weichen, nicht des Decoders. Eine Weichenadresse pro Servo spart Zubehöradressen.
- Einfache Adressierung mit einem externen Taster
- Endlage links und Endlage rechts über externe Tasten einstellbar
- Speicherung der letzten Position bei Spannungsausfall
- Rücksetzen auf Werkseinstellung über Adresse 320
Eigenschaften SerDecF-TN und SerDecRF-TN
- NMRA -kompatibel, versteht die gängigen DCC-Telegramme für Funktionsdecoder / Fahrzeugdecoder
- Unterstützt NMRA Basic Funktionsdecoder DCC Formate für die Funktionen FL (vorw./rückw.), F1 – F28
- NMRA Adressierung von 1 – 127 (kurze Adressen) und von 128 – 10240 (lange Adressen)
- Function Mapping nach NMRA für Fl (vorw.), Fl (rückw.), F1 – F28
- Einsatz als Steller für Stromabnehmer, Fahrzeugkuppler, Schiebetüren, Bahnschranken, usw. aber auch für Weichen und Signale
- 16 über CV einstellbare individuelle Positionen, Pausen und Stellgeschwindigkeiten für eine Ablaufsteuerung
- Schrittschaltwerk/Ablaufsteuerung für Nachwippen und andere Effekte
- Werkseinstellung 2 Positionen. F-Funktion aktiv -> Position 1, F-Funktion inaktiv -> Position 2
- Hauptgleisprogrammierung wird unterstützt
- Lesen und Schreiben byteweise und bitweise aller CVs am Programmiergleis
- Speicherung der letzten Position bei Spannungsausfall
- Decodierung auch während des Stellvorgangs. Der zuletzt eingegangene Befehl wird anschließend ausgeführt
- Optionale Erhaltung des Servoimpulses zum Halten der erreichten Sollposition auch unter Belastung
- 1 Servoantrieb pro Decoder
- Elektrische Auflösung: ca. 1500 Schritte
- Schutz gegen Überschreiben auch im Mehrdecoderverbund (Decoder ID)
- Genauigkeit: mechanisch, abhängig vom eingesetzten Servo
- Spart DCC-Digital-Strom, Servo wird nur während des Stellvorgangs versorgt.
Eigenschaften SerDecMulti 1.3 und SerDecRMulti 1.3
- 2 bis 8 programmierbare Positionen bzw. 16 programmierbare Positionen bei Verwendung der Extended Accessory Decoder Telegramme
- 16 Stellgeschwindigkeiten den Positionen 1 – 16 fest zugeordnet
- Unterstützt NMRA Basic Accessory Decoder DCC Formate (Standard, Broadcast, Operations Mode Programming und Service Mode Programming) und verwendet dabei die Decoderadressierung
- Unterstützt NMRA Extended Accessory Decoder Formate (Standard, Broadcast, Operations Mode Programming und Service Mode Programming) und verwendet dabei die Ausgangsadressierung.
- Universell einsetzbar für Weichen, Formsignale, Entkuppler, Schuppentore, Bahnschranken und andere Funktionsmodelle mit 2 oder mehr Positionen.
- Stellgeschwindigkeit einstellbar in einem Regelbereich von ca. 1:50 (minimal 1µs/20ms, maximal ca. 50 µs/20 ms).
- Decoderadressierung: Je nach Anzahl der konfigurierten Positionen belegt der Decoder 1, 1,5, 2, 2,5, 3, 3,5 oder 4 Weichenadressen. Eine Decoderadresse kann mehrfach verwendet werden.
- Ausgangsadressierung: Es wird immer nur eine Weichenadresse verwendet, unabhängig von der Anzahl der konfigurierten Positionen
- Hardware-Variante SerDecRMulti mit 2 Relais, die mittels CV jeder Position zugeordnet werden können.
- Lesen und Schreiben Byteweise und Bitweise aller CVs am Programmiergleis
- Speicherung der letzten Position bei Spannungsausfall
- Hardware-Ansteuerung der Positionen 1 – 8 über 3 Binäreingänge. Konfigurierbar in CV2.
- Decodierung auch während des Stellvorgangs. Der zuletzt eingegangene Befehl wird anschließend ausgeführt
- Optionale Erhaltung des Servoimpulses zum Halten der erreichten Sollposition auch unter Belastung
- Optionaler Nachlauf des Servos.
- Schutz gegen Überschreiben und Auslesen, auch wenn sich mehrere SerDecMultis eine Decoderadresse teilen.
Hardware aller Modelle
- Preisgünstige Komponenten und Platinen
- 500 mA max. Ausgangsstrom für den Modellbauservo
- Leistungsfähiger ATMEL AVR Mikroprozessor ATTiny2313A
- Platinen für die Varianten mit und ohne Relais (für z. B. die Umschaltung der Polarität des Weichenherzstücks)
- Optionales externes Bedien- / Programmiergerät ist in der BA beschrieben
Aktuelle Geräte
Eigentlich wurde dieser Decoder für meine private, modulare Modellbahn entwickelt. Schon schnell gab es kommerzielles Interesse an diesem Decoder und wurde er auf einen einzelnen Kanal abgespeckt. Die Relais zur Polarisierung des Weichenherzstücks machten den Decoder „zu groß und zu teuer“ und wurden ebenfalls aus der Hardware entfernt. In der Software blieb der Code für die Relais jedoch standardmäßig enthalten. Da der Decoder nicht mehr kommerziell vermarktet wird und die Rechte an Hard- und Software bei mir liegen, sind programmierte Prozessoren und Platinen auf Anfrage bei mir erhältlich. Die Ausführung des Decoders für nur einen Servokanal hat bei meiner Modulanlage den entscheidenden Vorteil, dass er direkt unter der Weiche oder unter dem Signal platziert wird und man das störempfindliche Kabel zum Servo nicht verlängern muss.
Der gezeigte Servo-Aktor aus dem 3D-Drucker für mehrbegriffige Formsignale ist in diesem Blog beschrieben.
Informationen für den Nachbau | |
---|---|
Gemeinsame Hardware für alle Varianten | |
SerDecX-TN | SerDecRX-TN |
Bestückungsplan Bottom | Bestückungsplan Bottom |
Bestückungsplan Top | Bestückungsplan Top |
Schaltplan | Schaltplan |
Stückliste mit Bezugsquellen | Stückliste mit Bezugsquellen |
SerDecX Platinen und programmierte Prozessoren sind zum Preis von 5€ verfügbar. Formlose E-Mail an den Autor reicht. Bitte Firmware-Variante angeben. | SerDecRX Platinen und programmierte Prozessoren sind zum Preis von 6€ verfügbar. Formlose E-Mail an den Autor reicht. Bitte Firmware-Variante angeben. |
Handbedienung Gehäuseboden (3D .STL Datei) | |
Handbedienung Gehäusedeckel (3D .STL Datei) | |
Software-Variante DCC Zubehördecoder SerDecD-TN und SerDecRD-TN V3.4 | |
Firmware Version 3.4 (enthält .HEX, .EEP und .ELF Files) | |
Handbuch SerDecD-TN und SerDecRD-TN V3.4 | |
Excel Tool zum Berechnen der CVs für die Endlagen des SerDecD-TN V3.4 / SerDecRD-TN V3.4 | |
Software-Variante MM Zubehördecoder SerDecM-TN und SerDecRM-TN V2.0 | |
Firmware Version 2.0 vom 1.12.2017 (enthält .HEX, .EEP und .ELF Files) | |
Handbuch SerDecM-TN und SerDecRM-TN V2.0 | |
Software-Variante DCC Funktionsdecoder SerDecF-TN und SerDecRF-TN V2.0 | |
Firmware Version 2.0 vom 14.12.2018 (enthält .HEX, .EEP und .ELF Files) | |
Handbuch SerDecF-TN und SerDecRF-TN V2.0 | |
Tool zum Berechnen der CVs für die Positionen SerDecF-TN und SerDecRF-TN V2.0 | |
Software-Variante DCC Funktionsdecoder SerDecMulti und SerDecRMulti V1.3 | |
Firmware Version 1.3 vom 22.03.2021 (enthält .HEX, .EEP und .ELF Files) | |
Handbuch SerDecMulti und SerDecRMulti V1.3 |
© 2004 – 2023 Gerard Clemens – letzter Update 30.07.2023
7. Juni 2020 um 12:55 Uhr
Gefällt mir richtig gut – allerdings suche ich noch eine Lösung für Schuppentore eines Rundlokschuppens. Da wäre ein Decoder der vier Servos unterstützt natürlich ideal. Du schreibst, das es eine ursprüngliche Version mit Unterstützung von 4 Servos gab. Gibt es die immer noch oder kann man Platine/Prozessor für diese Variante über dich beziehen?
7. Juni 2020 um 13:25 Uhr
Danke Matthias, den Quellcode aus 2005 habe ich zwar noch, aber den AT902313 nicht mehr. Das wäre zu viel Arbeit, den Code zu portieren und alle Änderungen und Features einfließen zu lassen. Ich habe nur Platinen für die aktuellen 1-Kanal-Varianten. Kompliment für „Nächternhausen“!