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
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...
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.
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.
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.
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.
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.
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
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
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
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.