Railuino 0.9 + Artikel + Hardware

Bereich für alle Themen rund um Modellbahn-Software, sowie der nötigen Hardware (PCs, Bildschirme, etc.).
Benutzeravatar

Threadersteller
Caltrain
InterRegio (IR)
Beiträge: 178
Registriert: Sa 13. Nov 2010, 18:16
Nenngröße: H0
Stromart: AC
Steuerung: MS2 + IR
Gleise: C-Gleis
Alter: 47

Railuino 0.9 + Artikel + Hardware

#1

Beitrag von Caltrain » Fr 1. Mär 2013, 07:58

Hallo,

aus aktuellem Anlass möchte ich hier ein wenig Werbung betreiben: Railuino Version 0.9 ist verfügbar. Die neue Version enthält eine Reihe von Bugfixes und ist nun kompatibel sowohl zum Arduino Uno als auch zum neueren und günstigeren Leonardo.

Ein paar Leute kennen das Projekt ja bereits. Für alle anderen: Railuino erlaubt die Steuerung einer Modellbahn über die digitale Anschlussbox von Märklin und Rückmeldung über (u.a.) S88. Damit ist es ähnlich dem CAN-Digitalbahn-Projekt, betont aber stärker den DIY-Charakter. Die aktuelle Ausgabe der c't Hardware Hacks enthält einen längeren Artikel, der eine gute Einführung bieten sollte.

Was kann man damit machen? Zum Beispiel (der Fantasie sind keine Grenzen gesetzt) folgendes:

- Autonome, automatische Steuerung der Bahn
- Steuerung des Schattenbahnhofs
- Eigene zusätzliche Handgeräte
- Anschluss an PC über USB
- Kommunikation mit Android-Geräten über Bluetooth
- Steuerung weiterer Elemente wie Beleuchtung
- ...

Es gibt jetzt auch eine günstige neue Hardware für das Projekt. Watterott bietet ein CAN do-it-yourself Shield für den Arduino an, das auf einem Design von mir basiert. Das Shield kostet weniger als die Hälfte des Shields von Sparkfun und besitzt zudem ein großes Protofeld, auf dem eigene Erweiterungen untergebracht werden können. Bei Watterott gibt's auch die restlichen benötigten Komponenten inklusive des etwas speziellen Mini-DIN-Steckers.

Last but not least kündige ich schon mal den Prototypen einer einfachen Android App an, den ich in Kürze auf Google Play verfügbar machen werde (muss vorher noch ein paar Bugs fixen, leider lässt der Job mir momentan nicht viel Zeit dafür).

Ich würde mich freuen, wenn es den einen oder anderen interessiert. Fragen beantworte ich gern hier im Forum.

Viele Grüße
Jörg


starky

Re: Railuino 0.9 + Artikel + Hardware

#2

Beitrag von starky » Di 5. Mär 2013, 16:07

Hallo Jörg,

super, dass sich da was getan hat! Mit dem CAN-Shield ist das jetzt alles ziemlich günstig geworden, ich überlege gerade auch, zum Gleisboxanschluss zu wechseln.

Ich bin aber mit der Infrarot-Ansteuerung von Railuino erstmal auch glücklich geworden. Unter Zuhilfenahme einer angepassten IRremote-Lib konnte ich das ganze auf einem Teensy 2.0 zum laufen bringen (der nutzt Pin 10 für die IR-LED).

Hast Du am IR-Teil noch irgendwas geändert?

Gruß, Markus

Benutzeravatar

Threadersteller
Caltrain
InterRegio (IR)
Beiträge: 178
Registriert: Sa 13. Nov 2010, 18:16
Nenngröße: H0
Stromart: AC
Steuerung: MS2 + IR
Gleise: C-Gleis
Alter: 47

Re: Railuino 0.9 + Artikel + Hardware

#3

Beitrag von Caltrain » Di 5. Mär 2013, 20:50

Hallo Markus,

nein, der IR-Teil ist weitgehend unverändert geblieben. Insbesondere sind keine neuen Features hinzugekommen (weil vermutlich auch nicht mehr existieren). Die meiste Arbeit ist in den CAN-Teil und die Hardware gegangen (die jetzt wirklich sehr günstig ist, was auch das Ziel war). Deine Projekt-Beschreibung habe ich gesehen. Cool! Ich freue mich immer, wenn jemand das Projekt erfolgreich benutzt.

Viele Grüße
Jörg

Benutzeravatar

