En los programadores convencionales, las zonas se activan por un reloj fijo sin considerar que el suelo retiene humedad tras días fríos, mientras que el viento y calor incrementan rápidamente la transpiración. El estándar técnico internacional es el modelo FAO-56 Penman-Monteith, permitiendo cuantificar en tiempo real la pérdida de agua en el suelo.
En el ecosistema ProPresta IT, el microcontrolador Waveshare 6CH (ESP32-S3) calcula el factor de riego adimensional \( K_{\text{irrig}} \), que modula dinámicamente el tiempo programado de las electroválvulas:
Interpretación física de los factores:
- \( \text{ET}_c \) [mm/día] – Evapotranspiración del cultivo; volumen perdido del suelo por evaporación y transpiración vegetal.
- \( P_{\text{eff}} \) [mm/día] – Precipitación efectiva; lluvia que penetra la zona radicular sin generar escorrentía.
- \( \text{ET}_{\text{base}} \) [mm/día] – Demanda diaria de referencia (\( 4.0\text{ mm/día} \)), asociada al tiempo de riego fijado manualmente.
- \( \text{clamp}(x, 0.0, 1.5) \) – Función de acotación que limita el ajuste entre 0% y 150% para proteger la plantación.
1. Desglose físico: Evaporación y Precipitación Efectiva
A. Evapotranspiración real del cultivo (\( \text{ET}_c \))
La demanda de cada especie vegetal se ajusta con respecto al césped de referencia mediante el coeficiente de cultivo \( K_c \):
El coeficiente \( K_c \) caracteriza la fenología (ej. césped: \( 0.80 \)–\( 0.85 \), arbustos: \( 0.60 \), cultivos en fruto: \( 1.05 \)–\( 1.15 \)).
En el ESP32-S3, utilizando la temperatura \( T \) [°C] y la humedad relativa \( RH \) [%] de Open-Meteo, se estima la evapotranspiración de referencia \( \text{ET}_0 \) mediante la fórmula de Romanenko-Turc:
El factor de humedad \( C_h \) modela el déficit de presión de vapor (VPD). Con aire seco y caluroso, el ritmo de pérdida hídrica aumenta:
B. Precipitación efectiva (\( P_{\text{eff}} \)) USDA SCS
Lluvias débiles menores a 1 mm se evaporan sobre las hojas antes de alcanzar la raíz. Por otra parte, tormentas intensas sobrepasan la tasa de infiltración y generan pérdidas por escurrimiento superficial. Se aplica el método del Soil Conservation Service (USDA):
Donde el registro pluviométrico \( P_{\text{tot}} \) suma la precipitación de las últimas 24 horas y el pronóstico de las siguientes 12 horas:
2. Implementación vectorial en ESP32-S3: Linealización de Taylor
Calcular iteraciones no lineales completas de Penman-Monteith penalizaría innecesariamente el rendimiento de un procesador embebido.
En el controlador smart_irrigation.c implementamos una aproximación lineal de Taylor en torno al estado estándar (\( T = 20^\circ\text{C} \), \( RH = 60\% \), \( P = 0\text{ mm} \)):
Bloqueo por lluvia (Fail-Safe Soil Interlock):
Las rutinas en interrupción anulan de inmediato el riego si existe lluvia presente o suelo saturado:
3. Integración en registros hardware de Waveshare 6CH
El coeficiente no conmuta relés en bucle constante (lo que podría dejarlos activados tras una desconexión). En su lugar, inicializa temporizadores en RAM: relay_countdown_timers[zone].
Ejemplo real de funcionamiento:
Con un tiempo base fijado en \( t_{\text{base}} = 10\text{ minutos} \) en el panel táctil, ante condiciones templadas y húmedas (16.7°C, 92% RH, 0.4 mm lluvia), el modelo calcula \( K_{\text{irrig}} = 0.47 \). El tiempo resultante es:
El ahorro de agua alcanza un 53% en este ciclo, protegiendo las raíces de la podredumbre por anegamiento.
| Parámetro | Tipo y Rango | Origen / Registro | Función en el sistema |
|---|---|---|---|
| \( T \) | float [-20.0 .. +50.0 °C] | temperature_2m | Componente térmica de evapotranspiración |
| \( RH \) | int [0 .. 100 %] | relative_humidity_2m | Evaluación del déficit higrométrico (VPD) |
| \( P_{\text{tot}} \) | float [≥ 0.0 mm] | rain + hourly.precipitation | Balance pluviométrico y bloqueo de tormenta |
| \( K_{\text{irrig}} \) | float [0.0 .. 1.5] | smart_irrigation_get_factor() | Multiplicador de tiempo de activación |
| Watchdog | uint32_t [segundos] | relay_countdown_timers[6] | Temporizador independiente de 1 Hz |
Resumen del Despliegue Edge AI
El algoritmo en el microcontrolador ESP32-S3 evita depender de servicios externos en la nube, operando el control microclimático de forma local y autónoma:
- Autonomía Total: El factor \( K_{\text{irrig}} \) se procesa en memoria RAM. Ante una caída de conexión a internet, el sistema continúa funcionando con el último estado equilibrado.
- Aislamiento FreeRTOS por Núcleos: Las rutinas JSON en Octal PSRAM y operaciones matemáticas corren en el Núcleo 1, sin interferir con la comunicación cifrada UDP (AES-128-GCM) y conmutación de pines en el Núcleo 0.
- Estabilidad de Alimentación: La configuración de Wi-Fi activa (
esp_wifi_set_ps(WIFI_PS_NONE)) y una fuente de 12V/2A impiden caídas de tensión (Brownout) al activar las bobinas de relé. - Watchdog de Seguridad: El descuento de tiempo por interrupción hardware desconecta las válvulas ante cualquier excepción del software.
Tecnología probada en módulos de relés Waveshare 6CH de la plataforma ProPresta IT.
English
Español
French
Italiano
日本語
Polski
Português