Medidor de pH con Arduino Pro Mini y sensor de Dormant Labs

Se trata de un medidor de pH casero de bajo coste y alta precisión. Usa un Arduino Pro Mini 328P a 5V alimentado con pila de 9V.  Se trata de otro subproyecto de CAO.

Puedes echar un vistazo al vídeo donde se explica como se realizó el montaje del mismo.

El código está disponible desde este Lugar en Dropbox   o desde este  Lugar en Acuacriofiliamadrid.

Si quieres ver comentarios de otras personas puedes mirar en los comentarios de este artículo o en el Aula-Arduino-para-principiantes del foro Acuariofiliamadrid.org.

Enlace para descarga del software

LinealSensirLCD.zip

Lista del material necesario:

  • LCD de 16×2 con módulo I2C
  • Dos botones (Ph4, Ph7) sobre una linea analógica.
  • SensorDormant Labs PH Module V2 (I2C).
  • Buzzer.
  • Arduino Pro-Mini 328P 5V 16Mhz.
  • Regulador a 5V desde 9V LM7805.
  • Interruptor.
  • Conector pila 9V.
  • Caja y una placa de topos de una cara.
  • Algunas resistencias, cables pines, etc.

Usando Arduino Pro Mini 328P 5V 16Mh

ProMini_328P_PCB

Reservamos los seis pines del extremo superior en la figura para comunicacion serial FTDI. Del resto de los pines solo usamos los pines que podéis ver en la figura.

Para el bus I2C usamos cables de color:

  • Negro GND
  • Rojo VCC (+5v)
  • Blanco SDA
  • Amarillo SCL