behbeh
Regionalbahn (RB)
Beiträge: 25
Registriert: Fr 25. Apr 2008, 07:09
Nenngröße: H0
Stromart: digital
Steuerung: CS1_Reload/6021
Gleise: C-Gleis & K-Gleis
Wohnort: Ochtrup
Alter: 60
Kontaktdaten:

Re: Railuino 0.9 + Artikel + Hardware

#4

Beitrag von behbeh » Fr 8. Mär 2013, 08:17

Hallo Jörg,
fantastisches Projekt. Ich habe es getested. Klappt alles wunderbar. Ich werde davon eine Schattenbahnhof Steuerung bauen.
Mit Grafikdisplay als Anzeige. Mal sehen ob ich hinbekomme.
Eine Frage habe ich noch. Wie bekomme ich den Zugriff auf die Steuerung von einem Modelleisenbahn-Steuerprogramm. (Windigipet, Itrain), die ja Canbus unterstützen.. Ich nehme mal an, da muss wohl im Arduino eine Art Empfangsprogramm laufen, was alle Befehle unterstützt.
Gruß Bernd

Benutzeravatar

Threadersteller
Caltrain
InterRegio (IR)
Beiträge: 178
Registriert: Sa 13. Nov 2010, 18:16
Nenngröße: H0
Stromart: AC
Steuerung: MS2 + IR
Gleise: C-Gleis
Alter: 47

Re: Railuino 0.9 + Artikel + Hardware

#5

Beitrag von Caltrain » Sa 9. Mär 2013, 12:26

Hallo Bernd,

danke für die Blumen. :)

Zu Deiner Frage: Richtig, man müsste einen kleinen "Server" auf dem Arduino laufen lassen, mit dem das Programm dann kommuniziert. Ich kenne mich leider mit den verschiedenen Programmen nicht aus, könnte mir aber vorstellen, dass einige bereits die Central Station 2 via TCP/IP unterstützen. In diesem Fall bräuchte man einen Sketch, der einfach nur die CAN-Pakete in beide Richtungen durchreicht. Das könnte an Railuino "vorbei" geschehen, d.h. man bräuchte die eigentliche Bibliothek fast gar nicht, es sei denn, man möchte sowohl vom Arduino als auch vom PC aus steuern. Auch eine Verbindung a la Gbox2Eth von Stefan Krauss wäre denkbar. Weitere Alternative wäre eine Implementierung eines "Standards" wie SRCP auf der Basis von Railuino (also z.B. im Arduino). Das ist eine der Sachen, die ich auf meiner TODO-Liste habe. Damit sollten dann verschiedene PC-Programme umgehen können oder leicht entsprechend anpassbar sein.

Wenn irgendjemand Lust hat, eine dieser Erweiterungen umzusetzen: Railuino ist Open Source. Ich freue mich über Beiträge. :)

Viele Grüße
Jörg


starky

Re: Railuino 0.9 + Artikel + Hardware

#6

Beitrag von starky » Sa 9. Mär 2013, 14:14

Hallo Jörg,
mal eine Frage zum CAN-Bus: was ist, wenn ich mehrere verschiedene Arduino-Anwendungen baue, z.B. ein Gleisschaltpult, eine weiteres Steuerpult und ein PC-Interface, die jeweils mit eigenem Arduino und Gehäuse aufgebaut werden. Wenn jedes Gerät sein eigenes DIY CAN-Interface hat, sollte ich die doch alle parallel an den CAN-Bus hängen können. An der Gleisbox ist aber nur eine freie Buchse, wie könnte man da weitere Einheiten dran hängen?
Gruß, Markus

Benutzeravatar

behbeh
Regionalbahn (RB)
Beiträge: 25
Registriert: Fr 25. Apr 2008, 07:09
Nenngröße: H0
Stromart: digital
Steuerung: CS1_Reload/6021
Gleise: C-Gleis & K-Gleis
Wohnort: Ochtrup
Alter: 60
Kontaktdaten:

Re: Railuino 0.9 + Artikel + Hardware

#7

Beitrag von behbeh » Sa 9. Mär 2013, 14:38

Hallo Markus,
das sollte gehen. Das Arduino Shield hat 2 Netzwerkbuchsen, die sind parallel geschaltet, genau wie die Buchsen in der Gleisbox. Ich hab es durchgemessen. Man kann also von Shield zu Shield einfach mit Netzwerkkabel weiter verbinden....
Gruß Bernd

