User Tools

Site Tools


userpages:schumo99:arducan-gbm-masse-de

ArduCAN-GBM Masse

Die ArduCAN Familie

Die ArduCAN Familie besteht aus Modulen zum Anschluss an den CAN-Bus. Allen gemein ist, dass sie auf Basis eines Arduino nano und eines gewöhnlichen CAN-Transceivermoduls aufgebaut sind. Der Aufbau ist auch für Lötneulinge relativ einfach möglich, da nur wenige Bauteile einzulöten sind und keine SMD-Teile verwendet werden.

Derzeit besteht die Familie aus:



Wie funktioniert's?

Der „ArduCAN-GBM Masse“ ist ein Decoder für den CAN-Bus auf Basis eines Arduino nano und verfügt über 20 vollständige galvanische getrennte Eingänge zur Rückmeldung. Damit ist der Decoder ideal geeignet als Masserückmelder im 3-Leiter-System. Eine Schiene wird isoliert und direkt an die Platine angeschlossen. Diese Schiene führt nun +5V (mehr als der Bezugspunkt, d.h. das Masseniveau des DCC-Signals). Wenn sich nun eine Achse im entsprechenden Gleisabschnitt befindet, wird das DCC-Signal eben auf diese Schiene geleitet und der ArduCAN-GBM Masse detektiert dies. Damit ist auf sehr einfache Art eine Rückmeldung möglich. Damit es keine Nachteile in der Kontaktsicherheit gibt, kann zusätzlich noch der allgemein bekammte Diodentrick angewendet werden. Ich hab mir dazu auch eine kleine Platine gemacht, die möglichst nahe am Gleis montiert wird. (Möglichst nahe, damit man einen dünnen Draht zum "ArduCAN-GBM Masse" führen kann. Dauf diesem Draht wird kein Strom in nennenswerter Menge fließen, sondern nur das Potential "geschnüffelt")
Es wurde eine vollständige galvanische Trennung zwischen Rückmeldung (d.h. Gleismasse) und Bus geachtet. Daher sind 2 "Arduinos" verbaut. Ein Arduino läuft auf der Masse des CBUS (derjenige in der Mitte der Platine), der andere auf der Masse des DCC-Signals. Beide Arduinos kommunizieren über Optokoppler miteinander. Die Stromversorgung erfolgt für die beiden Prozessoren aus dem CBUS bzw. aus dem DCC-Signal.

Konfiguration

Zur Konfiguration kann der in rocrail bereits bestehendene Programmierdialog des CAN-GC2 verwendet werden. Dieser spricht die ersten 16 Kanäle an. Die Kanäle 17-20 können über den Programmiertab "Variablen" und "Events" konfiguriert (Invertierung des Signal, bzw. Anpassung der Eventnummer) werden.


Inbetriebnahme

Der „ArduCAN-GBM Masse“ wird an den CAN-Bus angeschlossen; entweder über D-Sub Stecker oder Standard-Netzwerkkabel, je nachdem welche Buchsen auf der Platine verbaut wurden. Der mit „Busende“ gekennzeichnete Jumper dient dazu den CAN-Bus zu terminieren. Dieser ist am Ende eines CAN-Bus Stranges zu setzen. Die u.g. Details zur Stromversorgung bitte ebenfalls beachten. Nachdem der „ArduCAN-GBM Masse“ mit Strom versorgt ist, blinken die LEDs „RX“ und „TX“ des Arduinos für circa fünf Sekunden recht schnell. In dieser Zeit kann durch Drücken und Gedrückthalten des Arduinotasters ein Reset aller Einstellungen des Bausteines ausgelöst werden (Bitte erst Drücken, wenn die LEDs schon 4-5x geblinkt haben). Wenn der Reset abgeschlossen ist, leuchten die beiden LEDs „RX“ und „TX“ dauerhaft. Nun kann der Taster wieder losgelassen werden und der Baustein geht nach Neustart (Netztrennung) normal in Betrieb. Wird währed des Betriebes der Taster des Arduinos kurz gedrückt, so wechselt der Baustein in den Modus zum Einlernen der Knoten-Nummer.

