Ir al contenido

Osciloscopio con un ESP32 PLC

En este artículo explicamos cómo configurar el osciloscopio de Bojan Jurca en un PLC ESP32.
8 de julio de 2024 por
Osciloscopio con un ESP32 PLC
Boot & Work Corp. S.L, Francesc Nosàs Moliner


ESP32 es una familia de microcontroladores de tipo system on a chip (SoC) orientados a sistemas embebidos e IoT (Internet de las cosas). La mayoría de sus aplicaciones se eligen por la fiabilidad de estos chips en comunicaciones inalámbricas, su bajo consumo, su abundancia de pines de E/S y su procesador de doble núcleo. Sin embargo, con un microcontrolador de este tipo se pueden hacer muchas más cosas.

Bojan Jurca ha publicado una aplicación de osciloscopio funcional para dispositivos ESP32 que muestra los datos recibidos en una página web. Es compatible con la mayoría de placas ESP32 y utiliza la interfaz I2S para el muestreo de datos.



Usaremos este proyecto y lo instalaremos en uno de nuestros PLC ESP32.

1. Obtener los archivos

Primero tomamos todo el contenido del repositorio de Git y lo descomprimimos en una carpeta nueva de nuestro equipo. 

1. Obtener los archivos

2. Abrir el IDE

Abrimos "Esp32_oscilloscope.ino" con Arduino IDE. Al abrir este archivo se abren también el resto de dependencias, cada una en una pestaña distinta del IDE.

Es posible que Arduino IDE nos pida colocar el archivo .ino en una carpeta con el mismo nombre. Si lo haces, no olvides que todos los archivos deben estar en el mismo directorio. 


3. Configurar la placa

Conectamos el PLC ESP32 al PC con un cable USB. 

Como las placas ESP32 de Industrial Shields no tienen opciones para elegir el sistema de archivos, tendremos que improvisar y usar una placa genérica "ESP32 Dev Module". Configuramos el sistema de archivos en "Partition Scheme > Default 4MB with ffat". Se podrían usar otros esquemas de particiones siempre que sean FAT/FATFS, pero este en concreto nos ha funcionado perfectamente.

3. Configurar la placa

4. Configurar el SSID y la contraseña

Esta aplicación aloja un pequeño servidor al que debemos poder acceder para ver los datos muestreados. Para ello hay que cambiar la configuración de red.

En "Esp32_osccilloscope.ino", cambiamos DEFAULT_STA_SSID y DEFAULT_STA_PASSWORD por el nombre de nuestro punto de acceso WiFi y su contraseña, respectivamente. Hay que asegurarse de que el equipo en el que abriremos el navegador después de activar el código esté conectado al mismo dispositivo WiFi.

  #define DEFAULT_STA_SSID                          "WIFI_SSID"
  #define DEFAULT_STA_PASSWORD                      "WIFI_PWD"

Hecho esto, ya podemos subir el sketch.

Cuando el ESP32 se conecte al punto de acceso WiFi, nos devolverá una dirección IP que usaremos a partir de ahora para acceder al microcontrolador.

4. Configurar el SSID y la contraseña

6. Copiar el archivo HTML a la ruta correcta

El sistema de archivos ya está montado, pero los archivos no están en el lugar correcto. Para ello hay que copiar el archivo "oscilloscope.html" al directorio adecuado. Abre un terminal en la carpeta raíz del proyecto y usa los comandos siguientes:

    ~$ ftp 192.168.166.84
    ftp> put oscilloscope.html /var/www/html/oscilloscope.html


7. Uso

Tras reiniciar rápidamente el ESP32, ya podemos probarlo. En un navegador de un equipo conectado a la misma WiFi que el ESP32, abrimos la dirección http://ESP32_IP/oscilloscope.html. Cambia "ESP32_IP" por la IP de tu ESP32. A partir de ahí ya podemos usarlo.


En el caso de uno de nuestros PLC, elegiremos cualquiera de los GPIO accesibles en la placa. Nosotros hemos elegido el GPIO21, que es el pin SDA de nuestro PLC. 


Una vez conectada la señal, por fin podemos poner en marcha el osciloscopio.


7. Uso7. Uso

Los usuarios habituales de productos ESP32 conocen la poca fiabilidad de las E/S analógicas de la familia ESP32. Esto, sin embargo, no supone ningún problema para los PLC de Industrial Shields, que no usan directamente los GPIO del ESP32 para el muestreo de datos. Además, los PLC de 14 E/S incluyen en las librerías de Industrial Shields una corrección del muestreo analógico que aumenta la fiabilidad de los datos del ESP32.

Buscar en nuestro blog

Osciloscopio con un ESP32 PLC
Boot & Work Corp. S.L, Francesc Nosàs Moliner 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