Cost-effective, customizable ESP32-based controller for agricultural industrial process automation

Controlador Basado en ESP32 económico y personalizable para automatización de procesos industriales agrarios

Jorge Patricio Murillo Oviedo1

Roberto Steven Villamar Anzuategui2

Jonathan Bryan Paredes Cuyo3

Published

Edwards Deming Higher Technological Institute. Quito - Ecuador

 

Periodicity

October – December

Vol. 1, Num. 23, 2024

pp. 1-30

http://centrosuragraria.com/index.php/revista

 

 

Dates of receipt

Received: May 22, 2024

Approved: July 12, 2024

 

 

Correspondence author

jmurilllo@uteq.edu.ec

 

Creative Commons License

Creative Commons License, Attribution-NonCommercial-ShareAlike 4.0 International.https://creativecommons.org/licenses/by-nc-sa/4.0/deed.es

 

 

 

 

 


Abstract: This research enabled the development of an economical programmable logic controller (PLC) based on the ESP32 DevKitC V4 board, aimed at automating industrial processes in SMEs in Quevedo, Los Ríos. The prototype seeks to be an accessible alternative to expensive commercial PLCs, referencing models from Siemens, Schneider, and Allen Bradley. Electrical schematics and the PCB were designed using Proteus and EasyEda, and technical tests were conducted that validated its operation in managing digital signals, analog signals, and wireless communication. Compared to commercial PLCs, the prototype offers greater accessibility and cost advantages for SMEs.

Keywords: Automation, SMEs, ESP32 DevKitC V4, Programmable Logic Controller (PLC), PCB, Industry 4.0, Communication Protocol

Msc. Facultad Ciencias de la Ingeniería, Universidad Técnica Estatal de Quevedo, 120502, Quevedo, Ecuador, jmurilllo@uteq.edu.ec, https://orcid.org/0000-0001-6812-0795

 

Msc. Facultad Ciencias de la Ingeniería, Universidad Técnica Estatal de Quevedo, 120502, Quevedo, Ecuador, roberto.villamar2016@uteq.edu.ec, https://orcid.org/0000-0002-8060-4239

 

Msc. Facultad Ciencias de la Ingeniería, Universidad Técnica Estatal de Quevedo, 120502, Quevedo, Ecuador jonathan.paredes2015@uteq.edu.ec, https://orcid.org/0009-0004-3012-8475

 

 

 

 

 

 

 


Resumen: Esta investigación permitió el desarrollo de un controlador lógico programable (PLC) económico basado en la placa ESP32 DevKitC V4, dirigido a automatizar procesos industriales en PYMES de Quevedo, Los Ríos. El prototipo busca ser una alternativa accesible frente a los costosos PLC comerciales, tomando como referencia modelos de Siemens, Schneider y Allen Bradley. Se diseñaron los esquemáticos eléctricos y el PCB utilizando Proteus y EasyEda, y se realizaron pruebas técnicas que validaron su funcionamiento en la gestión de señales digitales, analógicas y comunicación inalámbrica. Comparado con los PLC comerciales, el prototipo ofrece mayor accesibilidad y ventajas en términos de costo para las PYMES.

Palabras claves Automatización, Pymes, ESP32 DevKitC V4, Controlador lógico programable (PLC), PCB, Industria 4.0, Protocolo de comunicación

 

 

 

Introduction

La automatización de procesos industriales es esencial para mejorar la eficiencia y competitividad de las empresas, particularmente en el contexto de la Industria 4.0, que incorpora tecnologías avanzadas como el IoT, Big Data, robótica e inteligencia artificial, Anandan R. et al. (2022), Bazán, (2023), Bernos S. et al. (2022), Bolton  (2023), Brandon H. et al (2023), Burbano et al (2022), Burbano (2022), Camacho (2019), Camacho et al (2019), De León (2022), Estrada  (2019), González et al (2021), Jiménez et al (2021), Labcenter Electronic (2023), Mellado  (2020), Montufar et al (2023), Pérez (2023), Romero et al (2022), Tabaa et al (2018), Valencia (2021).

Sin embargo, muchas PYMES enfrentan dificultades para adoptar estas tecnologías debido al alto costo de los PLC comerciales y la necesidad de software licenciado, lo que obstaculiza su implementación en industrias con presupuestos ajustados. Arias (2021), Bayas (2018), Calle et al. (2023), Floyd (2008), Ikiss (2020), Moreno  (2024), Rockwell Automation (2024).

En Ecuador, la adopción de estas tecnologías en las PYMES es limitada, con la mayoría aun dependiendo de sistemas manuales o semiautomatizados. Castro  (2020), Hernández (2015), Rumanti A.A. (2022).

El microcontrolador ESP32 DevKitC V4 surge como una alternativa económica y versátil para la automatización industrial. Este dispositivo ofrece conectividad inalámbrica y permite su programación mediante software de código abierto, lo que reduce los costos de desarrollo y facilita una mayor personalización de las soluciones. A diferencia de los PLC comerciales como el Siemens S7-1200, el Schneider Modicon M221 y el Allen Bradley Micro820, que, aunque efectivos, presentan barreras económicas y requieren licencias restrictivas, el ESP32 destaca por su accesibilidad y flexibilidad, facilitando la recopilación de datos en tiempo real y mejorando la eficiencia operativa de las PYMES. Anguita M. (2022), Bermúdez C. A. et al. (2023), España A. D. et al. (2023) Granados M. (2023), Orozco H. et al. (2018), Sejas M. A. (2017), Toledo I. et al. (2022), Torrecillas A. (2017), Vallejo S. eta la. (2023).

