User Tools

Site Tools


userpages:schumo99:funk-gbm

Matthias Schumacher (schumo99)

Kabellose Gleisbesetztmeldung

Wie funktioniert's?

Das System besteht aus einem Gateway und beliebig vielen Funkmeldern (derzeit max. 253), um ohne Kabelsalat eine Gleisbesetztmeldung für Teppichbahner zu ermöglichen. Die Besetzmeldung funktioniert über optische Sensoren, die quasi nicht durch Fremdlicht gestört werden. Wem das nicht gefällt, für den sind auf der Senderplatine noch weitere Anschlüsse vorkonfiguriert. Und so sieht das Ganze dann aus. Links das Gateway, rechts ein Fühler mit ISF471. Hier wurde die gesamte Elektronik für die Gleisbesetztmeldung im Gleiskörper eines Märklin C-Gleises (24188) verbaut. Die Kurvengleise 24130, 24230 funktionieren aber auch, genau wie das Trix C-Gleis.

up.picr.de_30565370mk.jpg up.picr.de_30565371jm.jpg


Gateway

Das Gateway ist der Funkempfänger und leitet die Signale an den Steuerrechner weiter. Es wird per USB angeschlossen und emuliert eine DCC++ Zentrale. Damit ist eine Kompatibilität mit jeder Software, die das DCC++ Protokoll beherrscht gegeben. Getestet wurde das System mit „rocrail“. Das Gateway wird einfach aus einem Arduino nano und einem NRF24L01+ Modul aufgebaut. Beide sind zusammen über eine Platine verbunden. Der Aufbau ist unkompliziert schnell möglich.


Die Funk-GBMs

Für den Aufbau der Funk-GBMs gibt es eine Vielzahl an Varianten. Man muss sich entscheiden, ob man den Fühler und die dazugehörige Elektronik fest in den Gleiskörper verbauen möchte, oder mit einem Ansteckhalter variabler von außen an die Gleise anstecken. So kann man leicht den Bremspunkt verlegen. Bei festeingebauten Fühlern sieht man aber halt quasi fast nichts, da sie sehr unauffällig sind. Alles hat seine Vor- und Nachteile. Der Strom für die Elektronik kann in jedem Fall direkt vom Gleiskörper abgegriffen werden.


- Variante 1: Festeinbau mit SFH4471

up.picr.de_30565692xj.jpg up.picr.de_30565693fr.jpg


- Variante 2: Festeinbau mit IS471 und IR-LED

up.picr.de_30565694lp.jpg up.picr.de_30565695yz.jpg


- Variante 3: Aufbau mit Ansteckhalter

up.picr.de_30565696vt.jpg up.picr.de_30565697bs.jpg


Betrieb/Funktionsweise der Funk-GBM

Gateway

