CAN-Kommunikation mit Arduino: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 4: Zeile 4:


==Testen der Hardware in einem CAN-Netzwerkes==
==Testen der Hardware in einem CAN-Netzwerkes==
Um die Funktion der zur verfügung gestellten Hardware zu testen, wird ein kleines CAN-Netzwerk mit zwei Teilnehmern aufgebaut. Ein Teilnehmer ist dabei der Arduino mit einem CAN-Shield der Firma Sparkfun. Der andere Teilnehmer ist ein CAN-Case der Firma Vector. Es soll gewährleistet werden, dass beide Teilnehmer senden und empfangen können. Um dies zu wird ein kleines Programm erstellt, welches eine CAN-Botschaft empfängt und zurückschickt. Das Programm bedient sich dieser [http://code.google.com/p/skpang/downloads/detail?name=Canbus_v4.zip&can=2&q= Library], welcher auf der Sparkfun Seite von diversen Nutzern hochgeladen wurde. Der Ablauf des Programmes wird an späterer Stelle erläutert.
Um die Funktion der zur verfügung gestellten Hardware zu testen, wird ein kleines CAN-Netzwerk mit zwei Teilnehmern aufgebaut. Ein Teilnehmer ist dabei der Arduino mit einem CAN-Shield der Firma Sparkfun. Der andere Teilnehmer ist ein CAN-Case der Firma Vector. Es soll gewährleistet werden, dass beide Teilnehmer senden und empfangen können. Um dies zu wird ein kleines Programm erstellt, welches eine CAN-Botschaft empfängt und zurückschickt. Das Programm bedient sich dieser [http://code.google.com/p/skpang/downloads/detail?name=Canbus_v4.zip&can=2&q= Library], welcher auf der Sparkfun Seite von diversen Nutzern hochgeladen wurde. Der Ablauf des Programmes wird am Ende dieses Kapitels erläutert.


Erste Versuche mit gegebener Hard- und Software blieben erfolglos, nach diversen Tests stellte sich heraus das die Verbindung über das vorgekripte Kabel nicht funktioniert. Der Grund dafür könnte sein, dass der Arduino ein zu schwaches Signal sendet, sodass dieses über die Leitungslänge verloren geht. Das Arduino-Shield stellt an anderer Stelle CAN-H und CAN-L zur verfügung, über diese Kontakte könnte über einadrige Leitungen einer direkte Verbindung zu dem CAN-Case hergestellt werden. Dabei ist zu beachten das ein Aufstecken des CAN-Shieldes nur bei dem Arduino UNO möglich ist. Möchte man einen Arduino Mega 2560 verwenden, müssen die Pins des Shieldes mit Leitungen zu bestimmten Pins des Arduino Megas geleitet werden. Die Pin-Zuordnung zeigt folgende Tabelle:
Erste Versuche mit gegebener Hard- und Software blieben erfolglos, nach diversen Tests stellte sich heraus das die Verbindung über das vorgekripte Kabel nicht funktioniert. Der Grund dafür könnte sein, dass der Arduino ein zu schwaches Signal sendet, sodass dieses über die Leitungslänge verloren geht. Das Arduino-Shield stellt an anderer Stelle CAN-H und CAN-L zur verfügung, über diese Kontakte könnte über einadrige Leitungen einer direkte Verbindung zu dem CAN-Case hergestellt werden. Dabei ist zu beachten das ein Aufstecken des CAN-Shieldes nur bei dem Arduino UNO möglich ist. Möchte man einen Arduino Mega 2560 verwenden, müssen die Pins des Shieldes mit Leitungen zu bestimmten Pins des Arduino Megas geleitet werden. Die Pin-Zuordnung zeigt folgende Tabelle:

Version vom 12. November 2013, 15:40 Uhr

Einleitung

In diesem Beitrag wird erläutert, wie mit einem Arduino Daten per CAN-Protokoll übertragen werden können. Dazu wird ein CAN-Shield der Firma Sparkfun eingesetzt. Alle verwendeten Programme bzw. Libraries werden an entsprechender Stelle hochgeladen. Zur Überprüfung der Kommunikation wird ein "CAN-Case" der Firma Vector eingesetzt.

Testen der Hardware in einem CAN-Netzwerkes

Um die Funktion der zur verfügung gestellten Hardware zu testen, wird ein kleines CAN-Netzwerk mit zwei Teilnehmern aufgebaut. Ein Teilnehmer ist dabei der Arduino mit einem CAN-Shield der Firma Sparkfun. Der andere Teilnehmer ist ein CAN-Case der Firma Vector. Es soll gewährleistet werden, dass beide Teilnehmer senden und empfangen können. Um dies zu wird ein kleines Programm erstellt, welches eine CAN-Botschaft empfängt und zurückschickt. Das Programm bedient sich dieser Library, welcher auf der Sparkfun Seite von diversen Nutzern hochgeladen wurde. Der Ablauf des Programmes wird am Ende dieses Kapitels erläutert.

Erste Versuche mit gegebener Hard- und Software blieben erfolglos, nach diversen Tests stellte sich heraus das die Verbindung über das vorgekripte Kabel nicht funktioniert. Der Grund dafür könnte sein, dass der Arduino ein zu schwaches Signal sendet, sodass dieses über die Leitungslänge verloren geht. Das Arduino-Shield stellt an anderer Stelle CAN-H und CAN-L zur verfügung, über diese Kontakte könnte über einadrige Leitungen einer direkte Verbindung zu dem CAN-Case hergestellt werden. Dabei ist zu beachten das ein Aufstecken des CAN-Shieldes nur bei dem Arduino UNO möglich ist. Möchte man einen Arduino Mega 2560 verwenden, müssen die Pins des Shieldes mit Leitungen zu bestimmten Pins des Arduino Megas geleitet werden. Die Pin-Zuordnung zeigt folgende Tabelle:

CAN-Shield Arduino-Mega
D10 D50
D11 D51
D12 D52
D13 D53

Vorhandene Software