Montag, 28. November 2022

Aktualisierungen 2022

Anfang Nov. 2022 wurden die Userpages in Rocrail reorganisiert.

Für meine Seiten habe ich diese Homepage in Google Sites eingerichtet und die in Rocrail verbliebenen Seiten als Links gelistet. Die aus Rocrail entfernten Seiten wurden wegen des anderen Quelltextformats überarbeitet, tlw. aktualisiert und sind jetzt Teil der neuen Hompage.

Freitag, 24. Juli 2020

Aktualisierungen 2020

Meine Aktivitäten haben sich inzwischen von diesem Blog zur Rocrail-Community verlagert. 
Dort bin ich im Rocrail-Forum, bei der Mitwirkung und Pflege des Rocrail-Wiki sowie mit eigenen Anwender-Seiten aktiv.

In vielen früheren Posts dieses Blogs sind Links zu Beschreibungen von MGV-Modulen enthalten.
Diese Module werden seit längerer Zeit unter der "Marke" GCA (Giling Computer Applications) des Entwicklers Peter Giling geführt.
Falls wegen der Änderungen Links in früheren Posts nicht mehr funktionieren sollten, wird in den meisten Fällen der Austausch von "mgv" gegen "gca" innerhalb betroffener URL das Problem lösen.
Ersatzweise sollten passende Einträge in der Rocrail-Hardware-Übersicht zu finden sein.

Aus der Blog-Liste sind zwei seit längerer Zeit nicht mehr erreichbare Ziele entfernt.

Montag, 30. Juli 2012

DCC- u. MM-Messung

Nach langer Blog-Abstinenz befasse ich mich diesmal aus aktuellem Anlass mit dem immer wieder auftretenden Problem, mit einfachen Mitteln die Digitalspannungen z.B. an Zentralen, Boostern, Verkabelung und Gleisen zu messen.

Die digitalen Gleisspannungen des MM- u. DCC-Formats wechseln ihre Polarität mit sehr kurzer Umschaltzeit und die Spannung hat bis zum nächsten Polaritätswechsel weitgehend den gleichen Wert. Im Gegensatz zu sinusförmigen Spannungen u. Strömen entspricht deshalb dieser Spitzen-Wert recht genau dem Effektiv-Wert.

DCC-Signal am Ausgang eines ORD-3-Boosters

Hinweise zu Digitalsignalen des Selectrix-Formats gebe ich unten im letzten Absatz.

Die üblichen Gleichrichter-Schaltungen in Multimetern sind für sinusförmige Spannungen und Ströme optimiert und zeigen Messwerte digitaler Signale z.T. mit erheblichen Fehlern an.

Für genaue Messungen werden deshalb Oszilloskope und/oder Messgeräte mit TRMS-Mess-Schaltung empfohlen. (TRMS = True Root Mean Square = warer Effektiv-Wert)

Oszilloskope und TRMS-Multimeter sind aber für die meisten Modellbahn-Hobbyisten eine unvertretbar hohe Investition. Ein Erwerb dieser Geräte ist völlig überzogen und unnötig, wenn sie nur für die meist einfachen Messungen bei der Eingrenzung von Fehlern an Gleisen und Verkabelung oder z.B. für die Ermittlung unterschiedlicher Spannungen einzelner Booster-Stromkreise verwendet werden.

Leider wird oft übersehen, dass die meisten angebotenen TRMS-Multimeter nicht für den Frequenzbereich digitaler Gleisspannungen und/oder Strömen von ca. 9kHz und mehr spezifiziert sind. Vom Kauf einfacher TRMS-Multimeter für diesen Messzweck kann ich nur abraten. Brauchbare Messwerte von MM- u. DCC-Spannungen und Strömen liefern diese Geräte nur mehr oder weniger zufällig. Der Kaufpreis von TRMS-Multimetern, die für den Frequenzbereich spezifiziert sind, übersteigt oft den Anschaffungspreis eines ordentlichen Oszilloskops mit wesentlich größerem Nutzwert.