Das Gateway wird einfach mit dem USB-Anschluss des Steuerrechners verbunden. Dieses muss nun als Arduino nano (COMxx) gefunden worden sein. Sollte das nicht geschehen, ist es am einfachsten die Arduino-Software mitsamt den Treibern zu laden und zu installieren. (https://www.arduino.cc/download_handler.php?f=/arduino-1.8.5-windows.exe). Zum Einbinden in rocrail eine neue zusätzliche DCC++ Zentrale anlegen und den COM-Port des Arduino angeben.


Funk-GBMs

Wenn die GBM mit Strom versorgt werden, melden sich diese selbstständig am Gateway an und lassen sich von diesem eine Adresse zuweisen. Es wird immer die nächste freie Adresse zugewiesen. Eine einmal zugewiesene Adresse speichert der GBM. Startup-Sequenz: INIT-Sequenz kurz nach der Versorgung mit Spannung: Flackern von beiden LEDs für 1s gefolgt von dauerndem Leuchten der LED2.

Jetzt erfolgen die Anmeldung am Gateway und danach die Ausgabe der zugewiesenen Meldernummer und weiterer Einstellungen:

- LED1 zeigt die Einersteller der GBM-Meldernummer, während dessen ist LED2 an

- LED2 zeigt die Zehnersteller der GBM-Meldernummer

- LED1 und LED2 gleichzeitig zeigen die Anzahl den angeschlossenen Meldern


Routinebetrieb:

Die LED1 zeigt den Status der Belegtmeldung an:

LED leuchtet → belegt

LED leuchtet nicht → frei


Der GBM hat eine Einschalt- uns Ausschaltverzögerung. Diese dienen dazu, dass nicht ein kurzer Impuls ausreicht um eine neue Meldung abzusetzen.

Die Verzögerungen sind standardmäßig wie folgt:

Einschalten (Belegtmeldung): 20ms

Ausschalten (Freimeldung): 500ms


Reset des GBM: Die Lötbrücke SJ1 muss geschlossen werden, danach Strom einschalten. Der GBM meldet sich mit schnellem Wechselblinken beider LEDs. Wenn die Frequenz des Wechselblinkens deutlich langsamer wird ist der Reset abgeschlossen. Danach vom Strom trennen und die Lötbrücke SJ1 öffnen. Bei der nächsten Versorgung mit Spannung wird der GBM am Gateway erneut eine Adresse abfragen.


Bauanleitung

Mechanische Vorarbeiten

Vorbereitung der Schienen (für Festeinbau)

Für IS471 werden in den Zwischenraum zwischen der 6. und 7. Schwelle wie abgebildet zwei 3mm Löcher gebohrt. Das im Bild untere Loch wird dann mit einer Feile quadratisch aufgefeilt, so dass der IS471 genau darin verschwinden kann. In das andere Loch wird eine 3mm LED eingesetzt.

up.picr.de_30597658xb.jpg


Für den SFH7741 wird in den Zwischenraum zwischen der 7. und 8. Schwelle ein 3mm Loch gebohrt und dieses dann mit einer Feile quadratisch aufgefeilt. Hier kann dann der SFH7741 eingesetzt werden.

up.picr.de_30597659zq.jpg up.picr.de_30597660py.jpg


Halterungen mit dem 3D-Drucker drucken (Ansteckhalter)

Die für den variablen Aufbau nötige Halterung kann leicht selbst mit einem 3D-Drucker gedruckt werden. Die Platine hat da sehr guten Halt. Die Halterung kann einfach an die Gleise angesteckt werden und klemmt dann dort. Die Verwendung ist auf allen geraden Stücken und auch Kurven möglich.


optional: LED-Halterung mit dem 3D-Drucker drucken (Festeinbau mit IS471)

Um die LED besser im Gleisbett positionieren zu können, empfiehlt es sich eine kleine Halterung zu drucken oder aus Holz zu fertigen (3mm Loch in einem 2mm dicken Plättchen mit ca. 8mm Kantenlänge). Alternativ geht auch ein Tropfen Heißkleber…



Gateway-Elektronik

Einreihige Buchsenleisten auf 15 Pins mit einer kleinen Säge abschneiden. Danach nicht benötigte Anschlusspins einfach mit einer Zange rausziehen, so dass die Leiste in die Platine passt. Einkaufsliste für Gateway (z.B. Reichelt):

1x NRF24L01+

2x MPE094-1-016

1x MPE094-2-008

1x LED 3MM 2MA GE

1x LED 3MM 2MA GR

1x LED 3MM 2MA RT

1x RAD 105 470/63

1x MPE 087-1-002

Zusätzlich noch: 1x Arduino nano oder entsprechend pingleiches Modell


Bestückungsplan und fertiges Produkt:

up.picr.de_30597701ri.jpg up.picr.de_30565370mk.jpg

Wenn alles bestückt ist wird der Arduino nano und der NRF24L01 in die Buchsenleisen gedrückt. Die Orientierung muss dabei zwingend so erfolgen wie auf obigem Bild zu sehen, sonst war‘s das mit dem NRF24L01+… Der Arduino muss jetzt noch mit der Software geflasht werden. Dazu einfach die Datei „FUNKGBM_Gateway.hex“ aufspielen. Das war alles.

Das Gateway ist betriebsbereit und kann z.B. in rocrail eingebunden werden. Dazu eine DCC++-Zentrale einrichten und als COM-Port denjenigen wählen unter dem der Arduino erkannt wurde. Falls der Treiber fehlt, kann dieser hier geladen werden: https://www.arduino.cc/download_handler.php?f=/arduino-1.8.5-windows.exe).

Wer das Gateway einzeln testen möchte, kann auch einfach den entsprechenden COM-Port mit einem Terminalprogramm ansteuern (115200 Baud). Folgende Befehle werden verarbeitet:

<Q> Übermittelt den Status (belegt oder frei) aller dem Gateway bekannten Sensoren

<e> Löscht alle Einstellungen des „Gateways“ (EEPROM). Alternativ können diese auch über ein Schließen für mindestens 5 Sekunden des Jumpers „Reset“ gelöscht werden.

<Sn> Löscht den Fühler n im EEPROM des Gateways. n steht für die Nummer des GBM.

<S n n x> Legt fest welche Sensornummer (n) an den nächsten unbekannten GBM vergeben werden soll, und ob der Zustand normal oder invertiert gemeldet wird (x): x kann 0 oder 1 sein. Wenn die Sensornummer am Gateway bereits bekannt ist, wird nur die Meldung normal oder invertiert eingestellt.


Funk-GBM (Variante SFH7741)

Alle Bauteile entsprechend Ihrer Kennzeichnung auf die Platine löten. Bei dem NRF24L01+ die Stiftleise komplett auslöten und durch dünnen Draht ersetzen. Dann das Teil direkt Huckepack auf die Hauptplatine löten. Der Abstand zwischen beiden Platinen muss minimal sein, d.h. dieser wird nur durch die dazwischen befindlichen SMD-Bauteile bestimmt. Wenn hier zu viel Luft ist, passt nachher das Ganze nicht ins Gleisbett!


Für den Festeinbau ins Gleisbett: Den SFH auf die kleine Sonderplatine löten. Somit kann man das Teil ganz genau in die vorher gefeilte Öffnung reinschieben. Diese Platine dann mit 4 dünnen Drähten an den entsprechenden Stellen der Hauptplatine festlöten. Der SFH erkennt in dieser Konfiguration bei H0 nur helle Unterböden von Loks und Waggons sowie Drehgestellte. Ich empfehle den SFH mit Ansteckhalter zu benutzen.

Für die Verwendung mit Ansteckhalter: SFH direkt auf die Hauptplatine löten.


Bauteilliste:

Atmega328P-AU (programmiert)

Q1 CSTCE 8,00 SMD Resonator 8,00 MHz

R1 1kOhm SMD 0805

R2 1kOhm SMD 0805

C1 100nF SMD 0805

C2 100nF SMD 0805

C3 100nF SMD 0805

C5 10µF SMD 0805 (alternativ auch Elko in kleiner Bauform z.B. RAD 47/16)

LED1 SMD-LED z.B. LY M67K oder SMD-LED 1206GE

LED2 SMD-LED z.B. LY M67K oder SMD-LED 1206GE

Brückengleichrichter DF005 oder HDBLS104G

NRF24L01+

IC2 NCP1117 3,3V SOT223

IC3 kein Bauteil: nur Drahtbrücke von Pin3 zum Tab

R3 470Ohm SMD 0805 (zum Einstellen der Empfindlichkeit; je kleiner der Wert desto empfindlicher)

SFH7741


Layout/Bestückung der Platine:

up.picr.de_30597726lg.jpg

Der Anschluss an die Versorgungsspannung (Gleis) erfolgt über die Anschlüsse POWER. Die Polarität ist egal.


Funk-GBM (Variante IS471)

Alle Anschlüsse des IS471 und der IR-LED kurz abzwicken und dünne Drähte anlöten. Dann die beiden Bauteile von unten in die vorher gebohrten und gefeilten Öffnungen schieben und dort mit Klebstoff (z.B. Weißleim) fixieren. Für die IR-LED hat sich eine kleine Halterung (3D-Druck oder Holz) als vorteilhaft für die Befestigung herausgestellt. Dann alle Bauteile entsprechend Ihrer Kennzeichnung auf die Platine löten. Bei dem NRF24L01+ die Stiftleise komplett auslöten und durch dünnen Draht ersetzen. Dann das Teil direkt Huckepack auf die Hauptplatine löten. Der Abstand zwischen beiden Platinen muss minimal sein, d.h. dieser wird nur durch die dazwischen befindlichen SMD-Bauteile bestimmt. Wenn hier zu viel Luft ist, passt nachher das Ganze nicht ins Gleisbett! Am Schluss noch den IS471 und die IR-LED mit den angelöteten dünnen Drähten an die Hauptplatine anschließen.


Bauteilliste:

Atmega328P-AU (programmiert)

Q1 CSTCE 8,00 SMD Resonator 8,00 MHz

R1 1kOhm SMD 0805

R2 1kOhm SMD 0805

R3 470Ohm SMD 0805 (zum Einstellen der Empfindlichkeit; je kleiner der Wert desto empfindlicher)

IC2 NCP1117 5V SOT223

IC3 NCP1117 3,3V SOT223

C1 100nF SMD 0805

C2 100nF SMD 0805

C3 100nF SMD 0805

C4 33µF Tantal SMD (TAJ3516 33/6,3) (Achtung: Die Kennzeichnung zeigt zum Pluspol!)

C5 10µF SMD 0805 (alternativ auch Elko in kleiner Bauform z.B. RAD 47/16)

LED1 SMD-LED z.B. LY M67K oder SMD-LED 1206GE

LED2 SMD-LED z.B. LY M67K oder SMD-LED 1206GE

Brückengleichrichter DF005 oder HDBLS104G

NRF24L01+

D1/D2 BAT42W (nicht benötigt)

IS471

SFH4346 IR-Diode (Achtung: Das lange Beinchen ist die Kathode = Minuspol!)


Layout/Bestückung der Platine:

up.picr.de_30597726lg.jpg

Der Anschluss an die Versorgungsspannung (Gleis) erfolgt über die Anschlüsse POWER. Die Polarität ist egal.


Download

Hier könnt ihr Ätzvorlagen, Code (Gateway) und 3D-Druck-Files für den Eigengebrauch runterladen. Wer die Senderplatine nicht selbst ätzen kann oder möchte, dem kann ich gerne eine Platine zum Selbstkostenpreis überlassen. Bitte einfach eine kurze PN an mich. Für programmierte Senderchips bitte auch eine kurze PN an mich.

https://github.com/schumo99/Funk-GBM

userpages/schumo99/funk-gbm.txt · Last modified: 2018/11/12 08:56 (external edit)