mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Studienprojekt Wireless CAN


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Karl der erste von oben (Gast)
Datum:

Bewertung
2 lesenswert
nicht 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...

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Curby23523 N. (nils_h494)
Datum:

Bewertung
2 lesenswert
nicht 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.

: Bearbeitet durch User
Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl der erste von oben (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin H. (horo)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lothar M. (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Lu R. (clancy688)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Gerd B. (bertr2d2) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: soso (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Martin H. (horo)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.