Ausreichend genaue Ergebnisse sind auch mit sehr preiswerten Messgeräten zu erzielen. Dazu muss lediglich dem im Gleichspannungs-Betrieb verwendeten Messgerät eine sehr einfach zu realisierende Spitzenwert-Gleichrichtung vorgeschaltet werden.




Die Verluste in dieser Schaltung liegen bei ca. 1,4V, sodass immer nur dieser Wert als feste Korrektur zum Ablesewert des Messgerätes addiert werden muss.  

Die 4 Dioden bzw. der Brückengleichrichter sorgen dafür, dass das Digitalsignal mit seiner wechselnden Polarität als Gleichspannung an das Messgerät geliefert wird. Der Widerstand sorgt auch bei Messgeräten mit sehr hohem Innenwiderstand für einen Strom, der einen guten Arbeitspunkt der Dioden sicherstellt und eine Grundlast erzeugt, die verhindert, dass bei einem Kontaktfehler in einem unbelasteten Stromkreis eine nahezu korrekte Spannung vorgetäuscht wird. Der Kondensator glättet die kurzen Spannungs-Einbrüche zum Zeitpunkt der Polaritätswechsel.

Digitalsignale des Selectrix-Formats haben eine Taktlänge von 50µs zwischen den Polaritätswechseln, die sich aber in 40µs mit Spannung und 10µs ohne Spannung aufteilt. Dadurch entspricht der Effektiv-Wert nicht dem Spitzen-Wert und die beschriebene Schaltung wird deshalb falsche Messwerte liefern.
Ohne Anpassungen der Werte von Widerstand und Kondensator wird die oben gezeigte Schaltung nur ca. 80-90% des tatsächlichen Spitzenwertes der Digitalspannung anzeigen.

Dieser Beitrag findet sich auch aktualisiert als Userpage im Rocrail-Wiki: 


Freitag, 9. September 2011

Was die Weichen bewegt ... Servo und MGV136

Bevor ich auf den eigentlichen Weichenantrieb und die steuernde Elektronik eingehe, gibt es ein paar Vorbemerkungen zu Gleisen und Weichen.


Mit der Wahl der Spurweite N für die neu aufzubauende Anlage war die Festlegung auf das Gleismaterial Peco finescale Code 55 wegen der vielen positiven Meinungen in diversen Foren nur noch eine Formsache.
Die in zahlreichen Beiträgen zu findenden Erfahrungsberichte brachten mich recht schnell dazu, die zwei häufig genannten Probleme der Weichen von vorn herein zu vermeiden.

Konstruktiv sieht Peco vor, dass die Stromzuführung zu den Weichenzungen über deren "strammes" Anliegen an den Außenschienen erfolgt. Die in diversen Quellen zu findenden Erfahrungen der Hobby-Kollegen sind aber sehr durchwachsen. Darüber hinaus können auch großzügige Toleranzen der Spurweite von Radsätzen zu Kurzschlüssen an der freiliegenden Zungenschiene führen.

Es gibt einige Lösungen und Umbauvorschläge, die sowohl die Kontakt- als auch die  Kurzschluss-Problematik beseitigen. Nachteilig ist dabei nur, dass eine separate, mit der Weichenlage umzuschaltende Polarisierung vorgenommen werden muss. Je nach Ausführung des Antriebs erfolgt diese Polarisierung über Relais, die vom Dekoder gesteuert werden oder Umschaltern, die an die Antriebs-Mechanik gekoppelt sind.

Für erste Tests habe ich den Umbau der Weichen nach der Beschreibung "PECO Weichenumbau" von Steffen Krumbholz ausgeführt. Die Erfahrungen waren so positiv, dass ich beim späteren Aufbau der Anlage dieses Verfahren ohne Änderungen anwenden werde.

Für den Antrieb der Weichen gibt es viele Möglichkeiten, wobei die anzustrebende Kombination von hoher Betriebsicherheit, vorbildgerechter Stellgeschwindigkeit und geringem Kostenfaktor die Entscheidung zum Modellbau-Servo geradezu aufdrängt. Einzelheiten zu den genannten Faktoren und als Entscheidungshilfe sind umfänglich im Web zu finden. Für den Antrieb von Weichen, Formsignalen und Bahnschranken ist der preiswerte und leicht erhältliche Servo ES-05 mein Objekt der Wahl.

