Inhaltsverzeichnis:
- Schritt 1: Benötigte Materialien
- Schritt 2: CAN-Bus auf Steckbrett aufbauen
- Schritt 3: Arduino-Programmierung
- Schritt 4: Testen
- Schritt 5: Erkunden
- Schritt 6: (Zusätzlich) CAN-Bus mit UTP erstellen
Video: Sparkfun CAN Bus Shield Tutorial - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
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
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
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
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:
AVR Assembler Tutorial 2: 4 Schritte
AVR Assembler Tutorial 2: Dieses Tutorial ist eine Fortsetzung von "AVR Assembler Tutorial 1" Wenn Sie Tutorial 1 noch nicht durchlaufen haben, sollten Sie jetzt aufhören und das zuerst tun. In diesem Tutorial werden wir unser Studium der Assemblersprachprogrammierung des atmega328p u
AVR Assembler Tutorial 1: 5 Schritte
AVR Assembler Tutorial 1: Ich habe beschlossen, eine Reihe von Tutorials zum Schreiben von Assemblerprogrammen für den Atmega328p, den Mikrocontroller des Arduino, zu schreiben. Wenn die Leute interessiert bleiben, werde ich weiterhin eine Woche oder so veröffentlichen, bis ich keine mehr habe
AVR-Assembler-Tutorial 6: 3 Schritte
AVR Assembler Tutorial 6: Willkommen bei Tutorial 6!Das heutige Tutorial wird kurz sein, in dem wir eine einfache Methode entwickeln, um Daten zwischen einem atmega328p und einem anderen über zwei Ports zu übertragen, die sie verbinden. Wir nehmen dann den Würfelroller aus Tutorial 4 und das Register
Actobitty 2 mit dem TB6612FNG SparkFun-Motortreiber, Anfängerleitfaden.: 3 Schritte
Actobitty 2 mit dem TB6612FNG SparkFun-Motortreiber, Anfängerhandbuch.: Diese Anleitung ist für den Actobitty 2-Roboter mit dem SparkFun ® TB6612FNG Motortreiber
Jeder Liter zählt! Arduino Wasserdosierer "Shield": 7 Schritte (mit Bildern)
Jeder Liter zählt! Arduino Wasserdosierer "Shield": Hallo! Mit diesem anweisbaren können Sie eine gewünschte Menge Wasser dosieren. Das System kann in ml und L arbeiten. Wir verwenden ein Arduino UNO, einen Durchflussmesser zum Zählen der Wassermenge, ein LCD zur Anzeige des Status, Drucktasten zum Ändern der Einstellungen und ein Relais zum Wechseln