Benutzeravatar

Threadersteller
Caltrain
InterRegio (IR)
Beiträge: 178
Registriert: Sa 13. Nov 2010, 18:16
Nenngröße: H0
Stromart: AC
Steuerung: MS2 + IR
Gleise: C-Gleis
Alter: 47

Re: Railuino 0.9 + Artikel + Hardware

#8

Beitrag von Caltrain » Sa 9. Mär 2013, 14:46

behbeh hat geschrieben:Hallo Markus,
das sollte gehen. Das Arduino Shield hat 2 Netzwerkbuchsen, die sind parallel geschaltet, genau wie die Buchsen in der Gleisbox. Ich hab es durchgemessen. Man kann also von Shield zu Shield einfach mit Netzwerkkabel weiter verbinden....
Gruß Bernd
Genau deshalb hat das Shield die zwei Buchsen bekommen. So kann man ohne Probleme mehrere Geräte an den Bus anschließen. Ein weiteres Szenario ist eine Steuerung von Modulen. Da könnte man prima einen Arduino+Shield pro Modul spendieren und die alle über den Bus verbinden.

Wenn diese "lange Leitung" nicht ausreicht, gibt es auch die Möglichkeit, kleine Verteilerknoten zu bauen, so wie das z.B. Can-Digital-Bahn macht. Einfach z.B. vier RJ45-Buchsen auf eine kleine Platine, alle durchverbunden. Man sollte nur darauf achten, dass man die CAN-Topologie einhält (siehe z.B. Wikipedia o.ä. zu maximaler Länge von Stichleitungen etc.).

Viele Grüße
Jörg


bertr2d2
InterCity (IC)
Beiträge: 858
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 51

Re: Railuino 0.9 + Artikel + Hardware

#9

Beitrag von bertr2d2 » Sa 9. Mär 2013, 17:12

Hallo Jörg,

das ist schon Klasse was Du mit Railuino auf die beine stellst. Respekt :-)
Caltrain hat geschrieben:Hallo Bernd,
Zu Deiner Frage: Richtig, man müsste einen kleinen "Server" auf dem Arduino laufen lassen, mit dem das Programm dann kommuniziert. Ich kenne mich leider mit den verschiedenen Programmen nicht aus, könnte mir aber vorstellen, dass einige bereits die Central Station 2 via TCP/IP unterstützen. In diesem Fall bräuchte man einen Sketch, der einfach nur die CAN-Pakete in beide Richtungen durchreicht. Das könnte an Railuino "vorbei" geschehen, d.h. man bräuchte die eigentliche Bibliothek fast gar nicht, es sei denn, man möchte sowohl vom Arduino als auch vom PC aus steuern.
Nun im einfachsten Fall reicht man die Pakete von der seriellen Schnittstelle an CAN durch, wie bei der CC-Schnitte:
http://www.can-digital-bahn.com/modul.p ... 5&modul=54
Auch die CC-Schnitte erwartet von dem PC immer 13 Datenbytes, die ein zu sendendes CAN-Telegramm komplett beschreiben. Werden weniger als 13 Byte gesendet, bricht die CC-Schnitte nach einer sehr kurzen Wartezeit den Telegrammempfang ab und wartet auf ein neues Paket, das aus 13 Bytes besteht.
...
Für den Weg vom CAN zum PC gilt das gleiche, auch hier werden immer 13 Bytes an den PC gesendet. Nicht empfangene Daten (Data 1 bis Data 8) haben den Inhalt der letzten Übertragung, und werden nicht extra gelöscht.
und die CC-Schnitte wird von z.B. Rocrail oder Win-Digipet unterstützt. Nebenbei könnte Railuino noch ein paar nette andere Sachen machen.
Caltrain hat geschrieben:Auch eine Verbindung a la Gbox2Eth von Stefan Krauss wäre denkbar.
oder can2udp: http://lnxpps.de/can2udp ;-)

Gruß

Gerd

Benutzeravatar

Threadersteller
Caltrain
InterRegio (IR)
Beiträge: 178
Registriert: Sa 13. Nov 2010, 18:16
Nenngröße: H0
Stromart: AC
Steuerung: MS2 + IR
Gleise: C-Gleis
Alter: 47

Re: Railuino 0.9 + Artikel + Hardware

#10

Beitrag von Caltrain » Sa 9. Mär 2013, 17:36

