Ir al contenido

Cómo usar CAN SPI con la familia de ESP32 PLC

8 de julio de 2024 por
Cómo usar CAN SPI con la familia de ESP32 PLC
Boot & Work Corp. S.L, Queralt del Águila Munté

Introducción


En este artículo veremos cómo integrar la placa CAN SPI con un PLC ESP32 para comunicar dos dispositivos mediante el protocolo de bus CAN. Analizaremos cómo la combinación de estos componentes permite un intercambio de datos eficaz, y repasaremos sus funcionalidades y la importancia de su colaboración en los sistemas embebidos.

 


Placa de expansión CAN SPI para ESP32 PLC

La placa de expansión CAN SPI 5V es una placa compacta que ofrece una solución CAN completa y se puede usar como nodo de control en una red CAN.

El Controller Area Network (bus CAN) es un sistema de bus de vehículo estandarizado cuyo objetivo es facilitar la comunicación entre microcontroladores y dispositivos. Se desarrolló originalmente para el cableado eléctrico multiplexado de automóviles, con el fin de reducir el uso de cobre, y hoy se aplica en muchos ámbitos. El bus CAN funciona con un protocolo basado en mensajes en el que los datos de una trama se transmiten en serie. Si varios dispositivos transmiten al mismo tiempo, tiene prioridad el de mayor prioridad, que continúa transmitiendo mientras los demás ceden el paso. Cabe destacar que todos los dispositivos de la red reciben las tramas, incluido el dispositivo que transmite.

Hardware

Para conseguir uno de nuestros PLC ESP32 con la placa CAN configurada, puedes visitar nuestro sitio web para ver todos nuestros productos y elegir el que mejor se adapte a tus necesidades. Del mismo modo, también ofrecemos todos los PLC de las familias Raspberry y Arduino con la opción de añadir comunicación adicional mediante placas.

En nuestros PLC ESP32 hay dos ranuras para placas de expansión. El Expansor 1 está en el borde y el Expansor 2 está junto al puerto Ethernet. Para el Expansor 2, pon los interruptores 2 y 4 en posición ON para habilitar la ranura.


Software

We have to be sure about which expansor we use to put the CAN SPI click because we have to change some software configuration when executing the test.

Para:

  • Expansor 1 -> RSTpin 6, INTpin 5 y pinCS = 32
  • Expansor 2 -> RSTpin 3, INTpin 1 y pinCS = 2

Este código usa dos librerías:

  • La librería MCP_CAN se utiliza para conectar Arduino u otros microcontroladores similares con los controladores CAN MCP2515/MCP25625 y permitir así la comunicación por bus CAN.
  • La librería Adafruit-MCP23008 es una librería que facilita la comunicación entre microcontroladores y expansores de GPIO MCP23008, y permite controlar fácilmente entradas y salidas digitales adicionales.

Ambas librerías se han modificado respecto a las originales para habilitar todas las funciones que puede ofrecer la placa CAN Click. A continuación están los dos archivos ZIP, que se pueden importar directamente en Arduino IDE



MCP_CAN library
 



Adafruit-MCP23008

Prueba CAN SPI

Estos son los códigos de prueba para la placa CAN SPI, compatibles con cualquier miembro de la familia ESP32 PLC. Un código es para transmitir y el otro para recibir.



can_send.ino
 



can_receive.ino

Para hacer la prueba, descarga los archivos indicados y cárgalos en dos PLC ESP32 distintos con Arduino IDE. Un PLC actuará como transmisor y el otro como receptor. 

Una vez cargados los archivos, hay que conectar los dos equipos ESP32 mediante la placa de expansión CAN SPI para asegurar la correcta transmisión y recepción de los datos.

It's crucial to consider the hardware configuration, including the switch settings and the placement of the CAN SPI click board, to determine the pin configurations and any necessary adjustments. 


Buscar en nuestro blog

Cómo usar CAN SPI con la familia de ESP32 PLC
Boot & Work Corp. S.L, Queralt del Águila Munté 8 de julio de 2024
Compartir esta publicación
Etiquetas

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.

Comparativa de PLCs