Forum: Mikrocontroller und Digitale Elektronik [Arduino] CAN-Bus = CAN-Bus?


von Niklas S. (niks)


Lesenswert?

Hallo Community,

für meine Abschlussarbeit an der HTL brauche ich einen Neigungssensor.
Um den relativ genauen Anforderungen gerecht werden zu können, wird 
vermutlich dieser verwendet:

https://www.ifm.com/products/at/ds/JN2101.htm

Nun zum Problem: Um mit dem Arduino UNO kommunizieren zu können, brauche 
ich eine CAN-Shield, wie dieses:

https://www.sparkfun.com/products/13262 oder das:

https://www.seeedstudio.com/CAN-BUS-Shield-V1.2-p-2256.html

Benötige ich außer einem Verbindungskabel auf die SUB-D-Schnittstelle, 
sonst noch etwas? Funktioniert die Kommunikation mit einem dieser 
Shields? Bei dem von Sparkfun kann man per Jumper das Signal ohne IC 
direkt mit einem digitalen Pin verwenden.

Ich hoffe, dass dies kein Doppel-Thread ist. Ich danke im Voraus für die 
ganze Mithilfe.

Lg
Niklas

von Rudolph R. (rudolph)


Lesenswert?

Die Hardware ist das eine, das ist zwar nicht so toll, geht aber schon, 
ein externer per SPI angebundener CAN-Controller ist lange nicht so 
mächtig wie ein µC nut integriertem CAN-Controller.

Aber, der Sensor arbeitet mit CANopen, das ist ein Protokoll, eine 
zusätzliche Software-Schicht, schau Dich schon mal nach 
Implementierungen für Arduino davon um.

von Niklas S. (niks)


Lesenswert?

Auf die schnelle habe ich jetzt dieses Projekt gefunden:

er verwendet ebenfalls einen MCP2515 und einen MCP2551 und ist laut 
seinen Angaben mit den meisten CAN-Arduino-Shields kompatibel.

Kann das funktionieren?

Ich entschuldige mich für die ganzen Fragen, aber mit dem CAN-Bus hatte 
ich bisher noch nichts zu tun.

lg
niklas

von guest (Gast)


Lesenswert?

Niklas S. schrieb:
> Auf die schnelle habe ich jetzt dieses Projekt gefunden:

??? Welches denn? Link vergessen?

Hier gibt es ein Profekt das passen könnte:
https://github.com/canopennode/canopennode
Keine Ahnung ob "Simple NMT master." ausreicht oder Dein Ssensor mehr 
braucht.
Ansonsten schau in das Manual vom Sensor, ab Seite 7 siehst Du was der 
via CiA kann bzw. haben will.
Einen CiA (-Master) Stack in einen AVR mit 2k RAM zu verfrachten dürfte 
in jedem Fall schon ziemlich sportlich werden.

von Niklas S. (niks)


Lesenswert?


von Guido C. (guidoanalog)


Lesenswert?

Hallo,

Rudolph R. schrieb:
> Aber, der Sensor arbeitet mit CANopen, das ist ein Protokoll, eine
> zusätzliche Software-Schicht, schau Dich schon mal nach
> Implementierungen für Arduino davon um.

...oder vielleicht nach einem Neigungssensor mit "normalem" CAN. Hier 
gibt bestimmt auch Modelle von ifm.

http://www.gemac-chemnitz.de/en/products/sensors/inclination-sensors/is2bp090-c-cl-detail
http://www.gemac-chemnitz.de/en/products/sensors/inclination-sensors/is2sp090-c-bl-detail
http://www.gemac-chemnitz.de/en/products/sensors/inclination-sensors/is2tk090-c-rl-detail

Mit freundlichen Grüßen
Guido

PS.: Terminierung am CAN-Bus nicht vergessen.

von Niklas S. (niks)


Lesenswert?

die Genauigkeit sollte im Bereich von maximal 0.02° sein.

von guest (Gast)


Lesenswert?

Niklas S. schrieb:
> Link:
>
> https://github.com/jgeisler0303/AGCON

Das drunterliegende CanFestival implementiert schon mal auch die 
Masterfunktionalität. Wird aber AFAIK in AGCON nicht benutzt, das 
müßtest Du dann auf jeden Fall noch selber dazubauen. Ansonsten 
behandelt AGCON nur ein paar IO-Pins, Dein Sensor ist da schon etwas 
anspruchsvoller.
Wenn Dein Arduino sonst nicht mehr viel macht, könnte sich das mit den 
2k RAM  noch ausgehen.

von guest (Gast)


Lesenswert?

Hier ist noch ein Stack, dürfte auch recht klein sein.
"For reference, educational and strictly non-commercial purposes":
http://www.canopenbook.com/files/MCOv2.00.zip
Ist eine ältere Version von 2003, die zu dem Buch dazugehört:
http://www.canopenbook.com/

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.