Signal-LEDBedeutung
„RX“ und „TX“ blinken schnell für circa 5 SekundenInitialisierung des Prozessors. Resetbefehl durch Drücken und Gedrückthalten des Tasters möglich. Taster erst drücken, wenn „RX“ und „TX“ schon 4-5x geblinkt haben.
„RX“ oder „TX“ flackernDatenübertragung zum 2.Arduino
„RX“ und „TX“ ausNormaler Betriebsmodus
„RX“ und „TX“ blinken langsamProzessorfehler! Entweder Software nicht richtig eingespielt oder Probleme mit der Spannungsversorgung.


Am mit DCC-IN gekennzeichneten Anschluss wird das DCC-Sgnal eingespeist. Dieses versorgt den "Fühler"-Chip und wird entsprechend bearbeitet auf die isolierte Schiene geleitet.

Aufbau

Der Decoder ist für den Eigenbau gedacht. Unbestückte Platinen oder programmierte Prozessoren können aber beim Verfasser (schumo99) angefragt werden. Ich helfe gerne!

Anschlüsse

- für die Ein-/Ausgänge

Die 20 Eingänge sind in einer Leiste für Schraubklemmen im 3,5mm Raster an den Rand der Platine geführt.

- für den CAN-Bus

Neben den Anschlüssen für die Reflexlichtschranken muss der ArduCAN-IR auch an den CAN-Bus angeschlossen werden. Das kann entweder über D-Sub-Stecker oder über RJ45-Buchsen erfolgen, so dass normale Netzwerkkabel verwendet werden können. Auch ein Mischbetrieb ist möglich. Der Vorteil der Netzwerkkabel ist, dass sie in allen Längen günstig überall zu finden sind. Dem steht der Nachteil gegenüber, dass die Strombelastbarkeit deutlich geringer ist. Deshalb ist die Möglichkeit gegeben auf den ArduCAN die Spannung erneut einzuspeisen und dadurch die geringere Strombelastbarkeit der Kabel auszugleichen. Dies ist nicht auf jedem Modul nötig, kann aber nach eigenen Wünschen von Zeit zu Zeit vorgenommen werden.

up.picr.de_33518772bx.jpg up.picr.de_33518773uu.jpg up.picr.de_33518774az.jpg

Ja nach gewünschter Konfiguration müssen auf der Unterseite der Platine die entsprechenden Lötjumper geschlossen werden. Welche Jumper bei welcher Kombination zu schließen sind, ist praktischerweise direkt auf der Platine aufgedruckt.

up.picr.de_33518775kg.jpg

Die Anschlussbelegung der D-Sub Stecker/Buchsen ist identisch zum bereits bei anderen CAN-Bus Komponenten verwendeten Standard (siehe Punkt Anschlusskabel).
Die RJ45-Steckverbindung ist wie folgt beschaltet:

PinBelegungKabelfarbe
1+V Versorgungws/gn
2+V Versorgunggn
3CAN Lws/or
4GNDbl
5+V Versorgungws/bl
6CAN Hor
7GNDws/br
8GNDbr

Die Beschaltung der RJ45-Buchse entspricht der Belegung ab Version 2.0 aller anderen ArduCAN-Baugruppen.

Stromversorgung

Die Stromversorgung des erfolgt standardmäßig aus dem CAN-Bus. Der Lötjumper „Ext.Power“ auf der Unterseite bleibt standardmäßig offen. Dadurch wird der Kommunikations-Arduino mit dem Strom des CAN-Bus versorgt.
Folgende Möglichkeiten stehen zur Verfügung:

Ext.Power-JumperBedeutung/Verwendung
nichts angeschlosssenStandardbetriebsart. Der „ArduCAN-GBM“ Kommunikations-Arduino und alle Anschlüsse wird über den CAN-Bus mit Strom versorgt.
Geschlossen Richtung CAN-Bus SteckerDie Spannung des CAN-Busses wird über einen DC/DC-Wandler für den Kommunikations-Arduino aufbereitet. Dieser kann an die 4-poligen Kontakte eingesetzt werden (Sinnvoll, wenn die Busspannung im CBUS höher als 12V liegt.)
Geschlossen, alle 3 KontakteDie auf der Platine bei "Ext.Power" angeschlossene Spannung wird in den CBUS geleitet und versorgt diesen mit Strom (Achtung; dient nur dazu evtl. Spannungsverluste im CBUS durch erneute Einspeisung aus der identischen Stromquelle auszugleichen)


Zusammenbau/Teileliste

