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 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
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.
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.
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.
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
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
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”