Este proyecto propone el desarrollo de un controlador lógico programable basado en el ESP32 para las PYMES de Quevedo, con el objetivo de impulsar su competitividad mediante una solución económica y flexible alineada con los requerimientos de la Industria 4.0 [7]. Se plantea realizar un análisis comparativo con PLC comerciales, diseñar esquemáticamente el sistema, crear un PCB y evaluar su rendimiento mediante pruebas operativas. Barona G. et al. (2021, Benalcázar A. J. (2023), Sanchis R. et al. (2023).

Esta propuesta busca ofrecer una opción accesible que permita a las PYMES optimizar sus procesos de producción y reducir costos.

Materials and methods

La investigación sobre un controlador basado en ESP32 para la automatización en las PYMES de Quevedo integró diversos enfoques metodológicos. En primer lugar, se realizó una revisión documental exhaustiva de fuentes como artículos, libros y manuales, lo que permitió comprender las características técnicas y aplicaciones del ESP32. Este análisis inicial identificó tanto los beneficios como los desafíos en el diseño de una placa electrónica basada en este microcontrolador, sirviendo de base para el desarrollo del proyecto.

Posteriormente, se aplicó una investigación descriptiva para detallar el proceso de desarrollo del PLC basado en el ESP32 DevKitC V4, utilizando como referencia el modelo Siemens S7-1200 disponible en el laboratorio universitario. Durante esta fase, se documentaron cada uno de los pasos del diseño, lo que facilitó una evaluación detallada de su eficiencia y funcionalidad. A su vez, la investigación experimental permitió someter al ESP32 a pruebas específicas en entornos industriales, obteniendo datos concretos sobre su rendimiento, adaptabilidad y comparativa frente a los PLC comerciales en las PYMES.

Finalmente, se emplearon métodos de análisis como el comparativo, para evaluar el ESP32 frente a otros PLC, y el inductivo y deductivo, para formular conclusiones generales a partir de las pruebas y validar la eficacia del dispositivo en la automatización de procesos. En conjunto, el estudio combinó enfoques documentales, experimentales y analíticos, concluyendo que el ESP32 representa una alternativa económica y adaptable para las PYMES de Quevedo en su transición hacia la automatización industrial.

 

 

3. Result

Análisis de las capacidades de los PLC de Siemens, Schneider y Allen-Bradley

El PLC S7-1200 modelo CPU 1212C de Siemens, utilizado en el laboratorio de la Universidad Técnica Estatal de Quevedo, funciona con un sistema de alimentación AC/DC/Relay y ofrece salidas de 24V. Cuenta con 25 Kbytes de RAM, 1 Mbyte de ROM, y un puerto MicroSD de hasta 24 Mbytes. Su procesador opera con velocidades de 0.1, 12 y 18 μS/instrucción para bits, cadenas y operaciones aritméticas en punto flotante. Tiene 8 entradas digitales y 2 analógicas (0-10V), además de 6 salidas digitales con relés de propósito general, y es compatible con los protocolos de comunicación PROFINET IO y Ethernet TCP/IP.

El PLC Schneider Modicon M221 se distingue por su capacidad de expansión de memoria hasta 2 Gbytes mediante tarjeta micro SD y su rápida ejecución de 0.2 μS/instrucción para operaciones booleanas. Incluye 9 entradas digitales, 2 analógicas, y 7 salidas a relé, con un tiempo de transición de 100 μS en las entradas digitales. El M221 soporta comunicación a través de protocolos RS232/RS485 y Ethernet, siendo programado con el entorno Machine Expert Basic, que facilita el desarrollo de aplicaciones de control para automatización industrial.

El PLC Allen-Bradley Micro820, con memoria RAM de 20 Kbytes y flash de 10 Kbytes expandible a 2 Gbytes, tiene una velocidad de ejecución de 0.35 μS/instrucción. Posee 8 entradas digitales, 4 entradas analógicas y 7 salidas a relé, con capacidad para hasta 20 millones de ciclos de operación. Compatible con RS232/RS485 y Ethernet, su programación se realiza mediante el software Connected Components Workbench, ofreciendo una solución eficaz para aplicaciones industriales con requerimientos de control y conectividad.

 

 

Condiciones para el desarrollo del PLC basado en el ESP32 DevKitC V4

Para el desarrollo del controlador lógico programable (PLC) basado en el ESP32 DevKitC V4, se consideraron las características de los PLCs previamente analizados. Se integraron entradas digitales y salidas a relé del Siemens S7-1200, el puerto serial RS485 del Schneider M221, y la alimentación DC y salida analógica del Allen-Bradley Micro820. Dado que el ESP32 admite solo voltajes de hasta 3.3V, fue necesario diseñar un circuito que reduzca la tensión de 24V proveniente de los sensores industriales.

Además, se diseñaron circuitos de acondicionamiento para las entradas y salidas analógicas (0-10V), incorporando relés de propósito general para cargas AC y DC de mayor voltaje. También se incluyó un módulo MAX 485 para la comunicación Modbus RTU y se aprovecharon las capacidades WiFi y Bluetooth integradas en el ESP32. Una vez definidas las especificaciones técnicas del PLC a desarrollar, se procedió al diseño electrónico y construcción del sistema basado en el ESP32 DevKitC V4.

Diseño del circuito para acondicionar la entrada digital.

El circuito mostrado está destinado a las entradas digitales del controlador, aislado mediante un optoacoplador PC817.

Figura 1. Circuito Darlington de alto voltaje y corriente a la salida.

 

En este circuito, Figura 1, se utiliza el diodo Zener 1N4733A con un voltaje de ruptura de 5.1V para estabilizar la salida. Según las especificaciones, su corriente máxima es de 49 mA y mínima de 1 mA. El optoacoplador opera con una tensión de 1.2V a 1.4V y una corriente máxima de 20 mA, mientras que el LED tiene una tensión de 2.2V y una corriente máxima de 20 mA. El valor de R1 se calculó para una corriente de 15 mA, resultando en 2.2 kΩ. La corriente de carga en el diodo LED y optoacoplador fue de 5 mA, lo que deja una corriente en el diodo Zener de 3.6 mA. Al aplicar 24V al circuito, el optoacoplador permitió el flujo de corriente desde el colector hasta el emisor, conectando la salida digital a tierra y generando un estado lógico bajo (0). Además, se empleó una resistencia pull-down en la salida para asegurar estabilidad y evitar señales falsas, manteniendo la salida en un estado lógico bajo.

Diseño del circuito para acondicionar la salida digital.

Para la activación de la salida del ESP32, se contemplaron dos opciones: el uso de un relé de propósito general o un relé de estado sólido. En el caso de los relés de propósito general (Anexo 3), se empleó un arreglo Darlington activado mediante transistores, permitiendo el control de dispositivos de alta corriente con señales de baja potencia. Esta configuración permite la activación de los relés utilizando los 3.3V proporcionados por el ESP32 (Figura 2). Adicionalmente, se consideró el uso del circuito integrado ULN2803, el cual incluye ocho arreglos Darlington en un solo encapsulado y puede soportar hasta 50V en la salida, con un consumo de corriente máximo de 0.5A. Este dispositivo opera con niveles de voltaje de entrada entre 3.3V y 5V, optimizando el control de cargas elevadas con una implementación compacta y eficiente (Figura 3).

Figura 2. Circuito Darlington de alto voltaje y corriente a la salida.

Nota: Adaptado del Centro Integrado de Formación Profesional Número Uno de Santander, https://cifpn1.com/electronica/?p=4280

 

Figura 3. Circuito integrado ULN2803 Internamente.

Nota: Tomado del datasheet de fabricante (UTC), https://pdf1.alldatasheet.com/datasheet-pdf/view/168892/UTC/ULN2803.html

El circuito final conectado al relé se muestra en la Figura 4.

 

Figura 4. Circuito eléctrico interno del SSR para AC.

La segunda salida se implementó utilizando un Relé de Estado Sólido (SSR) modelo G3MB-202P, que incorpora un optoacoplador, triac y un arreglo Snubber en su diseño (Figura 5). Este relé soporta cargas de hasta 2A y 240Vac, y proporciona aislamiento eléctrico entre la parte de control y la de potencia. Además, cuenta con detección de cruce por cero, lo que minimiza daños al conmutar en el punto óptimo de la onda sinusoidal, siendo ideal para controlar la velocidad de motores, la intensidad de luces y la temperatura en resistencias eléctricas. Su tensión de control oscila entre 3.3V y 5V.

Figura 5. Circuito eléctrico interno del SSR para AC.

Nota: Circuito internamente del modelo del Relé SSR G3MB-202P

 

Diseño del circuito para acondicionar la entrada analógica

Para que el ESP32 pueda leer señales de sensores industriales de hasta 10V, se diseñó un circuito de adaptación que convierte el rango de 0-10V a 0-3.3V utilizando amplificadores operacionales LM358. El circuito incluye un divisor de voltaje y un seguidor de tensión para asegurar una salida estable y adecuada para el microcontrolador. Se calculó una resistencia Rp1 de 3.349kΩ, calibrada con un potenciómetro para ajustar la salida a 3.3V. Además, se añadió un diodo Zener de 3.3V para proteger contra sobretensiones y capacitores cerámicos de 100nF para reducir el ruido e interferencias, garantizando un funcionamiento seguro y preciso. (Figura 6).

 

 

 

 

Figura 6. Circuito conversor de 10 - 0V a 3.3-0V con protección contra sobretensión simulado.

Nota: Simulación del circuito acondicionador de la salida analógica de 10 – 0 V, elaborado en el software Proteus.

 

Este diseño asegura una conversión eficiente de señales analógicas, protegiendo el ESP32 y permitiendo una lectura precisa de los sensores industriales.

Diseño de un circuito de conversión de corriente 0-20 mA a voltaje 0-3.3V

Para adaptar señales analógicas de corriente (4-20 mA) a tensiones compatibles con el ESP32 (0.66-3.3V), se diseñó un circuito que convierte la entrada de corriente en una señal de voltaje mediante una resistencia de carga (R_load = 100Ω). Este método genera una caída de tensión que puede ser escalada mediante un amplificador operacional (LM358) en configuración de conversor de corriente a voltaje. El diseño permite obtener un voltaje de 3.3V para una entrada de 20 mA y 0.66V para 4 mA..

Se calculó el valor de los resistores (R_P3 = R_P2 = 165kΩ) utilizando una ecuación basada en la ley de Ohm. Además, se implementó un amplificador operacional en configuración seguidor de tensión para asegurar una salida constante y estable. Se incluyó un diodo Zener (1N4728) para proteger el circuito de sobretensiones, evitando que el voltaje exceda los 3.6V, protegiendo así la entrada analógica del ESP32. La Figura 7 ilustra la simulación del circuito con entradas de 4-20 mA, destacando su eficiencia y seguridad.

Figura 7. Circuito conversor de corriente a tensión con protección contra sobretensión en Proteus.

Nota: Simulación del circuito acondicionador de la salida analógica de 20 – 0 mA, elaborado en el software Proteus

Diseño del circuito de acondicionamiento para salida analógica

Se diseñó un circuito para generar una salida analógica de 0 a 10V, ideal para controlar electroválvulas o actuadores proporcionalmente a la tensión. Utiliza un amplificador operacional en configuración no inversora, con una ganancia de 3.03, lograda ajustando la resistencia de retroalimentación (Rf = 6.7kΩ) y un potenciómetro de precisión. Además, se añadió un seguidor de tensión y capacitores de filtrado para reducir el ruido de la fuente de alimentación, asegurando una salida estable y precisa. Figura 8.

 

 

 

 

 

 

 

 

Figura 8. Convertidor analógico de 3.3-0V a 10 - 0V realizado en Proteus.

Nota: Simulación del circuito acondicionador de la salida analógica de 3.3 – 0 V, elaborado en el software Proteus

Diseño del circuito de alimentación para la placa PLC-ESP32

El circuito de alimentación del PLC-ESP32 emplea cuatro niveles de tensión: 24V para entradas digitales, 12V para amplificadores operacionales, 5V para el ESP32 y relés, y 3.3V generados por el regulador interno del ESP32. La fuente primaria es una fuente conmutada de 24V/5A, y un convertidor DC-DC LM2596 regula los 12V, mientras que un regulador 7805 convierte 12V a 5V. Se añadieron fusibles, indicadores de estado y capacitores para asegurar estabilidad y protección contra interferencias. Figura 9.

Figura 9. Alimentación de la placa PLC basado en Esp32.

Nota: Simulación del circuito de alimentación del PLC propuesto, con tensión de salida de 12, 5 Vdc, elaborado en el software Proteus.

Diseño del circuito de protocolo de comunicación

El PLC basado en ESP32 DevKitC V4 utiliza el protocolo MODBUS RTU para la transmisión binaria de datos a través de RS-485, empleando un módulo MAX485 como transceptor para optimizar el consumo energético. Además, incorpora conectividad inalámbrica mediante Wi-Fi y Bluetooth, lo que facilita su integración en aplicaciones industriales de Internet de las Cosas (IoT), ofreciendo versatilidad en la transmisión de datos.

Distribución de pines del ESP32 DevKitC V4

Se realizó una distribución de pines en la placa PCB del ESP32 DevKitC V4, considerando las restricciones de los pines y sus grupos de ADC. La configuración incluye 10 y 6 salidas digitales, 3 entradas y 2 salidas.  Se define la cantidad de pines a ocupar en las E/S y protocolo de comunicación que se utilizara en el PLC basado en el Esp32 DevKitC V4.

Entradas Digitales

Se asignaron 10 pines digitales, distribuidos entre dos grupos con diferente tierra (COM1 y COM2), como se muestra en la Tabla 1.

Tabla 1. Asignación de pines de entradas digital.

DIGITAL

 INPUTS

ESP32

 (PIN) GPIO

COM

I0

18

COM1

I1

19

I2

21

I3

22

I4

23

I5

35

COM2

I6

32

I7

33

I8

27

I9

14

Nota: Clasificación de las entradas digitales del PLC basado en el Esp32 DevKitC V4

Distribución de pines de las salidas digitales del Esp32 DevKitC V4

Se definieron 7 salidas digitales: 5 conectadas a relés de propósito general (PG) y 2 a relés de estado sólido (SSR), según la Tabla 16.

Distribución de pines de las entradas analógicas del Esp32 DevKitC V4

Las entradas analógicas incluyen 3 pines: AI0 y AI1 para tensiones de 0-10V, y AI2 para corriente de 4-20mA, según la Tabla 2.

 

Tabla 2. Asignación de pines de entrada analógica.

ANALOG

 INPUTS

ESP32

 (PIN) GPIO

TIPO

 SENSOR

AI0

36

Tensión 0 – 10V

AI1

39

Tensión 0 – 10V

AI2

34

Corriente 4 – 20mA

Nota: Clasificación de las entradas analógicas del PLC basado en el Esp32 DevKitC V4

Distribución de pines de las salidas analógicas del Esp32 DevKitC V4

Se establecieron 2 salidas analógicas, destinadas a proporcionar una tensión variable de 0 a 10V, como se muestra en la Tabla 3.

Tabla 3. Asignación de pines de salida analógica.

ANALOG

 OUTPUTS

ESP32

 (PIN) GPIO

AQ0

19

AQ1

18

Nota: Clasificación de las salidas analógicas del PLC basado en el Esp32 DevKitC V4

Distribución de pin comunicación modbus RS-485 del Esp32 DevKitC V4

Para el módulo RS-485, se asignaron 2 pines para la comunicación serial (TX y RX) en la Tabla 4.

 

 

 

 

Tabla 4. Asignación de pines protocolo de comunicación RS485.

RS-485

ESP32

(PIN) GPIO

TX

1

RX

3

Las conexiones completas y el esquema eléctrico del sistema se presentan en la Figura 10, elaborado con el software EasyEDA, mostrando la interconexión de todas las entradas y salidas del PLC basado en el ESP32 DevKitC V4, Figura 10.

Figura 10. Conexiones de las entradas y salida del PLC-ESP32.

Nota: Conexiones de las E/S y protocolo de comunicación en el PLC Esp32 DevKitC V4, realizado en EasyEDA

Diseño del PCB del PLC ESP32 DevKitC V4

El diseño del PCB se llevó a cabo utilizando el software EasyEDA, empleando componentes de montaje por orificio (THT) debido a su accesibilidad en Ecuador y facilidad de reparación, en contraste con los componentes de montaje en superficie (SMD). Se definió un ancho de pista de 1 mm para la mayoría de las conexiones, ampliándose a 3 mm en la entrada de alimentación y salidas a relé para soportar mayores corrientes. Se incorporó una malla de tierra sólida para minimizar interferencias electromagnéticas, y las pistas se trazaron con ángulos de 45° para evitar efectos de antena y reducir el acoplamiento capacitivo, optimizando la integridad de la señal y el enrutamiento de señales de alta frecuencia. La Figura 11 presenta una vista 2D del diseño del PCB, en consonancia con la distribución de pines especificada en la Tabla 1 y la Figura 12 el diseño en 3D.

Figura 11. Diseño PCB en EasyEDA del PLC ESP32 DEVKITC V4.

(a)  Capa Superior

   

(b) Capa Inferior

Nota: Vista en 2D del diseño del PCB ESP32 DEVKITC V4.

Figura 12. Vista en 3D del diseño del PCB.

 

Diseño de la carcasa en 3D del PCB

El diseño de la carcasa en 3D para la PCB del PLC ESP32 se realizó utilizando Tinkercad, una herramienta elegida por su interfaz intuitiva y su accesibilidad en línea, lo que permite su uso en ordenadores con recursos moderados sin requerir instalación. La base de la carcasa presenta un espesor de 3 mm para asegurar robustez, con dimensiones de 218 x 180 x 37.35 mm, mientras que la tapa mide 215 x 177 x 25.50 mm. Para evitar el contacto del PCB con el fondo, se incorporaron bloques de 5 mm dentro de la base, garantizando así una separación adecuada y protegiendo la integridad del circuito. El diseño de la carcasa se ilustra en la Figura 13.

Figura 13. Diseño en Tinkercad carcasa del PLC ESP32 DEVKITC V4

Nota: Diseño en 3D de la carcasa del PLC basado en el Esp32 DevKitC V4, elaborado en la web Tinkercad

Presupuesto

El presupuesto se desglosa en cuatro partes: primero, el listado de materiales utilizados en la elaboración de la PCB, para el cual el software EasyEDA no proporciona un listado automático; segundo, el costo de fabricación de la PCB a través de MEGATRONICA en Quito; tercero, el costo de fabricación del molde en 3D; y finalmente, los gastos complementarios relacionados con herramientas y transporte, dando un total de $113.06.

Construcción del PLC ESP32 DevKitC V4

Tras finalizar el diseño de la PCB en EasyEDA, se procedió a su transferencia a una base de baquelita de fibra de vidrio mediante una máquina CNC, utilizando los servicios de MEGATRONICA. Se aplicó un revestimiento de protección UV sobre las pistas de cobre para prevenir la oxidación, junto con una máscara de componentes que facilitó el proceso de soldadura. La PCB, con dimensiones de 17.2 x 21.3 cm, fue sometida a una prueba de continuidad para verificar la ausencia de conexiones no deseadas entre los pines de tierra (GND) y alimentación (VCC), así como entre las entradas y salidas digitales y analógicas. Posteriormente, se soldaron los componentes utilizando la máscara como guía, realizando pruebas de tensión en cada etapa para asegurar la correcta instalación. Al completar con éxito las pruebas, se confirmó que todos los componentes estaban correctamente soldados (ver Figura 14).

Figura 14. PCB del PLC ESP32 DevKitC V4.

Nota: se visualiza la PCB con sus respectivos componentes electrónicos

Construcción de la Carcasa del PLC ESP32 DevKitC V4

Una vez completado el diseño tridimensional de la carcasa en Tinkercad, se exportó el archivo en formato "STL", que contiene el diseño de las piezas en 3D. Estas piezas están diseñadas para albergar el PCB y ofrecer protección. Para la construcción, se cargó el archivo en una impresora 3D y se llevó a cabo el proceso de impresión (ver Figura 15).

Figura 15. Impresión en 3D de la carcasa del PLC-ESP32.

 

a)    Base de la carcasa

         

                                    b) Tapa de la carcasa

