Inhaltsverzeichnis:

Sparkfun CAN Bus Shield Tutorial - Gunook
Sparkfun CAN Bus Shield Tutorial - Gunook

Video: Sparkfun CAN Bus Shield Tutorial - Gunook

Video: Sparkfun CAN Bus Shield Tutorial - Gunook
Video: CAN BUS Communication Using Arduino And MCP2515 Module 2024, Juli
Anonim
Sparkfun CAN Bus Shield Tutorial
Sparkfun CAN Bus Shield Tutorial

Empfangen und Senden von Nachrichten mit Sparkfun CAN Bus Shield

Was ist KÖNNEN?

Der CAN-Bus wurde von BOSCH als Multi-Master-Message-Broadcast-System entwickelt, das eine maximale Signalisierungsrate von 1 Megabit pro Sekunde (bps) vorgibt. Im Gegensatz zu einem traditionellen Netzwerk wie USB oder Ethernet sendet CAN keine großen Datenblöcke Punkt-zu-Punkt von Knoten A zu Knoten B unter der Aufsicht eines zentralen Bus-Masters. In einem CAN-Netzwerk werden viele Kurznachrichten wie Temperatur oder Drehzahl an das gesamte Netzwerk gesendet, was für Datenkonsistenz in jedem Knoten des Systems sorgt.

Schritt 1: Benötigte Materialien

2 - Sparkfun CAN-Bus-Abschirmung

2 - Arduino UNO

2 - 120 Ohm Widerstände

1 - Steckbrett

Überbrückungsdrähte

Download der CAN-Bus-Shield-Bibliothek:

drive.google.com/open?id=1Mnf2PN_fAQFpo1ID…

Erweitert (CAN-Bus):

DB9 (weiblich)

RJ45

UTP-Kabel

RJ45 2-Wege-Splitter

Gerader RJ45-Steckverbinder

Werkzeuge:

Schraubenzieher

RJ45 Crimpzange

Lötkolben

Schritt 2: CAN-Bus auf Steckbrett aufbauen

CAN-Bus auf Steckbrett bauen
CAN-Bus auf Steckbrett bauen

1. CAN-Bus-Schild an jeweils einem Arduino montieren

2. Verdrahten Sie die CAN_H- und CAN_L-Pins der Abschirmung mit dem Steckbrett

3. Schließen Sie die 120-Ohm-Abschlusswiderstände an jedem Ende der Leitungen CAN_H und CAN_L an

Schritt 3: Arduino-Programmierung

Arduino-Programmierung
Arduino-Programmierung

1. Laden Sie die CAN Bus Shield Library über den oben angegebenen Link herunter und installieren Sie sie

Konfigurieren Sie 1st Arduino zum Lesen von CAN-Nachrichten

2. Öffnen Sie die Arduino-IDE

3. Gehen Sie zu Dateibeispiele SparkFun CAN-Bus CAN_Read_Demo

4. Wählen Sie den entsprechenden Port des ersten Arduino aus und laden Sie ihn hoch

2. Arduino zum Senden von CAN-Nachrichten konfigurieren

5. Öffnen Sie eine neue Arduino-IDE

6. Gehen Sie zu Dateibeispiele SparkFun CAN-Bus CAN_Write_Demo

7. Wählen Sie den entsprechenden Port des zweiten Arduino aus und laden Sie ihn hoch

Schritt 4: Testen

/*Bilder des Arbeitsbeispiels hinzufügen*/

Nach dem Hochladen des Programms auf die beiden Arduinos…

1. Öffnen Sie die seriellen Monitore des ersten und zweiten Arduino

2. Stellen Sie die Baudrate auf 9600. ein

3. Überprüfen Sie, ob Daten vom ersten Arduino empfangen werden

Wenn keine Daten empfangen werden:

1. Überprüfen Sie, ob für jeden Arduino der richtige Port und die entsprechende Baudrate ausgewählt ist

2. Überprüfen Sie die Anschlüsse der Leitungen CAN_H und CAN_L

3. Überprüfen Sie die Anschlüsse der Abschlusswiderstände

Schritt 5: Erkunden

Erstellen Sie benutzerdefinierte CAN-Nachrichten

Bearbeiten Sie das CAN_Write_Demo-Programm, um…

  • Ändern Sie die Nachrichten-ID (message.id)
  • RTR-Bit ändern (message.header.rtr)
  • setze die Datenlänge (message.header.length)
  • eigene Daten eingeben (message.data[x])

Bearbeiten Sie die CAN_Read_Demo, um das Drucken Ihrer Daten anzupassen

  • Drucken Sie die Nachrichten-ID (message.id)
  • Nachrichtenlänge drucken (message.header.length)
  • Drucken Sie die Nachricht Daten (message.data[x])

Schritt 6: (Zusätzlich) CAN-Bus mit UTP erstellen

(Zusätzlich) CAN-Bus mit UTP erstellen
(Zusätzlich) CAN-Bus mit UTP erstellen
(Zusätzlich) CAN-Bus mit UTP erstellen
(Zusätzlich) CAN-Bus mit UTP erstellen
(Zusätzlich) CAN-Bus mit UTP erstellen
(Zusätzlich) CAN-Bus mit UTP erstellen

Der in diesem Diagramm verwendete CAN-Bus ist ein 8-poliges UTP-Kabel.

In diesem Diagramm gibt es zwei Arten von Anschlüssen, nämlich (DB9 - zu - RJ45) und (RJ45 - zu - RJ45).

DB9 - auf - RJ45

DB9 (Pins 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br

RJ45 (Pins 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br

RJ45 - zu - RJ45 (Straight Through)

RJ45 (Pins 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br

RJ45 (Pins 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br

RJ45 - zu - Terminator

RJ45 (Pins 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br

Abschlusswiderstand (wG, wBl)

Die Knoten können je nach Wunsch und Anzahl der verwendeten Knoten an den CAN-Bus angeschlossen werden

Für eine Verbindung mit zwei Knoten wird ein gerader RJ45-Stecker zwischen den (DB9 - zu - RJ45) Kabeln verwendet

Für eine 3-Knoten-Verbindung wird ein gekoppelter 2-Wege-Splitter mit einem geraden Stecker gekoppelt, um eine "T"-Verbindung zwischen allen (DB9 - zu - RJ45) Kabeln herzustellen

Für die 2+ Knotenverbindung (2 oder mehr Knoten) wird ein 2-Wege-Splitter mit einem geraden Stecker gekoppelt, um eine "T"-Verbindung herzustellen. Ein (RJ45 - zu - RJ45) Kabel wird verwendet, um zwei "T"-Knoten zu verbinden und ein (DB9 - zu - RJ45) Kabel wird verwendet, um den "T"-Knoten mit der CAN-Bus-Abschirmung zu verbinden. An jedem "T"-Ende des CAN-Busses wurde ein RJ45-zu-Terminator verwendet

Empfohlen: