Forum: Mikrocontroller und Digitale Elektronik Studienprojekt Wireless CAN


von Julian (Gast)


Lesenswert?

Hallo,
ich benötige Hilfe bei einem Projekt an unserer Hochschule. Die 
Aufgabenstellung ist ein CAN Signal kabellos zu übertragen. Wie genau 
bleibt uns überlassen. Unsere Idee war das ganze mit einem Arduino und 
einem HC-05 Bluetooth Modul umzusetzen. Auf diesem Modul sitzt ein BC417 
Bluetooth Chip. Da der Arduino kein CAN Interface hat benötigen wir 
einen CAN Transceiver. Hier haben wir folgenden MCP2515 ausgewählt:

https://www.amazon.de/haljia-mcp2515-Can-tja1050-Empf%C3%A4nger-Arduino-Raspberry/dp/B06XCMJNQH/ref=sr_1_1?ie=UTF8&qid=1524131975&sr=8-1&keywords=mcp2515

Da wir jedoch noch kaum Erfahrung in solchen Dingen außer ein wenig 
Arduino Programmierung haben gestaltet sich weiteres für uns recht 
schwierig. Könnt ihr uns Tipps geben wo wir am besten anfangen?

Viele Grüße

: Verschoben durch Moderator
von Karl der erste von oben (Gast)


Lesenswert?

Julian schrieb:
> Könnt ihr uns Tipps geben wo wir am besten anfangen?

Ist das die ganze Aufgabenstellung?
Can übertragen ist unspezifisch und kann je nach Auslegung komplex 
werden. So lange es nur in eine Richtung gehen soll, Bett das ganze 
herunter. Zuerst can senden und empfangen üben, dann funken üben, dann 
beides zusammen bauen...

von Julian (Gast)


Lesenswert?

Ja, leider ist das die ganze Aufgabenstellung. Soweit ich weis soll das 
nur in eine Richtung gehen, sprich wir sollen einen Sender und einen 
Empfänger bauen.

von Curby23523 N. (Gast)


Lesenswert?

OT: Wenn ich Funk mache, z.B. WLAN oder Bluetooth, warum sollte man dort 
dann CAN übertragen wollen? Als Lernfaktor - ok. Aber bei Bluetooth oder 
WLAN bieten sich natürlich bessere Protokolle an, die man dann auch 
verwendet. Höchstens, um zwei entfernte CAN Netze zu verbinden.

Ich würde keinen Arduino verwenden, sondern ein Devboard mit einem 
Controller, der bereits eine Schnittstelle integriert hat, z.B 
Bluetooth, Zigbee, etc.

Das kann dann gerne auch ein 32bitter sein, ohne Arduino - dann ist der 
Lernerfolg auch um einiges größer. Suche ich z.B. bei Google Bilder nach 
"stm32 zigbee" werde ich schon fündig.

von Wolfgang (Gast)


Lesenswert?

Curby23523 N. schrieb:
> Ich würde keinen Arduino verwenden, sondern ein Devboard mit einem
> Controller, der bereits eine Schnittstelle integriert hat, z.B
> Bluetooth, Zigbee, etc.

Wieso sollte der CAN-Controller von einem Arduino nicht reichen?

Passenden Treiber dran und fertig.

von Karl der erste von oben (Gast)


Lesenswert?

Curby23523 N. schrieb:
> Wenn ich Funk mache, z.B. WLAN oder Bluetooth, warum sollte man dort
> dann CAN übertragen wollen?

Galvanische Trennung ?
Zumal die busarbitrierung, eine der wesentlichen Eigenschaften des can, 
so sicher nicht mehr funktioniert. Egal. Ist für die Bildung. Sagen wir 
dem Aufgabensteller ist nichts sinnvolles eingefallen was realisierbar 
ist.

Curby23523 N. schrieb:
> Ich würde keinen Arduino verwenden, sondern ein Devboard mit einem
> Controller, der bereits eine Schnittstelle integriert hat, z.B
> Bluetooth, Zigbee, etc.
Das kann auch arduino sein. Bei entsprechend wenig Vorwissen schadet es 
aber nicht wenn lauffähige Beispiele dabei sind.

von Martin H. (horo)


Lesenswert?