Modellbau-Servo ES-05 (z.B. Conrad)
mit Servo-Halter (rbs-Modellbau)

In früheren Posts habe ich schon beschrieben, dass Rocrail die Ansteuerung der auf der Anlage befindlichen Elemente über die Ausgangs-Funktion von MGV50 LocoIO ausführen soll. Mit den im LocoNet zur Verfügung stehenden Befehlen und den Möglichkeiten der Hardware ist aber nur ein Ein-/Aus-Schalten einer 5V-Spannung mit max. 20mA Belastbarkeit möglich. Das reicht nur für das Schalten von LEDs oder kleinen Relais bzw. Leistungs-Transistoren. Mit den Relais oder Transistoren könnten dann auch Magnetspulen oder Motoren für Weichenantriebe angesteuert werden. Dafür gibt es u. a. die Schnittstellen-Baugruppen MGV76, MGV77 und MGV125, die ich hier aber nicht beschreibe, weil sie für diese Anlage nicht benötigt werden.

Etwas Theorie zur Ansteuerung von Servos
Die aus dem Modellbau bekannten Servos erforden eine andere Ansteuerung als Magnet-Spulen oder Motoren. Servos haben im Gegensatz zu Spulen oder Motoren nicht nur zwei feste Endlagen bzw. Drehrichtungen, sondern können zwischen den Endlagen jede beliebige Positon einnehmen  und diese mit sehr unterschiedlichen Geschwindigkeiten anfahren. Die dafür erforderliche Treiberelektronik ist in jedem Servo fest integriert, erfordert aber ein spezielles, wenn auch für fast alle Servo-Typen gleichartiges Steuersignal.

Das Servo-Steuersignal besteht aus einer Folge von Impulsen, bei der die Zeitdauer des positiven Impulses (+5V) die Hebelstellung des Servos bestimmt. Die Genauigkeit der Einstellung beliebiger Positionen hängt von den Eigenschaften des Servo-Typs und der Impulserzeugung der Ansteuerung ab.

Die Steuerimpulse werden fortlaufend mit Pausen von ca. 20ms wiederholt. Die absolute Zeit der Pausen hat auf die Einstellung des Servos keinen Einfluss und soll min. 10ms, kann aber auch 100ms betragen.

Der Hebel bzw. das Horn kann bei den meisten Servo-Typen in verschiedenen Grundpositionen auf eine gezahnte Achse aufgesteckt werden. Die in der Grafik gezeigte Positionierung ist ein der einfachen Erläuterung geschuldetes Beispiel. Alternativ zum Hebel können auch ein dem ES-05 beigefügtes Kreuz oder Rad verwendet werden. Beide sind aber auch als Zubehör erhältlich.

Wenn sich der Hebel bei 0° befindet und eine Pulsbreite von 2ms empfangen wird, bewegt sich der Hebel mit der max. Geschwindigkeit des Servo-Motors nach 180°. Je nach Typ und Größe des Servos kann diese Bewegung z.B. in ca. 0,2s erfolgen. Für viele Anwendungen im Modellbau und auch bei Weichenantrieben wäre das für eine vorbildgerechte Bewegung zu schnell. 

Durch Ändern der Pulsbreite während der Servo-Bewegung kann aber die Einstellzeit des Servo-Hebels beeinflusst werden. Soll die Bewegung von 0° bis 180° z.B. in 2s erfolgen, erhalten die während dieser Zeit übertragenen ca. 90 bis 100 Impulse nicht sofort die Pulsbreite von 2ms, sondern werden kontinuierlich vom ersten Impuls mit 1ms bis zum letzten Impuls auf 2ms geändert. Durch geeignete Funktionen in der Firmware des steuernden Dekoders kann die Impulserzeugung für Bewegunsprofile von Servos in weiten Bereichen programmiert werden. So kann z.B. das Nachwippen von Bahnschranken und Form-/Flügel-Signalen nachgestellt werden. Die z. Zt. verfügbare Firmware des MGV136 bietet solche Eigenschaften nicht.