Fertig bestückte Decoder gibt es keine, jedoch kann ich Platinen und auch programmierte Prozessoren (nanos) abgeben. Für Fragen oder Hilfe stehe ich gerne im rocrailforum oder stummiforum zur Verfügung.
Beim Design der Platine wurde auf einfachen Aufbau geachtet. Daher sind keine SMD-Bauteile einzulöten. Stattdessen müssen hauptsächlich vorgefertigte Baugruppen über Buchsenleisten miteinander verbunden werden.

AnzahlBauteilVerwendung
2xArduino Nano V3.0 5VMikroprozessor. Entsprechende "clones" sind auch möglich. Der darauf verbaute USB Chip ist irrelevant.
1xCAN-Bus Modul MCP2515 TJA1050CAN-Transceiver
1xDC/DC-WandlerDC/DC-Wandler
4xBuchsenleiste 15-poligZum Aufstecken des Arduino nano
1xBuchsenleiste 7-poligZum Aufstecken des CAN-Transceivers
2xBuchsenleiste 2-poligZum Aufstecken des CAN-Transceivers
2xD-Sub Stecker/Buchse oder RJ45-BuchseZum Anschluss an den CAN-Bus
1xSteckerleiste 2-PinTerminierung des CAN-Busses
5xWiderstandsnetzwerk 22k z.B. SIL 8-4 22kStrombegrenzung zum Schutz des Arduinos
2xWiderstandsnetzwerk 10k z.B. SIL 9-8 10kPotentialverbinder zur Schiene
1xWiderstandsnetzwerk 10k z.B. SIL 5-4 10kPotentialverbinder zur Schiene
1xDiode 1N400x"Gleichrichtung" des DCC-Signals für die Stromversorgung
1xElko 100µF 35VSpannungsstabilierung
1xKeramischer Kondensator 100nSpannungsstabilierung
2xWiderstand 220OhmStrombegrenzung für Optokoppler
2xWiderstand 4,7kOhmPull-up für Optokoppler
2x6N137Optokoppler
2xGS 8IC-Sockel für Optokoppler
Schraubklemmen für Anschluss der Gleise RM3,5mm (gesamt 20-Pins)
Schraubklemmen für Anschluss des DCC-Signals RM5mm (gesamt 4-Pins)



Aufbau

Wenn die Buchsenleisten nicht in der richtigen Länge zu bekommen sind, diese zuerst mit Säge/Feile auf die richtige Länge bringen (16 → 15-Pin bzw. 3 → 2-Pin). Dann einfach alle Bauteile einlöten und zum Schluss die programmierten Arduinos und den CAN-Transceiver aufstecken. Orientierung beachten! Achtung die Widerstandsnetzwerke 10k sind nicht symmetrisch. Der auf der Platine gekennzeichnete Pin muss mit dem auf dem Widerstand gekennzeichneten Pin übereinstimmen. So sieht der Melder ohne "Arduinos" aus.

Der Fühler-Arduino wird mit der Software „ArduCAN_GBM_Masse.hex“ programmiert. Die Fuses bei Standard-Arduinos können unverändert bleiben. Die mit "L" oder "LED" beschriftete LED muss deaktiviert werden, damit auch der Kanal 17 funktioniert. Ich empfehle einfach den Vorwiderstand, der sich direkt neben der LED befindet auszulöten.

Der Kommunikations-Arduino muss mit der Software „ArduCAN_GBM_Masse_Gateway.hex“ programmiert werden. Die Fuses sind so zu setzen, dass der Reset-Pin als I/O-Pin aktiviert wird. Es empfiehlt sich einen Bootloader zu benutzen, da sonst keine weitere Programmierung des Arduinos (z.B. Updates) mehr möglich ist.
Achtung: Werden die Fuses falsch gesetzt ist es möglich, dass der Arduino irreparabel beschädigt ist!

Wer es sich nicht zutraut, biete ich gerne an seinen/ihren Arduino zu programmieren oder einen bereits entsprechend programmierten Mikroprozessorbaustein zur Verfügung zu stellen. Gleiches gilt für Platinen.
Einfach kurze PN an schumo99

Der Verfasser übernimmt keine Verantwortung für Funktionsfähigkeit oder etwaige Schäden, die durch die Nutzung der Schaltung entstehen. Der Aufbau erfolgt auf eigene Verantwortung.


Download

Gerberdateien und HEX-files können hier geladen werden: https://github.com/schumo99/ArduCAN-GBM-Masse

Matthias (schumo99)

userpages/schumo99/arducan-gbm-masse-de.txt · Last modified: 2019/01/17 11:13 by schumo99