Programa Predefinido para el PLC ESP32 DevKitC V4

Con el objetivo de prevenir conflictos al cargar y compilar un sketch en el ESP32, se establecieron instrucciones previas que aseguran la correcta declaración de los pines, evitando confusiones entre entradas y salidas. A continuación, se presenta la estructura base desde la cual el programador puede añadir líneas de código adicionales según las instrucciones que desee ejecutar, utilizando el software Arduino IDE.

//PLC VERSION 1

// DEFINIR ENTRADAS DITALES

#define I0  18

#define I1  19

#define I2  21

#define I3  22

#define I4  23

#define I5  35

#define I6  32

#define I7  33

#define I8  27

#define I9  14

// ENTRADAS ANALOGICA

#define IA0  36

#define IA1  39

#define IA2  34

// SALIDAD DIGITALES

#define Q0  5

#define Q1  17

#define Q2  16

#define Q3  4

#define Q4  2

#define Q5  12

#define Q6  13

// SALIDA ANALOGICA

#define QA0  25

#define QA1  26

// COMUNICACION RS485

#define TX 1

#define RX 3

// -------------------------------------//

void setup()

{

  // ESTABLECER ENTRADA DIGITAL

  pinMode(I0, INPUT);

  pinMode(I1, INPUT);

  pinMode(I2, INPUT);

  pinMode(I3, INPUT);

  pinMode(I4, INPUT);

  pinMode(I5, INPUT);

  pinMode(I6, INPUT);

  pinMode(I7, INPUT);

  pinMode(I8, INPUT);

  pinMode(I9, INPUT);

  // ESTABLECER ENTRADA ANALOGICA

  pinMode(IA0, INPUT);

  pinMode(IA1, INPUT);

  pinMode(IA2, INPUT);

  // SALIDA DIGITAL

  pinMode(Q0,OUTPUT);

  pinMode(Q1,OUTPUT);  

  pinMode(Q2,OUTPUT);

  pinMode(Q3,OUTPUT);

  pinMode(Q4,OUTPUT);        

  pinMode(Q5,OUTPUT);

  pinMode(Q6,OUTPUT);

  // SALIDAS ANALAOGICAS

  pinMode(QA0,OUTPUT);

  pinMode(QA1,OUTPUT);

 

}

 

