Universalmodul

Aus MäCAN-Wiki
Wechseln zu: Navigation, Suche
Hinweis:
Dieser Artikel ist noch nicht fertig! Die Angaben sind noch unvollständig oder fehlerhaft. Bitte besuche diesen Artikel später erneut, um die fertige Version zu Lesen.
Hinweis:
Bei dem MäCAN-Projekt handelt es sich um ein Hobby-Projekt. Es besteht kein kommerzieller Hintergrund und kein Anspruch auf Vollständigkeit oder Richtigkeit der Inhalte! Bei Unklarheiten stehe ich gerne für Rückfragen zur verfügung: Mail schreiben.
Universalmodul
Universalmodul Platine.jpeg
Abmessungen 10x10cm
Spannungsversorgung 5VDC (USB)
Ungefährer Preis 13€


Das Universalmodul ist der Nachfolger des Schaltdecoders, welcher dafür ausgelegt war, mit 18V betrieben zu werden und Lasten zu schalten. Das Universalmodul hingegen liefert lediglich logische Ausgänge und wird mit 5V betrieben. Damit ist mit weiteren Ergänzungsmodulen ein universeller Einsatz möglich.

Funktionen

Prinzipiell lässt sich das Modul für viele Aufgaben auf der Modellbahn einsetzen. Unter anderem können das einfache Schalt- und Rückmeldeaufgaben sein, aber auch kompliziertere ferngesteuerte Automatikaufgaben sind denkbar. Da der Mikrocontroller mit der Arduino-IDE frei programmiert werden kann ist, sind der Fantasie des benutzers nur wenige Grenzen gesetzt.

Nachfolgend sind einige Beispiele, was mit dem Universalmodul realisiert werden kann, aufgeführt.

Servodecoder

Das Universalmodul kann ohne weitere Hardware direkt bis zu zehn Servos ansteuern, zum Beispiel um Weichen, Signale oder andere bewegte Objekte zu schalten. Eine Erweiterung mithilfe des I²C-Busses ist denkbar, wodurch die Anzahl der Steuerbaren Servos drastisch erhöht werden kann. Es ist jedoch darauf zu achten, dass die Servos mit ausreichend Strom versorgt werden.


Aufbau

Unbestücktes Universalmodul

Der Aufbau des Moduls ist an sich sehr simpel. Herz des Moduls ist ein ATMEGA 328P. Dies ist auch der Mikrocontroller, der für den Arduino UNO verwendet wird. Zur Anbindung an den CAN-Bus befinden sich auf der Platine noch ein CAN-Controller und ein CAN-Transciever. Eine Ausgangsverstärkung findet bewusst nicht statt, um das Modul möglichst universell einsetzten zu können.

Schnittstellen

Anbindung an den CAN-Bus

Die Anbindung des Moduls an den CAN-Bus kann auf zwei Arten erfolgen:

  1. Klemmen für CAN-High, CAN-Low und GND
  2. RJ-45-Buchse nach der Belegun, wie sie bei der CAN-Digital-Bahn eingesetzt wird

Eine Spannungsversorgung des Moduls über den CAN-Bus ist nicht vorgesehen.

Handelt es sich bei dem Modul um das letzte in einem Bus-Strang, so sollte der Jumper zur Terminierung gesetzt sein.

Spannungsversorgung

Das Modul wird ausschließlich mit 5VDC versorgt. Hierfür kann entweder die Klemme an der Unterseite des Moduls verwendet werden, oder aber die Mini-USB-Buchse in der oberen rechten Ecke. Dadurch ist es relativ einfach möglich ein kostengünstiges USB-Netzteil zur Versorgung des Moduls und angeschlossener Servos oder LEDs zu verwenden. Das Modul darf niemals gleichzeitig an zwei Spannungsquellen (dazu zählen auch Computer über USB) betrieben werden!

Logikausgänge

Datei:Universalmodul-Pinout.png
Pinout des Universalmoduls

In der nebenstehenden Grafik ist zu sehen, welche Pins des Mikrocontrollers an den Klemmen herausgeführt sind. Mit diesen Angaben lassen sich die Ausgänge in der Arduino-IDE frei programmieren - sowohl als Aus-, als auch als Eingänge. Die übrigen Ausgänge sollten nicht als Logikausgänge genutzt werden, da diese für andere Aufgaben reserviert sind.

Es ist wichtig zu beachten, dass es sich ausschließlich um Logikausgänge handelt. Lasten können hierüber nicht getrieben werden und bedürfen einer Verstärkung des Signals. LEDs, die nur wenig Strom benötigen, und die Datenleitungen von Servos können hingegen direkt an die Ausgänge angeschlossen werden.

I²C-Schnittstelle

An der Seite des Moduls ist eine I²C-Schnittstelle herausgeführt, um möglichst einfach Erweiterungen hierüber anzuschließen. Die Möglichkeiten sind hierbei sehr umfangreich. Denkbar sind u.a. weitere Aus- oder Eingänge, Sensoren, Treiber usw. Im Internet sind zu dem Thema I²C am Arduino eine Vielzahl an Beiträgen zu finden, die die Möglichkeiten zeigen.

Software Aufspielen

Wie die meisten anderen MäCAN-Module kann das Universalmodul mithilfe der ICSP-Schnittstelle programmiert werden. Sofern sich auf dem Mikrocontroller der Arduino-Bootloader befindet ist es auch möglich, das Modul über die serielle Schnittstelle zu programmieren. Hierfür wird allerdings ein separater USB auf Seriell Adapter benötigt. Die USB-Buchse auf der Platine ist ausschließlich für die Spannungsversorgung mit 5VDC vorgesehen. Der gleichzeitige Anschluss einer Spannungsquelle an den Klemmen und eines Computers über die USB-Buchse kann zur Zerstörung beider Geräte führen!