Home

Termine

Gästebuch

Anlagen

Baubereich

Service

YouTube-Kanal

Baubereich

Bau der OpenDCC Z1 Digitalzentrale

Erstellungsdatum: 11.09.2012 18:11

Autor: Thomas Kortschack

Schon lange stand die Idee im Raum die Digitalzentrale OpenDCC Z1 von Wolfgang Kufer in einer eigenen Modellbahnsteuerungssoftware zu unterstützen. Obwohl bereits andere Zentralen vorhanden sind, die u.a. die Protokolle P50X bzw. XpressNet unterstützen, führt letztendlich kein Schritt daran vorbei Tests mit der originalen Z1 Zentrale durchzuführen. Nur so kann man Software und Zentrale im Dauerbetrieb testen.

Diese Unterstützung führte letztlich zur Entscheidung, dass ein Eigenbau der Z1 Zentrale nötig ist.

Vorabüberlegungen:
Da bereits diverse XpressNet-Handregler (Lokmaus, Multimaus, LH100, ...) vorhanden sind, macht der XpressNet-Adapter Sinn, damit man diese Handregler mit der Zentrale nutzen kann.

Auch wenn S88 in Zukunft durch wesentlich bessere Bussysteme (u.a. CAN, BiDiB) abgelöst wird, bieten sich die drei S88-Stränge natürlich für bereits vorhandene Rückmelder mit S88-N Anschluss an. Im Zusammenhang mit S88-N ist eine Einspeisung von RAILDATA (Digital-Befehle) eine Ausbaustufe, damit die Möglichkeit für rückmeldefähige Weichendecoder (z.B. Weich88-8) offen bleibt.

Bei den PC-Schnittstellen kann zwischen der seriellen Schnittstelle (RS232) und USB gewählt werden. Aus Testgründen mit der Steuerungssoftware sind beide Schnittstellen bestückt, jedoch kann nur eine gleichzeitig benutzt werden (2 Jumper umstecken).

Wer die Booster-Abschaltung und externe Nothalttaster anschließen will, muss dies bei der späteren Bauteilbestellung mit einplanen (Optokoppler nötig).

Da DMX (Lichttechnik) in den aktuellen Softwareversionen nicht mehr enthalten ist, ist eine Bestückung fraglich. Auf den PonyProg-OnBoard-Programmer wird ebenfalls verzichtet, da für das Programmieren des AVR-Mikrocontrollers bereits entsprechende Hardware (STK500, ISP-Programmer) vorhanden ist.

Bauteile:
Die einfachste Variante der Bauteilbeschaffung ist sicherlich der Kauf des Komplettbausatzes im DCC-Versand Hanno Bolte. Die Zusatzoptionen und der XpressNet-Adapter müssen separat angegeben werden.

Die Beschaffung der Bauteile kann natürlich auch in Eigenregie erfolgen, wie es hier der Fall ist. Die Platinen (V1.5) für die Zentralen und den XpressNet-Adapter erhält man direkt bei Wolfgang Kufer und die meisten Bauteile kann man bei Reichelt bestellen.
Eine komplette Stückliste mit allen Bauteilen findet man auf der OpenDCC-Homepage.
Die Widerstände R34, R36 und die Kondensatoren C37, C38 werden nicht bestückt. Die angegebenen Bauteile R27, R29, R30 sind ebenfalls nicht nötig, dort fehlt vermutlich der Hinweis only ponyprog.

Um die Bestellung bei Reichelt zu vereinfachen gibt es bereits Reichelt-Warenkörbe.
Für den XpressNet-Adapter ist der Warenkorb von S.Hartmann empfehlenswert.
Für die Zentrale kann man den Warenkorb von Norbert Martsch als Grundlage nehmen, den man jedoch etwas anpassen sollte. Bei den Standardbauteilen (besonders SMD) schadet sicherlich auch etwas Vorrat nicht. Augenzwinkernder Smilie

Anmerkungen:
  • Den ATMEGA 32-16 DIP durch einen ATMEGA 644P-20PU austauschen
  • Die Anzahl der JUMPER 2,54 RT auf 2 erhöhen
  • Die Anzahl von DA 20MM auf 3 erhöhen