Nach Erreichen der gewünschten Position neigen viele Servos dazu, Ungenauigkeiten der Einstellung mit kleinen Regelschwingungen auszugleichen. Das führt zu deutlich hörbarem Brummen oder sogar zu Zitterbewegungen des Hebels. Werden bei Erreichen der gewünschten Position keine weiteren Impulse gesendet, erfolgt auch keine Regelung mehr und die unerwünschten Regelschwingungen unterbleiben.

Ohne Regelung hat der Servo-Motor aber keinen Halteeffekt und rückwirkende Kräfte werden nicht mehr gebremst. Für Anwendungen bei der Modellbahn ist aber normalerweise die Bremswirkung der starken Untersetzung des Servo-Getriebes auch ohne aktiven Motor ausreichend.

Für die Erzeugung des Servo-Steuersignals sind eine Reihe von Servo-Dekodern aus Hobby-Projekten und von kommerziellen Anbietern verfügbar.

Der Servo-Dekoder MGV136
In der MGV-Familie gibt es den MGV136 als Servo-Dekoder, der gesteuert von 4 Ports eines MGV50 LocoIO bis zu 4 Servos treiben kann.

Servo-Dekoder MGV136 (Bausatz über PHG

Ein wichtiges Alleinstellungs-Merkmal dieses Dekoders ist die 100%ge Steuerung und Programmierung über nur 4 Port-Anschlüsse und den speziellen Programmier-Dialog in Rocrail. Damit erfolgen alle Einstellungen der Servos ohne eine Bedienung an der Baugruppe. Der MGV136 kann also sofort an seiner endgültigen Position unter der Anlage montiert werden. Die eigentliche Übertragung von Programmierbefehlen erfolgt durch Pakete spezieller Bitmuster an den 4 Ports.

Für die Realisierung der oben beschriebenen Weichen-Polarisierung gibt es optional die Relais-Baugruppe MGV137. Diese Baugruppe werde ich nicht verwenden, weil ich mich für eine in die Antriebsmechanik integrierte Polarisierung entschieden habe.

Über 4 als Eingänge programmierte Ports des MGV50 LocoIO kann auch eine Rückmeldung der Weichenlage (richtiger: der Servo-Sollstellung) erfolgen. Eine Rückmeldung der tatsächlichen mechanischen Stellung der Servos ist das nicht, was bei der hohen Betriebsicherheit selbst preiswerter Servos aber kein Nachteil ist. Bei der Steuerung mit Rocrail kann aber mit einer Einstellung der Fahstraßenstellzeit eine gleichwertige Bedingung hergestellt werden. Damit kann die Rückmeldung aus dem MGV136 entfallen und die Optokoppler U3A bis D und die Widerstände R5 bis 8 sowie R13 bis 16 brauchen nicht bestückt werden. Die frei bleibenden Ports des MGV50 können dann z.B. für einen anderen MGV136 verwendet werden.

Aufbau und Betrieb
Wie schon mehrfach erwähnt war auch hier der Aufbau problemlos. Die Inbetriebnahme war leider nicht so trivial, wie bei den anderen Baugruppen.

Für jeden der 4 Servos kann die linke (0°-90°) und rechte (90°-180°) Endlage in 100 Stufen eingestellt werden. Die Geschwindigkeit jedes Servo kann auf einen von vier festen Werte programmiert werden.

Das Einstellen über den Programmierdialog in Rocrail war zwar fehlerfrei möglich, jedoch sehr mühsam, weil bei jedem Aufruf des Dialogs die Adressen der verwendetetn MGV50-Ports neu eingestellt werden mussten. Schon beim Programmieren zeigten sich die später im Betrieb sporadisch auftretenden Bewegungen in eine Endlage. Die festgestellten Mängel sind zwischenzeitlich durch Nachbesserungen der Firmware beseitigt. Auch der Programmierdialog in Rocrail wurde verbessert und die letzten Einstellungen werden gesichert und wieder hergestellt..

Nachdem die Mängel beseitigt sind, ist das Programmieren des MGV136 und das Justieren der Servos eine sehr schöne Sache. Dass der MGV136 dafür nicht zugänglich sein muss, ist ein absolutes highlight.

Beim MGV136 werden die Steuerimpulse nur während der Einstellzeit des Servo gesendet und die oben beschriebenen Regelschwingungen treten nicht auf. Die Bremswirkung des ES-05 ohne aktiven Motor ist völlig ausreichend.

Ein Wunsch an den Entwickler Peter Giling bzgl. einer Überlappung der Endlagen-Einstell-Bereiche (z.B. 0°-110° und 70°-180°) wurde noch nicht realisiert.

Einer der nächsten Beiträge hat Tests der aufgebauten Mechanik zum Thema.

Donnerstag, 18. August 2011

Damit Rocrail sieht, wo etwas passiert ... MGV93 Belegtmelder

Es gibt verschiedene Möglichkeiten, die Zugbewegungen an den PC zu melden und damit einem steuernden Programm mitzuteilen. Auf der Rückmelderseite im Rocrail-Wiki ist einiges zu Lichtschranken, Gleiskontakten usw. beschrieben.

Ich habe mich für Stromdetektoren als Belegtmelder entschieden, weil sie die größte Betriebsicherheit im Automatikbetrieb ermöglichen.
MGV93 Belegtmelder
Die Belegung eines Gleises oder Gleisabschnittes sollte mindestens für das erste und letzte Fahrzeug eines Zuges erfolgen. Mit dem ersten Fahrzeug soll die Zugbewegung erkannt werden, z.B. die Einfahrt in einen  Block. Mit dem letzten Fahrzeug soll z.B. das Freiwerden eines Blockes oder im Falle einer Zugtrennung das Liegenbleiben des letzten Wagens erkannt werden.
Das Prinzip eines Stromdetektors für die Belegtmeldung ist einfach erklärt. Es wird unterstellt, dass das erste und letzte Fahrzeug eines Zuges einen erkennbaren Strom aus der ständig am Gleis liegenden Digitalspannung entnehmen. Bei der Lok ist das selbverständlich, weil der eingebaute Dekoder auch ohne Fahrt einen geringen Betriebsstrom aufnimmt, um die Daten des Gleissignals zu lesen. Beim Wagen am Ende des Zuges kann ein erkennbarer Strom z.B. von einer Schlussbeleuchtung oder einem Achswiderstand aufgenommen werden.

Einzelheiten zum Achswiderstand habe ich auf einer separaten Webseite beschrieben.

Der MGV93 enthält 8 Stromdetektoren, die das Erkennen eines Stroms über Optokoppler galvanisch getrennt an einen MGV50 LocoIO melden können. Jeder einzelene Stromdetektor hat auf der Gleisseite eine selbstrückstellende Sicherung. Eine rote LED zeigt das Auslösen der Sicherung, eine grüne LED den aktivierten Ausgang eines Optokopplers an. Über eine 1zu1 beschaltete Verbindung mit PSK-Steckkontakten wird der MGV93 an eine Port-Hälfte eines MGV50 angeschlossen. Im Bild oben sind das die Steckergehäuse mit den violetten Drähten.
Mit 2 x MGV93 und 1 x MGV50 können 16 Belegtmeldungen über das LocoNet zum PC übermittelt werden.

Der Anschluss der Gleisspannung erfolgt mit einem Pol an der linken Schiene des Gleises.
Der andere Pol wird an den gemeinsamen Eingang des MGV93 angeschlossen. Die Gleis-Ausgänge (1 bis 8) werden jeweils mit der rechten Schiene ihres zu überwachenden Gleisabschnitts verbunden.
Eine Grafik zeigt das in einer PDF-Datei. Auf der MGV93-Wiki-Seite sind noch PDF-Dateien mit weiteren Anschlussmöglichkeiten verlinkt.

Der MGV93 wird durch Konfiguration des angeschlossenen MGV50 LocoIO in Rocrail eingestellt. Im letzten Post diese Blogs hab ich schon auf meinen favorisierten Dialog "Einfaches Setup" hingewiesen. Die auf der Seite bei den MGV50-Ports 1 bis 8 gezeigte Port-Art "Block" ist für Belegtmelder optimiert. Dabei wird die Aktivierung eines Belegtmelders sofort wirksam, aber kurze Unterbrechungen - z.B. durch Kontaktfehler an einem Rad - werden für ca. 2 Sekunden überbrückt. Die bei den einzelnen Ports einzutragende Adresse entspricht der Adresse im Dialog "Schnittstelle" der Rückmelder-Objekte im Gleisplan.





Freitag, 12. August 2011

Freundlich wurde ich genötigt, doch mal wieder was zu schreiben ... So soll es jetzt die Baugruppe MGV50 LocoIO sein.

Beim MGV85 LocoBuffer hatte ich mich ja schon zu der Qualität der Platinen sehr positiv geäußert. Im weiteren Verlauf des Aufbaus der anderen Module hat sich das dann immer wieder bestätigt.
Die Peripherie im LocoNet wird durch die Baugruppe MGV50 LocoIO repräsentiert.

MGV50 LocoIO
Damit werden 16 Ports als Ein- / Ausgänge mit 5V-Logik bereitgestellt. Durch ein Setup-Menü in Rocrail können alle benötigten Parameter eingestellt werden. Standardmäßig ist in der PIC-Firmware die Adresse 81-1 programmiert und die Ports sind als Eingänge konfiguriert.
Ein Einbau in ein Gehäuse erübrigt sich, weil die Platine wie andere Zubehördekoder oder sonstige Elektronik z.B. unter der MoBa-Anlage montiert wird.

Für die Anschlüsse der Schnittstellen-Baugruppen wie Belegtmelder, Servodekoder, Relais-/Weichentreiber usw. gibt es sowohl Schraubklemmen als auch parallel dazu PSK-Steckleisten.
Wenn man Baugruppen aus der MGV-Serie verwendet, finden sich dort auch die PSK-Steckleisten und die Schraubklemmen werden nur dann benötigt, wenn einzeln verdrahtete Stromkreise - z.B. LEDs - direkt angeschlossen werden sollen. Wenn man auf die Schraubklemmen verzichtet, spart man bei drei LocoIO ca. 10€, was ungefähr den Bauteile-Kosten eines LocoIO entspricht.

Die Stromversorgung des MGV50 LocoIO erfolgt über das MGV-LocoNet mit 12-15V und wird intern auf 5V stabilisiert.

Die Konfiguration des fertig aufgebauten LocoIO erfolgt über einen speziellen Programmier-Dialog in Rocrail. Damit die Programmierung erfolgreich ist, sind ein paar Besonderheiten zu beachten. Wie bei der Programmierung eines Lok-Dekoders auf dem separaten Programmier-Gleis muss auch hier die Einstellung der Adresse getrennt von allen anderen Dekodern bzw. LocoIO erfolgen. Sonst werden alle anderen LocoIO auch auf die gleiche Adresse programmiert.
Alle weiteren Einstellungen oder spätere Änderungen sind wegen der dann eindeutigen Adresse natürlich wieder innerhalb des gesamten LocoNet möglich.

Deshalb ist für die Adress-Programmierung unbedingt zu beachten:
Am LocoBuffer das gesamte LocoNet abtrennen.
Nur den LocoIO anschalten, dessen Adresse programmiert werden soll.  

Die spezielle Codierung des LocoNet-Protokolls erfordert, dass die Programmierung der Adresse in zwei Schritten erfolgen muss. Zunächst wird im Dialogfeld die voreingestellte Low-Adresse "81" durch den gewünschten Wert ersetzt. Das Anklicken der Set-Schaltfläche überträgt die Low-Adresse zum  angeschlossenen LocoIO. Danach wird die voreingestellte Sub-Adresse "1" durch den gewünschten Wert ersetzt und ebenfalls mit Anklicken der Set-Schaltfläche übertragen.

An dieser Stelle ein paar Worte zu meiner Wahl der Adressen. Der Aufbau der MoBa erfolgt mit drei Modulen. Die LocoIO jedes Moduls erhalten die gleiche Low-Adresse (1, 2 oder 3) und die Sub-Adresse als fortlaufende Nummer innerhalb des Moduls.
Daraus ergeben sich nach erster Planung folgende Adressen:

1.    2.    3.   
1-1 | 2-1 | 3-1
1-2 | 2-2 | 3-2
1-3

Damit die neue Adresse korrekt wirksam wird, muss der LocoIO kurz von der Stromversorgung getrennt werden. Es genügt, den LocoNet-Stecker abzuziehen, bis beide grünen LED dunkel sind. Nachdem der Stecker wieder gesteckt ist, arbeitet der LocoIO mit der neuen Adresse. Wie schon oben erwähnt, können alle weiteren Einstellungen wieder innerhalb des gesamten LocoNet erfolgen.

Dazu wird in den Adressen-Dialog gewechselt und mit Anklicken der Query-Schaltfläche wird der Gesamt-Bestand an LocoIO ermittelt und aufgelistet. Die Adresse des zuvor neu programmierten LocoIO sollte also auch in der Liste erscheinen. Durch Doppelklick auf den Eintrag wird dieser LocoIO für alle weiteren Funktionen ausgewählt. Die ausgewählte Adresse wird in der Kopfleiste des Dialogs angezeigt.

Für mich hat sich der Dialog Einfaches Setup als bequemste Möglichkeit erwiesen, wenn bei einem Programiervorgang mehr als ein Port eingestellt werden soll. Einzelheiten dazu werde ich später beschreiben, wenn es um die Inbetriebnahme der am LocoIO angeschlossenen Schnittstellen-Baugruppen geht.


Freitag, 25. März 2011

Inbetriebnahme des ersten MGV-Moduls

Hat ja lange gedauert, aber ausser der Inbetriebnahme der MGV-Module im Dezember, ist nichts Wesentliches passiert. Deshalb liefere ich jetzt einen ersten Teil der versprochenen Berichte nach.

Zunächst habe ich mich mit dem LocoBuffer MGV85 befasst. Diese Baugruppe wird als Interface zwischen PC und den anderen "innerhalb" der Anlagen-Module befindlichen Baugruppen betrieben. Deshalb wird sie zusammen mit dem zur Versorgung erforderlichen Transformator mit 15V / 4A (60VA) in ein Gehäuse eingebaut.
Die Bestückung der Platine mit den Bauteilen verlief ohne Besonderheiten. Die Fertigungs-Qualität der Platine ist hervorragend, sodass durch Verzinnung und Lötstopmaske auch für weniger geübte "Löter" die Funktionsfähigkeit leicht zu erreichen ist. Baugruppenspezifische Hinweise zu Aufbau und Inbetriebnahme finden sich auf den Hardware-Seiten des Rocrail-Wiki und des Entwicklers Peter Giling. Die Links zu den Seiten finden sich bei der Vorstellung der Baugruppen im vorigen Post dieses Blogs.


MGV85 mit Trafo im Gehäuse eingebaut
Das Bild rechts zeigte die MGV85-Baugruppe und den Trafo nach dem Einbau in ein Standard-Gehäuse, das als BOPLA E-450VL bei Reichelt erhältlich ist.

Die drei LED auf der MGV85-Platine sind außerhalb des Gehäuses nicht zu sehen. Deshalb habe ich die jeweilige Kombination aus LED u. Widerstand noch einmal zusätzlich in die Frontseite des Gehäuses montiert und jeweils parallel zu der auf der Platine befindlichen LED-Widerstands-Kombination angeschlossen.

Die fest auf die Platine montierten RJ12- u. D-SUB-9-Buchsen sind durch passende Ausschnitte im Gehäuse in die Front integriert. Der 230V-Netzanschluss des Trafos ist mit einer in eine Bohrung eingesetzten Zugentlastung nach aussen geführt. Der Sekundär-Anschluss  des Trafos ist intern direkt an den Stromversorgungs-Eingang des MGV85 angeschlossen. Die notwendige Absicherung ist auf der Platine durch eine 3A-Multifuse realisiert.

MGV85 als LocoBuffer im Betrieb
 Das zweite Bild zeigt den MGV85-LocoBuffer mit den Kontroll-LED der Stromversorgung im Betriebzustand. Die rote LED leuchtet nur kurz auf, wenn Daten im LocoNet übertragen werden.
An den D-SUB-9-Buchsen sind fertig konfektionierte Standardkabel von der PC-COM-Schnittstelle (links) und zu den Baugruppen im MGV-LocoNet (rechts) angeschlossen.

Die RJ12-Buchse wird nur verwendet, wenn Geräte mit klassischen LocoNet-Anschlüssen direkt am LocoBuffer betrieben werden sollen. (FREDI, IB usw.)


Programmierung des PIC-Prozessors

Die auf vielen MGV-Baugruppen befindlichen PIC-Prozessoren können sehr einfach selbst programmiert werden. Im Rahmen meiner "Baumaßnahmen" war das erstmals auch beim MGV85 erforderlich. Der PIC übernimmt hier die Interface-Funktion für die Kommunikation zwischen dem PC mit Rocrail und z.B. den LocoIO-Baugruppen MGV50.
Velleman PIC-Programmer P8076
Für den Programmiervorgang verwende ich den Velleman-Programmer P8076 der in Deutschland bei Conrad mit der Bestell-Nr. 191068 erhältlich ist.
Das Teil habe ich mir mit Beginn des Zusammenbaus der MGV-Module zugelegt.
Außerdem ist noch ein geregeltes 15V-Netzteil erforderlich. Diese Spannung ist unbedingt einzuhalten. Meine Versuche mit 12V sind kläglich gescheitert. Für solche Netzteile gibt es sehr viele, sich häufig ändernde Bezugsmöglichkeiten im WWW. Deshalb gebe ich hier keine konkrete Quelle an.

Die mitgelieferte Software muss ggf. von der Velleman-Homepage aktualisiert werden.
Sie ist weitgehend selbsterklärend. Nach Auswahl der gewünschten COM-Schnittstelle in der Hardware-Konfiguration kann die Verbindung zwischen PC und Programmer mit einer Testfunktion überprüft werden.
Es muss auf jeden Fall eine klassische (native) COM-Schnittstelle vorhanden sein.
USB-zu-Seriell-Adapter funktionieren definitiv nicht mit diesem Programmer.
Die unterschiedliche Beschaltung der verschiedenen PIC-Typen wird durch eine Auswahl in der Software festgelegt. Eine anschauliche Grafik zeigt dazu die jeweils notwendige Schaltung der fünf Programmierleitungen zum Nullkraft-Sockel. (Im Bild das farbige "Bündel" unterhalb des Sockels). Dabei wird der jeweilige PIC unabhängig von der Bauform immer linksbündig (Bild) in den Sockel gesteckt.

Die Firmware (HEX-Files), die in die PICs programmiert werden muss, ist auf den Rocrail-Wiki-Seiten der entsprechenden Baugruppen verlinkt. Nachdem die Dateien auf den PC heruntergeladen wurden, können sie für den jeweiligen Programmiervorgang in den Arbeitsspeicher der Programmier-Software geladen und in den PIC programmiert werden. Der Vorgang dauert je nach Dateigröße und PIC-Typ ca. 1-2 Minuten inkl. Prüf-Vergleich.

Auch nachdem ich die richtige Spannung zur Verfügung hatte, gab es noch Schreibfehler. Es stellte sich schließlich heraus, dass die Schreibdaten zu schnell zum Programmer übertragen wurden. Im Hardware-Menü gibt es eine Einstellmöglichkeit, die Übertragung zu verzögern (Delay). Nachdem ich den voreingestellten Wert "1" auf "2" geändert hatte, traten keine Schreibfehler mehr auf. Alle 14 PIC mit 3 verschiedenen Typen wurden fehlerfrei programmiert und arbeiten nach dem Einsetzen in die jeweilige Baugruppe ohne Beanstandung. Eine Ausnahme bildet hier nur die Firmware der MGV136, dabei handelt es sich aber um ein Problem in der Firmware selbst, was noch gefixt werden muss. Dazu später mehr.

Wie schon erwähnt, liegen die Aktivitäten schon länger zurück. Aber in weiteren Beiträgen werde ich über den Aufbau der anderen Baugruppen berichten.