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
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
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:
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.
Lara
Hola hospitalario, me pregunto si elalminardemelilla celebró este año el Día de la Tierra, que como sabes se conmemora en casi todo el planeta. Es bueno recordar la relación que tenemos con la tierra. Quería preguntarte si crees que es necesario este día de la Tierra. Pero yo creo que es un tanto hipócrita porque este día solo sirve como una forma para que no nos sentamos culpables de como estamos acabando con el medio ambiente o igual me equivoco. Pero por qué no hacer del día de la tierra un hábito diario? Sería lo ideal.
Un saludo.
Lara
Hola antonio me pregunto si has celebrado este año el Día de la Tierra, que como sabes se conmemora en casi todo el planeta. Es bueno recordar la relación que tenemos con la tierra. Quería preguntarte si crees que es necesario este día de la Tierra. Pero yo creo que es un tanto hipócrita porque este día solo sirve como una forma para que no nos sentamos culpables de como estamos acabando con el medio ambiente o igual me equivoco. Pero por qué no hacer del día de la tierra un hábito diario? Sería lo ideal.
Un saludo.
Antonio Castro
Cierto el nivel de CO2 está próximo a alcanzar el punto de no retorno y el cambio climático sería muy severo y muy duro. Existe un exceso de confianza en la capacidad del hombre para poder evitar el desastre. Cualquier granito de arena para concienciar a las personas de todo el planeta de lo que se avecina es muy bien venido, pero ya hemos empezado a padecer ciertas consecuencias y no se ha avanzado gran cosa. Los que más pueden hacer son los políticos. Yo voy a votar a Equo, es la primera vez que voto a un partido verde, pero la mayoría de la gente cree que hay otras cosas más importantes. Puede que existan cosas más urgentes, pero no más importantes. Nos va en ello la habitabilidad del planeta.
diego chacin
primero que todo gracias por el aporte si quieres por favor que colocaras la lista completa de los materiales para armar el phmeter y segundo para calibarlo puedo utilizar una solucion prepara de de NaOH conce y otra de HCl conce para el PH – 0 y el PH + 14 en mi caso de no tener soluciones patron y tambien si en ves de utilizar la sonda puedo adaptarle dos conectores hembras para colocar unos cables medidores de microamperimetro y utilizar unos electrodos de referencia y medida como se muestra aqui construccion de electrodo de referencia y medida caseros para val de acidos y bases.avi
Eduardo J. Paredes Molina
Hola Antonio.
Darte las gracias por lo precisos apuntes que haces a este maravilloso mundo de la acuariofilia.
Quería comentarte un cuestión. Tengo un medidor de pH de la marca DUPLA (pH-Control Set Delta), fue un regalo, y no lo he utilizado nunca. Pasado un tiempo, cuando me puse a calibrarlo me fue imposible. Creo que el fallo está en la sonda (mucho tiempo sin utilizar y mal conservada). Me gustaría que me dieras algún consejo sobre que sonda comprar. Ya sabes, con una buena relación calidad precio.
Atentamente,
Un fiel seguidor de tu blog.
Fco Javier
Hola de nuevo, un amigo me prestó el Arduino Leonardo, por lo que no he necesitado comprarlo, en cuanto a modulo de pH que dispongo para conectar es este http://www.ebay.es/itm/272041590236_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT , he estado mirando como hacer el programa para hacer la lectura y realizar la acción de control pero 1) como lo calibro, 2) me gustaría guardar datos de ph en una Micro SD y actuar sobre un relé y 3) ¿Es necesaria una sonda de temperatura para la calibración?. He estado mirando el programa que Reza’s Blog pero no lo acabo de entender muy bien. Podría pasar el programa que usted usa? Estaría bien que realizase un video que explique como lo ha programado.
Gracias
Un cordial saludo
Antonio Castro
El enlace que pones ya no es válido y no sé que módulo tienes. Mi programa puedes descargarlo desde mi dropbox en la dirección siguiente: https://www.dropbox.com/s/1t3xn9r0ty6vsfy/LinealSensorLCD.zip?dl=0
Fco Javier
Otra duda que tengo es como abordar la programación, por partes ( hago la del Relé, luego la de la pantalla LCD, la de la memoria Micro SD y por último el módulo de pH) o todo a la vez.
Gracias
Un saludo
Fco Javier
Liquid PH Value Detection detect Sensor Module Monitoring Control For arduinouchas gracias Antonio, tanto por el programa como por el interés que muestra. Este es el nombre en ebay:
«Liquid PH Value Detection detect Sensor Module Monitoring Control For arduino»
Aún no me ha llegado desde que lo compré, pero tiene más de 4 pins para conectar al Arduino.
Antonio Castro
Yo no he visto nada que responda exactamente a eso. Parece una descripción general del producto y si no se menociona al fabricante (muchos clonicos no lo hacen) y tampoco se acompaña de instrucciones resulta muy complicado saber como usarlo.
Lo más oarecido que he visto ( más de cuatro pines y con una descropción similar) es esto.
http://es.aliexpress.com/item/Liquid-PH-Value-Detection-detect-Sensor-Module-Monitoring-Control-For-arduino/32371896246.html
Por desgracia es un producto que no proporciona información de uso. Solo dice que es una sonda analógica, por lo cual es raro porque no se entiende para que sirven tantos pines ni cuales hay que usar.
Para alguien que entienda está el recurso de analizarlo visualmente y/o con la ayuda de un tester y alguna lupa para desentrañar el circuito y poder usarlo.
Fco Javier
Muchas gracias por todo, cuando me llegue la examinaré he intentaré de calibrarla y programarla. Lo que consiga os lo comento.
Un saludo
Fco Javier
Buenas, he encontrado algo interesantísimo para todos los que adquieran el modulo de pH parecido al que yo compré. Aquí te ayudan a programarlo :
http://arduino.stackexchange.com/questions/17436/using-calibrating-ph-sensor-module
y en este otro enlace encontrarán la información del modulo de pH:
http://1drv.ms/1MSk1DX
Lo que les comento es recién encontrado, ahora voy a tratar de procesar toda la información jejeje.
Gracias por todo Antonio, le estoy muy agradecido por su atención.
juan manuel
hola
me gustaría que incorporara un rele para activar el solenoide de la botella de co2, es posible este proceso
Antonio Castro
No incluye el software para eso, pero se podría hacer. De hecho en otro proyecto mío CAO1, incluyo esa posibilidad pero se trata de CO1, un proyecto que incluye muchas más cosas aparte del control del pH. Mirando los fuentes de ambos proyectos no es dificil sacar una versión para lo que tu necesitas. Si sabes C++ no tendrás mucho problema y yo te podría resolver las dudas concretas.
Fco Javier
Buenas noches,
He estado programando un sensor de pH, mi metodología ha sido la siguiente:
int measure = analogRead(ph_pin);
double voltage = 5 / 1024.0 * measure; //classic digital to voltage conversion
pH = (7 + ((2.5 – voltage) / 0.16 ));
lcd.setCursor(0, 0);
lcd.print(«PH: «);
lcd.print(pH);
Con este código he conseguido leer los datos del sensor calibrarlo mediante la disolución patrón y el potenciómetro que me trae el modulo de ph que conecto al Arduino. El problema es que al introducirlo en el reactor me da una lectura de -8,29 y no lo entiendo ya que las disoluciones de pH para el calibrado me las clava a 4,01; 7,00 y 9,21. ¿Puede ser por culpa de el código?.
Gracias
Un saludo
PD:
El modulo de pH que tengo es el siguiente:
pH Shield v 1.1 comprada por eBay desde china.
Antonio Castro
El código proporciona una respuesta lineal para la variación del potencial detectado en la sonda.
Si obtienes buenas lecturas para valores de pH al usar soluciones tampón de 4.0, 7.0 y 9.0 significa que el código está funcionando bien para esos valores de pH.
Puede ser un problema de la sonda, un problema del pH Shield, un problema de incompatibilidad del medidor par un valor extremo del pH, etc.
Yo desconozco si las condiciones dentro del reactor son especiales y requieren alguna sonda especial, porque podría ser.
Puedes intentar comparar la medida con otros instrumentos (sondas y/o medidores) para intentar averiguar el pH dentro del reactor. Creo que el pH dentro de un reactor de calcio no debería ser muy extremo, pero ignoro lo que está ocurriendo. Yo he tenido sondas que con el tiempo perdieron su estabilidad midiendo en agua dulce y que los tampones los leían mucho mejor.
No se que tipo de reactor usas. Ignoro como afecta el calcio a la sonda porque es un instrumento muy sensible a cualquier tipo de depósito en la superficie de la membrana y ello afecta negativamente. Hay muchos modelos de sondas y cada uno está indicado para una cosa diferente.
Creo que no es problema del código, pero no sé a que se debe un resultado tan extraño.
Si lo averiguas coméntamelo.
Fco Javier
Ante todo muchas gracias por contestar con tanta rapidez. Significa mucho para mí.
Probé con dos sondas diferentes pero del mismo modelo y me daban los mismos resultados. Estas eran las que usaba anteriormente con un controlador de pH comprado y que se nos estropeó, e iban bien.
Los reactores son para cultivar microalgas para eliminar N y P de las aguas residuales tras un tratamiento secundario en una depuradora. Comprobé que el pH con un pH-metro de laboratorio, que es el que normalmente usamos para conocer el valor de pH en un instante, me dio un valor de 6,78 (dentro del rango en el que estaba calibrado).
Si el código no presenta ningún error apreciable, lo que voy a hacer esta semana es probar el sensor del pH del laboratorio. Espero obtener buenos resultados.
Muchas Gracias
Ya os comentaré que tal me fue
Un saludo
Antonio Castro
El agradecido soy yo. Me interesa mucho saber en que puede consisrtir ese fallo, porque aunque el error resulte no estar en el código,tal como yo pienso, nos puede afectar a todos los que usamos este tipo de medidores caseros.
Si usas otro medidor, quizás puedas hacer pruebas intercambiando las sondas para de esa forma poder ir averiguando en que parte está el problema. Es lo que yo haría.
Te explico un poco de teoría para que entiendas el motivo de esta prueba.
En todas las sonda,s en condiciones ideales ha de cumplirse que un electrodo en solución de pH 7,0 generará siempre un potencial de 0 mV, y por cada unidad de pH que se incremente o decremente se producirá un incremento o decremento de potencial constante que será de 59.16 mV para una temperatura de 25ºC. Este funcionamiento es el que tienen todas las sondas.
Por lo tanto, una sonda se limita a entregar una diferencia de potencial que estará en función del pH. Se trata de una correspondencia lineal.
La electrónica (el shield) lo que hace es amplificar esa diferencia de potencial y traducirlo a un rango de valores que en el caso de Arduino deberá quedar entre 0 y 5v . Para ello usa amplificadores operacionales y con ello se consigue que la medida se haga sin apenas generar corriente eléctrica en el electrodo.
Fco Javier
Muy buenas,
He probado con la sonda de pH que tengo en el laboratorio en el arduino que es la que uso para medir el pH normalmente. Pero el resultado obtenido es el mismo pH=-8,29.
He decidido hace una serie de pruebas, e cogido la sonda de Hanna y he medido el pH con el Arduino de un tanque de 250 litros con agua residual que es lo que uso como alimentación del reactor. Sorprendentemente me ha dado un pH que oscilaba en torno a 7,68 que oscilaba debido a que no tengo el valor de pH promediado. En el pH-metro de laboratorio obtuve pH=7,54. También le medí la conductividad y tenia 1055 µS/cm.
A continuación he medido un tanque con unos 350 litros con una mezcla de agua y lejía, el pH que marcaba el Arduino era entorno a 10,15 (oscilante como anteriormente). La conductividad era 6,07 µS/cm.
Hice esto mismo al reactor con microalgas que es donde quiero implantar el control dude pH y con el arduino el pH se quedaba en -8,29 (igual que si no hubiese conectado una sonda al modulo de pH pero el modulo de pH conectado al arduino). Su conductividad era de 1138 µS/cm.
Entonces me surgió la duda de que el problema podría ser medir el pH en el propio reactor. Tomé el pH-Metro del laboratorio y lo llevé al exterior y lo puse a medir el pH. Sin problema alguno este pudo medir el pH, teniendo como resultado un valor de 9,19.
Con todo ello he conseguido comprobar que como la teoría dice, el volumen a analizar el pH no interfiere en la medida. Debe ser otro factor que no se me ocurre. La conductividad la descarto ya que el agua residual tiene una conductividad próxima a la del reactor y el agua con lejía muy mucho mas baja, y no dio problemas para medir.
Estuve barajando la posibilidad de modificar el código que lee el pH, pero con los resultados anteriormente obtenidos, creo que lo voy a descartar por un tiempo.
Si a alguien se le puede ocurrir una sugerencia le estaré muy agradecido.
Gracias
Un saludo 🙂
Antonio Castro
Acabas de descartar que el problema sea de la sonda.
Ignoro si has realizado el montaje alimentándolo a pilas o no, pero en caso de tenga una alimentación a red eléctrica, podría estar ocurriendo una derivación con un circuito formado por:
Tierra-agua-sonda-equipo-Arduino-tierra.
Si lo tienes alimentado a red eléctrica, recomiendo hacer una prueba alimentando todo el Arduino incluido en pHshield mediante un sistema a pilas y todo perfectamente aislado de tierra.
Si ya lo estás usando todo con pilas, el misterio continua en pie y habrá que pensar en más pruebas.
Fco Javier
Pues el Arduino está siendo alimentado por corriente eléctrica. Esta tarde probaré a hacerlo funcionar con el cable USB y todo bien aislado. Aunque sospecho que el problema debe estar en otro lado (Ej: exista cierta corriente en el reactor o algo) pues en el tanque de alimentacion de 500L pudo leer el pH sin problemas. Analizando las ecuaciones del arduino en excel obtuve:
1,25 14,813
1,50 13,250
1,75 11,688
2,00 10,125
2,25 8,563
2,50 7,000
2,75 5,438
3,00 3,875
3,25 2,313
3,50 0,750
3,75 -0,813
4,00 -2,375
4,25 -3,938
4,50 -5,500
4,75 -7,063
5,00 -8,625
Esto significa que por algun motivo el analogRead() lee aproximadamente 1023 esto se convierte en unos 5V y me dan una lectura de pH de -8.29; -5.6; -1.23; 1,4; y así continuamente oscilando.
De todos modo he desarrollado otro código para probarlo tambien. Esta tarde comentaré que ocurrió.
Gracias
Un saludo
Antonio Castro
Haz todas pruebas que se te ocurran, cuantas más mejor, pero la prueba que yo te sugiero que hagas es con pilas. No por USB.
Solo con pilas puede descartarse con total seguridad el problema que yo menciono y que conozco por experiencia propia. Es complicado de explicar.
Fco Javier
Buenas tardes a todos,
Tras una intensa tarde de experimentos de todas las combinaciones posibles para descartar y confirmar las causas, más o menos ya tengo el problema encajado (que ya es mucho). Por lo que le prosigue una búsqueda de la solución más adecuada.
Antonio, no disponía de una pila y el adaptador para el Arduino. Por lo que no he podido realizar esa prueba. En su lugar como te comenté he conectado el Arduino por USB al ordenador y con una nueva ecuación que desarrolle ayer, y la correspondiente calibración obtuve valores bastante aceptables. Me estaba marcando aproximadamente pH = 6,3 pero me oscilaba entre valores de 5,8 y 7. Es una oscilación bastante amplia. El pH-metro del laboratorio corroboró que el pH era de 6,41. Por lo que de valores negativos a una oscilación ya ha sido un gran paso.
Para que los reactores estén homogeneizados utilizo unas palas que son movidas por un motor rotativo. Aunque una vez hace unos días lo paré, me seguía dando valores negativos oscilantes. Esta vez al pararlo la medida se me quedó muy estable, dejo de oscilar prácticamente. Haciendo entre valores de pH= 6,2 y 6,5. La verdad un verdadero gustazo. Medí con las palas encendidas desde las palas a tierra tanto en continuo como en discontinuo y no se percibía gran cosa. También de las palas al agua y tampoco.
En resumen, lo que me estaba dando problemas era el conectar el Arduino a alterna a través de un transformador a 9V. He probado con otro trasformado y tampoco. Además de poner un voltaje de 5V y 6V y tampoco lo solucionaba. Y por otro lado el funcionamiento de las palas(hace que oscile más).Pensé que podría ser la velocidad, por l que baje a las mínimas revoluciones, y seguía dando valores oscilantes. Esta combinación de conectarlo a alterna (valores negativos oscilantes) y las palas (valores oscilantes) son las causas del problema.
¿Qué me sugieren como posible soluciones?. He pensado conectar el Arduino a una pila, pero no se su consumo para pantalla iluminada 16×2, relé, modulo mcSD, modulo de hora y el modulo de pH será demasiado. ¿Serviría una batería de coche junto a un convertidor?, ¿es mucha tela?.
Para solucionar/atenuar los valores oscilantes causados por las palas he pensado en introducir de algún modo una media del pH. Lo he estado intentando esta tarde pero no lo he conseguido aún. ¿es la mejor opción?.
Muchas gracias
Saludos
Antonio Castro
Yo creo que es un problema de falta de aislamiento galvánico. Confírmame que con dos transformadores va mál y que con el USB va bien, porque la mayoría de los alimentadores no tienen un buen aislamiento galvánico. Si el ordenador va a pilas el USB irá bien. En caso contrario es muy probable que el problema persista y no me has comentado si el ordenador va a pilas o no. Si va a pilas puedes hacer pruebas con el ordenador a pilas y con el ordenador conectado a la red eléctrica.
No recuerdo si tu pH Shield es I2C o analógico. porque para I2C creo que existe algún integrado que proporciona aislamiento galvánico.
Se trata de una característica que rara vez se tiene en cuenta. Tiene que ver con calidades de los aislantes o con efectos capacitivos entre el bobinado primario y el secundario que muchas veces están muy próximos.
Lo de hacer varias lecturas y promediarlas puede ser muy útil. La lectura tardará algo más.
Fco Javier
Buenos días,
Ayer estube desarrollando el programa de media movil. Tambien estuve con un multimetro realizando una medida del voltaje que me estaba dando el adaptador de 220V a 9V (ya que he leido que la alimentación por el Jack debe estar entre 7V y 12V). Obtube una medida de 9,18 V casi constaante. ¿Esto indica que el aislamiento galvanico estaría bien?, ¿como podria comprobar el aislamiento galbánico?.
Esta tarde realizaré la prueba del ordenador con batería y el ordenador enchufado a la corriente electrica.
Mi modulo de pH shield es analógico y se calibra por un potenciómetro que tiene el propiomodulo.
Muchas gracias
Un saludo
Fco Javier
Antonio Castro
Ayer fui a una tienda de electrónica (Conectrol) y pregunté por el tema. Había varios dependientes. Solo a uno de ellos le sonaba el aislamiento galvánico pero decía que lo había estudiado hace 20 años y que no se acordaba.
Se trata de algo que rara vez tiene importancia y por eso la mayoría de los alimentadores no tienen aislamiento galvánico. Las sondas de pH lo necesitan porque miden milivoltios.
Lógicamente los ingenieros que diseñan medidores de pH que pueden trabajar de forma permanente conectados a la red eléctrica habrán solucionado el tema de alguna forma.
Medir el aislamiento galvánico no creo que sea trivial. Seguramente necesite instrumentos bastante especiales.
La prueba del ordenador con batería y el ordenador enchufado a la corriente eléctrica creo que será de gran ayuda.
Fco Javier
Hola a todos,
He estado unos días perdido, pero no he estado sin parar. Hice la prueba de el ordenador enchufado y el ordenado sin enchufar, efectivamente me reporta de nuevo el problema. Por lo que lo que lo hace funcionar bien es la batería.
Me he dado cuenta que por algún motivo la medida en el reactor tendía a valores negativos y el tenerlo conectado a corriente alterna tendía a valores positivos muy altos (del orden de pH=16, que se que no puede ser real). para solucionar un poco el tema de las oscilaciones he introducido una media que toma muestra cada 200 valores. Como resultado de todo esto tenía unos valores que variaban poco entre 6 y 7 pero claro no era medidas reales, eran fruto de la media de las fluctuaciones.
Para buscar una solución al motor de las palas del reactor, he conectado un cable desde dentro del reactor a tierra. Y para evitar los problemas de alterna he dejado el Arduino conectado a un ordenador a tope de batería en suspensión. Mañana vendré a ver que tal va la cosa. También he pensado conectar una batería de coche de 12V al Arduino, a ver cuanto le dura.
En cuanto al convertidos a 9V seguro que no está galvanizado. Tengo un antiguo medidor de pH, el que antes usaba que se me estropeó, funcionaba conectado a 230V y no daba problema. Dentro tiene un convertidor de alterna a continua de unos 12v. He pensado en sacarlo de ahí e intentar incorporarlo al Arduino como convertidor de alterna a continua. ¿Que les parece?, ¿quizás esté galvanizado?.
Gracias,
Un saludo
Fco Javier
Buenas tardes queridos compañeros, estoy muy contento porque al parecer ya he terminado de solucionar todos los problemas. El Arduino ya mide dentro del reactor y sin necesidad de batería, conectado a corriente. Las bases del éxito han sido introducir en el reactor un cable y conectarlo a un postear que está hincado en el suelo (conectando con tierra) puede que el motor que impulsa las palas que homogeneizan el reactor no este bien conectado a tierra, perjudicando la medida del reactor.
Por otro lado, utilicé el transformador que tenia el controlador de pH que se estropeó y me ha servido para obtener una medida de pH estable sin necesidad de baterías. Pero es cierto que me marcaba un pH de algo superior (aprox 1 valor por encima del real). Pero ahora viene lo mejor, un amigo me dijo, ¿por qué no usas un cargador de móvil?. Pues bien hoy me lleve 2 cargadores de móviles. El de un Samsung Galaxy S2 y el de un Samsung Galaxy Grand Prime y un cargador de un MP3. Sorprendentemente los 3 me daban valores estables de pH. El del Galaxy S2 me daba valores inferiores de pH, el cargador del MP3 me daba valores algo superiores y el del Grand Prime es el que preacticamente me clava los valores respecto al pH-metro del laboratorio. Se me a pasado anotar el OUTPUT que ofrece ese transformador. Lo dejo pendiente para comentároslo. Así que ya sabéis, usad como alimentador cargadores de móviles y probad varios.
Un saludo y que disfruten del fin de semana
Antonio Castro
Felicidades. Muy útil todo lo que has aportado. Seguro que hay más gente que se ha tropezado con este problema y alguno quizás todavía sigue luchando contra los duendes de la electrónica.
diego chacin
tambien se puede utilizar unos electrodos de refencia que son faciles de fabricar dejo el enlace para que lo vean http://www.picpc.es mirar en el apartado de proyectos
Andrés García
Saludos, agradezco su dedicación en este proyecto y la información tan útil que proporciona. Estoy interesado en construir este medidor de pH, sin embargo le daría una orientación distina midiendo el pH del sudor. Mi pregunta es ¿Cuál sonda utiliza para adaptar al Dormant Labs? y, ¿Es posible sustituirla por algún electrodo o algo adherible a la piel? Muchas gracias.
Antonio Castro
Para medir el pH de la piel se utilizan electrodos especializados muy diferentes a los habituales y por lo visto hay una amplia variedad de ellos. Lo lamento pero es un tema que desconozco por completo.
Benjamin
Hola buenos dias .
Donde puedo adquir el sensor dormant labs ph module v2 , porque me gustaria hacer el prototipo. gracias
Antonio Castro
Prueba en Tindie https://www.tindie.com/products/rezahussain/dormant-labs-ph-module-v2/
Luis
Hola Antonio,
Ando también intentando hacerme con un par de sensores dormant labs ph module v2 pero parece que ya no están disponibles (aparecen como sold-out en la web de tindie). Sabes si ya no se están comercializando por algún motivo? Y en tal caso, me podrías aconsejar otro sensor I2C que fuese compatible con tu código para poder probarlo en un entorno algo diferente (medición del pH en una piscina). Las condiciones son muy similares a las de acuriofilia de ahí que pensase utilizar tu código con algún retoque mínimo. Lo que me interesa es un sensor que sea lo más parecido al de Dormant Labs para poder seguir tu misma filosofía a la hora de hacer medidas.
Mil gracias por tu ayuda por adelantado.
Salu2,
Luis
Antonio Castro
Yo creo que todos los sensores deberían funcionar porque las lecturas vienen en milivoltios, pero hay que tener un especial cuidado con el aislamiento galvánico de la fuente de alimentación salvo que se use alimentación a pilas. Si existe un código de ejemplo para su uso mucho mejor. Podrás adaptar el código fijándote en la función que hace las lecturas I2C.
Luis
Hola Antonio, gracias por tu respuesta. He estado echando un vistazo y me encuentro con esto en la web:
https://www.whiteboxes.ch/shop/ezo-ph-circuit/?v=04c19fa1e772#reviews
https://www.whiteboxes.ch/shop/isolated-ezo-carrier-board/?v=04c19fa1e772
El precio es bastante más caro que el PH Sensor de Dormant Labs. Sin embargo, por otro lado, veo que tanto el proceso de lectura como el de calibración son muy sencillos ya que el propio sensor se encarga de ambos procesos evitando por ejemplo el tener que almacenar los valores de calibración en EEPROM (El data sheet que aparece es bastante ilustrativo). La calibración se efectúa enviándole al sensor un comando ASCII. Lo único que habría que hacer, según entiendo yo, sería tomar una serie de muestras y hacer un promedio para eliminar el ruido. Y es éste el tema que más me preocupa en línea con lo que comentas arriba.
En un entorno de piscinas obviamente hay una bomba de agua (220V aunque también las hay a DC) y bombas peristálticas (220V) para la inyección de CL o HCL que se controlarían con los sensores de PH y ORP conectados al Arduino. Por lo que yo entiendo de aislamiento galvánico y leyendo los posts más arriba es que desde la alimentación del Arduino se inyecta señal (entiendo que en forma de armónicos procedentes de la fuente de alimentación conmutada) en la línea de datos o de medida. La forma de evitar este problema sería utilizar un transformador galvánico como los que vienen en los cargadores de móviles o baterías (lo que en mi caso tengo que descartar porque si tengo que estar continuamente midiendo no daría para comprar baterías…a no ser que le conectase un power bank…). Por otro lado, y viendo la descripción del segundo componente que te indicaba arriba, éste ya parece separar la alimentación de los datos en el extremo del sensor (Electrically Isolated)…o por lo menos así lo interpreto yo.
Pero qué pasa con las posibles interferencias procedentes de las bombas? Esta señales se medirían como ruido por el sensor que entiendo es extremadamente sensible…Cómo consigo eliminar este ruido? Mediante el muestreo y posterior promedio (que no deja de ser un filtro paso bajo)?
Piensas que es buena idea optar por el sensor que te indicaba arriba? (a pesar del precio 🙁 ) Lo malo es que me gustaba tu código ya que estás completamente en control de la medida. El sensor de pH Shield te proporciona un valor y tú te encargas de obtener el valor de PH por interpolación lineal y de calibrar el sensor. Todo esto queda oculto con el modelo de arriba. He de reconocer que simplifica el proceso, pero habí invertido tanto tiempo revisando y entendiendo tu código, que he de reconocer que me gustaba 🙂
Un saludo,
Luis
Antonio Castro
Me falta información sobre ese nuevo sensor para poder aconsejarte. En realidad, para saber lo que tendrás entre manos no suele quedar más remedio que adquirirlo y probarlo con el consiguiente gasto de tiempo y dinero. Yo decepciones con los componentes electrónicos me he llevado muchas. Yo lo que hago es compartir conocimiento basado en mi propia experiencia. En el tema de los componentes electrónicos, el precio no suele ser un buen indicador de calidad.
Edhardo Hernandez Meyer
Hola te saludo desde Colombia, mi nombre es Edgardo Hernandez, vi tu video y explicacion del medidor de PH y es excelente, gracias por tu tiempo y aportes. te pregunto algo, existe algo parecido para medir oxigeno, y nitritos.
Antonio Castro
La variedad de sensores en el mercado es muy alta. Es cuestión de buscar. Lo más complicado es evaluar la calidad de estos productos, ya que la demanda es muy pequeña y el riesgo de comprar algo poco útil y caro es muy grande, pero de vez en cuando surgen sorpresas agradables porque la tecnología avanza muy rápido.
Incluso un sensor malo puede resultar útil para determinadas aplicaciones, así gran parte de la dificultad de innovar con este tipo de sensores esta en comprar y probar.