![]() |
| |||||||||||||||||||||||||
|
Achtung: Bei dieser Schaltung besteht eine galvanische Verbindung zwischen der Computermasse und dem Aussenleiter der Gleise. Dies ist nach NEM 609 Kapitel 3.5 (und entsprechenden VDE-Vorschriften) nicht zulässig; Zitat: Eine Kopplung der PELV-Steuerstromkreise mit SELV-Modellbahnstromkreisen darf nur galvanisch getrennt erfolgen. | ||||||||||||||||||||||||||
Zuerst ein Programm zur Erzeugung des
Motorola-Protokolls, das ich unter Turbopascal zur "Erforschung
des Decoderverhaltens" geschrieben habe; es ist leider nur
spärlich kommentiert. Wegen direkten Zugriffen auf Timer und
COM-Port nur unter purem DOS ausführbar, gibt es einen
Datenstrom über das COM-Port aus, dessen Nummer in "dco_init(2)"
steht, im downloadbaren Beispiel also COM2. Der Datenstrom kommt über
TXD mit der für den Mittelleiter richtigen Polarität, der
Booster muss also nicht-invertierend sein. Über RTS kann die
Endstufe mit positiver Spannung an- und mit negativer abgeschaltet
werden. Die Rückmeldung (Überstrom) über CTS ist nur
bei meinen "richtigen" Programmen realisiert, fehlt also
hier zur besseren Übersichtlichkeit, genau wie Funktionen, die
für das Programmiergleis nötig wären.
Unterstützt
werden altes und erweitertes Motorola-Format (4 Zusatzfunktionen und
absolute Fahrtrichtung) sowie der Adressraum bis 255 entsprechend
Uhlenbrock u.a..
Meine Hardware, genau genommen ein Leistungsverstärker
zwischen serieller Schnittstelle und Gleis, arbeitet seit 1985
klaglos, allerdings in der Zwischenzeit schon mit der dritten
Generation Software. Obwohl ich früher eher in Turbo-Pascal
programmierte, begann ich meine Modellbahnsteuerung mit C, da bis
TP-Version 3 das Unit-Konzept nicht unterstützt wurde, also das
komplette Programm ein Modul sein musste, während C linkbar war.
Das war auf einem CP/M-Rechner bevor MS-DOS sich durchsetzte.
Die
zweite Generation war dann unter Turbo-C für MS-DOS. Das
Programm war zwar komplett fertig, aber neuere Leistungsmerkmale, wie
mehr als 80 Adressen, Multiprotokoll usw. wollte ich dann doch nicht
mehr nachrüsten.
Die z.Zt. in Entwicklung befindliche dritte Generation ist unter
MS Visual C++ erstellt und läuft unter Win95 auf einem 386DX-33.
Der Fahrbetrieb geht schon ganz gut (Motorola-Protokoll sowieso, DCC
im Test), das Stellen ist noch nicht implementiert (aber da fehlts
auch noch an der Hardware zwischen PC und Weichen, deshalb in die
Zukunft geschoben).
Das Programm wird für die zeitkritische
Codeerzeugung durch einen VXD-Treiber unterstützt, deshalb ist
dann spätestens für die Zeit nach Win9x (95, 98 & ME)
Nacharbeit angesagt.
Die Kurvenformen wurden mit einer älteren Soundkarte in einem Pentium-166-PC und der Shareware GoldWave aufgenommen. Leider bildet die verwendete Soundkarte einen Bandpass, so dass die Flanken nicht mehr so schön steil dargestellt werden wie sie im Original sind, und die DC-Kopplung lässt konstante Spannung zu einer Schräge verkommen.
Details: MM2-Codierung, Adresse 3, Funktion aus, Fahrstufe 5,
vorwärts.
Details: DCC-Codierung für 28-Stufen-Modus, Adresse 3 kurz,
Funktionen aus, Fahrstufe 5, vorwärts.
|
Stand vom |