RE: Railuino 0.9 + Artikel + Hardware

#76 von danczi ( gelöscht ) , 16.02.2015 07:24

Hallo,

ich bin neu hier im Forum.
Habe mich schon einiges mit Railuino beschäftigt.

Hätte eine Frage:
Da ich ein Ethernet Shield benutze wollte ich fragen wie ich bei Railuino den belegten Pin10 auf Pin6 ändern kann.
Ich habs probiert in der default.h von B,2 auf D,6 zu ändern. Nur dann funktioniert nichts mehr, weder auf Pin10 noch auf Pin6!

Folgender hintergrund: Ich benutze von Bert den Gateway Sketch, hier ist bereits eingestellt das der Pin6 statt 10 verwendet wird.
Wenn ich jetzt CV´s programmieren will, lade ich das CV Beispiel in den Arduino und kann dann z.b. die Adresse der Lok ändern.
Nur will ich nicht immer das Board von Pin6 auf Pin10 ändern.

Freue mich auf eure vorschläge.

Gruß,
Daniel


danczi

RE: Railuino 0.9 + Artikel + Hardware

#77 von danczi ( gelöscht ) , 02.04.2015 12:25

Hat keiner einen Vorschlag?


danczi

RE: Railuino 0.9 + Artikel + Hardware

#78 von mra , 07.02.2016 17:04

Hi,
der PIN10 ist der Chip-Select für den SPI-Bus, das Kürzel ist hier SS.
Per Default ist der immer auf 10.

In der Datei Railuino.cpp wird der über ein Define mit Namen "SS" genutzt, das von der Arduino-Umgebung kommt.
Ich denke, das könnte man in der Datei Railuino.h überschreiben, indem man
dort ganz am Ende ein
#define SS 6
schreibt.

Allerdings musst Du an deinem CAN-Interface dann auch von 10 auf 6 wechseln ...

Vielleicht auch wichtig: das von dir erwähnte Ethernet-Shield und das CAN-Interface senden beide über SPI, und da können die beiden Shields nur über den SS auseinandergehalten werde.
Beide Shields hören andauerend auf den Leitungen, für wenn die DAten aber wichtig sind, entscheidet sich durch den Chipselect (SS), und das geht pro Baustein mit einer eigenen Leitung.

https://de.wikipedia.org/wiki/Serial_Peripheral_Interface

Das alles ohne Gewähr!

Grüsse,
Martin


--
No RISC no fun.


mra  
mra
S-Bahn (S)
Beiträge: 15
Registriert am: 07.01.2016
Ort: Rosenheim
Spurweite H0
Steuerung MM/DCC/MFX CAN
Stromart AC, Digital


RE: Railuino 0.9 + Artikel + Hardware

#79 von C M Burns ( gelöscht ) , 04.04.2016 21:12

Hallo liebe Leute

Neu angekommen aufgrund eines Riiiiieeeeeesenproblems. Habe vor kurzem meine alte analoge Märklin Eisenbahn versucht zu reaktivieren. Nach viel fummeln und fluchen alles wieder zusammengepackt und verstaut. Alles digitalisiert.

Laptop mit Desktop Station
Arduino mit candiy shield
Ansteuerung über Gleisbox der MS2

Bei dem ganzen gekauften "Krempel" waren auch magnetartikeldecoder dabei die ich auch zum laufen bekommen habe.
ABER: wie bekomme ich die s88 Rückmeldung an den Start? Kontaktliste an das s88 Modul und von dort mit einem Kabel direkt nach Jörg Pleumanns Anleitung mit dem arduino verbunden. Das funktioniert aber nicht so wie ich mir das vorstelle. Also eigentlich funktioniert das gar nicht. Die rückmelder im gleisbild sind dauerhaft rot. Auch wie weiter vorne beschrieben nach c't und lib habe ich es angeschlossen. Keine Besserung. Leider.

Danke schon mal für eure Antworten.
Gerne auch per PN

Nachtrag:

Es hat sich alles soweit erledigt. Scheisse wenn man zu doof ist die Schienen richtig zu präparieren/anzuklemmen... ops:


C M Burns

RE: Railuino 0.9 + Artikel + Hardware

#80 von spielbahn ( gelöscht ) , 27.06.2016 11:06

Hallo zusammen!

Nur zur Info, wie einfach es geht:
Ich bin in der Märklin-Digitalwelt relativ neu - fahre auf meiner Anlage mit SX. Der Enkel wegen versuche ich mich jedoch mit MM und mfx. Habe u.a. eine Gleisbox mit MS2. Dann "Desktop Station" heruntergeladen, "railuino" ebenso, das CANdiy-Shield von Watterott zusammengebastelt ebenso das Kabel (mit dem fummeligen 10pol. Stecker ) - Software auf den Arduino, zusammengesteckt und ......
......läuft!
Damit habe ich auf dem Laptop sehr preiswert (der Arduino lag noch rum...) eine zweite Loksteuerung.
(Weitere Features von "Desktop Station" habe ich noch nicht ausprobiert.)