bertr2d2 hat geschrieben:Hallo Jörg,
das ist schon Klasse was Du mit Railuino auf die beine stellst. Respekt :-)
Merci, aber offenbar bin ich da in guter Gesellschaft, wie Deine OpenWrt-Lösung zeigt. :)
bertr2d2 hat geschrieben: Nun im einfachsten Fall reicht man die Pakete von der seriellen Schnittstelle an CAN durch, wie bei der CC-Schnitte:
http://www.can-digital-bahn.com/modul.p ... 5&modul=54
Auch die CC-Schnitte erwartet von dem PC immer 13 Datenbytes, die ein zu sendendes CAN-Telegramm komplett beschreiben. Werden weniger als 13 Byte gesendet, bricht die CC-Schnitte nach einer sehr kurzen Wartezeit den Telegrammempfang ab und wartet auf ein neues Paket, das aus 13 Bytes besteht.
...
Für den Weg vom CAN zum PC gilt das gleiche, auch hier werden immer 13 Bytes an den PC gesendet. Nicht empfangene Daten (Data 1 bis Data 8) haben den Inhalt der letzten Übertragung, und werden nicht extra gelöscht.
und die CC-Schnitte wird von z.B. Rocrail oder Win-Digipet unterstützt. Nebenbei könnte Railuino noch ein paar nette andere Sachen machen.
Was ich mich bei der Übertragung über andere Wege als UDP frage (und weshalb ich das noch nicht selbst integriert habe): Wie bekomme ich eine Plausibilitätsprüfung hin bzw. woher weiß ich oder die Gegenstelle, wann ein CAN-Paket beginnt/endet? Ich nehme an, das Format ist etwa wie folgt
  • 4 Byte ID
  • 1 Byte Länge & Flags
  • 8 Byte Daten
Wenn man nicht an der richtigen Stelle im Datenstrom anfängt zu lesen, bekommt man schnell Probleme. Oder ist der Trick eine feste zeitliche Lücke zwischen zwei Nachrichten? Ich fände eine Übertragung in ASCII irgendwie sinnvoller. Dann kann man leicht den Zeilenumbruch für das Ende einer Nachricht nehmen. Und das ganze bleibt hübsch lesbar, für's Debugging. Aber wenn ich mit bestehenden System zusammenarbeiten möchte, muss ich natürlich deren Protokoll implementieren.

Grüße
Jörg


bertr2d2
InterCity (IC)
Beiträge: 858
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 51

Re: Railuino 0.9 + Artikel + Hardware

#11

Beitrag von bertr2d2 » Sa 9. Mär 2013, 20:10

Jörg hat geschrieben:Was ich mich bei der Übertragung über andere Wege als UDP frage (und weshalb ich das noch nicht selbst integriert habe): Wie bekomme ich eine Plausibilitätsprüfung hin bzw. woher weiß ich oder die Gegenstelle, wann ein CAN-Paket beginnt/endet? Ich nehme an, das Format ist etwa wie folgt

4 Byte ID
1 Byte Länge & Flags
8 Byte Daten
Das Format ist wie folgt:

Code: Alles auswählen

byte 0-3 CAN ID
byte 4 DLC
byte 5-12 CAN data
Auch die CC-Schnitte erwartet von dem PC immer 13 Datenbytes, die ein zu sendendes CAN-Telegramm komplett beschreiben. Werden weniger als 13 Byte gesendet, bricht die CC-Schnitte nach einer sehr kurzen Wartezeit den Telegrammempfang ab und wartet auf ein neues Paket, das aus 13 Bytes besteht
Ich denke, das die Pause zwischen den Telegrammen der einzige Mechanismus ist. Ich nehme an, das Du die seriellen Daten innerhalb einer ISR empfängst. Lass einfach einen Timer mitlaufen. Wenn die Pause groß genug ist, dann beginnt ein neuer Frame.
Probier es doch einfach mal mit Rocrail oder so aus ...

Gruß

Gerd


starky

Re: Railuino 0.9 + Artikel + Hardware

#12

Beitrag von starky » Mi 13. Mär 2013, 10:58

Super, das Ganze ist ja ziemlich flexibel. Ich habe mir jetzt eine MS2 mit Gleisbox bestellt und möchte mir einen IR-Empfänger bauen, damit ich mein IR-Stellpult und die Märklin Fernbedienung weiter nutzen kann. Oder ich binde sogar noch weitere Fernbedienungen ein, mal sehen was geht.


matthias12345

