Tabla de contenido:
- Paso 1: Materiales necesarios
- Paso 2: Construcción del bus CAN en la placa de pruebas
- Paso 3: programación de Arduino
- Paso 4: prueba
- Paso 5: explorar
- Paso 6: (Adicional) Cree un bus CAN usando UTP
Video: Tutorial Sparkfun CAN Bus Shield: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Reciba y transmita mensajes usando Sparkfun CAN Bus Shield
¿Qué es CAN?
El bus CAN fue desarrollado por BOSCH como un sistema de transmisión de mensajes multimaestro que especifica una velocidad de señalización máxima de 1 megabit por segundo (bps). A diferencia de una red tradicional como USB o Ethernet, CAN no envía grandes bloques de datos punto a punto desde el nodo A al nodo B bajo la supervisión de un maestro de bus central. En una red CAN, muchos mensajes cortos como temperatura o RPM se transmiten a toda la red, lo que proporciona consistencia de datos en cada nodo del sistema.
Paso 1: Materiales necesarios
2 - Escudo de bus CAN Sparkfun
2 - Arduino UNO
2 - resistencias de 120 ohmios
1 - Tablero de pruebas
Cables de puente
Descarga de la biblioteca CAN Bus Shield:
drive.google.com/open?id=1Mnf2PN_fAQFpo1ID…
Avanzado (bus CAN):
DB9 (mujer)
RJ45
Cable UTP
Divisor de 2 vías RJ45
Conector recto RJ45
Instrumentos:
Destornillador
Engarzadora RJ45
Soldador
Paso 2: Construcción del bus CAN en la placa de pruebas
1. Monte CAN Bus Shield en un Arduino cada uno
2. Conecte los pines CAN_H y CAN_L del protector a la placa de pruebas
3. Conecte las resistencias de terminación de 120 ohmios en cada extremo de las líneas CAN_H y CAN_L
Paso 3: programación de Arduino
1. Descargue e instale la biblioteca CAN Bus Shield desde el enlace anterior
Configure el primer Arduino para leer mensajes CAN
2. Abra Arduino IDE
3. Vaya a Ejemplos de archivos SparkFun CAN-Bus CAN_Read_Demo
4. Seleccione el puerto apropiado del primer Arduino y cargue
Configure el segundo Arduino para enviar mensajes CAN
5. Abra un nuevo IDE de Arduino
6. Vaya a Ejemplos de archivos SparkFun CAN-Bus CAN_Write_Demo
7. Seleccione el puerto apropiado del segundo Arduino y cargue
Paso 4: prueba
/ * Agregar imágenes del ejemplo de trabajo * /
Después de cargar el programa en los dos Arduinos …
1. Abra los monitores en serie del primer y segundo Arduino
2. Establezca la velocidad en baudios en 9600
3. Compruebe si el primer Arduino recibe datos
Si no se reciben datos:
1. Verifique si se seleccionó el puerto y la velocidad en baudios apropiados para cada Arduino
2. Verifique las conexiones de las líneas CAN_H y CAN_L
3. Verifique las conexiones de las resistencias terminales.
Paso 5: explorar
Crear mensajes CAN personalizados
Edite el programa CAN_Write_Demo para…
- cambiar el ID del mensaje (message.id)
- cambiar el bit RTR (message.header.rtr)
- establecer la longitud de los datos (message.header.length)
- ingrese sus propios datos (message.data [x])
Edite CAN_Read_Demo para personalizar cómo imprime sus datos
- Imprime el ID del mensaje (message.id)
- Imprime la longitud del mensaje (message.header.length)
- Imprime los datos del mensaje (message.data [x])
Paso 6: (Adicional) Cree un bus CAN usando UTP
El bus CAN utilizado en este diagrama es un cable UTP de 8 pines.
Hay dos tipos de conectores en este diagrama, a saber, el (DB9 - a - RJ45) y (RJ45 - a - RJ45)
DB9 - a - RJ45
DB9 (pines 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
RJ45 (pines 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
RJ45 a RJ45 (directo)
RJ45 (pines 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
RJ45 (pines 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
RJ45 a terminador
RJ45 (pines 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
Resistencia de terminación (wG, wBl)
Los nodos se pueden conectar al bus CAN según su preferencia y el número de nodos utilizados
Para una conexión de dos nodos, se utiliza un conector recto RJ45 entre los cables (DB9 a RJ45)
Para una conexión de 3 nodos, se acopla un divisor de 2 vías acoplado con un conector recto para hacer una conexión en "T" entre todos los cables (DB9 a RJ45)
Para la conexión de 2+ nodos (2 o más nodos), se acopla un divisor de 2 vías con un conector recto para hacer una conexión en "T". Se utiliza un cable (RJ45 a RJ45) para conectar dos nodos "T" y un cable (DB9 a RJ45) para conectar el nodo "T" al blindaje del bus CAN. Se utilizó un conector RJ45 a terminador en cada extremo "T" del bus CAN
Recomendado:
Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus: 8 pasos
Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus: ¡Cualquier propietario de Toyota Prius (u otro vehículo híbrido / especial) sabrá que a sus tableros les pueden faltar algunos diales! Mi prius no tiene RPM del motor ni indicador de temperatura. Si le gusta el rendimiento, es posible que desee saber cosas como el avance del tiempo y
Hackea tu coche con Wio Terminal y CAN Bus: 7 pasos
Hackear su automóvil con Wio Terminal y CAN Bus: si tiene algún conocimiento de la programación de CAN Bus y Arduino, y desea hackear su automóvil, estas instrucciones pueden brindarle una solución. no lo sé, pero esto es realmente interesante. Este pr
Teclas del volante al adaptador estéreo del automóvil (CAN Bus -> Key1): 6 pasos
Adaptador de las teclas del volante al estéreo del automóvil (CAN Bus -> Key1): unos días después de comprar un automóvil usado, descubrí que no puedo reproducir música desde mi teléfono a través del estéreo del automóvil. Aún más frustrante fue que el automóvil tenía bluetooth, pero solo permitía llamadas de voz, no música. También tenía un puerto USB para Windows Phone, pero yo
Cómo decodificar los datos del bus CAN del vehículo: 8 pasos
Cómo decodificar los datos del bus CAN del vehículo: En este instructable, registraremos los datos del bus CAN del automóvil o camión y convertiremos los datos de registro del bus CAN registrados en valores legibles. Para la decodificación utilizaremos el servicio en la nube can2sky.com, que es gratuito. Podemos grabar el registro mediante adaptadores CAN-USB, pero pagamos
Hackeo de Seeed Studio CAN-BUS V2.0 - Primeros pasos: 5 pasos
Hackeo de Seeed Studio CAN-BUS V2.0 - Primeros pasos: Este instructivo está destinado a principiantes que ya conocen Arduino. El conocimiento inicial de cómo ponerse en marcha siempre es una molestia y requiere mucho tiempo en cualquier proyecto. Pero hasta que no conozca su camino, casi siempre desearía tener a alguien a quien sh