Folgende Bauteile fehlen bzw. sind zusätzlich empfehlenswert:
  • 1x Brückentreiber L 6206 N
  • 1x Folienkondensator MKS-2-5 10N
  • 1x Folienkondensator MKS-2-5 1,0µ
  • 1x Einreihige Buchsenleiste BL 1X20G8 2,54
  • 1x Zweireihige Buchsenleiste BL 2X36G8 2,54
  • 2x Kühlkörper V PR5/15-M3
  • 2x SMD 1/4W 100
  • 1x SMD 1/4W 1,0K
  • 1x SMD 1/4W 2,2K
  • 1x SMD 1/4W 10K
  • 1x MAX 232 CPE
  • 1x D-SUB BU 09EU
  • 5x TANTAL 1,0/35
  • 1x Stiftleiste SL 2X25G
  • 4x MONTAGERING 3MM
  • 1x Lochrasterplatine 2,54mm Rastermaß (Optional, nur zum Ausrichten der Front-Platine)

Leider bekommt man nicht alle Bauteile bei Reichelt:
  • Netzgeräte Buchse (Conrad: 737992 Netzgeräte-Einbaukupplung)
  • Ein 74AHC1G125 und zwei SFH628 (Mouser)

Im OpenDCC-Forum kann man natürlich auch nachfragen, eventuell ergeben sich Sammelbestellungen.

Die folgenden Komponenten fanden sich glücklicherweise im eigenen Sammelsurium:
  • Fünf M3x6 Schrauben für Platinenbefestigungen
  • Drei selbstschneidende Schrauben (ca. 3x6 mm für Kunststoff) zum Festschrauben der Platine im Gehäuse
  • Wärmeleitpaste und zwei M3 Schrauben für die beiden Kühlkörper
  • Schrumpfschlauch
  • Kurzes Stück zweiadriges Litzenkabel
  • Geregeltes Labornetzgerät mit einstellbarer Strombegrenzung
  • Weiße bedruckbare (Laser)Klebefolien
  • Ein Stück Aluminium für Gewindewürfel (oder Bürklin 17H912)

Zusammenbau:
Als Nachschlagewerk bieten sich natürlich das Handbuch und die Bauanleitung auf der OpenDCC-Homepage an.
Für den Zusammenbau ist es sehr empfehlenswert die Lötarbeiten neben einem PC durchzuführen, damit man per Webbrowser zudem auf den virtuellen Bestückungsplan zurückgreifen kann.

Eine strickte Reihenfolge der Bauteilbestückung ist nicht erforderlich, jedoch sollte man in jedem Fall mit den wenigen SMD-Bauteilen beginnen. Dazu zählt zunächst der FTDI USB-Chip (IC9) mit den kleinen Beinchen und die SMD-Bauteile C39, C40, C41, C43, R40, R42.
Für RAILDATA kann man auch gleich noch die SMD-Bauteile IC10, R31, R41, R43, R44, R45 bestücken.

Thumbnail

Beim Rest hat man sozusagen Narrenfreiheit. Es macht natürlich Sinn mit den kleinen Bauteilen wie Widerständen, Dioden und den Kondensatoren anzufangen und sich dann am Schluss an die größeren Komponenten zu wagen.

Der XpressNet-Adapter ist durch die wenigen Bauteile keine große Herausforderung. Auf der Unterseite wurden die ein- und zweireihigen Buchsenleisten (Höhe 8mm) verlöten. Für die spätere Stromversorgung ist eine gewinkelte Stiftleiste neben der Diode angebracht.

ThumbnailThumbnail

Auch die S88-Platine ist kein großer Akt, lediglich an die bereits o.g. SMD-Widerstände auf der Rückseite sollte man denken, falls RAILDATA gewünscht.
ThumbnailThumbnail

Die Lötarbeiten an der Front-Platine halten sich in Grenzen, zumal die LEDs erst später verlötet werden. Beim Ausrichten der kleinen Platinen hilft eine Lochrasterplatine mit 2,54mm Rastermaß, sodass sich zwischen allen LEDs immer der gleiche Abstand ergibt.

Thumbnail

Bevor man jedoch auf die Idee kommt die o.g. Platinen an der Hauptplatine zu befestigen, sollte man diese zunächst fertig stellen.

Thumbnail

Beim Quarz (Q1) muss man etwas Abstand zur Platine haben, sonst kann es zu ungewollten Überbrückungen kommen.