spielbahn

RE: Railuino 0.9 + Artikel + Hardware

#81 von HelgeMK ( gelöscht ) , 23.02.2017 21:03

Hallo zusammen,

suche Rat zur Erkennung einer mfx-Lok. Habe dazu schon etwas bei "Desktop Station" gelesen, aber ganz verstanden habe ich es noch nicht: Meine mfx Lok (Märklin BR212) hat die Adresse 20, so in der MS2 auch feststellbar. Lasse ich den Example Sketch "CV' laufen (Teil der Railuino Library), wird auch diese Adresse (20) ausgewiesen. Ueber den Arduino (mit Can Shield) lasest sich die Lok aber nur über die Adresse "0" ansteuern (LOCO = ADDR_MFX + 0), z.B. Sketch "Speed". Also muss wohl die Adresse 20 "intern" auf "0" geändert werden. Hätte ich eine zweite mfx Lok, bekäme diese automatisch die Adresse 2 zugewiesen?

Hat jemand einen Tipp, wie ich die tatsächliche Adresse auslesen kann?

Danke im Voraus!

Helge


HelgeMK

RE: Railuino 0.9 + Artikel + Hardware

#82 von HelgeMK ( gelöscht ) , 15.03.2017 22:43

Zitat

Hi,
der PIN10 ist der Chip-Select für den SPI-Bus, das Kürzel ist hier SS.
Per Default ist der immer auf 10.

In der Datei Railuino.cpp wird der über ein Define mit Namen "SS" genutzt, das von der Arduino-Umgebung kommt.
Ich denke, das könnte man in der Datei Railuino.h überschreiben, indem man
dort ganz am Ende ein
#define SS 6
schreibt.

Allerdings musst Du an deinem CAN-Interface dann auch von 10 auf 6 wechseln ...





Hallo Martin,

ich versuche, das DIY CAN Shield in Verbindung mit Elegoo 2.8 TFT LCD Shield (Touchscreen) über einen Arduino UNO zu betreiben (u.a. Adafruit GFX lib) . So könnte ich Railuino mit Buttons schalten. Railuino bzw. Button-Sketches kann ich jeweils für sich zum Laufen bringen, aber nicht in Kombination. Ich vermute, dass beide Shields den gleichen PIN für Chip Select nutzen. Habe aus Deiner Nachricht verstanden, einen anderen Pin zuzuweisen, indem ich an das Dateiende (Railuino.h) "#define SS 6" einfüge (übrigens, muss es am Ende der Datei sein, oder egal wo?). Wie meintest Du aber: Am "CAN-Interface dann von 10 auf 6 wechseln"? In einer Library Datei oder muss ich auf dem CAN Shield eine Draftbrücke von 6 nach 10 legen, und den PIN 10 quasi isolieren?

Besten Dank im voraus!

Helge


HelgeMK

RE: Railuino 0.9 + Artikel + Hardware

#83 von HelgeMK ( gelöscht ) , 27.03.2017 23:54

Hallo zusammen,

inzwischen konnte ich eine Lösung finden, so dass das DIY CAN Shield in friedlicher Co-Existenz zum Touchscreen seine Dienste verrichtet: der Chip Select Pin vom Can Shield (10) empfängt vom Arduino Digital Pin 5, statt Arduino Digital Pin 10. Habe am Can Shield die kurze Verbindung zur Buchsenleiste für Pin 10 getrennt (sonst empfängt das Can Shield ungewollt die für den Touchscreen bestimmten SPI Befehle). Stattdessen wird vom DigitalPin 5 des Can Shields eine Brücke rüber gelegt, in die Öse neben Pin 10. Im Can Verzeichnis des Railuino Library befindet sich die Datei "defaults_h". Hier habe ich #define MCP2515_CS von B,2 (entspricht Digital Pin 10) auf D,2 (=Digital Pin 5) geändert. In der Datei "Railuino.cpp" habe ich bei void TrackController::begin() noch zwei Zeilen eingefügt: pinMode(5, OUTPUT); und digitalWrite(5, HIGH); .

Mein Touchscreen ist übrigens inzwischen ein Adafruit 2.8 Capacitive Shield, das wie das Can Shield über SPI kommuniziert. Damit will ich keine Werbung machen, nur falls jemand die Pins bzw. Vorgehensweise nachvollziehen möchte. Es lässt auf jeden Fall sehr viele Pins ungenutzt, u.a. braucht es nicht den Digital Pin 5, so dass ich diesen für das Can Shield nutzen kann.

Zum Schluss: ich habe von Programmierung und Elektronik nicht wirklich Ahnung. Vorgenanntes funktioniert bei mir gut, übernehme aber natürlich keine Haftung, falls es doch wider Erwarten nicht richtig oder schlecht beschrieben war.

