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