Re: Railuino 0.9 + Artikel + Hardware

#13

Beitrag von matthias12345 » Sa 16. Mär 2013, 14:42

Hallo Jörg,

ich baue auch gerade eine kleine Anlage mit einem Arduino Due. Mein Interesse geht dabei etwas mehr in die Richtung der Informatik als das Modellbahnen. Ich möchte ein paar einfache graphentheoretische Dinge tun (kürzeste Wege finden, alternative Routen bei Gleis besetzt, Züge ausweichen lassen, sowas...).

Die Informationen von einigen Hall-Sensoren hole ich mir bereits ab, woran es jetzt scheitert ist die Bahn zu steuern. Der Sam3X auf dem neuen Arduino hat leider keine io.h-Datei (und die wird es wohl auch nicht geben) - damit ist deine CAN-Bibliothek und deine IR-Bibliothek inkompatibel. Mein CAN-Shield ist noch nicht da, also habe ich gestern mit einem Duemilanove-Board und IR gesendet - da fiel mir auf, dass das auf dem Due garnicht klappt. Ich möchte jetzt nur ungern ein weiteres Board benutzen um vom PC zum Due zum Duemilanove zum CAN-Shield zur Gleisbox zu senden.

Frage: Steht die Kompatibilität auf deiner Todo-Liste? Eine CAN-Lib fürs Due wird gerade entwickelt (im neuesten Nightly-Build der IDE auch enthalten) - die werde ich dann wohl versuchen einzubinden. Eine IR-Lib möchte ich nicht umschreiben (es gibt schon Ansätze, aber ich möchte nicht an zwei Baustellen gleichzeitig arbeiten - mittelfristig wird mein CAN-Shield wohl doch noch ankommen).

[EDIT]: Ich versuche jetzt doch quick'n'dirty die infrared.c zu ersetzen und versuche so, Railuino etwas zu verbiegen.

[EDIT 2]: Ich habe jetzt neben infrared.c und infrared2.c noch eine dritte Bibliothek zusammengeschustert (mithilfe von https://github.com/manitou48/DUEZoo/tree/master/IRtest) und kann damit auf dem Arduino Due den TrackControllerInfrared benutzen. Vielleicht kannst du das Feature ja ins Projekt aufnehmen - dazu können wir ja mal PMmen.

Beste Grüße und vielen Dank schonmal für deine Arbeit.


starky

Re: Railuino 0.9 + Artikel + Hardware

#14

Beitrag von starky » Mo 18. Mär 2013, 10:17

Hallo Matthias,

so ähnlich habe ich das auch gemacht und auf der Basis der IRremote-Library meinen Teensy 2.0 eingebunden. Wegen der ungewöhnlichen Verwendung des RC5-Protokolls für Lokfunktionen musste ich dazu Jörgs Änderungen (RC5-"Extended") in die IRremote-Library einbauen.

@Jörg: Vielleicht macht es Sinn, den Railunio-IR-Teil eigenständig zu machen, für verschiedene Boards zu portieren und in einen Code zusammenzuführen? Ich könnte den Teil für Teensy 2.0 und 3.0 übernehmen. Matthias hat es ja wohl dann schon für den Due gemacht. Ein paar Ideen für Erweiterungen hätte ich noch: Ansteuerung der Batteriezüge von Märklin (z.B. Startpackung 29210, bin noch am testen wie das geht) und eine Empfangsfunktion für Befehle der Märklin-Fernsteuerung.

Gruß, Markus


starky

Re: Railuino 0.9 + Artikel + Hardware

#15

Beitrag von starky » Mo 18. Mär 2013, 10:45

Hallo Jörg,

inzwischen ist mein CANdiy-Shield da. Leider ist da keine Aufbauanleitung o.ä. drin und auf der Herstellerseite ist auch nichts zum "Bestücken" - wahrscheinlich weil ein Profi damit kaum Probleme hat (ich aber schon). Die Jumper und ihre Funktion werden nirgendwo im c't-Artikel oder bei den Downloads erwähnt.
Anhand des Schaltbildes und der Fotos aus der c't kann man zwar herausfinden, wo die Steckleisten hinkommen, aber ein bisschen unsicher bin ich noch, ob mein Leonardo richtig verbunden ist. Ein paar Fragen:

- Die Jumper 1,2 und 3 sind laut Schaltbild alle geschlossen. Auf allen c't-Fotos sind sie aber offen oder gar nicht eingebaut. Brauche ich die nun doch?
- Wenn ich das Schaltbild richtig verstehe, dann aktiviert JP1 den Endwiderstand, sollte also für eine normalen einfachen Aufbau (eine MS2, ein CANdiy-Shield sonst nix mehr am Bus) geschlossen sein?
- JP2 stellt dann die Spannung für den Bus bereit, die sollte aber schon von der MS2 kommen. Bleibt der dann offen? Oder ist das eine Spannungsversorgung für Arduino+CANdiy?
- JP3 legt die Masse auf den Bus, der wird dann geschlossen, oder?
- Muss der SPI-Konnektor des Leonardos verbunden werden, oder geht das über die Pins 11,12 und 13 (ich nehme an, dazu nimmt man die beiden 3-er Steckleisten)?
- Hast Du Tipps zum Löten des Mini-DIN-Steckers, nimmst Du z.B. Schrumpfschläuche, um Kurzschlüsse zu vermeiden?

Ich hoffe, meine Fragen sind nicht zu dumm, aber ich traue mich im Moment nicht, das Ganze so anzuschliessen.

Gruß, Markus

Benutzeravatar

Threadersteller
Caltrain
InterRegio (IR)
Beiträge: 178
Registriert: Sa 13. Nov 2010, 18:16
Nenngröße: H0
Stromart: AC
Steuerung: MS2 + IR
Gleise: C-Gleis
Alter: 47

Re: Railuino 0.9 + Artikel + Hardware

#16

Beitrag von Caltrain » Mo 18. Mär 2013, 15:32

Hallo Markus,

die Fragen sind prima. Sie zeigen, dass wir dringend noch ein paar Infos zum Board bereitstellen sollten. Das hole ich nach.

Die meisten Sachen hast Du aber bereits völlig korrekt herausgefunden:

J1 Terminierung 120 Ohm
J2 +12V vom CAN
J3 Masse vom CAN

Du kannst alle drei Jumper offen lassen. Wenn Du das Board von der Gleisbox aus mit Strom versorgen möchtest, dann stecke J2 und J3. J1 spielt für das Märklin-Projekt keine Rolle.

Die SPI läuft über den 6-Pin-Stecker. Der muss also verlötet werden (Achtung: Geht nach unten!). Tipps für den Mini-DIN-Stecker habe ich nicht, außer ein bisschen Geduld zu haben. :) Ich habe gute Erfahrungen damit gemacht, den Stecker im Nachinein mit Heißkleber auszuspritzen, um Kabelbrüche zu vermeiden.