Viele Grüße,

Helge


HelgeMK

RE: Railuino 0.9 + Artikel + Hardware

#84 von wallguy , 03.01.2019 15:05

Hallo Alle,

dieses Forum ist schon älter, aber ich habe es gebraucht und x-mal durchgelesen. Sehr interessant und vielen Dank an allen die Input geliefert haben.

Mein Interesse dran war für einen Kollegen der für seinen Sohn eine Märklin Modellbahn aufstellen möchte, ohne direkt viel Geld auszugeben ( lesen : CS3 kaufen ). Weil ich diese Lösung -- Märklin MS2 + Arduino UNO + Watterot CANdiy-Shield + RailUino -- schon kannte, versuche ich es für ihm am laufen zu bekommen. Es ist eine kleine Bahn, also sollte es reichen. ( 3 Loks, 12 Weichen ).

Ich habe eine für mich maßgeschneiderte Software (C#) geschrieben für UDP + CS2 die ich dann an Arduino anpassen werde, wobei der Arduino mit CAN-Shield nur der Durchreicher ist an der MS2.

Loks (MM2) und Weichen (MM2) am laufen zu bringen war kein Problem. Offen ist noch Mfx, aber auch dort sind viele Beiträge mit Information in dieses Forum zu finden.
Das Problem war die Rückmeldung. Um bei minimale Kosten zu bleiben, keine S88 oder sonstige Platinen aber die ReportIOX Rückmeldung.

Fertig ist es noch nicht, aber nach viele schlaflose Nächten ( : ) habe ich es geschafft die Rückmeldung mit dem beigelieferten MCP23S08 am laufen zu bekommen.

Das Problem ist das die Beschreibung nicht echt detailliert ist obwohl sehr viel drin steht, und in nach hinein sich auch als richtig und einfach herausstellt. Nur muss man jeder Zeile studieren und sich nicht von Programmierung abschrecken lassen. Das kostet Zeit und Geduld.

Meine Motivation war, das es so einfach sein musste. Dadurch lass ich mich doch nicht runterkriegen. Es soll funktionieren.

Auf jeden Fall ist die Lösung ausschließlich für das gelieferte Paket von Watterot….
Und genau da lag das Problem. Wie auch in der Beschreibung zu lesen ist, ist diese was RailUino betrifft für 16 Ports ( MCP23S17 ) geschrieben, aber geliefert wird ein MCP23S08.
Beschrieben sind die Anschlüsse einer MCP23S08, und hier kommt einen nicht-Spezialist auch schwer zu recht, wie im Forum öfters zu lesen ist.

Damit fang ich an : !! nur für Arduino UNO ( ob es hier auch verschiedene Versionen gibt weiss ich nicht ) und MCP23S08
Zeichnung Seite 62 ( c't Hacks 1/2013 ) SCLK -- Arduino 13 ( eine Port ohne Buchstabe ist Digital, sonst steht A(nalog) davor )
MOSI -- Arduino 11
MISO -- Arduino 12
RST -- Arduino 5V gefunden bei andere Apps mit MCP23S08 -- Ohne Gewähr
D6 -- Arduino 6 OK laut Skript
D3 -- Arduino 3 OK, weil fest gebunden an Interrupt 1

Dann folgt, wiederum ausschließlich wenn der Chip MCP23S08 aus dem Paket benutzt wird eine Anpassung an RailUino.cpp. Der Grund ist das hier der Chip MCP23S17 benutzt wird mit 16 Ports
Und so wird bei der MCP23S08 mit nur 8 Ports Register abgefragt die es nicht gibt. Das Ergebnis ist dann eher Zufall, inklusive eine Blockierung der Arduino nur aufzuheben durch das Programm wieder zu laden.
( zeigt sich an ein Leuchten von der LED <L> = loader )

======================================================================================

void handleInterrupt0() {
noInterrupts();

for (int i = 0; i < ioxCount; i++) {
ioxSwitches[2 * i] = readRegister(i, 9);
//ioxSwitches[2 * i + 1] = readRegister(16 + i, 9); <<<<< Angepasst

ioxSwitches2[2 * i] |= ioxSwitches[2 * i];
//ioxSwitches2[2 * i + 1] |= ioxSwitches[2 * i + 1]; <<<<<< Angepasst
}

interrupts();
}

=======================================================================================

Und so hat es bei mir dann funktioniert.
Auf folgendes noch achten, wenn das Programm Monitor benutzt wird : einkürzen auf 8 Ports ( die übrigen haben keinen Sinn )
Und das Interrupt reagiert nur auf eine Änderung!! Das heißt wenn ein Post schon zu ist wenn angefangen wird, dann wird diese nicht angezeigt.


So, das war es von mir. Das Ganze hat eine Woche gedauert. Ich hoffe hiermit einige das gleiche Los zu ersparen. Es macht aber viel Spaß wenn es läuft.

Viele Grüße,

Walter

PS : Deutsch ist nicht meine Muttersprache. Bitte verzeihe mir meine Grammatikfehler.


wallguy  
wallguy
Beiträge: 3
Registriert am: 05.09.2018


RE: Railuino 0.9 + Artikel + Hardware

#85 von wallguy , 05.01.2019 22:19

Noch mal hallo,

es gab noch einige Änderungen an IOXReporter damit es stabil funktioniert :

1)

in RailUino.cpp habe ich die Funktion TrackReporterIOX() weiter angepasst für 8 bit

TrackReporterIOX::TrackReporterIOX(int modules) {
mCount = modules;
ioxCount = modules;
digitalWrite(6, HIGH);
pinMode(6, OUTPUT);
SPI_begin();
noInterrupts();
for (int i = 0; i < mCount; i++) {
writeRegister(i, 0, 0xFF); // IODIR: All GPIOs are inputs
writeRegister(i, 1, 0xFF); // IOPOL: GND means logical 1
writeRegister(i, 2, 0xFF); // GPINTEN: All interrupts enabled
writeRegister(i, 3, 0x00); // DEFVAL: Compare default value
writeRegister(i, 4, 0x00); // INTCON: Compare against default value
writeRegister(i, 5, 0x2E); // Open drain
writeRegister(i, 6, 0xFF); // Pull-up resistors
readRegister(i, 9);
}
pinMode(3,INPUT_PULLUP);
attachInterrupt(1, &handleInterrupt0, LOW);
interrupts();
}

2)

