Caso de estudio · Tratamiento de agua · ESP32 PLC 42
Mantén el pH y el cloro en rango con un ESP32 PLC 42.
Dosificación de pH y cloro, MQTT a un Panel PC, ajustes a distancia.
Una lectura de un sensor es solo un número.
El PLC la convierte en la dosis correcta.
Sensores analógicos leen el pH y el cloro en el tanque de agua sin tratar y en el de agua tratada. Un ESP32 PLC 42 abre las válvulas de dosificación, regula la bomba dosificadora y envía cada valor por MQTT a un Panel PC de 10,1". Los operarios ven la planta y cambian sus ajustes a distancia. Este caso describe una estación real. No damos el nombre del cliente ni del emplazamiento. El objetivo era claro: una estación de tratamiento de agua autónoma, con monitorización y configuración a distancia, y un diseño fácil de replicar en otra zona cercana. El cliente eligió un ESP32 PLC 42 porque su plataforma de programación es gratuita y flexible. El PLC ejecuta un programa escrito con el Arduino IDE. La interfaz de usuario y la base de datos funcionan con Node.js.
El reto
Dosificar lo justo, sin nadie al lado del tanque.
El pH y el cloro cambian todo el tiempo. Si dosificas poco, el agua queda fuera de especificación. Si dosificas de más, malgastas producto químico. Tu sistema de control tiene que leer el agua, corregirla, comprobar el resultado y mostrarlo todo a personas que no están en la planta.
Dos valores, una dosis
Sensores analógicos leen el pH y el cloro cada cierto tiempo. Cuando un valor sale de su rango, el sistema tiene que dosificar en ese momento. No cuando alguien lo revise.
Una estación sin vigilancia
El cliente quería una estación autónoma. No hay nadie junto a los tanques, así que el estado y los ajustes tienen que estar disponibles a distancia.
Pensada para replicarse
El mismo diseño tenía que poder replicarse con facilidad en otra zona cercana. Mismo hardware, mismo programa, nuevo emplazamiento.
La prueba, a la salida
Dos sensores más en el tanque de agua tratada vuelven a medir el pH y el cloro. No das por buena la dosis. La mides.
Cómo funciona
Dos lazos: dosificar el agua y comprobarlo.
Mueve los deslizadores y pulsa los botones. Los paneles muestran el patrón general: qué lee el PLC, qué activa y qué ven los operarios. Son simulaciones ilustrativas. No muestran el programa, las consignas ni los datos de la instalación.
¿Fuera de rango? El PLC dosifica hasta que el valor vuelve.
Sensores analógicos en el tanque de agua sin tratar leen el pH y el cloro cada cierto tiempo. El ESP32 PLC 42 compara cada valor con su rango. Si un valor está fuera de rango, el PLC abre la electroválvula de ese producto y regula la velocidad de la bomba dosificadora. Cuando el valor vuelve a estar en rango, cierra la válvula. Los rangos los defines en el Panel PC.
- Sensores de pH y cloro en entradas analógicas (4-20 mA o 0-10 V)
- Una salida ON/OFF por cada electroválvula de dosificación
- Velocidad de la bomba dosificadora regulada por el PLC (señal no publicada)
- Bomba de agua en una salida ON/OFF, hacia el tanque de agua tratada
Rangos de ejemplo: pH de 6,5 a 8,5, cloro de 0,5 a 1,5 mg/L. La válvula se vuelve a cerrar con el cloro a 0,8 mg/L o el pH entre 7,0 y 8,0 (histéresis de ejemplo). Simulación ilustrativa. Consignas de ejemplo y tiempos a escala. Las consignas reales de la instalación no se publican.
El tanque de agua tratada lo confirma. El Panel PC lo muestra.
Dos sensores más en el tanque de agua tratada vuelven a medir el pH y el cloro. El ESP32 PLC 42 envía todos los valores por MQTT, por el cable Ethernet, al Panel PC TouchBerry Pi de 10,1". Allí los operarios ven la planta, y la base de datos guarda cada valor. Desde el Panel PC cambian los valores predefinidos, y el PLC dosifica según ellos.
- Dos sensores en el tanque de agua tratada confirman el resultado
- MQTT por Ethernet entre el PLC y el Panel PC
- Estado y ajustes disponibles a distancia
- Cada valor guardado: trazabilidad del tratamiento
Mensajes MQTT (topics de ejemplo)
Simulación ilustrativa. Consignas de ejemplo y tiempos a escala. Las consignas reales de la instalación no se publican.
Arquitectura del sistema
¿Cómo gestiona un ESP32 PLC 42 una estación de tratamiento de agua?
Cuatro sensores analógicos van al ESP32 PLC 42: pH y cloro antes y después del tratamiento. Tres salidas ON/OFF gobiernan la bomba de agua y las dos electroválvulas de dosificación. Un cable Ethernet lleva los mensajes MQTT al Panel PC. Este diagrama sigue el esquema original del caso.
| Señal | Entre | Tipo | Función |
|---|---|---|---|
| pH, agua sin tratar | EntreSensor de pH → ESP32 PLC 42 | TipoAnalógica 4-20 mA / 0-10 V | FunciónEntrada del lazo de dosificación |
| Cloro, agua sin tratar | EntreSensor de cloro → ESP32 PLC 42 | TipoAnalógica 4-20 mA / 0-10 V | FunciónEntrada del lazo de dosificación |
| pH y cloro, agua tratada | Entre2 sensores → ESP32 PLC 42 | TipoAnalógica 4-20 mA / 0-10 V | FunciónConfirma el resultado del tratamiento |
| Dosificación de cloro | EntreESP32 PLC 42 → electroválvula | TipoDigital ON/OFF | FunciónAñade el producto clorado |
| Corrección de pH | EntreESP32 PLC 42 → electroválvula | TipoDigital ON/OFF | FunciónAñade el producto corrector de pH |
| Bomba de agua | EntreESP32 PLC 42 → bomba | TipoDigital ON/OFF | FunciónLleva el agua del tanque sin tratar al de agua tratada |
| Velocidad de la bomba dosificadora | EntreESP32 PLC 42 → bomba dosificadora | TipoEjemplo: analógica 0-10 V | FunciónFija el caudal de dosificación. Señal no publicada |
| Valores y consignas | EntreESP32 PLC 42 ↔ Panel PC | TipoEthernet · MQTT | FunciónVisualización, registros y ajustes a distancia |
Por qué funciona
Un controlador para el lazo. Herramientas abiertas para el resto.
Abierto y gratuito de programar
Arduino IDE para el PLC, Node.js para la interfaz y la base de datos. Sin licencias, y puedes cambiar cualquier parte del programa.
Margen para crecer
Esta estación usa 4 entradas analógicas y 3 salidas ON/OFF. El ESP32 PLC 42 tiene 26 entradas y 16 salidas, así que puedes añadir turbidez, niveles de tanque o una segunda línea de dosificación.
Ingenieros desde el primer día
Nuestro equipo técnico acompañó al cliente desde la definición del proyecto hasta la puesta en marcha. Tú tienes el mismo apoyo para tu planta.
Hardware utilizado
Un PLC en el carril DIN y un Panel PC en la planta.
ESP32 PLC 42
El controlador de la estación. Lee los cuatro sensores analógicos, gobierna las dos electroválvulas de dosificación y la bomba de agua, regula la bomba dosificadora y publica los valores por MQTT. Lo programas en C++ con el Arduino IDE.
- Entradas
- 26: 14 digitales optoaisladas, 12 analógicas/digitales (0-10 V)
- Salidas
- 16: 10 digitales optoaisladas, 6 analógicas/digitales/PWM (0-10 V), de 5 a 24 Vdc
- Red
- Ethernet 10/100 (RJ45), Wi-Fi 2,4 GHz, Bluetooth LE
- Serie
- RS-485, RS-232, TTL
- Alimentación
- De 12 a 24 Vdc
- Montaje
- Carril DIN TS35, IP20
Las entradas analógicas leen 0-10 V. Para un sensor de 4-20 mA, añade una resistencia shunt o un convertidor de señal. Las salidas son optoaisladas, sin relés: el motor de una bomba necesita un contactor o un relé de interfaz. El caso no publica su cableado. Comprueba los valores en la ficha técnica de la familia.
Panel PC TouchBerry Pi 10,1"
El puesto del operario en la planta. Un Panel PC industrial de 10,1" con una Raspberry Pi 4. Recibe los valores por MQTT, muestra el estado de la planta y envía las nuevas consignas al PLC.
- Función
- Visualización, registros y ajustes a distancia
- Pantalla
- 10,1"
- Ordenador
- Raspberry Pi 4
- Enlace con el PLC
- Ethernet · MQTT
El caso cita un Panel PC Touchberry Pi de 10,1" y no publica la versión exacta. La imagen y el enlace muestran el modelo actual, el TouchBerry Pi Panel PC 10.1" FLEX.
Preguntas sobre este caso
¿Qué valores del agua mide el sistema?
El pH y el cloro, primero en el tanque de agua sin tratar y otra vez en el de agua tratada, con cuatro sensores analógicos (4-20 mA o 0-10 V). El caso también cita la turbidez entre los valores que ven los operarios.
¿Cómo decide el PLC cuándo dosificar?
Compara cada lectura con un rango permitido. Si un valor está fuera de rango, abre la electroválvula de ese producto y regula la velocidad de la bomba dosificadora hasta que el valor vuelve a estar en rango. Los rangos reales no se publican. Las cifras de esta página son de ejemplo.
¿Es un PLC Arduino o un PLC ESP32?
El controlador es un ESP32 PLC 42. Se programa con el Arduino IDE. Mismo IDE y mismo lenguaje (C++), con el paquete de placas ESP32 de Industrial Shields. La mayor parte de tu código y de tus conocimientos se aprovecha.
¿Cómo ven la planta los operarios a distancia?
El PLC envía los valores por MQTT, por Ethernet, a un Panel PC TouchBerry Pi de 10,1". Una aplicación Node.js gestiona la interfaz de usuario y la base de datos. El caso no publica cómo está montado el acceso remoto. Una VPN o un broker con TLS y contraseñas son opciones habituales.
¿Puedo añadir turbidez, niveles de tanque o otra línea de dosificación?
Sí. Esta estación usa 4 entradas analógicas y 3 salidas ON/OFF. El ESP32 PLC 42 tiene 26 entradas, 12 de ellas analógicas (0-10 V), y 16 salidas. Cuenta primero tus señales y luego añade los sensores al mismo programa.
¿Se puede replicar el mismo diseño en otra planta?
Sí. Replicarlo con facilidad en otra zona cercana era uno de los objetivos del cliente. Reutilizas el programa del PLC, la aplicación del Panel PC y el esquema de cableado, y ajustas los rangos de cada planta.
Descarga el caso de estudio
PDF de 4 páginas con el reto, la lógica, la arquitectura y el hardware. Sin formularios.
¿Proyecto similar?
Háblanos de tu agua y de tus productos. Te responderá un ingeniero.
Dinos qué agua tratas, qué valores mides (pH, cloro, turbidez, niveles) y cómo dosificas. Te diremos qué controlador encaja y cómo conectar tus sensores, válvulas y bombas.
- Respuesta de nuestro equipo técnico
- Recuento de E/S y dimensionado de tu estación
- PLC basados en Arduino, ESP32 o Raspberry Pi