RE: Railuino 0.9 + Artikel + Hardware

#1 von Caltrain ( gelöscht ) , 01.03.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


Caltrain

RE: Railuino 0.9 + Artikel + Hardware

#2 von starky ( gelöscht ) , 05.03.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


starky

RE: Railuino 0.9 + Artikel + Hardware

#3 von Caltrain ( gelöscht ) , 05.03.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


Caltrain

RE: Railuino 0.9 + Artikel + Hardware

#4 von behbeh , 08.03.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


Kinder bettet Vater lötet


 
behbeh
Regionalbahn (RB)
Beiträge: 45
Registriert am: 25.04.2008
Homepage: Link
Gleise C-Gleis & K-Gleis
Spurweite H0
Steuerung CS1_Reload/6021
Stromart Digital


RE: Railuino 0.9 + Artikel + Hardware

#5 von Caltrain ( gelöscht ) , 09.03.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


Caltrain

RE: Railuino 0.9 + Artikel + Hardware

#6 von starky ( gelöscht ) , 09.03.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


starky

RE: Railuino 0.9 + Artikel + Hardware

#7 von behbeh , 09.03.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


Kinder bettet Vater lötet


 
behbeh
Regionalbahn (RB)
Beiträge: 45
Registriert am: 25.04.2008
Homepage: Link
Gleise C-Gleis & K-Gleis
Spurweite H0
Steuerung CS1_Reload/6021
Stromart Digital


RE: Railuino 0.9 + Artikel + Hardware

#8 von Caltrain ( gelöscht ) , 09.03.2013 14:46

Zitat von behbeh
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


Caltrain

RE: Railuino 0.9 + Artikel + Hardware

#9 von bertr2d2 , 09.03.2013 17:12

Hallo Jörg,

das ist schon Klasse was Du mit Railuino auf die beine stellst. Respekt

Zitat von Caltrain
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.ph...m=sys5&modul=54

Zitat
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 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.

Zitat von Caltrain
Auch eine Verbindung a la Gbox2Eth von Stefan Krauss wäre denkbar.


oder can2udp: http://lnxpps.de/can2udp

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

#10 von Caltrain ( gelöscht ) , 09.03.2013 17:36

Zitat von bertr2d2
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.

Zitat von bertr2d2

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.ph...m=sys5&modul=54

Zitat
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 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


Caltrain

RE: Railuino 0.9 + Artikel + Hardware

#11 von bertr2d2 , 09.03.2013 20:10

Zitat von Jörg
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:

1
2
3
 
byte 0-3 CAN ID
byte 4 DLC
byte 5-12 CAN data
 


Zitat
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


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

#12 von starky ( gelöscht ) , 13.03.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.


starky

RE: Railuino 0.9 + Artikel + Hardware

#13 von matthias12345 ( gelöscht ) , 16.03.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.


matthias12345

RE: Railuino 0.9 + Artikel + Hardware

#14 von starky ( gelöscht ) , 18.03.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 von starky ( gelöscht ) , 18.03.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


starky

RE: Railuino 0.9 + Artikel + Hardware

#16 von Caltrain ( gelöscht ) , 18.03.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


Caltrain

RE: Railuino 0.9 + Artikel + Hardware

#17 von starky ( gelöscht ) , 20.03.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


starky

RE: Railuino 0.9 + Artikel + Hardware

#18 von Caltrain ( gelöscht ) , 20.03.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


Caltrain

RE: Railuino 0.9 + Artikel + Hardware

#19 von behbeh , 20.03.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.


Kinder bettet Vater lötet


 
behbeh
Regionalbahn (RB)
Beiträge: 45
Registriert am: 25.04.2008
Homepage: Link
Gleise C-Gleis & K-Gleis
Spurweite H0
Steuerung CS1_Reload/6021
Stromart Digital


RE: Railuino 0.9 + Artikel + Hardware

#20 von samson , 21.03.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+ 2.3.1 // CS2 4.2.8// CS1 Aufgeladen 4.1.0 // MS2 // MS1 // 6021 // CAN-digital-Bahn by TM // Vitrinenbahner // Ausprobierer


 
samson
InterRegioExpress (IRE)
Beiträge: 370
Registriert am: 12.05.2009
Spurweite H0, Z
Steuerung CS3+/CS2/CS1rel/MS2/MS1/Can digital Bahn
Stromart Digital


RE: Railuino 0.9 + Artikel + Hardware

#21 von starky ( gelöscht ) , 22.03.2013 02:07

Zitat von Caltrain
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


starky

RE: Railuino 0.9 + Artikel + Hardware

#22 von maxu ( gelöscht ) , 22.03.2013 11:48

Zitat von starky
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


maxu

RE: Railuino 0.9 + Artikel + Hardware

#23 von samson , 24.03.2013 17:28

Hallo Markus,

Zitat von starky
...
@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

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+ 2.3.1 // CS2 4.2.8// CS1 Aufgeladen 4.1.0 // MS2 // MS1 // 6021 // CAN-digital-Bahn by TM // Vitrinenbahner // Ausprobierer


 
samson
InterRegioExpress (IRE)
Beiträge: 370
Registriert am: 12.05.2009
Spurweite H0, Z
Steuerung CS3+/CS2/CS1rel/MS2/MS1/Can digital Bahn
Stromart Digital


RE: Railuino 0.9 + Artikel + Hardware

#24 von maxu ( gelöscht ) , 25.03.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


maxu

RE: Railuino 0.9 + Artikel + Hardware

#25 von starky ( gelöscht ) , 26.03.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.


starky

   

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