RST auf +5V hat bei mir dazu geführt das der IC heiß geworden ist. Jetzt habe ich einen 10K Ohm dazwischen. Ob es so richtig ist, kann ich nicht sagen, weil es auch funktioniert ohne RST. Aber der IC ist nicht mehr heiß und die Module funktioniert.


Ich werde noch eine Erweiterung auf 24 Ports machen mit 3 x MCP23S08 (weil ich die IC besitze) und werde hier dann beschreiben wie es funktioniert weil es mehrfach gefragt worden ist.

Viele Grüße,

Walter


wallguy  
wallguy
Beiträge: 3
Registriert am: 05.09.2018


RE: Railuino 0.9 + Artikel + Hardware

#86 von helmut52 , 28.05.2019 21:57

Hallo Walter, danke für deinen Beitrag, hat mir sehr geholfen. Ich habe dennoch Kommunikationsprobleme mit der Anschlussbox - da kommt irgendwie keine Rückmeldung. Das raiuino Testprogramm liefert mir folgende Meldungen
21:33:19.867 -> Press <Return> to start Railuino 0.90 test suite...
21:33:20.784 ->
21:33:20.784 -> ***** testMessageClear *****
21:33:20.784 ->
21:33:20.784 ->
21:33:20.784 -> ***** testMessagePrintTo *****
21:33:20.784 ->
21:33:20.784 -> dead R ff 8 00 01 02 03 04 05 06 07
21:33:20.784 ->
21:33:20.818 -> ***** testMessageParseFrom *****
21:33:20.818 ->
21:33:20.818 ->
21:33:20.818 -> ***** testController *****
21:33:20.818 ->
21:33:20.818 -> ### Creating controller
21:33:20.818 -> ### Creating controller
21:33:20.818 -> ### Creating controller
21:33:20.818 -> ### Destroying controller
21:33:20.818 ->
21:33:20.818 -> ***** testInitController *****
21:33:20.818 ->
21:33:20.818 -> ### Creating controller
21:33:20.818 -> ### Destroying controller
21:33:20.818 ->
21:33:20.818 -> ***** testBeginEnd *****
21:33:20.818 ->
21:33:20.818 -> ### Creating controller
21:33:21.328 -> ==> 7f7f 1b 5 00 00 00 00 11
21:33:21.838 -> ==> 0000 1b 5 00 00 00 00 11
21:33:21.838 -> ### Trying new hash 4327
21:33:21.838 -> ==> 4327 18 0
21:33:22.314 -> ### New hash looks good
21:33:22.314 -> ### Destroying controller
21:33:22.314 ->
21:33:22.314 -> ***** testSendReceiveMessage *****
21:33:22.348 ->
21:33:22.348 -> ### Creating controller
21:33:22.824 -> ==> 7f7f ff 8 00 01 02 03 04 05 06 07
21:33:22.858 -> <== 7f7f R ff 8 00 01 02 03 04 05 06 07
21:33:22.858 -> ### Destroying controller
21:33:22.858 ->
21:33:22.858 -> ***** testExchangeMessage *****
21:33:22.858 ->
21:33:22.858 -> ### Creating controller
21:33:23.368 -> ==> 7f7f ff 8 00 01 02 03 04 05 06 07
21:33:23.368 -> <== 7f7f R ff 8 00 01 02 03 04 05 06 07
21:33:23.368 -> ==> 7f7f ff 8 00 01 02 03 04 05 06 07
21:33:23.368 -> <== 7f7f R ff 8 00 01 02 03 04 05 06 07
21:33:23.368 -> ==> 7f7f 00 8 00 01 02 03 04 05 06 07
21:33:23.368 -> ==> 7f7f ff 8 00 01 02 03 04 05 06 07
21:33:23.368 -> <== 7f7f R 00 8 00 01 02 03 04 05 06 07
21:33:23.368 -> <== 7f7f R ff 8 00 01 02 03 04 05 06 07
21:33:23.402 -> ### Destroying controller
21:33:23.402 ->
21:33:23.402 -> ***** testVersion *****
21:33:23.402 ->
21:33:23.402 -> ### Creating controller
21:33:23.878 -> ==> 0000 1b 5 00 00 00 00 11
21:33:23.878 -> ### Trying new hash 3b71
21:33:23.912 -> ==> 3b71 18 0
21:33:24.388 -> ### New hash looks good
21:33:24.388 -> ==> 3b71 18 0
21:33:24.898 -> Assertion 0 in function testVersion() failed
21:33:24.898 -> ### Destroying controller
21:33:24.898 ->
21:33:24.898 -> ***** testPower *****
21:33:24.898 ->
21:33:24.898 -> ### Creating controller
21:33:25.407 -> ==> 0000 1b 5 00 00 00 00 11
21:33:25.407 -> ### Trying new hash af59
21:33:25.407 -> ==> af59 18 0
21:33:25.916 -> ### New hash looks good
21:33:25.916 -> ==> af59 00 7 00 00 00 00 09 00 0d
21:33:26.903 -> !!! Receive timeout
21:33:26.903 -> ==> af59 00 6 00 00 00 00 08 07
21:33:26.903 -> !!! Send error
21:33:26.903 -> !!! Emergency stop

