Home
Anlage
Landschaft
Steuerung
MoBaSbS
HDC
USC
SPC
LDEC
PM Uni     
          De/ Encoder
          Servo
          LDEC Funktion
Lokprogrammer

banner

PM Universal

Das PM-Uni ist ein Universalperipheriemodul für die MoBaSbS. Der Grundgedanke für die schon lange geplante Umsetzung, ist die gleichzeitige Verwendung von Servodekoderausgängen, Dekoderausgängen und Encodereingängen in einem Modul. Dies macht sich besonders bei Modul- und Segmentanlagen positiv bemerkbar, da nicht für jeden Anwendungsfall ein eigenes Peripheriemodul verwendet werden muss. Außerdem verringert sich die Lagerhaltung für Servo, Encoder und Dekoder auf eine Platine.
Für dieses Modul habe ich unter teilweiser Verwendung der bisherigen Routinen einen Universalcode entwickelt. Diesen möchte ich hier vorstellen und Tipps für den Aufbau und die Verwendung geben.

Einleitung

Mit dem neuen Code ergeben sich folgende Konfigurationsmöglichkeiten. Im Normalfall wird nur eine Adresse verwendet und damit kann dann das PM-Uni als

verwendet werden. Dabei können in der Einstellung En-/Dekoder die Ein- bzw. Ausgänge des Modules paarweise gemischt werden. Bei der Verwendung eines ULN2803 als Treiber ist das Mischen bauteilebedingt auf jeweils 4 zusammenhängende Ein- bzw. Ausgänge beschränkt.

Bei der Verwendung als 4-fach Servo gibt es die zuschaltbare Möglichkeit, eine Rückmeldung bei Erreichen der Endstellung auszulösen und die Möglichkeit festgelegte Ausgänge des PM für die Herzstückpolarisation zu verwenden. Mehr darüber bei der Beschreibung zur Servokonfiguration.

Für den Fall das noch weitere Servo-, Dekoder- oder Encoderfunktionen benötigt werden, hat man die Möglichkeit eine zweite Adresse in diesem PM zu aktivieren. Dann stehen noch einmal zusätzlich ein

zur Verfügung.
Übrigens die optimale Ausnutzung des PM-Uni erhält man bei Verwendung der Servofunktion auf Adresse 2 und der En/Dekoderfunktion auf Adresse 1.
Was ich leider nicht realisieren konnte, war die Einbindung der komplexen Routinen des LDEC in den Universalcode. Es besteht aber die Möglichkeit den Universalcode gegen den LDEC Code und auch umgekehrt über eine Bootladerfunktion auszutauschen.

Hardware

Die Hardware für das PM Uni wurde parallel zur Software entwickelt, so dass viele Ideen auf beiden Seiten sofort umgesetzt werden konnten. Mein besonderer Dank gilt Uli, ohne den dieses Projekt noch viele Jahre in der Schublade geschlummert hätte.
Von der Universalplatine gibt es zwei Ausführungen, einmal die professionell hergestellte doppelseitige und zum selber Ätzen die einseitige Platine.
Die erforderlichen Unterlagen und die Beschreibung der Hardware kann man auf der MoBaSbS Homepage anschauen und herunterladen.

Im Folgenden gehe ich nur auf Besonderheiten in Bezug auf den Universalcode ein. Dabei beziehen sich die Ausführungen auf die doppelseitige Platine.

Da der tatsächlische Verwendungszweck erst kurz vor dem Einbau festgelegt wird, habe ich meine PM-Uni Platinen mit den Grundbauelementen versehen.
Auf den Fotos ist das Herzstück des PM-Uni, der Atmega8, die Komponenten für die Kommunikation mit dem PMC und schon erste Bauteile für die Spannungsversorgung zu sehen. Soll das komplette PM-Uni nur als Encoder verwendet werden, können die Bauteile auf der linken Seite für die Spannungsversorgung weggelassen werden. Auf dem rechten Foto ist die Anordnung der SMD Bausteine auf der Unterseite zu sehen.

 

Einstellungen