Beim Brückentreiber (IC1) wird kein IC-Sockel verwendet, dieser muss aufgrund der Wärmeübertragung fest verlötet werden.
Zudem können zur Wärmeabfuhr zwei Kühlbleche angebracht werden. Da diese nicht vorhanden waren, wurden diese selbst hergestellt. Dafür musste letztlich eine Dose (Champions, Ananas, ...) herhalten, die zunächst mit einer Blechschere zurechtgeschnitten und einer Drahtbürste blank geschrubbt wurde. An einem Blechstück sind jeweils 4 Lötösen angelötet, wobei auch hier beim Abstand eine Lochrasterplatine hilft. Das Blech wurde auf der Oberseite nochmal umgeklappt und unten verlötet, sodass der komplette Kühlkörber kleiner als 20mm ist und es später keine Kollision mit der aufgesetzten S88-Platine gibt.

Zum späteren Aufstecken der XpressNet-Platine wird eine Stapelleiste genutzt, die in der richtigen Höhe anzubringen ist.
Von der Stapelleiste wurden auf der einen Seite die kürzen Kontakte inklusiv Kunststoff abgeschnitten. Zudem wurde die Stapelleiste in zwei 3polige Leisten und eine 4polige Leiste zurechtgeschnitten (siehe blaue Markierungen).

Bild

Bei JP1/JP2 und JP3 werden die abgeschnittenen Stapelleisten von oben eingesteckt und zunächst noch nicht verlötet. Um die genaue Höhe zu justieren ist es ratsam die 20 mm Distanzhülsen mit den Muttern zu befestigen. Danach kann die XpressNet-Platine mit einer M3 Schraube provisorisch fixiert werden.
Die Stapelleisten können nun nach oben geschoben werden, dass diese in den Buchsenleisten der XpressNet-Platine stecken und sich zwischen den beiden Platinen ein Abstand von 20 mm ergibt.
Anschließend kann die Stapelleiste verlötet werden.
Für die spätere Stromversorgung des XpressNet-Adapters wurde ein zweiadriges Litzenkabel verwendet, das auf der Hauptplatine an den freien Kontakten hinter der Netzgeräte Buchse angelötet ist. An den Kabelenden ist eine Buchsenleiste angelötet, wobei als Vorsichtsmaßnahme etwas Schrumpfschlauch nicht schadet.

Thumbnail

Bevor man die Winkelstifte der Front-Platine fest mit der Hauptplatine verlötet, sollte man diese genau mit dem Gewindewürfel ausrichten. Wenn man den Gewindewürfel selber herstellen will, dann sollte präzise gearbeitet werden, da es sonst später eventuell Probleme mit der Frontplatte gibt. (Anmerkung von Wolfgang Kufer: Anstelle des Klotzes für die Front kann man auch einen fetten 2,5 mm² Draht schräg durch die beiden Schraublöcher verlöten.)

Bild

Die Bohrungen (ca. 2,5 mm) sind mittig in den Seiten. Mittels Gewindeschneider wird ein M3 Gewinde hineingeschnitten. Vor dem Festschrauben auf der Hauptplatine wurde als reine Schutzmaßnahme ein dünnes Klebeband (mit Loch) als Isolierung unten angeklebt.

Nutzt man zwei Flachband-Sockel, so sollte man das 14polige Flachbandkabel einpressen, bevor man die S88-Platine auf den beiden Distanzhülsen befestigt.

Inbetriebnahme:
Bevor man die Zentrale das erste Mal in Betrieb setzt, ist es ratsam mit der Stückliste zu kontrollieren, ob auch nichts vergessen wurde. Der Mikrocontroller (IC5) sollte zunächst noch nicht in den vorhandenen IC-Sockel gesteckt werden. Für die Inbetriebnahme müssen die LEDs nicht unbedingt verlötet werden, jedoch sollte man darauf achten, dass die Beinchen keinerlei Fremdkontakt zu anderen Bauteilen haben.

Ein Labornetzgerät mit einstellbarer Spannung (ca. 15V) und Strombegrenzung (ca. 100mA) ist sehr empfehlenswert, damit bei Fehlbestückungen oder Kurzschlüssen keine Bauteile kaputt gehen. Sind dabei keine Fehler zu erkennen, kann zusätzlich die 5V Spannung am IC-Sockel des Mikrocontrollers überprüft werden. Zwischen den VCC-Pin (10) und den GND-Pins (11 und 31) kann man diese mit einem Voltmeter kontrollieren (siehe auch Pinbelegung in ATmega644 Summary, Seite 2, PDIP).

Für das Programmieren des Mikrocontrollers ATmega 644P wurde ein bereits vorhandenes STK500 (AVR-Starterkit von Atmel) verwendet. Ein einfacher ISP-Programmer müsste jedoch auch funktionieren.
Damit ist es möglich die sogenannten Fuses zu setzen und den Bootloader aufzuspielen.