daraus schließe ich, dass die Verbindung zur Anschlussbox nicht funktioniert.
Die Box hat die SNR 128155 SW V2.7 HWV2.1 LDB V 014 (2014/5)

Das Monitorprogramm funktioniert mit deinen Änderungen.
Gruß Helmut


helmut52  
helmut52
Beiträge: 4
Registriert am: 19.05.2019


RE: Railuino 0.9 + Artikel + Hardware

#87 von wallguy , 29.05.2019 17:20

Hallo Helmut,

ja, es sieht danach aus das es keine Verbindung zwischen CAN-Shield und Mobile Station gibt.

Die erste Tests sind alle zwischen Arduino und CAN-Shield und sind erfolgreich.

Dann wird versucht die MS Version zu lesen, und das funktioniert nicht ( Meldung : kann keine 0 hinzufügen - zu verstehen als "keine Rückmeldung" )
Danach versucht Arduino den Strom des MS einzuschalten, und das bleibt hängen ( TimeOut )

Entweder ist das Kabel nicht richtig, oder eine andere Möglichkeit ist das die ICSP-Pins nicht angeschlossen sind.
Das sind dir 6 Pins vorne am Arduino.

So interpretiere ich die Meldungen.

Viele Grüße,

Walter


wallguy  
wallguy
Beiträge: 3
Registriert am: 05.09.2018


RE: Railuino 0.9 + Artikel + Hardware

#88 von helmut52 , 13.06.2019 08:32

Hallo Walter, leider war ich ein paar Tage verhindert. Ich habe den Fehler gefunden, ich wollte die Verbindung am 10 pol-Stecker mit einem Schrumpfschlauch verstärken, dabei ist unbemerkt ein Draht abgegangen. Jetzt funktioniert alles bestens. Danke für Deine Antwort. An einer Erweiterung auf 24 Ports mit 3 x MCP23S08 bin ich sehr interessiert.
Grüße von der Küste - Helmut


helmut52  
helmut52
Beiträge: 4
Registriert am: 19.05.2019


RE: Railuino 0.9 + Artikel + Hardware

#89 von BW Lichtenfels , 15.10.2019 20:41

Hallo zusammen,

ich habe railuino in mehreren Test erfolgreich genutzt, bis heute aus dem Nichts folgende Fehlermeldung auftauchte:

C:Program Files (x86)ArduinolibrariessrcRailuino.cpp: In function 'int parseHex(String&, int, int, boolean*)':

C:Program Files (x86)ArduinolibrariessrcRailuino.cpp:56:15: error: cannot convert 'bool' to 'boolean* {aka bool*}' in assignment

ok = false;


Aus unerklärlicher Ursache scheint der Compiler ein Problem mit der Library zu haben.

Folgende Test waren erfolglos:

    Erneuter Download der LIbrary

    Neuinstallation der Arduino Software auf dem PC

    Test mit 2 verschiedenen Arduino Uno Boards, einmal mit und einmal ohne Railuino Shield


Der Fehler kommt unabhängig vom Programmcode, - selbst wenn der include-Befehl in ein sonst leeres Programm geschrieben wird.