Viele Grüße
Jörg


starky

Re: Railuino 0.9 + Artikel + Hardware

#17

Beitrag von starky » Mi 20. Mär 2013, 11:39

Hurra, es läuft!

Nachdem die Examples liefen, habe ich dann einen IR-TSOP an meinen Leonardo gehängt und mit der IRremote-Lib ein Empfangsprogramm für den Märklin-Infrarotsender geschrieben. Jetzt kann ich meine Lok wieder über den IR-Sender aus der Startpackung steuern!

Ein Problem habe ich aber noch: Nach ca. 1 Minute geht das ganze auf STOP. Das kann ich dann in der MS2 wegdrücken und es geht weiter, aber komisch ist das schon...

Gruß & Dank an Jörg,
Markus

Benutzeravatar

Threadersteller
Caltrain
InterRegio (IR)
Beiträge: 178
Registriert: Sa 13. Nov 2010, 18:16
Nenngröße: H0
Stromart: AC
Steuerung: MS2 + IR
Gleise: C-Gleis
Alter: 47

Re: Railuino 0.9 + Artikel + Hardware

#18

Beitrag von Caltrain » Mi 20. Mär 2013, 14:13

Klingt sehr wie die Auto-Abschaltung ("Totmanntaste") der IR-Anschlussbox, aber die spielt ja in Deinem Setup eigentlich keine Rolle. Hast Du mal alle Signale über die Arduino-Console mitgeloggt?

Viele Grüße
Jörg

Benutzeravatar

behbeh
Regionalbahn (RB)
Beiträge: 25
Registriert: Fr 25. Apr 2008, 07:09
Nenngröße: H0
Stromart: digital
Steuerung: CS1_Reload/6021
Gleise: C-Gleis & K-Gleis
Wohnort: Ochtrup
Alter: 60
Kontaktdaten:

Re: Railuino 0.9 + Artikel + Hardware

#19