Die Grundeinstellung für das Universalmodul ist Moduladresse 255. Diese sollte man gleich mit Inbetriebnahme des Modules ändern, um später nicht in Konflikt mit neu hinzugefügten Modulen zu kommen. Dies geschieht mit dem Menüpunkt PM Adresse ändern im Konfigurationstool. Nach dem anschließenden Rescan, der Aktualisierung und der Übernahme, steht das Modul jetzt im Konfigtool zur Verfügung.

Kommen wir nun zur Auswahl der Aus- bzw. Eingänge des Modules.

Wie bereits weiter oben erwähnt, können die Anschlüsse des Modules sowohl als Ein- bzw. Ausgänge oder Servo verwendet werden. Die Konfiguration wird über den Menüpunkt Werkzeuge, MFM-1 konfigurieren ausgewählt. 

Bei der nun erscheinenden Maske, gibt man oben die Adresse 1 (Hauptadresse) an und klickt auf das Fragezeichen. Ist die ausgewählte Adresse ein Universalmodul, kann man nun die Einstellungen dafür vornehmen. Sollte man versehentlich die Adresse 2 des PM ausgewählt haben, erscheint eine Fehlermeldung und die Adresse 1 wird vorgeschlagen. Bei Modultyp stehen zur Auwahl

Wählt man 8-fach Std. Enkoder / Dekoder können jetzt noch die Ausgänge für die zukünftige Verwendung entweder auf Eingang (Enkoder) oder auf Ausgang (Dekoder) gesetzt werden.
Anschließend die Auswahl noch speichern und nach Aufforderung den RESCAN durchführen. Bei der anschließenden Aktualisierung des PMC und der Übernahme der neuen Daten steht nach der Auswahl des Universalmodules die Maske mit den zuvor gewählten Ausgängen zur Verfügung. Dort werden dann die gewünschten Einstellungen für den jeweiligen Ausgang, so wie bisher schon von den Encoder- bzw. Dekodermodulen bekannt, durchgeführt.
Mehr darüber in den Seiten über En/ Dekoder oder Servo.

Reichen 4 Servo oder 8 Ausgänge nicht aus, so kann in diesem Menüpunkt die zweite Adresse aktiviert werden. Die Einstellungen dafür sind die Selben, wie bisher für die erste Adresse beschrieben. Einziger Unterschied ist, dass für die Einstellung im oben gezeigten Menü die Adresse von der zuerst geänderten Adresse (Hauptadresse) verwendet werden muss. Bei einer Fehleingabe wird dies vom Konfigtool mit einer Fehlermeldung quittiert und die richtige Adresse vorgeschlagen.

Bootladerfunktion

Das PM-Uni ist mit einer Bootladerfunktion ausgestattet. Somit ist es möglich, evtl Updates des Programmcodes ohne Ausbau des Modules aus der Anlage durchzuführen.
Desweiteren kann ohne Neuprogrammierung des Prozessors, der nicht mehr im Universalcode untergebrachte LDEC Code eingespielt werden. Auch der LDEC Code kann ohne Neuprogrammierung mit dem Bootlader wieder mit dem Universalcode überschrieben werden.
Einzelheiten sind in der Beschreibung des Konfigurationstools nachzulesen.

ACHTUNG - Die Nutzung der Bootladerfunktion ist nur mit dem neuen LDEC-T Code und dem Universalcode möglich.
                      Alle bisherigen Codeversionen mit Bootladerfunktion funktionieren nicht.

ACHTUNG - Im Gegensatz zur bisherigen Bootladerfunktion, darf das Fusebit
                      BOOTRST -
nicht gesetzt sein.

Dies ist bedingt durch die Neuprogrammierung der Bootladerfunktion, da die bisher verwendete Version nicht kompatibel zur Größe des neuen Codes ist.

ACHTUNG - Nach der Programmierung muss kurz die Spannung zum Universalperipheriemodul getrennt werden.

.

Hier geht es zur Beschreibung beim Einsatz des Universalcodes als

Hier kann der Universalcode aus dem geschützten Bereich der MoBaSbS heruntergeladen werden.

 

© by Uwe Mäusezahl 24 Juli, 2013