Hier die ursächliche Textstelle aus der Library:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
int parseHex(String &amp;s, int start, int end, boolean *ok) {
int value = 0;
 
for (int i = start; i &lt; end; i++) {
char c = s.charAt(i);
 
if (c &gt;= '0' &amp;&amp; c &lt;= '9') {
value = 16 * value + c - '0';
} else if (c &gt;= 'a' &amp;&amp; c &lt;= 'f') {
value = 16 * value + 10 + c - 'a';
} else if (c &gt;= 'A' &amp;&amp; c &lt;= 'F') {
value = 16 * value + 10 + c - 'A';
} else {
ok = false;
return -1;
}
}
 
return value;
}
 
 



Ich wäre für Hilfe sehr dankbar!

PS: Hat jemand eine zuverlässige Übersicht, welche Pins das Railuino Shield belegt und welche noch für andere Funktionen als Ein-/Ausgänge frei sind, z. B. SCL/SDA für ein serielles LCD-Display?

Beste Grüße
Fabian


Regalanlage W003
Anlage Bw Lichtenfels Nord
Ausstellungen der Eisenbahnfreude Lichtenfels
Railuino-User (--> Forensuche)


 
BW Lichtenfels
InterRegio (IR)
Beiträge: 113
Registriert am: 07.03.2011
Spurweite H0
Stromart AC, DC, Digital


RE: Railuino 0.9 + Artikel + Hardware

#90 von FlorianG , 16.12.2019 19:34

Hallo Fabian,

hast Du eine Lösung dafür gefunden? Ich wollte auch mit Railuino einsteigen, bei mir kam derselbe Fehler.
Leider sind meine Programmierkenntnisse ebenfalls sehr beschräntkt.

Ich überlege mir, eine ältere Arduino-Umgebung zu installieren. Vielleicht komme ich im Lauf der Woche dazu.

Viele Grüße,
Florian

NACHTRAG:
Ich habe die Lösung im Arduino-Forum gefunden, wo Fabian nachgefragt hatte.
An der Fehlerstelle das ok = false; durch *ok = false; ersetzen (* vor dem ok)


Viele Grüße,
Florian


FlorianG  
FlorianG
Regionalbahn (RB)
Beiträge: 40
Registriert am: 23.11.2014
Gleise C-Gleis
Steuerung Mobile Station 2, CAN-Interface Eigenbau
Stromart AC, Digital


RE: Railuino 0.9 + Artikel + Hardware

#91 von BW Lichtenfels , 05.11.2023 20:02

Hallo zusammen,

ich habe heute - nach mehrjähriger Pause - das Thema Railuino wieder aufgegriffen und einen Railuino-Testaufbau funktionsfähig in Betrieb gekriegt. Dabei bin ich, wie nahezu jeder andere hier, auf anfängliche Probleme gestoßen, u. a. die Fehlermeldung zwei Beiträge weiter oben. Scheinbar gibt es nach wie vor keine Schritt-für-Schritt Anleitung im Netz, sodass ich diesen Beitrag hier um eine solche Anleitung erweitern möchte. Da jeder, der zum Thema Railuino recherchiertt, früher oder später hier landet, sollte das hoffentlich eine geeignete Stelle sein. Das von mir zuvor weiter oben angefragte Problem ist in dieser Anleitung ebenfalls gelöst.

Verwendetes Material:

  • Arduino UNO
  • Railuino CANDIY-Shield von Watterot (derzeit ausverkauft)
  • Mini-DIN Stecker
  • Netzwerkkabel mit RJ45-Stecker
  • Märklin Gleisbox und Netzteil
  • Railuino library


Vorbereitung der Hardware


    1) Railuino Shield zusammenbauen

    2) RJ-45 Kabel vorbereiten
    __ a. Handelsübliches Netzwerkkabel in der Mitte durchschneiden
    __ b. Isolierung und Ummantelung auf ca. 3-5 cm Länge entfernen
    __ c. Folgende vier Adern am Ende abisolieren: braun, braun-weiß, orange, orange-weiß

    3) Adern des RJ-45 und Mini-DIN wie im Bild unten gezeigt zusammenlöten
    __ a. Gründlich auf Kurzschlüsse prüfen
    __ b. Mini-DIN Stecker mit Heißkleber füllen, um Kabelbrüche zu vermeiden (am besten erst verkleben, nachdem der Test erfolgreich war)

    4) Alles zusammenstecken
    __ a. Shield auf das Board
    __ b. Board per USB an Computer
    __ c. Shield und Gleisbox mit dem selbstgebauten Kabel (egal welche Buchsen)
    __ d. Netzteil an Gleisbox
    __ e. Gleisbox an Testgleis (optional)


