Einleitung SD-8-V1.4
- Details
- Kategorie: Servodecoder-8-V1
- Veröffentlicht am Sonntag, 17. Juli 2011 11:22
- Zugriffe: 1315
Der hier vorgestellte Selectrix-Servodecoder dient der Ansteuerung von bis zu 8 Servos über eine SX-Adresse und kann voll elektronisch per SX-Bus parametrisiert werden. Zusätzlich bietet er die Möglichkeit der Rückmeldung der Weichenlage über eine separate SX-Adresse. Ab Firmware vom 05.07.2009 unterstützt der SX-Servodecoder auch einen optionalen Mutlipositions-Modus (MuPo). Für diesen Modus sind 4 Blöcke konfigurierbar, wobei je Block 29 einzelne Positionen hinterlegt werden können. Ein Anwendungsfall für den MuPo-Modus ist zum Beispiel eine Segmentdrehscheibe. Mit Hardware V1.4 wurde die Servo-Spannungsversorgung von einem Längsregler (78S05) auf einen Schaltregler (LM 2576-5) umgestellt. Grund hierfür waren Testergebnisse, nachdem sich der Längsregler samt Kühlkörper bei Servos, welche ihre Endlage nicht sauber erreichen (Servo brummt), sehr starkt erwärmt hat. Denn, ein Längsregler verheizt" das Produkt aus Spannungsdifferenz (Eingangsspannung <-> 5V) und dem Strom der Servos als Wärme. Je nach Servotyp addieren sich bei 3 "brummenden" Servos schnell 1,5 Ampere zusammen. Wird der Längregler (78S05) mit 18V gespeist, ergibt sich aus (18-5)V/1,5A eine Verlustwärme von 19,5W - ganz schön viel für einen 78S05 im TO220-Gehäuse. Der nun verwendete Schaltregler LM 2576-5 (ebenfalls TO220-Gehäuse) umgeht dieses Problem, indem er die Servo-Versorungsspannung durch einen getakteten Regelkreis erzeugt. Diese Regelung hat einen viel besseren Wirkungsgrad und sorgt dadurch für deutlich weniger Abwärme. In einem Test wurden 4 von 8 angeschlossenen Servos mechanisch blockiert. Ergebnis 78S05 (mit Kühlkörper): sehr starkte Erwärmung, reflexartiges Zurückziehen des Fingers beim Berühren des Kühlkörpers. Ergebnis LM 2576-5 (ohne Kühlkörper): nur eine sehr leichte Erwärmung feststellbar.
Dieser Decoder ist ein Gemeinschaftsprojekt von Axel Jänig (Firmware) und Norbert Martsch (Hardware). Wer sich an diesem Projekt beteiligen möchte, ist herzlich dazu eingeladen. Kontaktaufnahme einfach über das Kontaktformular.
Funktionsbeschreibung
Mit dem SX-Servodecoder können bis zu 8 Servos über den SX-Bus angesteuert werden. Dazu muss der SX-Servodecoder legiglich per 5-poligen DIN-Kabel mit dem SX-Bus verbunden und an eine Spannungsversorgung (7 ... 16V AC/DC) angeschlossen werden. Die Parameter Decoder-Adresse, Positionen und Umlaufgeschwindigkeit der Servos können elektronisch per SX-Bus programmiert werden. Hierzu ist lediglich der Programmiertaster zu drücken und per Handregler oder Software (SX-Schaltpult-Software, z.B. per SX1-Software von Daniel Mikeleit: Link, weitere SX-Freeware: Link) die Parameter einzustellen.
Wird der Servodecoder vom Strom getrennt, werden die letzten Werte (Stellung der Servos) im EEPROM abgespeichert und bei der Wiederinbetriebnahme zurückgelesen und auf den SX-Bus geschrieben. Der Servodecoder besitzt keinen externen EEPROM, speichert jedoch seine Werte in den internen EEPROM und testet nach dem Speichern den Inhalt auf Integrität. Der EEPROM ist mit 100.000 Schreibzyklen spezifiziert. Multipliziert man diesen Wert mit den hier 50 möglichen Speicherzellen, ergeben sich rechnerisch ca. 5.000.000 Schreibzyklen.
Über eine separate SX-Adresse ist der SX-Servodeocder rückmeldefähig. Diese Funktion kann per Konfigurationen aktiviert bzw. deaktiviert werden. Ist diese Funktion gewünscht, kann die Meldeadresse absolut oder relativ konfiguriert werden. Absolut bedeutet, dass die SX-Meldeadresse explizit programmiert wird (z.B. Steueradresse=10, Meldeadresse=12). Relativ bedeutet, dass die Meldeadresse "verschoben" um einen Wert (welcher per Programmierung festgelegt werden kann) eingestellt wird (z.B. Steueradresse=10, Meldeadresse=+1 -> Meldeadresse=11; Steueradresse=10, Meldeadresse=+3 -> Meldeadresse=13).
Dateien / Download
Alle benötigten Daten sind im Downloadbereich hinterlegt: Link
Alle Dateien unterliegen der GPL!
Bauelemente
Die für den Aufbau benötigten Bauelemente gibt's u.a. bei Reichelt.
Bei Interesse bin ich auch gerne bereit, einen entsprechenden Bausatz (Bauelemente und Platine) oder programmierte Microcontroller (ATMEL ATmega8-16 DIP) anzubieten. Für eine Anfrage bitte das Kontakformular nutzen.
Platine
Platinen (PCBs, Hardwarestand V1.4) sind lieferbar. Wer Interesse an dem SX-Servodecoder hat, kann gerne eine oder mehrere Platine(n) anfragen. Bitte auch hierfür das Kontaktformular nutzen. Wie der Decoder aufgebaut aussieht, ist im folgenden zu sehen (Prototyp Hardware V1.4).
Kompatibilität - durchgeführte Tests
MTTM / Doehler & Haass Future-Central-Control (FCC):
Alles in Ordnung, sowohl im SX1-, als auch im SX2-Bus-Modus.
Müt-Digirail MC2004:
Alles in Ordnung.
Rautenhaus SLX850AD:
Alles in Ordnung.
Rautenhaus RMX950 (RMX1-Bus = SX1-Bus):
Alles in Ordnung.
Trix Central-Control 2000 (CC2000, SX1-Modus):
Alles in Ordnung.
Trix Systems Gleisbox:
Probleme beim Timing des SX-Bus. Im Zusammenspiel des Servodecoders mit der Gleisbox kam es sporadisch zu Bitverschiebungen beim Schreibvorgang des Decoders auf den Bus. Dieser Fehler tritt unregelmäßig ein und ist schwer reproduzierbar, da bei jedem Busumlauf geänderte Daten neu auf den SX-Bus gelegt werden. Ursache für das Timing-Problem ist ein Bug in der Firmware der Gleisbox. Komponenten, welche auf den SX-Bus schreiben (Schreibleitung D), erledigen dies typischer Weise mit fallender Flanke des SX-Taktes (T0), die Zentrale hingegen liest kurz nach der folgenden stiegenden Flanke des Taktes (T0) die Daten ein. Damit sich das System einschwingen kann, warten die SX-Zentralen (MC2004, CC2000) typischer Weise ca. 30µs nach steigender Flanke und lesen danach ein. Die Trix Systems Gleisbox hingegen liest bereits ca. 8...10µs nach steigender Flanke die Daten von der Schreibleitung (D), wobei hier das Sytsem "Sender-Empfänger" noch nicht eingeschwungen ist. Resultat sind Bitverschiebungen und "Bitflackern" bei der Anzeige der Rückmeldung.
Weiter Informationen hierzu gibt's auch im 1zu160-Forum, wo dieses Problem ausführlich beschrieben ist:
http://www.1zu160.net/scripte/forum/forum_show.php?id=180885
http://www.1zu160.net/scripte/forum/forum_show.php?id=200701
An dieser Stelle einen recht herzlichen Dank an die Tester, welche den Servodecoder mit unterschieldichen Zentralen in verschiedenen Testumgebungen erprobt haben.
Rechtliches
Der SX-Servodecoder (Firmware/Software und Schaltung/Platine) ist ein privates Hobbyprojekt ohne jegliche Gewähr und ohne Haftung für eventuelle Schäden, die durch die Anwendung/Betrieb entstehen. Eine Funktionsgarantie wird nicht übernommen.
Viel Spaß und Erfolg beim Nachbauen wünscht
Norbert