void loop()

{

 //Agregar las instrucciones aquí a ejecutar

 

Pruebas Técnicas del PLC ESP32 DevKitC V4

Se realizaron pruebas para evaluar el tiempo de respuesta de las entradas y salidas digitales utilizando un osciloscopio TEKTRONIX TDS2002B. Estas pruebas midieron el tiempo transcurrido desde el envío de una instrucción de entrada hasta su reflejo en la salida correspondiente. Asimismo, se conectó un generador de señal de 0 a 10V para evaluar las señales de entrada analógicas, limitando el voltaje máximo a 3.3V y observando la conversión interna de analógico a digital a través de la comunicación serial del microcontrolador. Para las entradas de corriente, se utilizó un generador de 0 a 20 mA, siguiendo un procedimiento similar. Se llevaron a cabo pruebas de comunicación tanto punto a punto (RS-485) como a través de Wi-Fi, y se realizaron mediciones de la eficiencia energética del modelo propuesto.

Para las pruebas de E/S con Relé de Propósito General (SDR-05VDC-SL-C), se evaluó el tiempo de ejecución de las instrucciones enviadas al relé mediante un esquema de conexión. Tras cargar el programa en el microcontrolador ESP32, se usó un osciloscopio para observar la señal de entrada (amarillo) y la salida del relé (azul). Se determinó que el tiempo requerido para que la salida alcanzara un estado alto es de 4 ms, cumpliendo con el tiempo máximo de operación especificado de 10 ms

Se llevaron a cabo pruebas de entrada y salida utilizando un Relé de Estado Sólido (G3MB-202P - OMRON), donde se observó un decaimiento gradual en la señal de salida, atribuible a su diseño interno. El tiempo necesario para alcanzar el estado alto en la salida fue de 490 µs, lo cual se encuentra dentro del límite máximo permitido de 1 ms. En las pruebas de E/S analógica de 0-10V con salida de 0-3.3V, se calibró el circuito de manera que una entrada de 10V produjera una salida de 3.3V, lo que se visualizó en un osciloscopio. La conversión interna realizada por el ESP32 mostró una resolución de 4096 bits.

Para las pruebas de entrada analógica de 0-20 mA con salida de 0-3.3V, se midió la caída de tensión a través de una resistencia de 100 ohmios para verificar la corriente de 0-20 mA, confirmando que el circuito operaba dentro del rango especificado. Además, se generaron señales alternas de alta calidad utilizando los pines DAC del ESP32 para producir una salida analógica de 0-10V, logrando representar funciones seno y coseno.

En las pruebas de protocolo de comunicación, se utilizó DOPSoft V4 para evaluar la comunicación a través del protocolo RS-485, configurando el ESP32 como esclavo y empleando un convertidor USB a RS-485 para registrar las variables de entrada y salida. Asimismo, se realizó una comunicación inalámbrica utilizando el protocolo Modbus TCP/IP (Wi-Fi), configurando el ESP32 en modo servidor y registrando variables en DOPSoft V4, estableciendo la conexión con un enrutador.

En cuanto al consumo energético del PLC en reposo fue de 63.3 mA, aumentando a 360 mA bajo carga total con todas las entradas y salidas activadas.

4. Conclusions

Se identificaron áreas de mejora en los PLCs S7-1200, Modicon M221 y Micro820, que se incorporaron al diseño del PLC basado en ESP32 DevKitC V4. Estas mejoras incluyeron un mayor número de entradas y salidas digitales y analógicas, un módulo adicional de comunicación Modbus RTU-RS485, y la integración de módulos WiFi y Bluetooth para la conectividad inalámbrica, junto con un procesador de doble núcleo de 32 bits que aumenta la competitividad del dispositivo en el mercado.

El uso del software Proteus V8.16 para el diseño del esquemático eléctrico permitió una representación visual precisa del PLC, facilitando la identificación de componentes y conexiones, así como la detección de problemas potenciales antes de la implementación física, lo que optimizó el desarrollo. El proceso de diseño del PCB con EasyEDA, fue eficiente gracias a la amplia variedad de librerías disponibles. Se logró un trazado adecuado de las pistas que conectan el ESP32 con los circuitos de entrada y salida. La fabricación del PCB se realizó a través de una tienda electrónica.

La evaluación incluyó pruebas del rendimiento de entradas y salidas digitales, la precisión en la conversión de señales analógicas y la eficiencia de los protocolos Modbus RTU-RS485 y Modbus TCP/IP a través de WiFi. Las pruebas demostraron la efectividad del controlador propuesto en escenarios prácticos. El modelo PLC basado Esp32 DevKitC V4, presento resultados favorables en la prueba realizas y se logró construirlo a un costo referencial de 113.06$, mientras que adquirir un modelo de PLC de gama media de la marca Siemens, Schneider y Allen Bradley rondaría entre los 290 – 558$.

References    

Anandan R., Suseendran G., Souvik. Pal, and  Zaman N., Industrial internet of things (IIoT) : intelligent analytics for predictive maintenance. Recuperado el 22 de octubre 2023 de https://www.wiley.com/en-us/Industrial+Internet+of+Things+%28IIoT%29%3A+Intelligent+Analytics+for+Predictive+Maintenance-p-9781119769026

Anguita M. (2022), “Demostrador IoT interactivo mediante redes sociales,” Universidad de Alcalá, 2022, Recuperado 19  marzo 2024 de  https://ebuah.uah.es/dspace/handle/10017/52458

Arias G. A. (2021), “Diseño de sistema para telemetría de caudal y nivel de aguas basado en control por PLC y HMI-Tanque Circular-Veolia Tunja,” Universidad Santo Tomás, Tunja, 2021. Recuperado 17 Mayo 2024 de   https://repository.usta.edu.co/handle/11634/37858

Barona G.  and  Velasteguí L. E.(2021). “Automatización de procesos industriales mediante Industria 4.0,” AlfaPublicaciones, vol. 3, no. 3.1, pp. 84–101: Doi: 10.33262/ap.v3i3.1.80.

Bayas V. R. (2018), “Desarrollo de un prototipo para la obtención de datos de manera inalámbrica de un medidor de agua.,” Escuela Superior Politécnica del Litoral, 2018, Recuperado 02 marzo 2024 de  http://www.dspace.espol.edu.ec/handle/123456789/47556

Bazán O. A. (2023). “Diseño de un módulo de entrenamiento PLC para la mejora del aprendizaje de los estudiantes de Ingeniería Electrónica – UNJFSC, Huacho 2023,” Universidad Nacional José Faustino Sánchez Carrión, Huacho – Peru. Recuperado 16 enero 2024 de  https://repositorio.unjfsc.edu.pe/handle/20.500.14067/8589

Benalcázar A. J. (2023). “Diseño y simulación de un proceso de automatización para la fabricación de cajas de cartón corrugado,” Universidad Estatal Peninsula de Santa Elena, Mar. 2023, Recuperado 20 octubre del 2023 de  https://repositorio.upse.edu.ec/handle/46000/9184

Bermudez C. A. and  Ospino D. A. (2023). “Desarrollo de una plataforma embebida como estrategia de fortalecimiento a las competencias profesionales en estudiantes de ingeniería electrónica”. Recuperado 19 marzo 2024 de  https://repositorio.cuc.edu.co/handle/11323/10165

Berrios S., Rivera H. J. (2022), “Sistema IoT basado en ESP32 para el control y monitoreo de cultivos en invernadero con enfoque de agricultura 4.0,” INGENIERÍA INVESTIGA, 4. DOI: 10.47796/ING.V4I0.624.

Bolton W. (2025). Programmable Logic Controllers, vol. Sixth Edition Newnes. Jonathan Simpson, 2015. Recuperado 20 octubre 202 de https://www.academia.edu/94987128/William_Bolton_Programmable_Logic_Controllers_Sixth_Edition_Newnes_2015_

Briones B. H. and Robayo L. A. (2023), “Prototipo expendedor para el monitoreo y registro de productos de consumo a través de la plataforma UBIDOTS aplicado a pymes,” Universidad de Guayaquil, Guayaquil-Ecuador, 2023. Recuperadol 21 octubre 2023 de http://repositorio.ug.edu.ec/handle/redug/67225

Burbano S. M. (2022). “Controlador lógico programable bajo software y hardware libre,” Maestría en Mecatrónica, Universidad Técnica del Norte, Ibarra - Ecuador, 2022. Recuperado 21 octubre 2023 de http://repositorio.utn.edu.ec/handle/123456789/12632

Calle J. A., Espinoza L. A., and Vélez J. M. (2023). “Diseño de un proceso de secado de alimentos por caídas de presiones sucesivas,” Tesis, Universidad de Piura, Piura.

Camacho U., Martínez I. , and Juárez C. (2019). “Diseño y construcción de un acoplamiento electrónico para realizar conexiones de IoT en un PLC convencional,” Revista de Computo Aplicado, pp. 8–14. Doi: 10.35429/JCA.2019.10.3.8.14.

Castro D. C. (2020), “Factores económicos y financieros que inciden en el desarrollo de las pymes en el cantón Quevedo, año 2020. plan estratégico,” Universidad Técnica Estatal de Quevedo, Quevedo - Ecuador, 2021. Recuperado 24 enero 2024 de  https://repositorio.uteq.edu.ec/handle/43000/6378

De León L. F. (2022), “Investigación y desarrollo de aplicaciones típicas de aprendizaje automático en microcontroladores mediante el flujo de trabajo de Tiny Machine Learning.,” 2022, Recuperado 26 enero 2024 de  https://repositorio.uvg.edu.gt/xmlui/handle/123456789/4182

España A. D. and Lozada J. D. (2023). “Diseño de un modulo de entrenamiento para practicas de electrónica analógica.,” Revista Social Fronteriza 3(6), 70–84. DOI: 10.59814/RESOFRO.2023.3(6)70-84.

Estrada J. A. (2019), “Protocolos de comunicaciones industriales,” Logicbus SA de CV, Recuperado 02 Marzo 2024 de   https://www.logicbus.com.mx/pdf/articulos/Protocolos-de-Comunicaci%C3%B3n-Industrial.pdf

Floyd T. (2008), Dispositivos electrónicos, Octava Edicion. MEXICO: PEARSON EDUCACION, 2008. Recuperado 22 Marzo 2024 de  www.FreeLibros.org

Gonzále zA. H. and  Gallo S. L. ( 2021), “Programación en bajo nivel”, Recuperado 27 junio 2024 de   http://sedici.unlp.edu.ar/handle/10915/119718

Gracı́a J. (2022,). “Desarrollo en PLC del control de un Blender,” Universidad de Mar del Plata, Recuperado 16 enero 2024 de http://rinfi.fi.mdp.edu.ar/xmlui/handle/123456789/703

Granados M. (2023). “Electronica basica 4-Diseño de PCB en software sencillo.” Recuperado 20 octubre 2023 de   https://www.google.com.ec/books/edition/Electronica_basica_4/mE-_EAAAQBAJ?hl=es-419&gbpv=0

Hernández J. C.  and Vizán A.(2015). “Sistemas de automatización y robótica para las pymes españolas,” Escuela de organizacion Industrial, doi: 10.0/CSS/V4-SHIMS.CSS.

Ikiss J. (2020).  “SISTEMA DE ADQUISICIÓN DE DATOS CON ESP32”.

Imran A. and Rasul M. (2020), “PENGEMBANGAN TEMPAT SAMPAH PINTAR MENGGUNAKAN ESP32,” Jurnal MEDIA ELEKTRIK, 17(2), 1–7

Jimenez L. E. C., Ricardo P. S., and Silva F. L.,(2021).  “Simulación electrónica del microprocesador GAL22V10 mediante el software Proteus basado en VHDL para virtualizar circuitos integrados,” Revista Científica y Tecnológica UPSE, 8(1), 107–115, Jun. 2021, DOI: 10.26423/RCTU.V8I1.573.

Kurniawan A. (2019). Internet of Things Projects with ESP32. Packt Publishing.

Labcenter Electronics, “PCB Design and Circuit Simulator Software - Proteus,” Labcenter Electronics. Recuperado 22 octubre 2023 de  https://www.labcenter.com/

Mariani S., Petrov N. G., Mulroy T. J., and Kalashnikov A. N. (2023). “Prototyping Bespoke Sensor Industrial Internet-of-Things (IIoT) Systems for Small and Medium Enterprises (SMEs),” Engineering Proceedings. 58(1), 111, DOI: 10.3390/ECSA-10-16000.

Mellado J. E. (2020). “El IOT-PLC : una nueva generación de controladores lógicos programables para la industria 4.0,” Pontificia Universidad Catolica de Chile, Chile - Santiago de Chile, 2020. doi: 10.7764/TESISUC/ING/50019.

Montufar C., Sofía D., Caiza D., and Lizbeth Y. (2023). “Implementación del módulo mediante el PLC S7 300 para prácticas de programación Grafcet en el módulo de electroneumática".

Moreno E. (2014). “EL CONDENSADOR,” Gobierno de Canarias. Recuperado 22 marzo 2024 de  https://www3.gobiernodecanarias.org/medusa/ecoblog/mmormarf/files/2014/10/condensador.pdf

Orozco H. , Zavala J. G., Rodríguez K. A. and Calderón O. (2018). “IMPLEMENTACIÓN DE PROTOTIPO DE UNA MÁQUINA DE GRABADO CON LÁSER CONTROLADA POR UN RASPBERRY PI”. Recuperado 22 octubre 2023 de  https://pistaseducativas.celaya.tecnm.mx/index.php/pistas/article/view/264

Pérez I. (2023). “Arduino IDE,” Universidad Autónoma del Estado de Hidalgo, 11(21)

Rockwell Automation.(2024). Recuperado el 19 de mayo 2024.  https://www.rockwellautomation.com/en-us.html

Romero F. R., Álava C. R. , “Diseño y prototipado de una apiladora automática de gavetas,” Escuela Superior Politecnica del Litoral, 2022, Recuperado 16 enero 2024 de http://www.dspace.espol.edu.ec/handle/123456789/57632

Rumanti A. A., Rizana  A. F., Septiningrum L., Reynaldo R., and Isnaini M. M. (2022), “Innovation Capability and Open Innovation for Small and Medium Enterprises (SMEs) Performance: Response in Dealing with the COVID-19 Pandemic” ,14,(1) 5874. DOI: 10.3390/SU14105874.

Sanchis R., Romero J., and Ariño C. (2010). “Automatización industrial,” Universitat Jaume I. Recuperado 24 octubre 2023 de  www.sapientia.uji.es

Sejas M. A. (2017). “Implementación de un prototipo de grabado de placas impresas PCB con software y hardware libre,” Universidad Mayor de San Andres, Nov. 2017, Recuperado 22 octubre 2023 de   http://repositorio.umsa.bo/xmlui/handle/123456789/15730

Tabaa M., Chouri B., Saadaoui S., and Alami K. (2018). “Industrial Communication based on Modbus and Node-RED,” Procedia Comput Sci. DOI: 10.1016/J.PROCS.2018.04.107.

Toledo I. et al. (2022). “Diseño y Fabricación de Modelos Impresos en 3D como Complemento para las Clases Prácticas de Histología Médica,” Int. J. Morphol, 40(2), 355–359.

Torrecillas A. (2017). “Diseño y fabricación de placas PCB para el control de un robot móvil,” Tesis, Universidad Politécnica de Madrid, Madrid - España, 2017. Recuperado 30 marzo 2024 de https://oa.upm.es/48113/5/TFM_ALEJANDRO_TORRECILLAS_PINEDA.pdf

Valencia J. L. (2023). “Sistemas Embebidos en el IoT,” ITESO, Jalisco, 2021. Recuperado 22 ocyubre 2023 de  https://rei.iteso.mx/handle/11117/7429

Vallejo S., Viveros J. E., and Calderon O. (2023), “Circuito analógico con sensor de sonido para la activación de la luz en una bodega Analog circuit with sound sensor for light activation in a warehouse”