Vorbereitung der Software

    5) Railuino library herunterladen und zip-File entpacken
    __ a. Beschreibung: https://code.google.com/archive/p/railuino/
    __ b. Download der Library: https://code.google.com/archive/p/railuino/downloads

    6) Im Ordner C:\Programme\Arudino\libraries einen Ordner „Railuino“ anlegen

    7) Den Inhalt des Ordners „src“ in den neu angelegten Ordner „Railuino“ kopieren

    8) Die Datei Railuino.cpp im Texteditor öffnen und an folgender Stelle ein * ergänzen:
    else { *ok = false; return -1; }
    Um die Stelle zu finden, ab besten die Datei mit Strg+F durchsuchen.


Test

Im Ordner Railuino/examples/05.Misc/Tests die Datei Tests.ino ausführen und prüfen, ob es eine Fehlermeldung gibt.

FehlermeldungMögliche Ursache
### Creating controller
0
!!! Init error
!!! Emergency stop
Das Shield ist nicht richtig mit dem Arduiono-Board verbunden, z. B. weil beim Zusammenbau des Shields kontakte nicht richtig eingelötet wurden oder die 2x3 Buchsen des Shields nicht weit genug aus dem Shield herausragen.
### Creating controller
FF
!!! Init error
!!! Emergency stop
Das Shield ist nicht richtig mit dem Arduiono-Board verbunden, z. B. weil beim Zusammenbau des Shields kontakte nicht richtig eingelötet wurden oder die 2x3 Buchsen des Shields nicht weit genug aus dem Shield herausragen.


Anschließen des Mini-DIN Steckers

Kabelfarbe vom RJ-45 Stecker (Netzwerkkabel)

1 = braun
2 = braun-weiß
4 = orange-weiß
8 = orange


Weiterführende Links


Regalanlage W003
Anlage Bw Lichtenfels Nord
Ausstellungen der Eisenbahnfreude Lichtenfels
Railuino-User (--> Forensuche)


lennart_k hat sich bedankt!
 
BW Lichtenfels
InterRegio (IR)
Beiträge: 113
Registriert am: 07.03.2011
Spurweite H0
Stromart AC, DC, Digital

zuletzt bearbeitet 05.11.2023 | Top

RE: Railuino 0.9 + Artikel + Hardware

#92 von BW Lichtenfels , 12.03.2024 13:55

Ich verfolge das Railuino-Projekt weiter und möchte euch hier ein kurzes Update geben:

  • Railuino ist kompatibel mit Märklin Central Station 2
  • Da das CANdiy-Shield von Watterott nicht mehr lieferbar ist, für welches Railuino konzipiert ist, probiere ich nun ein alternatives Shield aus. Dazu möchte ich diesen Beitrag hier verlinken: RE: Railuino - Anschluss Can Bus
  • Die von Märklin verwendeten MiniDIN10-Stecker sind schwierig zu bekommen und zum Anlöten der Kabel sehr eng und empfindlich. Eine bessere Möglichkeit zum Herstellen eines Adapterkabels zwischen CS2 bzw. Gleisbox und Railuino-Shield ist, wenn man z. B. eine Märklin Mobile Station 1 "opfert" und deren Kabel (MiniDIN10-Stecker) wie folgt mit einem RJ45 Netzwerkkabel verbindet:


Adapterkabel für die Verbindung von Railuino (RJ45) und Central Station 2/ Gleisbox (MiniDIN)

Kabelfarbe vom RJ45 Stecker (Netzwerkkabel) >> MiniDIN-Kabel (MS1)

1 = braun >> braun
2 = braun-weiß >> rot
4 = orange-weiß >> gelb
8 = orange >> lila


Herstellung des Adapterkabels RJ45 (gelb) und MiniDIN (schwarz)


Und hier noch einige Fotos vom Bau meiner Railuino-Gleisbox

Grundplatte mit Netzteilen für Gleisbox (18V) und Arudino (5V), Arduino mit Shield und Gleisbox


Alle Ausgänge des Arduino führen zu den Lötleisten, sofern die Ausgänge nicht durch das Railuino-Board belegt sind.


Der Deckel enthält eine LCD-Anzeige, Schalter für die Netzteile sowie Taster und Potentiometer zum Testen


Das Foto sieht chaotischer aus als es ist - dank ordentlicher Dokumentation (siehe unten)


Von außen präsentiert sich die Railuino-Gleisbox funktional, rustikal und aufgeräumt. Die Potentiometer und Taster werden je nach Betriebsmodus unterschiedlich belegt. Über [Mode] wird der Modus gewechselt, z. B. ob die beiden Potentiometer zwei verschiedene Loks steuern, oder als Fahrschalter und Führerbremsventil interpretiert werden. So kann die Umsetzung eines Fahrpultes mit originalen Lokteilen vorbereitend erprobt werden. Das Display zeigt je nach Modus die wichtigsten Werte für Betrieb und Testing an. >> Vergrößern