Zunächst wurden die Fuses per AVR Studio 6 wie folgt gesetzt:

Bild

Bei den OpenDCC Downloads der OpenDCC Z1 findet man den Bootloader (Atmega644P) als Zip-Archiv, in dem sich wiederum ein Datei bootloader.hex befindet. Dieser Bootloader wird in den Flash des AVRs programmiert.

Bild

Anschließend kann man den Mikrocontroller in auf den Sockel stecken und die Zentrale danach einschalten. Da die eigentliche OpenDCC-Firmware noch nicht programmiert wurde, sollte die gelbe Prog-LED dauerhaft leuchten. Vereinfacht gesagt bedeutet dies, dass der Mikrocontroller den Bootloader geladen hat und nun darauf wartet, dass man die OpenDCC-Firmware programmiert.
(Falls schon eine OpenDCC-Firmware installiert war, muss man während des Einschaltens der Stromversorgung den Stop-Taster gedrückt halten)

Das Programmieren der OpenDCC-Firmware wird über die serielle Schnittstelle bzw. den USB-Anschluss gemacht (Jumper JP5/JP6 beachten!), wobei der FTDI-Treiber wiederum eine virtuelle serielle Schnittstelle einrichtet. Die (virtuelle) serielle Schnittstelle bekommt einen Namen zugewiesen COM1, COM2, COM3,... den man später noch benötigt (ist auch im Geräte-Manager unter den Anschlüssen ersichtlich).

Die eigentliche Firmware findet sich ebenfalls unter den o.g. Downloads. Im Archiv sind die Ordner Lenz_Emulation und p50x_Emulation, wobei sich das auf die Protokolle bezieht, mit der die OpenDCC Z1 später angesteuert werden soll. Letztlich ist dies auch eine Frage der Modellbahnsteuerungssoftware. Die aktuelle Empfehlung bei dieser Zentrale tendiert zu der P50X Emulation und es reicht somit aus den Ordner p50x_Emulation zu entpacken.
Zum Einspielen der Software fehlt jedoch noch ein entsprechendes Programm. Dies muss separat herunterladen werden, wobei es sich dabei um den AVROSP (open source serial programmer) handelt.

Man benötigt aus dem Zip-Archiv nur die AVROSP.exe. Diese kopiert man in den p50x_Emulation Ordner, was dann wie folgt aussieht:

Bild

Für das Ausführen der nötigen Befehle ist das Öffnen der Eingabeaufforderung empfehlenswert (Windows+R und cmd ausführen, oder Befehl cmd in Windows 7 Startmenü eingeben). Es wird hierbei angenommen, dass der Ordner p50x_Emulation auf dem Desktop abgelegt ist.

Zunächst wechselt man mit folgendem Befehl per Konsole diesen Ordner und bestätigt die Eingabe mit Enter, wobei der Benutzername natürlich angepasst werden muss:
cd C:/Users/Thomas/Desktop/p50x_Emulation

Zur optionalen Kontrolle kann man zudem den Befehl
dir
eingeben, um die Dateien des Ordner aufzulisten, die auch im oberen Bild zu sehen sind.
Danach startet man die Firmware Installation mit folgendem Befehl, wobei die COM-Bezeichnung stimmen und die Zentrale im Bootloader sein muss:
update_opendcc.bat COM3

Nachdem dieser Vorgang erfolgreich beendet wurde, muss dies für den sogenannten EEPROM-Speicher ebenfalls durchgeführt werden, was mit dem nachfolgenden Befehl erfolgt:
update_opendcc_eeprom.bat COM3

Wenn man die Zentrale anschließend neu startet, sollte diese einsatzbereit sein. Mit einer Steuerungssoftware können jetzt die ersten Tests gemacht werden bzw. mit einem XpressNet-Handregler (z.B. Roco Lokmaus, Lenz LH100).

FTDI-Chip und Treiberanpassung:
Wer die USB-Schnittstelle nutzt, der kann die Einstellungen des USB-Chips noch an die OpenDCC Z1 anpassen. Dazu benötigt man das Tool FT_Prog von FTDI.

Bild

Drückt man auf das Lupen-Symbol (Scan and Parse), so werden alle Geräte ausgelesen, die einen FTDI-Chip besitzen und am PC angeschlossen Sinn. Hier wurde nicht strikt nach der Anleitung gearbeitet. Folgende Einstellungen wurden verwendet:

