Calibración de pH en Agua de Mar: Desafíos y Soluciones
Medir el pH en el Cantábrico no es tan sencillo como sumergir una sonda y leer un valor. La alta salinidad y los cambios constantes de temperatura requieren un protocolo de calibración y compensación riguroso para evitar errores que pueden invalidar meses de investigación.
El Problema: La Ecuación de Nernst
La respuesta de un electrodo de pH depende directamente de la temperatura. Según la ecuación de Nernst, la pendiente de la respuesta del sensor cambia a , pero sube a a .
Sin una sonda de temperatura (como la DS18B20) vinculada al ESP32-S3, cualquier lectura de pH en aguas abiertas tendrá un error inaceptable.
Hardware de Grado Científico
Para Itsaslab, hemos descartado los módulos de consumo y optamos por:
- Electrodos de Unión Doble: Evitan que los iones de plata del electrodo reaccionen con los cloruros del agua de mar, prolongando la vida útil.
- Aislamiento Galvánico: Usamos un aislador de señal I2C para evitar que el ruido eléctrico de los motores VESC contamine la lectura analógica.
Protocolo de Calibración en Itsaslab
No calibramos con agua destilada, sino con soluciones de referencia de alta fuerza iónica para simular el entorno marino. El proceso que seguimos en nuestro nodo ESP-IDF es:
- Punto Cero (pH 7.00): Ajuste del offset del ADC.
- Pendiente (pH 4.01 o 10.01): Ajuste de la ganancia según la temperatura actual.
- Compensación de Salinidad: Corrección del error de ion sodio en el vidrio del electrodo.
Implementación del Filtro Digital
En el ESP32-S3, implementamos un filtro de media móvil ponderada para eliminar el “jitter” causado por el oleaje y el movimiento de la embarcación:
// Filtro sencillo de suavizado para lecturas de pH
float smooth_ph(float raw_ph) {
static float filtered_ph = 7.0;
float alpha = 0.1; // Factor de suavizado
filtered_ph = (alpha * raw_ph) + (1.0 - alpha) * filtered_ph;
return filtered_ph;
}