Lokprogrammer
Lokprogrammer mit eingebauter Minizentrale für unter 10€
Bauteilekosten ist das möglich?
Ja es ist und das sogar mit den meisten
Lokdecoderprogrammen auf dem Markt.
Mit dem hier vorgestellten Projekt ist es möglich seine Decoder mit dem
Komfort der bekannten Lokdecoderprogramme, wie z.B. Trainprogrammer™,
Railware™ usw. zu programmieren und anschliessend zu testen.
Schaltungsbeschreibung
Das Herzstück dieser Schaltung ist ein Atmega8 Prozessor in
Zusammenarbeit mit dem H-Brückentreiber L293E. Der Atmega8 übernimmt die
Kommunikation mit dem PC und erzeugt die Programmier- und Fahrbefehle.
Gleichzeitig überwacht er mit dem internen Analog-Digital-Wandler den
Kurzschlussstrom und den ACK Impuls.
Die Besonderheit bei der Überwachung des ACK Impulses ist die Messung der
aktuellen Stromaufnahme der Lok vor dem Schreib- oder Lesebefehl. Dieser
Wert wird dann von dem gemessenen Wert des ACK Impulses gegengerechnet. Damit
ist sichergestellt, dass der ACK Impuls sicher ausgewertet wird.
Der Lokprogrammer kann einerseits über die RS232 Schnittstelle mit dem PC
oder über eine RJ45 Verbindung mit der MoBaSbS verbunden werden. Auf den
festen Einbau eines USB-Anschlusses wurde wegen des sehr filigranen SMD
Bausteines und aus Kostengründen verzichtet. Die Verwendung eines
herkömmlichen USB zu Seriell Wandler zur Kommunikation mit dem PC ist
jedoch möglich
Bei beiden Anschlussmöglichkeiten, können die bekannten
Lokdekoderprogramme verwendet werden.
In der vorliegenden Version werden nur Decoder unterstützt, welche sich
Bitweise auslesen lassen. Dies sollten alle neuen Decoder (seit 2002)
beherrschen. Der Adress-Only-Modus und die seitenweise Programmierung
werden nicht unterstützt.
Gibt es Probleme mit dem Schreiben oder Lesen eines Decoders, so wird
automatisch in den erweiterten Power-On-Zyklus geschaltet. Dieser Modus
wird bis zum nächsten „Alles AN“ Befehl beibehalten.
Technische Daten
-
Auslesen und Schreiben bis CV 1024
-
Überwachung 250 mA Stromaufnahme
-
Überwachung erhöhte Stromaufnahme von 1A bei Fahrtests
-
Programmiergleisspannung bis max. 15V je nach Konstellation
-
Überwachung der Mindeststromaufnahme des ACK Impulses von 50 mA
-
serielle Kommunikation mit 9600 baud, 1 Stopbit, kein Parity (nicht gültig bei MoBaSbS-Betrieb)
-
verwendetes Protokoll: LENZ LI 100 oder
-
MoBaSbS, wenn Lokprogrammer an der MoBaSBS betrieben wird
Schaltplan
Bestückung und Betrieb des Lokprogrammers
Der Lokprogrammer kann an unterschiedliche Bedürfnisse angepasst werden.
Dazu müssen nicht alle Bauteile auf der Platine bestückt werden. Im
folgenden Hinweise, welche für beide Versionen gelten.
Bedeutung der einzelnen LED
- LED 1 - zeigt durch kurzes Aufblitzen ein erfolgreiches ACK- Signal an
- LED 2 - zeigt die Zuschaltung (Alles AN Befehl) der Gleisspannung an.
Erfolgt kein Lese-, Schreib- oder Fahrbefehl so wird ein Idle Signal
fortlaufend gesendet. Wird ein Lese-, Schreib- oder Fahrbefehl gesendet
und der Strom übersteigt einen voreingestellten Wert, wird die LED und
die Gleisspannung abgeschaltet und ein “Alles AUS Befehl” gesendet
- LED 3 - leuchtet (flackert) wenn der Stromfluss größer 250 mA ist
und kein Lese-, Schreib- oder Fahrbefehl erteilt wurde. In diesem
Fall wird nach einer kurzen Zeit versucht die Spannung wieder ans
Gleis zu legen
- LED 4 - leuchtet wenn eine Kommunikation mit der MoBaSbS besteht
(Anschluss an RJ45-Buchse). Bleibt die Kommunikation aus, wird nach 2 Sek
intern ein Reset ausgelöst und der Lokprogrammer als Standalone Version
betrieben (LED dann dunkel).Blinkt diese LED, so hat der Lokprogrammer in den erweiterten
Power-On-Zyklus geschaltet. Damit wird eine Kommunikation mit Dekodern
möglich, welche Probleme mit der NMRA Spezifikation haben. Dies erhöht
aber die Zeitdauer beim Lesen oder Schreiben.
Bedeutung des Jumpers 1
- in der gezeichneten Stellung (Jumper oben) wird die 12V
Versorgungsspannung des RJ45 Anschlusses verwendet.
ACHTUNG - dazu muss auf dem BMC der Jumper auf extern gestellt werden und
ganz wichtig der integrierte 5V- Spannungsregler im HDC darf nicht
überbrückt sein (HDC geht sofort kaputt)
- ist der Jumper unten gesteckt, so muss an der externen
Spannungsversorgung eine Gleich- oder Wechselspannung von ca 15-20V
eingespeist werden
Bedeutung des Jumpers 2
- Jumper wie in obiger Zeichnung bedeutet Betrieb an der MoBaSbS
- Beim Betrieb über RS 232 ist der Jumper unten zu stecken
Bestückung und Betrieb über RS232
Die Verbindung wird über die RS232 Buchse entweder direkt über ein serielles Kabel (kein Nullmodemkabel) an die serielle Schnittstelle des PC oder über einen USB zu Seriellwandler an den USB Anschluss des PC hergestellt.
Dabei sind folgende Einstellungen zu verwenden
9600 baud, 1 Stopbit, kein Parity
Als Protokoll ist im verwendeten Dekoderprogramm LENZ DIGITAL PLUS / LI 100 oder 101 einzustellen.
Das Testen von DCC Schaltdekodern ist wegen der kurzen, sehr hohen Stromaufnahme beim Schalten von Weichen derzeit nicht vorgesehen.
Bei der Stand-Alone Verwendung kann auf
- IC4 MAX 485
- J1 RJ45 Buchse
verzichtet werden.
Bestückung und Betrieb mit der MoBaSbS
Die Verbindung wird hier über ein Netzwerkkabel mit einer der 4 Buchsen des BMC hergestellt. Um den Lokprogrammer ohne externe Versorgungsspannung betreiben zu können, sind die Massnahmen bei Jumperstellung 1 unbedingt zu beachten. Die Kommunikation geschieht über das MoBaSbS eigene Protokoll. Die Anschlusseinstellung der Steuer- oder Dekoderprogramme sind auf der MoBaSbs- Homepage nachzulesen.
Beim Testen des neu programmierten Dekoder, muss für die neue Adresse ein Datensatz über das Konfigtool oder den HDC angelegt werden.
Verwendet man das Testfenster im Konfigtool lässt sich der Dekoder auch ohne angelegten Datensatz ansprechen.
Wichtig für das Funktionieren ist die Verwendung der neusten Codes für den BMC und den USC.
Es kann beim Bestücken auf folgende Bauteile verzichtet werden.
- IC 3 MAX232
- X1 RS232 Buchse
- R3 10K
- C13-16 1µF
- D9,10 1N4148
Testdecoder und bekannte Probleme
Manche Decoder bereiten Probleme, wenn sie nur mit den 12V von der RJ45 Buchse versorgt werden. Dabei reagiert der Decoder überhaupt nicht oder nicht auf alle CV's. Abhilfe schafft hier eine externe Stromversorgung zu verwenden und den Jumper auf extern zu stecken.
Getestet wurde der Lokprogrammer mit folgenden Decodern.
- ZIMO MX620
- LENZ Gold Mini
- ESU Lokpilot auch Mini
- Kühn N025
- TAMS LD33G
Download
Im folgenden die Downloadmöglichkeiten für den Schaltplan und den Code.
Der Code des Lokprogrammers ist identisch mit dem Code des DPC auf der MoBaSbS Homepage.
Da im Code auch MoBaSbS eigene Routinen verwendet werden ist ein freier Download nicht möglich.
Auf Anfrage sende ich aber gern den kompilierten Code zu.
Anfragen an folgende E-Mail Adresse
modellbahn@die-maeusis.de
© by Uwe Mäusezahl 30 Juni, 2013