BildBildBildBild

Mit einem Klick auf das Blitz-Symbol (Program Devices) werden die Änderungen im USB-Chip gespeichert.

Des Weiteren muss für die bevorstehende Treiberinstallation der Standard-FTDI-Treiber angepasst werden, den man zunächst auf der FTDI-Homepage herunterladen sollte.

Im entpackten Treiberordner befinden sich die Dateien ftdibus.inf und ftdiport.inf, die man per Texteditor erweitern muss (z.B. Notepad++). In diesem PDF sind die Zeilen rot markiert, die zusätzlich eingetragen werden müssen.
Mit diesem angepassten USB-Treiber ist es dann möglich die Zentrale auf 32 und 64 Bit Windows Betriebssystemen einzusetzen.

Gehäuseeinbau:
Für den Gehäuseeinbau müssen die beim Gehäuse beiliegenden Aluminium-Platten selbst mit Aussparungen versehen werden. Besitzt man keine CNC-Fräsmaschine, so ist an dieser Stelle natürlich Handarbeit erforderlich.
Auf der Mechanik-Seite von OpenDCC findet man die Maße für Frontplatte und Rückwand.

Thumbnail

Im Nachhinein stellte sich heraus, dass die Maße mit den hier verwendeten Bauteilen nicht ganz stimmen und besonders die Rückwand kleinere Probleme machte. Deshalb wurde aus dem vorhandenen Beschriftungs-PDF eine SVG (Vektorgrafik) erstellt, die etwas auf die Bedürfnisse dieser Zentrale angepasst wurde. Auf einer DIN A4 Seite befinden sich darin die angepasste Frontplatte und Rückwand in doppelter Ausführung, weil diese Vorlage auch gleich zum Ausdrucken der Klebefolie herhalten musste (+Reserve).
Empfehlenswert ist sicherlich vorab ein Ausdruck auf einem dickeren Papier, was man entsprechend ausschneiden und probehalber anlegen kann. Sollte diese SVG-Vorlage nicht stimmen, so lässt sie sich mit dem Open-Source-Vektorgrafikeditor Inkscape individuell nachbearbeiten.

Sind die Aluminium-Platten korrekt angepasst, können diese mit den Klebefolien beklebt werden.
Die Löcher der Frontplatte können auch jeweils mit einem LED-Montageclip versehen werden, was sicherlich etwas zur Optik beiträgt.
Beim Einbau in das Gehäuse wird man feststellen, dass eine Kunststoffhalterung im Weg ist, da dort die Distanzhülse die XpressNet-Adapters aufliegt. Diese Kunststoffhalterung muss komplett entfernt werden, sodass die Distanzhülse auf dem Gehäuseboden aufliegt.

Danach kann die Platine mit den selbstschneidenden Schrauben am Gehäuse befestigt werden.
Thumbnail

Nach dem Einbau ins Gehäuse sollte man zuerst überprüfen ob sich die Taster auf der Vorderseite noch betätigen lassen, ohne hängen zu bleiben. Ansonsten sind noch etwas Feilarbeiten nötig.
Anschließend werden die LEDs nach vorne geschoben und fest verlötet. Beim Abschneiden der Beinchen sollte natürlich darauf geachtet werden, dass diese nicht in der Zentrale landen.

Nach den Funktionsüberprüfungen ist der letzte Schritt sicherlich das Aufsetzen des Gehäusedeckels und das Ankleben der beiliegenden Klebefüße.

Fazit:
Der Bau der OpenDCC Z1 stellt für fortgeschrittene Modellbahner mit Löterfahrung kein Problem dar, auch wenn die Vorabarbeit der Bauteilbestellung die ein oder andere Tücke hat, da man schnell mal etwas vergisst und Nachbestellungen durch die erneuten Versandkosten ärgerlich sind.
Für den ersten Zusammenbau der Zentrale sollten man mindestens ein Wochenende einplanen, vorausgesetzt alle Komponenten sind vorhanden. Neben dem Umgang mit dem PC sind natürlich Erfahrungen besonders mit AVR-Mikrocontrollern vorteilhaft.

Die Zentrale funktionierte nach der Montage auf Anhieb und dem ausführlichen Tests mit der eigenen Steuerungssoftware steht jetzt nichts mehr im Weg. Das direkte Einstellen der Sonderoptionen über die Steuerungssoftware ist natürlich eingeplant.

Bild