Forum: Mikrocontroller und Digitale Elektronik Arduino & CAN-Bus


von (unknown) (Gast)


Lesenswert?

Hallo!
Ich würde gerne mit meinem Arduino UNO CAN-Befehle auslesen/senden, die 
von meiner Märklin Mobile Station stammen.
Falls es interessiert: Ich habe die Anschlussbox 
https://www.maerklinshop.de/index.php?sid=6b3f6e6c2ec623bfa543df8145c5d2e7&cl=details&cnid=5fb37d5bbdbbae16dea2f3104d7f9439&anid=M024088&pgNr=1


Dort würde ich gerne per Arduino anstelle der zweiten MobileStation 
mithören, um später dann darüber auch Züge steuern zu können.

1. Kennt jemand eine geeignete Libary, die unter der IDE 1.0.1 läuft?
2. Wie sieht das mit der Elektrik aus? Ich geh mal davon aus, GND muss 
an Arduino GND. Kann ich mir da was schrotten? (Sind 2 verschiedene 
Netzteile)
Wo muss dann CAN_L und CAN_H dran? oder ist das egal?
(Belegung siehe http://www.bogobit.de/mosta/)

Danke für Antworten!

margau

von Waldemar M. (waldim90)


Lesenswert?

Hi,
ich würde mal behaupten, dass du für CAN einen CAN-Transceiver brauchst 
(zB. MCP 2551). Ich glaube ohne den kommst du nicht weit! Lies dir doch 
erstmal durch was CAN überhaupt ist und wie es funktioniert.

MfG Waldemar

von H.Joachim S. (crazyhorse)


Lesenswert?

Der CAN-Transceiver (den du natürlich brauchst) ist eher das kleinere 
Problem. Du brauchst einen CAN-Controller. In Software willst da das 
nicht wirklich machen (geht aber bei moderaten Baudraten, insbesonders 
wenn du nicht die volle Funktionalität brauchst und nur mithören 
willst).
Pack einen MCP2515 an die SPI und alles wird gut.

von Waldemar M. (waldim90)


Lesenswert?

Stimmt natürlich, den Controller hatte ich wohl vergessen ...

Wäre es nicht möglich, jetzt nur mal so aus juks, zB einen CAN Bus nur 
mit Transceiver und quasi eigenem Protokoll zu betreiben ? Der 
Transceiver wandelt die Daten vom SPI ja in die "CAN-Signale" um, 
welches Protokoll da jetzt durch geht ist dem doch wurscht...
MfG Waldemar

von PittyJ (Gast)


Lesenswert?

Ich hatte vor Jahren mal mit dem CAN-Bus zu tun.
Der ist 2 Stufen komplexer als I2C oder SPI. Da gibt es eine Menge zu 
beachten. z.B. kann die Geschwindigkeit eingestellt werden (du solltest 
also wissen, welche Geschwindigkeit Märklin benutzt).
Dann gibt es 2^29 Verschiedene Adressen, an denen man 8-Byte Werte 
schicken kann. Du solltest wissen, welche Adresse für was benutzt wird, 
und welches Format die Daten darin haben.
Ein Scope zum Analysieren könnte nicht schaden.
Wenn du aber noch Probleme mit der Masse hast, dann solltest du doch die 
Finger davon lassen.

Den Aufwand für einen SPI-Chip am Arduino würde ich in Stunden schätzen.
Für CAN würde ich den in Wochen schätzen.

von (unknown) (Gast)


Lesenswert?

Also, eigene Steuerung für meine Modellbahn dauert dann noch en paar 
jährchen. Es gibt ja Railuino, das hab ich aber nirgends zum Runterlaten 
etc. Gefunden.

von Thomas K. (thomas_k39)


Lesenswert?

Google und ein bisschen Nachforschen bringt diese Adresse:

http://code.google.com/p/railuino/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.