Beitrag von behbeh » Mi 20. Mär 2013, 16:22

[quote="Caltrain"]Hallo Markus,

die Fragen sind prima. Sie zeigen, dass wir dringend noch ein paar Infos zum Board bereitstellen sollten. Das hole ich nach.

Die meisten Sachen hast Du aber bereits völlig korrekt herausgefunden:

J1 Terminierung 120 Ohm
J2 +12V vom CAN
!! Achtung...hier liegen 18..22V .zuviel für ein Arduino Board. Der Spg.regler wird heiss!!!!
Besser den Jumper offen lassen und das Arduino vom PC versorgen.

Benutzeravatar

samson
InterRegioExpress (IRE)
Beiträge: 373
Registriert: Di 12. Mai 2009, 13:53
Nenngröße: H0
Stromart: AC
Steuerung: CS2 CS1r CdB
Gleise: Vitrine ;-)
Wohnort: Rheinhessen

Re: Railuino 0.9 + Artikel + Hardware

#20

Beitrag von samson » Do 21. Mär 2013, 19:31

Hallo Jörg,

ich hätte da mal eine Frage: wie werden die Bauteile aus dem Zusatzangebot verbaut?

Die 10polige DIN und das Patchkabe sind mir klar; aber der MCP 23S08: wie wird der mit dem Arduino auf dem Protobereich verbunden um seine Funktion zu gewährleisten?

Vielleicht hast du ein Realbild und ein Schaltbild dafür; für mich als Maschinenbauer sind die Infos in den c't Hacks leider nicht deutlich genug...
Gruß
Christoph

CS3+ 1.2.0 // CS2 4.1.0 // CS1 Aufgeladen 4.1.0 // MS2 // MS1 // 6021 // CAN-digital-Bahn by TM // Vitrinenbahner // Ausprobierer


starky

Re: Railuino 0.9 + Artikel + Hardware

#21

Beitrag von starky » Fr 22. Mär 2013, 02:07

Caltrain hat geschrieben:Klingt sehr wie die Auto-Abschaltung ("Totmanntaste") der IR-Anschlussbox, aber die spielt ja in Deinem Setup eigentlich keine Rolle.
Hallo Jörg,

ich habe den Fehler gefunden ... auweia ... das alte IR-Anschlussgleis war noch eingebaut. Es hing zwar kein Trafo mehr dran, aber es hat das ganze System natürlich gestört. Ich nehme mal an, die Gleisbox hat das nach einer gewissen Zeit als Kurzschluss interpretiert und alles gestoppt.

Jetzt geht alles prima! Neben der Märklin IR-Fernbedienung und der Railuino-IR-Weichensteuerung habe ich inzwischen sogar eine völlig andere Fernbedienung eingebunden - im Prinzip kann man so praktisch jede Fernbedienung einlernen. Ist allerdings noch einiges an Fleißarbeit zu machen, im Moment gehen nur 16 Weichen und die Lok bei Adresse 78, aber das ist jetzt einfach zu erweitern.

Ein Problem habe ich aber noch: Wenn ich zwischendurch mit der MS2 steuere, dann hat der Arduino danach keinen Zugriff mehr auf die Lok. Kann man das ändern?

@Samson: Auf Seite 62 der c´t Hacks ist unten ein Schaltplan für den 23S08-Einbau. Die Arduino-Pins werden aber leider je nach Kontext immer mal anders bezeichnet, als Anfänger hat man es da schwer. So habe ich mich z. B. gefragt, ob der Pin D6 auf der unteren Zeichnung dem Pin 6 auf der oberen oder dem Pin PD6, der auf Pin 12 liegt entspricht. Im Railuino-Code wird aber Pin 6 angesprochen, so dass ich Bein 7 und 8 vom 23S08 an die Pins 6 und 3 anschließen würde. Die Pins SCLK/MOSI/MISO findest Du am SPI-Stecker. Ob mit RST der allgemeine RESET, der Reset am SPI oder was ganz anderes gemeint ist, wird mir im Moment auch nicht klar. Ich hoffe, Jörg kann da noch Licht ins Dunkel bringen. Mich würde dann z.B. auch noch interessieren, wie man mehrere 23S08 anschließt.

@behbeh: Ich messe zwischen J2 und J3 auch 18V. Der Arduino soll zwar 20V vertragen, aber das ist mir auch zu heikel.


Gruß, Markus