An der Hochschule kann ein bisschen Theorie nie schaden. Ihr solltet 
euch mit Aloha beschäftigen und wie Ethernet (CSMA/CD) daraus entstanden 
ist. Dann dürfte der Schritt zu CSMA/CR von CAN ein Aha-Erlebnis sein.
Vielleicht gefällt fundierte Herangehensweise auch dem/der Profx.

https://www.google.com/search?q=aloha+vs+ethernet

Auch der olle Tanenbaum (Computer Networks) ist lesenswert.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Julian schrieb:
> Soweit ich weis soll das nur in eine Richtung gehen, sprich wir sollen
> einen Sender und einen Empfänger bauen.
Der Witz am CAN ist aber, dass er in beide Richtungen "geht"...

> Die Aufgabenstellung ist ein CAN Signal kabellos zu übertragen.
Nicht eher nur die Daten, die auf diesem CAN-Bus unterwegs sind?

> Soweit ich weis soll das nur in eine Richtung gehen, sprich wir sollen
> einen Sender und einen Empfänger bauen.
Und was soll denn da übertragen werden?

> Soweit ich weis
Du brauchst mehr Informationen zum Lösen der Aufgabe. Hole sie dir.

BTW: auch wenn du dich in der Ausbildung auf einer Schule befindest, hat 
deine Frage prinzipiell nichts mit "Schule, Studium und Beruf" zu tun...

: Bearbeitet durch Moderator
von N. N. (clancy688)


Lesenswert?

Hi,

eine einfache Möglichkeit für sowas ist ein Raspberry Pi plus ein 
CAN-Modul:

http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-2-p-1475.html

Steckste einfach auf den Pi, die Treiber und API (SocketCAN) ist schon 
im Linux Kernel drin. Dann eine Applikation bauen, die die 
CAN-Botschaften über Ethernet/WiFi verschickt / sendet ist trivial.

: Bearbeitet durch User
von Gerd B. (bertr2d2) Benutzerseite


Lesenswert?

Lu R. schrieb:
> Hi,
>
> eine einfache Möglichkeit für sowas ist ein Raspberry Pi plus ein
> CAN-Modul:
>
> http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-2-p-1475.html
>
> Steckste einfach auf den Pi, die Treiber und API (SocketCAN) ist schon
> im Linux Kernel drin. Dann eine Applikation bauen, die die
> CAN-Botschaften über Ethernet/WiFi verschickt / sendet ist trivial.

Jepp, siehe hier:

2x https://github.com/GBert/misc/tree/master/RPi-MCP2515
https://github.com/GBert/railroad/blob/master/can2udp/src/can2eth.c

Fertig an einem Nachmittag ...

: Bearbeitet durch User
von soso (Gast)


Lesenswert?

Ich hätte eine möglicherweise dumme Idee:
Man moduliert das CAN-Signal auf einen IR-Transmitter auf (mit einer FSK 
oder OOK zum Beispiel).
RX und TX gleichzeitig müsste gehen, vorausgesetzt man verwendet 
unterschiedliche Carrier.

Gegenüber Funk hat das den Vorteil, dass man keine 
Zulassungsbeschränkungen hat. Die Technik dürfte auch schön billig sein.

Der große Nachteil ist sicher die Reichweite und nötige Sichtverbindung. 
Müsstet ihr klären, ob das überhaupt aktzepabel ist.

IRDA geht ja bis zu wirklich hohen Datenrate, möglicherweise gibts da 
fertige Tranceiver zu kaufen?

von Martin H. (horo)


Lesenswert?

soso schrieb:
> RX und TX gleichzeitig müsste gehen, vorausgesetzt man verwendet
> unterschiedliche Carrier.

Beim CAN-Bus hast Du auch nur ein gemeinsam genutztes Medium ohne 
verschiedene Träger; wenn Du Licht an als dominant und Licht aus als 
rezessiv ansiehst, dann passt das schon. 'Ne Modulation als Schutz gegen 
Fremdlicht, fertig.

von Jack (Gast)


Lesenswert?

Lu R. schrieb:
> Dann eine Applikation bauen, die die
> CAN-Botschaften über Ethernet/WiFi verschickt / sendet ist trivial.

Und wird einen richtig bescheidenen Datendurchsatz liefern. Wie schon 
mal jemand oben angedeutet hat, einem Studenten ist weder Nachdenken 
noch ein tieferer Einstige in die Technik verboten. Im Gegenteil.

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.