Inhoudsopgave:
- Stap 1: Benodigde materialen
- Stap 2: CAN-bus bouwen op breadboard
- Stap 3: Arduino-programmering
- Stap 4: Testen
- Stap 5: Verkennen
- Stap 6: (Extra) CAN-bus maken met UTP
Video: Sparkfun CAN Bus Shield-zelfstudie - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
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
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
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
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:
Hoe maak je een draadloze Tin-Can-telefoon! (Arduino Walkie Talkie): 7 stappen (met afbeeldingen)
Hoe maak je een draadloze Tin-Can-telefoon! (Arduino Walkie Talkie): Onlangs zat ik midden in een heel belangrijk telefoontje toen mijn bananentelefoon niet meer werkte! Ik was zo gefrustreerd. Dat is de laatste keer dat ik een oproep mis vanwege die stomme telefoon! (Achteraf ben ik misschien een beetje te boos geworden in
Hoe de CAN-busgegevens van een voertuig te decoderen: 8 stappen
Hoe de CAN-busgegevens van het voertuig te decoderen: in deze instructie zullen we CAN-busgegevens van auto of vrachtwagen opnemen en de geregistreerde CAN-bus-loggegevens converteren naar leesbare waarden. Voor het decoderen gebruiken we can2sky.com cloudservice die gratis is. We kunnen het logboek opnemen met CAN-USB-adapters, maar let op
STM32 CAN-interface: 7 stappen
STM32 CAN-interface: de Controller Area Network-bus, of CAN-bus, is een zeer effectief communicatieprotocol dankzij de hoge snelheidscapaciteiten, de lange afstandsbetrouwbaarheid en de ruisimmuniteit. Om deze redenen is CAN-communicatie de standaard geworden in de autotechniek
Actobitty 2 Met de TB6612FNG SparkFun Motor Driver, Beginners Guide.: 3 stappen
Actobitty 2 Met de TB6612FNG SparkFun Motor Driver, Beginners Guide.: Dit instructables is voor de Actobitty 2 Robot Met de SparkFun ® TB6612FNG-motorstuurprogramma
Seeed Studio CAN-BUS V2.0 hacken - Aan de slag: 5 stappen
Seeed Studio CAN-BUS V2.0 Hacking - Aan de slag: deze instructable is bedoeld voor beginners die al de weg weten in Arduino. De eerste kennis van hoe je aan de slag moet, is altijd lastig en tijdrovend in elk project. Maar totdat je de weg weet, zou je bijna altijd willen dat je iemand had om te sh