Ir al contenido

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.

4sensores analógicos: pH y cloro en cada tanque
3salidas ON/OFF: bomba de agua y dos válvulas de dosificación
1ESP32 PLC 42 ejecuta el lazo de control
MQTTvalores al Panel PC por Ethernet

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.

01

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.

02

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.

03

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.

Lazo 1 · Dosificació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
pH 7.2Cl 1.0AGUA SIN TRATARESP32 PLC 42ClOFFpHOFFPOFF
7.2
1.00 mg/L
Velocidad de la bomba dosificadora0 %
ejemplo: salida analógica de 0 a 10 V
Válvula de cloroVálvula de pHBomba de agua

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.

Lazo 2 · Comprobación y supervisión

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
ESP32 PLC 42MQTTPanel PC · vista de la plantaSin tratarpH0Sin tratarCl0TratadapH0TratadaCl0Consigna Cl0.5 mg/LRegistros0
MedirPublicarMostrarActuar

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.

    Simulador relacionado: telemetría remota de una red de agua

    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.

    Water treatment automation: pH and chlorine dosing with an ESP32 PLC 42 and a Raspberry Pi Panel PCAGUA SIN TRATARAGUA TRATADACloropHCloropHESP32 PLC 424 entradas analógicas · 3 salidas ON/OFF4-20 mA / 0-10 V4-20 mA / 0-10 VON/OFFBomba de aguaON/OFFClVálvula ClON/OFFpHVálvula pHBomba dosificadoraseñal de velocidad:no publicadaEthernet · MQTTPanel PCTouchBerry Pi 10,1"Node.jsinterfaz · base de datosBasado en el esquema original del caso. No se publican la señal de la bomba dosificadora ni dónde funciona la aplicación Node.js.AGUA SIN TRATARpH · Cloro4-20 mA / 0-10 VESP32 PLC 424 entradas analógicas3 salidas ON/OFFON/OFFClpHBomba de aguaVálvula ClVálvula pHBomba dosificadoravelocidad: señal no publicadaAGUA TRATADApH · Cloro → PLCEthernet · MQTTPanel PC · TouchBerry Pi 10,1"Node.js: interfaz · base de datosBasado en el esquema original del caso.Señal de la bomba dosificadora: no publicada.
    Señales de sensor, 4-20 mA o 0-10 VSalidas digitales ON/OFFEthernet · MQTTFlujo de agua
    Señales y datos
    SeñalEntreTipoFunción
    pH, agua sin tratarEntreSensor de pH → ESP32 PLC 42TipoAnalógica 4-20 mA / 0-10 VFunciónEntrada del lazo de dosificación
    Cloro, agua sin tratarEntreSensor de cloro → ESP32 PLC 42TipoAnalógica 4-20 mA / 0-10 VFunciónEntrada del lazo de dosificación
    pH y cloro, agua tratadaEntre2 sensores → ESP32 PLC 42TipoAnalógica 4-20 mA / 0-10 VFunciónConfirma el resultado del tratamiento
    Dosificación de cloroEntreESP32 PLC 42 → electroválvulaTipoDigital ON/OFFFunciónAñade el producto clorado
    Corrección de pHEntreESP32 PLC 42 → electroválvulaTipoDigital ON/OFFFunciónAñade el producto corrector de pH
    Bomba de aguaEntreESP32 PLC 42 → bombaTipoDigital ON/OFFFunciónLleva el agua del tanque sin tratar al de agua tratada
    Velocidad de la bomba dosificadoraEntreESP32 PLC 42 → bomba dosificadoraTipoEjemplo: analógica 0-10 VFunciónFija el caudal de dosificación. Señal no publicada
    Valores y consignasEntreESP32 PLC 42 ↔ Panel PCTipoEthernet · MQTTFunció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, controlador industrial basado en ESP32 con 42 E/S

    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 de 10,1 pulgadas con Raspberry Pi 4

    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