El disco piezo eléctrico (Buzzer va conectado a GND y al pin 2.

Usaremos la entrada digital A1 para la botonera. Se reserva el uso de A0 para poder conectar algún dispositivo diferente o para poder usar el antiguo modelo pH Shield.

Puedes ver el conexionado el la siguiente imagen:

PhMeter_ArduProMini

 Funcionamiento:

Al Arrancar el programa cargará la calibración desde la EEPROM y si pulsamos algún botón durante el arranque hará un diagnóstico.

En el caso de que los valores en EEPROM no sean consistentes, el sitema informará de que el medidor
no está calibrado y en lugar de mostrar valores de pH mostrará valores Raw (los valores
entregados por el sensor a Arduino).

Solo se advertirá que el medidor no está calibrado si los valores de referencia para la calibración que están almacenados en la memoria EEPROM carecen de sentido.

Sobre la forma de medir pH:

Las medidas solo serán correctas si se ha procedido a una calibración previa correctamente y la sonda utilizada está en perfectas condiciones.

En esta aplicación no se incluye compensación de la temperatura y se asumirá que las medidas para tomar referencias de calibración con soluciones tampón se harán a la misma temperatura que la de la solución que se desea medir (habitualmente a temperatura ambiente).

La medida del pH, tanto en soluciones tampón como en soluciones de otro tipo, debe de hacerse sumergiendo la sonda en el líquido y moviéndola muy suavemente durante un minuto. En ese tiempo las medidas ya deberían ser estables. Al cambiar de solución conviene aclarar la sonda con agua destilada o de ósmosis, aunque un agua limpia y muy blanda también podría servir. Medir pH en aguas limpias prolonga la vida de la sonda.

Sobre las sondas:

Hay una gran variedad de sondas de muy diferentes precios. No es lo mismo una sonda para su uso
permanentemente sumergido en un acuario que una sonda de laboratorio para hacer mediciones ocasionales.

Puede ocurrir que la medida de los tampones nos de un valor estable, pero que la medida de la solución (o de un acuario) no lo sea y transcurra mucho tiempo hasta proporcionar un valor estable o incluso no alcanzarlo nunca. Tal comportamiento se debe al deterioro de la sonda, ya sea por el tipo de uso realizado, o por haberse utilizado durante mucho tiempo.

Las sondas que están permanentemente sumergidas pueden caducar antes del año pero si el agua del acuario es muy blanda y muy limpia, la sonda puede durar algo más.

Recomiendo especial cuidado al comprar sondas de pH en establecimientos minoristas de acuariofilia o en otros establecimientos con escaso movimiento de este tipo de stock de sondas ya que por dos veces me ha sucedido comprar alguna sonda y que me la vendan ya caducada o en mal estado por deficiencias en su conservación.  Podría tener problemas con la garanatía ya que no estamos hablando a problemas achacables al fabricante sino al vendedor minorista.

Lo ideal es tener más de una sonda en funcionamiento y más de un juego de soluciones tampón, para poder detectar la pérdida de precisión de las medidas en caso de caducidad prematura de las sondas o de los tampones. Yo tengo una sonda permanente en el acuario de 465L, otra en buen uso para este medidor portátil, y un par de sondas que caducaron antes de tiempo. La medida del pH es muy importante, se puede hacer por colorimetría, pero un medidor de este tipo es bastante importante para un daltónico como yo.

A pesar de que las medidas obtienen centésimas de grado centígrado, las sondas no suelen ser tan precisas.  Hay que asumir que la medida del pH no tiene una precisión mayor a +/- 0.05 grados de pH.

 Sobre el software:

Recordemos que el software que usábamos hasta ahora (el módulo Cao1_PhShield) estaba enfocado a usar el  pH Shield de Dormant Labs.  Este módulo Cao1_PhShield no sirve para el actual PH Module V2 para I2C del mismo fabricante.  Insisto en que mi software está exento de garantías, ni entonces, ni ahora nos hemos basado en el software oficial de demostración para estos productos que se publicaron en el Blog de su autor. Véase Reza’s Blog.

Para este nuevo módulo hardware, que a diferencia del anterior admite mayor precisión y usa I2C, también usamos los mismos principios. Es decir, no vamos a considerar la compensación de temperatura y se usará el mismo principio de Interpolación lineal directa que ya fue introducido en post anterior de  Arduino PH Shield, de Dormant Labs  (recomiendo leerlo).

Yo he observado que para un uso de acuariofilia, mi software va bastante bien y algunas sondas que no están en perfecto estado tienen un mejor aprovechamiento.

En esta ocasión, el nuevo módulo software desarrollado no solo es capaz de funcionar con las dos versiones de sensores de Dormant Labs. En principio, podría trabajar igual de bien con otro tipo de sensores de pH, Incluso podría trabajar bien con sensores que no sean de pH. Por ejemplo con sensores ORP (redox) , conductímetros o cualquier otro donde se pueda usar el principio de Interpolación lineal directa.

Es decir, tomando un par de referencias para la calibración de un instrumento de medida se asume una respuesta de tipo lineal y se interpola el resultado.

El programa que se publica ahora incluye una serie de módulos software del proyecto CAO y en lugar de usar el módulo  Cao1_PhShield usamos un nuevo modulo PhMeter_LinealSensor, que en el futuro se renombrará a Cao1_LinealSensor para pasar a formar parte de CAO1. (Suelo dejar que cada subproyecto pueda evolucionar con independencia del resto, por eso renombro los módulos comunes).

Referencias a artículos previos sobre estos temas:

CAO-15: Algunos dispositivos I2C interesantes para CAO. Se analizam varios dispositivos I2C y entre ellos se comentan las características de el nuevo PH Module V2. Se trata de un sensor digital y trabaja con 12 bits de precisión. También se comentan las ventaja e inconvenientes frente al modelo anterior (pH Shield de Dormant Labs).

(CAO-12) Módulo para el uso de Arduino PH Shield, de Dormant Labs Se explica el uso y las características del primer model de sensor de pH de Dormant Labs. Se acompaña de un vídeo y también se dedica este post a la explicación de algunos principios teóricos  de la medición de pH. Por último se propone un código para el uso de esta unidad en el proyecto CAO. Se trata de un artículo bastante largo donde se comentan bastantes cosas que no hemos considerado oportuno volver a explicar aquí.

CAO-10: Medidores de PH para Arduino En este post se hizo una primera aproximación comentando algunas de las posibles alternativas de sensores para usar con Arduino.

Share