maxu
InterRegio (IR)
Beiträge: 227
Registriert: Di 18. Jan 2011, 15:01
Nenngröße: H0
Stromart: digital
Steuerung: CS2

Re: Railuino 0.9 + Artikel + Hardware

#22

Beitrag von maxu » Fr 22. Mär 2013, 11:48

starky hat geschrieben:Mich würde dann z.B. auch noch interessieren, wie man mehrere 23S08 anschließt.
Verwendung eines MCP23S17 bietet bereits 16 Eingänge. Falls dies nicht reicht, bieten MCP23S08 zwei bzw. MCP23S17 drei Adressleitungen. Damit lassen sich vier MCP23S08 bzw. acht MCP23S17 ansteuern. Beim MCP23S08 liegen die Adressleitungen A0 an Pin 5 und A1 an Pin 4. Im Schaltbild auf Seite 62 unten der c't Hacks sind diese Pins auf Masse, d.h. die feste Adresse 00 gelegt.

Zu beiden Bausteinen finden sich beim Hersteller Microchip ausführliche Datenblätter.

Gruß

Max

Benutzeravatar

samson
InterRegioExpress (IRE)
Beiträge: 373
Registriert: Di 12. Mai 2009, 13:53
Nenngröße: H0
Stromart: AC
Steuerung: CS2 CS1r CdB
Gleise: Vitrine ;-)
Wohnort: Rheinhessen

Re: Railuino 0.9 + Artikel + Hardware

#23

Beitrag von samson » So 24. Mär 2013, 17:28

Hallo Markus,
starky hat geschrieben:...
@Samson: Auf Seite 62 der c´t Hacks ist unten ein Schaltplan für den 23S08-Einbau. Die Arduino-Pins werden aber leider je nach Kontext immer mal anders bezeichnet, als Anfänger hat man es da schwer. So habe ich mich z. B. gefragt, ob der Pin D6 auf der unteren Zeichnung dem Pin 6 auf der oberen oder dem Pin PD6, der auf Pin 12 liegt entspricht. Im Railuino-Code wird aber Pin 6 angesprochen, so dass ich Bein 7 und 8 vom 23S08 an die Pins 6 und 3 anschließen würde. Die Pins SCLK/MOSI/MISO findest Du am SPI-Stecker. Ob mit RST der allgemeine RESET, der Reset am SPI oder was ganz anderes gemeint ist, wird mir im Moment auch nicht klar.
das ist aber genau der Punkt: ich bin ein visueller Typ, ich brauche Bilder :roll:

Wäre schön wenn Jörg seine Idee skizzieren kann oder ein Bild seiner Verkabelung hier posten könnte, insbesondere da er ja diese beiden Sets angeregt hat.
Gruß
Christoph

CS3+ 1.2.0 // CS2 4.1.0 // CS1 Aufgeladen 4.1.0 // MS2 // MS1 // 6021 // CAN-digital-Bahn by TM // Vitrinenbahner // Ausprobierer


maxu
InterRegio (IR)
Beiträge: 227
Registriert: Di 18. Jan 2011, 15:01
Nenngröße: H0
Stromart: digital
Steuerung: CS2

Re: Railuino 0.9 + Artikel + Hardware

#24

Beitrag von maxu » Mo 25. Mär 2013, 20:18

Wo benötige ich denn den 10 kOhm Widerstand und den 100nF Kondensator (letzterer evtl. C1 auf Seite 62 unten?) aus den 'Railuino Komponenten'?

Gruß

Max


starky

Re: Railuino 0.9 + Artikel + Hardware

#25

Beitrag von starky » Di 26. Mär 2013, 00:15

Ich denke, der Kondensator kommt zwischen Pin 18 (Vcc) und 9 (GND) des 23S08 und ist ein Abblockkondensator, das sollte man ja bei jedem IC machen. Wie Du schriebst, ist das im Schaltbild auf S. 62 ja auch so verzeichnet. Ein Abblockkondensator muss aber so nah wie möglich an die Pins, deswegen finde ich das Bild auch etwas irreführend.

Vermutlich ist der 10kOhm ein Pull-Up-Widerstand für den Interrupt-Pin des 23S08 und kommt zwischen Pin 7 und 5V. Pin 7 ist zusätzlich mit Pin 3 des Arduino (Interruptpin 1) verbunden. So ist das zumindest im Code bei der Klasse TrackReporterIOX beschrieben. Im Schaltbild fehlt der leider völlig.

Antworten

Zurück zu „Software und Hardware“