Alle wichtigen Anschlüsse sind von außen gut zugänglich. Buchse I und II werden direkt verbunden, wenn die Gleisbox verwendet wird. Dann arbeitet die Railuino-Gleisbox als autarke Zentrale. Über das zuvor beschriebene Adapterkabel kann alternativ Buchse II an die Central Station 2 angeschlossen werden, sodass die Railuino-Gleisbox als Slave wie eine MS2 arbeitet. Für den Anschluss weiterer Arduinos über eine serielle Schnittstelle ist Buchse III vorbereitet, die mit zwei analogen Arudino-Pins und 5V= Versorgung verbunden ist.


Belegungsplan des Arduino --> Relevant ist vor allem, welche Pins das Railuino-Shield verwendet und welche noch frei sind. Die Railuino-Doku scheint mir hier nicht ganz vollständig zu sein. (Farben = meine eigenen Kabelfarben; Buchstaben-/Nr. = Lötleiste) >> Vergrößern


Architektur der Systemkomponenten >> Vergrößern


Regalanlage W003
Anlage Bw Lichtenfels Nord
Ausstellungen der Eisenbahnfreude Lichtenfels
Railuino-User (--> Forensuche)


vikr hat sich bedankt!
 
BW Lichtenfels
InterRegio (IR)
Beiträge: 113
Registriert am: 07.03.2011
Spurweite H0
Stromart AC, DC, Digital

zuletzt bearbeitet 12.03.2024 | Top

RE: Railuino 0.9 + Artikel + Hardware

#93 von bertr2d2 , 12.03.2024 18:14

Hallo,

Zitat von BW Lichtenfels im Beitrag #92
  • Die von Märklin verwendeten MiniDIN10-Stecker sind schwierig zu bekommen und zum Anlöten der Kabel sehr eng und empfindlich. Eine bessere Möglichkeit zum Herstellen eines Adapterkabels zwischen CS2 bzw. Gleisbox und Railuino-Shield ist, wenn man z. B. eine Märklin Mobile Station 1 "opfert" und deren Kabel (MiniDIN10-Stecker) wie folgt mit einem RJ45 Netzwerkkabel verbindet:


hier bietet sich das MS2 Ersatzkabel an:

schwarzGND
braunCANL
orangeCANH
rot18V

Dann braucht man keine MS1 opfern Wer will nimmt noch den Märklin CAN-Bus Connector mit entsprechendem Socket, um einfach und flexibel andere Komponenten anschließen zu können.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


BW Lichtenfels hat sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 12.03.2024 | Top

RE: Railuino 0.9 + Artikel + Hardware

#94 von BW Lichtenfels , 12.03.2024 20:10

Zitat von bertr2d2 im Beitrag #93
hier bietet sich das MS2 Ersatzkabel an: ... Dann braucht man keine MS1 opfern Wer will nimmt noch den Märklin CAN-Bus Connector


Danke Gerd, guter Hinweis! Ich habe nun trotzdem eine "geopferte" MS1 übrig, die ich - wenn möglich - gerne wieder (mit einem anderen Stecker) anschließen würde. Weiß jemand, warum die MS1 nicht an der CS2 bzw. Gleisbox funktioniert?

Liegt das an der Hardware oder am Protokoll? Kann man mit der MS1 ggf. in Verbindung mit einem Anschlussgleis auch den CAN-BUS ansprechen?

UPDATE: Google hilf - Hier die Antworten zu meinen eigenen Fragen Forum CAN digital Bahn
Falls jemand ergänzende Ideen hat, sind die natürlich trotzdem gern gesehen.


Regalanlage W003
Anlage Bw Lichtenfels Nord
Ausstellungen der Eisenbahnfreude Lichtenfels
Railuino-User (--> Forensuche)


 
BW Lichtenfels
InterRegio (IR)
Beiträge: 113
Registriert am: 07.03.2011
Spurweite H0
Stromart AC, DC, Digital

zuletzt bearbeitet 12.03.2024 | Top

RE: Railuino 0.9 + Artikel + Hardware

#95 von bertr2d2 , 12.03.2024 21:14

Hallo,

die MS1 ist zwar schon in die Jahre gekommen, aber nicht unnütz. Rainer Müller hat einen Babelfisch dafür geschrieben :-)

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Railuino 0.9 + Artikel + Hardware

#96 von BW Lichtenfels , 07.04.2024 21:57

Das CANdiy-Shield für Railuino ist bei Watterott wieder lieferbar und kostet nur 17,50 €!

CANdiy-Shield V2 im Watterott-Shop


Regalanlage W003
Anlage Bw Lichtenfels Nord
Ausstellungen der Eisenbahnfreude Lichtenfels
Railuino-User (--> Forensuche)


 
BW Lichtenfels
InterRegio (IR)
Beiträge: 113
Registriert am: 07.03.2011
Spurweite H0
Stromart AC, DC, Digital


   

mLD3/mSD3: Einmessfahrt ohne CS2? Gelöst für MS2
Rocrail kein Zugang mehr

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz