User Tools

Site Tools


userpages:schumo99:arducan-gbm-strom-de

ArduCAN-GBM Strom

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 Strom“ ist ein Decoder für den CAN-Bus auf Basis eines Arduino nano und verfügt über 8 vollständige galvanische getrennte Eingänge zur Rückmeldung. Der Decoder bestimmt den Stromverbrauch im überwachten Glesiabschnitt und sendet bei überschreiten eines einstellbaren Wertes eine Belegtmeldung. Diese Messung erfolgt über 2 antiparallel Schottky-Dioden und einen kleinen Widerstand. Dadurch ist der maximale Spannungsverlust ca. 0,5V. Die Empfindlichkeitsschwelle kann so gewählt werden, dass sogar 47kOhm Widerstandachsen detektiert werden könnten.
Die Messung des Stromverbrauches ist sehr genau, so dass man theoretisch Widerstandsachsen, Dekoder und fahrende Loks voneinander unterscheiden kann. Standardmäßig ist diese Funktion aber deaktiviert, kann aber über das Setzen des Bits 7 der Variable 1 aktiviert werden. Die Variablen 30 und 31 definieren dann zwei weitere Schwellenwerte.

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 ArduCAN IR verwendet werden.

up.picr.de_33627533sd.jpg


Einschaltverzögerung (Delay ON)

Die Einschaltverzögerung bestimmt die Zeit, die der Zustand "belegt" mindestens anliegen muss, bevor die Meldung in den CAN-Bus erfolgt. Der Zahlenwert multipliziert mit 10 ergibt die Verzögerung in Millisekunden.
Die Standardeinstellung beträgt 4 (=40ms).

Ausschaltverzögerung (Delay OFF)

Die Ausschaltverzögerung bestimmt die Zeit, die der Zustand "frei" mindestens anliegen muss, bevor die Meldung in den CAN-Bus erfolgt. Der Zahlenwert multipliziert mit 10 ergibt die Verzögerung in Millisekunden.
Die Standardeinstellung beträgt 100 (=1000ms).

Auslöseschwelle (Sensitivity)

Die Auslöseschwelle (Sensitivity) bestimmt den Stromverbrauch, der mindestens im Gleis vorhanden sein muss, um den Zustand "belegt" zu erreichen. Kleine Werte bedeuten, dass ein sehr kleiner Stromverbrauch schon eine Belegtmeldung hervorruft, große Werte dass man einen hohen Stromverbrauch braucht, um die Meldung auszulösen.
Da es mitunter nicht so einfach ist, den richtigen Wert zu finden, verfügt der "ArduCAN-GBM Strom" über eine automatische Einmessfunktion(=Schaltfläche C).

Schaltfläche C

Drücken der Schaltfläche "C" löst die Kalibration des jeweiligen Sensors aus. Dazu bitte den überwachten Gleisabschnitt von Verbrauchern trennen und dann auf die Schaltfläche drücken. Es wird der aktuelle Stromverbrauch gemessen und als Auslöseschwelle hinterlegt. Jeder um ca. 10% höhere Stromverbrauch führt dann zur Belegtmeldung.

Signalinvertierung (Invert)

Mit der Signalinvertierung, kann das Signal invertiert werden. Die Standardeinstellung ist, dass ein Stromverbrauch über der Auslöseschwelle "ON" meldet und darunter "OFF".

Get all

Liest alle Statuswerte aus dem Modul und zeigt sie in der Registerkarte an.

Set all

Stellt alle Ports und Optionen ein.

SoD “Start of Day”

Der ArduCAN-IR meldet den Status jedes Eingangs, wenn ein Zubehör-Befehl mit dieser Adresse (Voreingestellt: 4711) empfangen wird.

CAN ID

Stellt die CAN ID des Baustein ein.


Inbetriebnahme

Der „ArduCAN-GBM Strom“ 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 Strom“ 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 des Kommunikations-Arduinos
„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.
Signal-LEDBedeutung des Mess-Arduinos
„RX“ oder „TX“ flackernDatenübertragung zum 2.Arduino
"LED" leuchtetmindestens eine Belegtmeldung erkannt


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 8 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
2xWiderstandsnetzwerk 22k z.B. SIL 8-4 22kStrombegrenzung zm Schutz des Arduinos
1xWiderstandsnetzwerk 27 oder 56 Ohm* z.B. SIL 9-8 27grobe Einstellung des Messbereichs
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
16xSB130 oder SS34Schottky-Dioden. Es sind prinzipiell alle Dioden möglich. Bei Schottky-Dioden nur 0,5V Spannungsverlust, bei Verwendung von normalen Dioden 0,7V. Bei der Auswahl darauf achten, dass die Dioden für die maximale Stromaufnahme im Gleis ausgelegt sind
Schraubklemmen für Anschluss der Gleise RM3,5mm (gesamt 16-Pins)
Schraubklemmen für Anschluss des DCC-Signals RM5mm (gesamt 4-Pins)

* Der Widerstand bestimmt den Messbereich der Strommessung (richtiger wäre Spannungsverlust über den Dioden und dem Widerstand). Generell gilt, dass je kleiner er minimale zu messende Strom auf der Anlage und je niedriger die Gleisspannung, deso kleiner muss auch dieser Widerstand sein. Folgende Tabelle gibt einen Anhaltspunkt; andere Werte sind auch möglich.

Gleisspannungkleinste Widerstandsachse auf der Anlageempfohlener Widerstand im ArduCAN-GBM Strom
12V47kOhm150 Ohm
12V22kOhm100 Ohm
12V10kOhm56 Ohm
19V47kOhm100 Ohm
19V22kOhm56 Ohm
19V10kOhm27 Ohm



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 auch das Widerstandsnetzwerk ist 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_Strom.hex“ programmiert. Die Fuses bei Standard-Arduinos können unverändert bleiben.

Der Kommunikations-Arduino muss mit der Software „ArduCAN_GBM_Strom_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-Strom

Matthias (schumo99)

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