Inhoudsopgave:

Sparkfun CAN Bus Shield-zelfstudie - Ajarnpa
Sparkfun CAN Bus Shield-zelfstudie - Ajarnpa

Video: Sparkfun CAN Bus Shield-zelfstudie - Ajarnpa

Video: Sparkfun CAN Bus Shield-zelfstudie - Ajarnpa
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, November
Anonim
Sparkfun CAN Bus Shield-zelfstudie
Sparkfun CAN Bus Shield-zelfstudie

Berichten ontvangen en verzenden met Sparkfun CAN Bus Shield

Wat is KAN?

De CAN-bus is door BOSCH ontwikkeld als een multi-master, message broadcast-systeem dat een maximale signaleringssnelheid van 1 megabit per seconde (bps) specificeert. In tegenstelling tot een traditioneel netwerk zoals USB of Ethernet, verzendt CAN geen grote blokken data point-to-point van knooppunt A naar knooppunt B onder toezicht van een centrale busmaster. In een CAN-netwerk worden veel korte berichten zoals temperatuur of RPM uitgezonden naar het hele netwerk, wat zorgt voor gegevensconsistentie in elk knooppunt van het systeem.

Stap 1: Benodigde materialen

2 - Sparkfun CAN-bus schild

2 - Arduino UNO

2 - 120 ohm weerstanden

1 - Broodplank

Doorverbindingsdraden

CAN Bus Shield-bibliotheek downloaden:

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

Geavanceerd (CAN-bus):

DB9 (vrouwelijk)

RJ45

UTP-kabel

RJ45 2-weg splitter

RJ45 rechte connector

Gereedschap:

Schroevendraaier

RJ45 Crimper

Soldeerbout

Stap 2: CAN-bus bouwen op breadboard

CAN-bus bouwen op breadboard
CAN-bus bouwen op breadboard

1. Monteer het CAN-busschild op elk één Arduino

2. Sluit de CAN_H- en CAN_L-pinnen van het schild aan op het breadboard

3. Sluit de 120 ohm afsluitweerstanden aan op elk uiteinde van de CAN_H- en CAN_L-lijnen

Stap 3: Arduino-programmering

Arduino-programmering
Arduino-programmering

1. Download en installeer de CAN Bus Shield-bibliotheek via de bovenstaande link

Configureer de eerste Arduino om CAN-berichten te lezen

2. Open Arduino IDE

3. Ga naar Bestandsvoorbeelden SparkFun CAN-Bus CAN_Read_Demo

4. Selecteer de juiste poort van de eerste Arduino en upload

Configureer 2e Arduino om CAN-berichten te verzenden

5. Open een nieuwe Arduino IDE

6. Ga naar Bestandsvoorbeelden SparkFun CAN-Bus CAN_Write_Demo

7. Selecteer de juiste poort van de tweede Arduino en upload

Stap 4: Testen

/*Foto's van werkend voorbeeld toevoegen*/

Na het uploaden van het programma naar de twee Arduino's…

1. Open de seriële monitoren van de eerste en tweede Arduino

2. Stel de baudrate in op 9600

3. Controleer of de gegevens zijn ontvangen door de eerste Arduino

Als er geen gegevens worden ontvangen:

1. Controleer of de juiste poort en baudrate is geselecteerd voor elke Arduino

2. Controleer de aansluitingen van de CAN_H en CAN_L lijnen

3. Controleer de aansluitingen van de afsluitweerstanden

Stap 5: Verkennen

Aangepaste CAN-berichten maken

Bewerk het CAN_Write_Demo-programma om…

  • de bericht-ID wijzigen (message.id)
  • verander RTR-bit (message.header.rtr)
  • stel de gegevenslengte in (message.header.length)
  • voer uw eigen gegevens in (message.data[x])

Bewerk de CAN_Read_Demo om aan te passen hoe u uw gegevens afdrukt

  • Druk de bericht-ID af (message.id)
  • Druk de berichtlengte af (message.header.length)
  • Print het bericht Data (message.data[x])

Stap 6: (Extra) CAN-bus maken met UTP

(Extra) CAN-bus maken met UTP
(Extra) CAN-bus maken met UTP
(Extra) CAN-bus maken met UTP
(Extra) CAN-bus maken met UTP
(Extra) CAN-bus maken met UTP
(Extra) CAN-bus maken met UTP

De CAN-bus die in dit diagram wordt gebruikt, is een 8-pins UTP-kabel.

Er zijn twee soorten connectoren in dit schema namelijk de (DB9 - naar - RJ45) en (RJ45 - naar - RJ45)

DB9 - tot - RJ45

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

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

RJ45 - tot - RJ45 (rechtdoor)

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

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

RJ45 - naar - Terminator

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

Terminator-weerstand (wG, wBl)

De nodes kunnen worden aangesloten op de CAN-bus volgens uw voorkeur en het aantal gebruikte nodes

Voor een verbinding met twee knooppunten wordt een RJ45 Rechte connector gebruikt tussen de (DB9 - naar - RJ45) Kabels

Voor een 3-node-verbinding wordt een 2-weg splitter gekoppeld gekoppeld aan een rechte connector om een "T"-verbinding te maken tussen alle (DB9 - naar - RJ45) kabels

Voor de 2+ node-verbinding (2 of meer nodes) wordt een 2-weg splitter gekoppeld met een rechte connector om een "T"-verbinding te maken. Een (RJ45 - naar - RJ45) kabel wordt gebruikt om twee "T"-knooppunten aan te sluiten en een (DB9 - naar - RJ45) kabel wordt gebruikt om het "T"-knooppunt op het CAN-busscherm aan te sluiten. Er werd een RJ45 - naar - Terminator gebruikt aan elk "T" -uiteinde van de CAN-bus

Aanbevolen: