QUEDADA AM - MAYO

Charla impartida por el SBC: «INICIACIÓN AL BETTA».
DOMINGO, 11 DE MAYO. ¡APÚNTATE YA!

Más info
image01

¿Aún no conoces AMA?

Hazte socio de Acuariofilia Madrid Asociación.
CERRADO EL PLAZO DE INSCRIPCIÓN

Más info
image01

Atlas de peces de AM

¡Hemos alcanzado las 800 fichas! Visita nuestro atlas de peces actualizado.

Más info
image01

Cardúmenes y sociabilidad

Nueva actualización de la tabla con una extensa relación de peces, donde podrás conocer qué entorno necesita cada especie, su sociabilidad y si convive o no en cardumen. ¡Pasa a descubrirla!

Mas info
image01
Aula Arduino para principiantes.
Respuestas: 1783    Visitas: 433419
#1,366
(19-07-2015, 12:08 PM)rubenmas escribió: Antonio, estoy reuniendo los componentes que me faltan para terminar de montar CAO1 y al intentar pedir el sensor de Dormant Labs en Tindie, el V2 se encuentra fuera de stock desde Abril, tienen este otro que pongo en el link, crees que este valdría para tu código de CAO1?
PH Sensor

Venden hardware como el que vende patatas. -glare.gif
Ese hardware es totalmente inútil si no se proporciona la información para usarlo.

Acabo de localizar el código de ejemplo en otra página.

cyberplantru/pH-to-I2C-sample-code

Te comento. En el sensor de Dorman Labs hay que hacer de cada vez un par de lecturas. Son los dos bytes (H y L) de un dato entero que apropiadamente tratado sirven para obtener el voltaje medido por la sonda y por lo tanto el pH.

Código:
while(Wire.available() < 2);
        byte H = Wire.read();        
        byte L = Wire.read();
        // SerFmt.Fmt(0, F("*** H=%d, L=%d"), (int) H, (int) L); // TRAZA
        return (uint16_t) (H*256) + (uint16_t) L;

En el sensor de Tindie, habría que leer tres datos. Los dos primeros sol igualmente los dos bytes (H y L) de un dato entero que apropiadamente tratado sirven para obtener el voltaje medido por la sonda y por lo tanto el pH, pero tam bien hay que leer un tercer dato que lo llaman configRegister y que EN EL EJEMPLO NO SE USA PARA NADA. Como no se documenta su uso no hay forma de dar utilidad a ese dato, pero de momento serviría para introducir una conveniente incompatibilidad con el sensor de Dormant Labs que es muuuuy parecido.

Código:
while(Wire.available()) // ensure all the data comes in
{
highbyte = Wire.read(); // high byte * B11111111
lowbyte = Wire.read(); // low byte
configRegister = Wire.read();
}

Mi software ya tuvo en cuenta el hecho de que un dispositivo I2C puede hacrr las cosas de un modo diferente así que creo que bastaría generar un nuevo protocolo que sería muy parecido al de Dormant Labs. Solo tendría que leer un dato más e ignorarlo.
En la forma que está diseñado mi software daría igual que los voltajes entregados por este tipo de hardware no coincidieran porque siempre van a respetar la correspondencia lineal entre voltaje y pH así que un problema de ese tipo se traduciría en un resultado con datos de calibración internos diferentes, pero no afectarían a la medida porque esta se hace manualmente en base la correspondencia lineal entre valores leidos y el pH.
Todo esto se programó así para que en un futuro y con un modulito de lectura de potenciales redox se pudiera usar ese módulo para leer potenciales redox con el único requisito de definir un nuevo protocolo que simplemente es una funcion pequeña (muy pocas líneas) para obtener el dato entregado por la sonda.
#1,367
(19-07-2015, 07:19 PM)Antonio Castro escribió:
(19-07-2015, 12:08 PM)rubenmas escribió: Antonio, estoy reuniendo los componentes que me faltan para terminar de montar CAO1 y al intentar pedir el sensor de Dormant Labs en Tindie, el V2 se encuentra fuera de stock desde Abril, tienen este otro que pongo en el link, crees que este valdría para tu código de CAO1?
PH Sensor

¿Hay algún enlace que permita acceder a ejemplos de uso?
Antonio aquí hablan algo sobre él y hay un ejemplo de prueba.
MiniPH I2C
#1,368
(19-07-2015, 07:28 PM)rubenmas escribió:
(19-07-2015, 07:19 PM)Antonio Castro escribió:
(19-07-2015, 12:08 PM)rubenmas escribió: Antonio, estoy reuniendo los componentes que me faltan para terminar de montar CAO1 y al intentar pedir el sensor de Dormant Labs en Tindie, el V2 se encuentra fuera de stock desde Abril, tienen este otro que pongo en el link, crees que este valdría para tu código de CAO1?
PH Sensor

¿Hay algún enlace que permita acceder a ejemplos de uso?
Antonio aquí hablan algo sobre él y hay un ejemplo de prueba.
MiniPH I2C

Por lo que veo en este nuevo ejemplo, incluso podría funcionar tal cual. No habría incompatibilidad porque se pueden pedir 2 bytes o tres bytes.
Wire.requestFrom(pHtoI2C, 3); o Wire.requestFrom(pHtoI2C, 2);
¿El tercer byte nunca se usa? -huh.gif
#1,369
A mi me da mucha más confianza el sensor de Dormant Labs que este, pero parece que el de Dormant no está disponible y no se si estará.
#1,370
Puedes mandar un mail a Reza Hussain reza(at)dormantlabs.com.

Para autoconstruir existe el pHduino

Está muy bien. Viene incluso información para construir la PCB, pero aunque son temas que me interesan voy despacio porque se me da mejor el software.

Hay otros circuitos disponibles para medir pH y la mayoría usan amplificadores operacionales. Un tema con el cual aún no me he metido aunque de joven hice alguna cosilla.

Con las sondas que venden el AliExpress y con un circuito de esos un medidor de pH podría salir muy barato.
#1,371
(20-07-2015, 08:33 PM)Antonio Castro escribió: Puedes mandar un mail a Reza Hussain reza(at)dormantlabs.com.

Para autoconstruir existe el pHduino

Está muy bien. Viene incluso información para construir la PCB, pero aunque son temas que me interesan voy despacio porque se me da mejor el software.

Hay otros circuitos disponibles para medir pH y la mayoría usan amplificadores operacionales. Un tema con el cual aún no me he metido aunque de joven hice alguna cosilla.

Con las sondas que venden el AliExpress y con un circuito de esos un medidor de pH podría salir muy barato.
Gracias Antonio, voy a investigar un poco el tema y a ver que hago, la primera opción será escribir un correo a Reza Hussain para saber si estará de nuevo disponible.
#1,372
Bueno, pues el sensor PH de Dormant labs V2, no va a ser repuesto, Reza Hussain parece que está trabajando en la V3 y hasta bien entrado 2016 no cree que este listo (comentado en una entrada de su blog).
El miniPh interface que yo había puesto más arriba también está fuera de stock, desconozco cuando estará disponible ya que no an datos. Por lo tanto me quedan dos opciones, comprar uno a través de ebay de este tipo Ph Value Detection, este es con salida analógica, no es I2C, o bien la otra opción es construirme uno tipo estos.
PH Amplifier
Tiny Accurate PH
O bien el PHDUINO.
Una cosa Antonio, revisando el código de Cao1 no encuentro donde se elige el sensor I2C o Analógico.
#1,373
(23-07-2015, 08:44 PM)rubenmas escribió: Bueno, pues el sensor PH de Dormant labs V2, no va a ser repuesto, Reza Hussain parece que está trabajando en la V3 y hasta bien entrado 2016 no cree que este listo (comentado en una entrada de su blog).
El miniPh interface que yo había puesto más arriba también está fuera de stock, desconozco cuando estará disponible ya que no an datos. Por lo tanto me quedan dos opciones, comprar uno a través de ebay de este tipo Ph Value Detection, este es con salida analógica, no es I2C, o bien la otra opción es construirme uno tipo estos.
PH Amplifier
Tiny Accurate PH
O bien el PHDUINO.
Una cosa Antonio, revisando el código de Cao1 no encuentro donde se elige el sensor I2C o Analógico.

Mala noticia la de Reza Hussain y el resultado del sensor analógico de Ebay lo desconozco. Sería cuestión de probarlo. La ausencia de librerías o de software para ese sensor de pH no me preocupa demasiado. Si funciona el sensor de forma compatible con Arduino (entregando voltajes de 0 a 5v) , mi software debería ser capaz de calibrarlo tomando medidas con dos soluciones tampón.

Caso que decidas lanzarte a la aventura de construirte un circuito, lo que yo haría sería basarme en un circuito suficientemente sencillo como para poder probarlo pinchando componentes en una protoboard y medir la salida en un polímetro digital antes de construir la placa y soldar componentes. La salida debe de estar siempre en el rango 0 a 5V de lo contrario puedes dañar el Arduino

Respecto a la configuración del protocolo, al ser un tema que depende del hardware lo he incluido en CAO1_CONFIG.h


Código:
// ***********************************************************************************
// Seleccione el protocolo usado por su sensor de pH (ANR o IDL) comentando la
// opcion incorrecta y dejando la opcion deseada.
//
//************************************************************************************
// #define PROTOCOL        IDL  //  (I2C(PHADDRESS) DormantLabs pH meter)
#define PROTOCOL        ANR     //   analogRead(PinPhShield)


Se usará en CAO_1.2.1.ino


Código:
void setup(void) {
    [...]
    // ***************************************************************
    // Inicializar sensor de pH.
    // OJO! (No se detecta si el sensor de pH está disponible o no)
    // ***************************************************************
    if (PROTOCOL==ANR){
        PhMtr.Ini(F("PhShield"), F("pH4"), F("pH7") , 'c', 0, 1000, "ANR", PinPhShield, 300, 400, 700, 1000, ArranqueLento);
    }
    else if (PROTOCOL==IDL){
        PhMtr.Ini(F("PhI2C"),    F("pH4"), F("pH7") , 'c', 1, 1000, "IDL", PHADDRESS,   300, 400, 700, 1000, ArranqueLento);
    }
#1,374
(23-07-2015, 09:46 PM)Antonio Castro escribió: Mala noticia la de Reza Hussain y el resultado del sensor analógico de Ebay lo desconozco. Sería cuestión de probarlo. La ausencia de librerías o de software para ese sensor de pH no me preocupa demasiado. Si funciona el sensor de forma compatible con Arduino (entregando voltajes de 0 a 5v) , mi software debería ser capaz de calibrarlo tomando medidas con dos soluciones tampón.

Caso que decidas lanzarte a la aventura de construirte un circuito, lo que yo haría sería basarme en un circuito suficientemente sencillo como para poder probarlo pinchando componentes en una protoboard y medir la salida en un polímetro digital antes de construir la placa y soldar componentes. La salida debe de estar siempre en el rango 0 a 5V de lo contrario puedes dañar el Arduino

Respecto a la configuración del protocolo, al ser un tema que depende del hardware lo he incluido en CAO1_CONFIG.h


Código:
// ***********************************************************************************
// Seleccione el protocolo usado por su sensor de pH (ANR o IDL) comentando la
// opcion incorrecta y dejando la opcion deseada.
//
//************************************************************************************
// #define PROTOCOL        IDL  //  (I2C(PHADDRESS) DormantLabs pH meter)
#define PROTOCOL        ANR     //   analogRead(PinPhShield)


Se usará en CAO_1.2.1.ino


Código:
void setup(void) {
    [...]
    // ***************************************************************
    // Inicializar sensor de pH.
    // OJO! (No se detecta si el sensor de pH está disponible o no)
    // ***************************************************************
    if (PROTOCOL==ANR){
        PhMtr.Ini(F("PhShield"), F("pH4"), F("pH7") , 'c', 0, 1000, "ANR", PinPhShield, 300, 400, 700, 1000, ArranqueLento);
    }
    else if (PROTOCOL==IDL){
        PhMtr.Ini(F("PhI2C"),    F("pH4"), F("pH7") , 'c', 1, 1000, "IDL", PHADDRESS,   300, 400, 700, 1000, ArranqueLento);
    }

Ok, mira que he buscado. Una solución sencilla y elegante de elegir el protocolo.
Gracias
En cuanto al sensor de PH, creo que voy a probar el de ebay a ver que resultado da. Ahora con esto ya se sabe, desde que se pide hasta que llega... a esperar.
#1,375
Puestos a construir un ph sensor I2C el mas sencillo es el de tindie, lleva dos IC y un condensador, lo malo es que son componentes SMD y en mi vida he soldado esas miniaturas.

Aquí tienes la docu https://github.com/cyberplantru/pH-to-I2C-hardware incluido pcb eagle (fíjate lo curioso del apantallamiento de las pistas cercanas al input)

Los IC tampoco es que se vayan de precio lleva dos Texas I.:
LMP912000 (http://www.ti.com/lit/ds/snas571c/snas571c.pdf) que me ha parecido verle por internet entre 4 y 6 $

ADS1110 (http://www.ti.com/lit/gpn/ads1110) que creo que esta sobre 2.5 $

Yo tengo un sensor analógico chino (http://es.aliexpress.com/item/Free-Ship-...61069.html) pero aun no he tenido hueco a meterme con el, y apunto de llegar agosto no se ni que días estaré por Madrid, por lo que hasta septiembre no puedo comprometerme a hacer pruebas.
#1,376
(24-07-2015, 12:15 AM)ArturoS escribió: Puestos a construir un ph sensor I2C el mas sencillo es el de tindie, lleva dos IC y un condensador, lo malo es que son componentes SMD y en mi vida he soldado esas miniaturas.

Aquí tienes la docu https://github.com/cyberplantru/pH-to-I2C-hardware incluido pcb eagle (fíjate lo curioso del apantallamiento de las pistas cercanas al input)

Los IC tampoco es que se vayan de precio lleva dos Texas I.:
LMP912000 (http://www.ti.com/lit/ds/snas571c/snas571c.pdf) que me ha parecido verle por internet entre 4 y 6 $

ADS1110 (http://www.ti.com/lit/gpn/ads1110) que creo que esta sobre 2.5 $

Yo tengo un sensor analógico chino (http://es.aliexpress.com/item/Free-Ship-...61069.html) pero aun no he tenido hueco a meterme con el, y apunto de llegar agosto no se ni que días estaré por Madrid, por lo que hasta septiembre no puedo comprometerme a hacer pruebas.

Ni el sch ni el brd se dejan abrir con mi versión de EAGLE. Me dice que no son fichero EAGLE. Ignoro si hay que importarlos de alguna manera. En el PDF parece que viene como pasar de la lectura analógica con amplificadores operacionales a a I2C. Grcias a un ADS1110. que viene con entradas negativa y positiva de 0 a 5v especialmente pensadas para leer la salida de un amplificador operacional.

Yo tampoco he soldado componentes SMD, pero creo que simplemente hay que tener un mínimo de cuidado y habilidad con el soldador.

Será más difícil porque el componente no se sujeta tan fácil. Sujetar el componente, el hilo y el soldador requeriría tres manos así que al menos en la primera soldadura en lugar de acompañar con el hilo de estaño dejaría algo del estaño previamente en la en la PCB preestañando el topo con una cantidad pequeña de estaño. Luego situaría el SMD en su posición con unas pinzas manteniendo la presión contra la PCB y presionando la punta caliente del soldador contra la patilla del SMD, dejaría que se soldara. Una vez realizada la primera soldadura en una pata las demás serán más fáciles porque ya tienes sujeto el SMD a la PCB.
#1,377
Yo con el Eagle 7.2.0 no tengo ningún problema, prueba a volver a descargar el zip.

El sch es como el pdf, y el brd trae algo como esto:

[Imagen: Uyk7xUG.jpg]

Al parecer el IC LMP91200 es un amplificador ad hoc para señales de sondas pH (input por pin 5 y output por 12) que enlaza con el ADS1110 que es el conversor al protocolo I2C
#1,378
Es incluso más pequeño del Dorman Labs V2 y por el hecho de usar un integrado específico para medir pH podría ser tan bueno o mejor que él.

A nuestro nivel estamos hablando de precisiones de medida superiores a las que necesitamos. Los precios son muy interesantes, y unido al precio del Arduino Pro Mini (2 dolares) y de las sondas de pH AliExpres de (12.29 dolares). Me he fijado que esta sonda de AliExpress tiene una capucha protectora que va a rosca. Las capuchas de otras sondas son de caucho o de latex y no protegen bien de la desecación la punta de la sonda. Algunas sondas ya llegan mal a la tienda y no son baratas. Las tres últimas que compré son estas http://www.servovendi.com/es/sonda-elect...a911b.html

Resumiendo, fabricarse un buen medidor de pH, no sale muy caro salvo que se compare con un de bolsillo tambien de AliExpress http://es.aliexpress.com/store/product/D...5.html?s=p (Solo 10 dólares) -fisch.gif

Hacerlo con Arduino permite fabricar un controlador del pH personalizado (Con CO2, o con bomba peristáltica dosificadora). También permite el placer de decir, esto lo hice yo. Big Grin
#1,379
(24-07-2015, 10:33 AM)ArturoS escribió: Yo con el Eagle 7.2.0 no tengo ningún problema, prueba a volver a descargar el zip.

El sch es como el pdf, y el brd trae algo como esto:

[Imagen: Uyk7xUG.jpg]

Al parecer el IC LMP91200 es un amplificador ad hoc para señales de sondas pH (input por pin 5 y output por 12) que enlaza con el ADS1110 que es el conversor al protocolo I2C
Este circuito ya lo ví y está muy bien, sencillo de construir y muy compacto, está genial. El problema lo veo en el LMP91200, solo he visto tres sitios donde comprarlos, dos de Estados Unidos y uno en Europa, aunque vale 6,90$, los portes desde EEUU son de 30$, y si lo compras en Europa te obligan a coger el tubo entero que son 92 unidades, eso sí te sale a 4€ la unidad.
Una opción sería pedir samples a Texas Instruments y normalmente te las mandan gratis (desconozco si este CI entra dentro del programa de samples de TI,ni hasta cuantos mandan en caso de entrar). Para pruebas yo alguna vez he pedido samples de otros CIs y me las han mandado.
El ADS1110 está sobre 5€, este no hay problema. Este es el conversor A/D más salida I2C y tiene una resolución de 16bits, incluso demasiada precisión para lo que necesitamos.

Por otra parte el miniPH interface que puse yo el otro día de tindie, también está el esquema y la PCB, lleva 4 CIs si quieres poner el REF3030 como referencia de tensión para el conversor A/D MCP3221 (de 12bits como el de Dormant) o tres CIs si prefieres coger la Vref de la tnsión de alimentación. Aún siendo sencillo no tiene la simplicidad del otro, pero los componentes se pueden comprar todos en RSonline y en 24 horas en casa.
- REF3030 1,93€
- MCP3221 1,50€
- LMP7702 3,39€
- TPS60400 1,06€
- Mosfet canal P 0.09€
- Resistencias, condensadores, conectores..
Los precios son sin IVA
Por soldar SMDs no hay problema, es paciencia y una buena lupa de aumento, si no has soldado nunca este tipo de componentes, en youtube hay infinidad de tutoriales en los que dan los pasos para soldarlos, cada uno con su truco para sujetarlos al principio.
[Imagen: PHiAyYp.png]
[Imagen: oTF8kRG.png]
#1,380
Gracias Ruben una información muy completa, como siempre. Es evidente que comprar 92 unidades del LMP91200 no es una opción. Undecided

Con la información completa para poder construir el miniPH interface de Tindie, y a esos precios, parece una buena opción para su construcción, pero por unos 20 euros ya montado también es una buena posibilidad. Está muy bien.

Usuarios navegando en este tema: 1 invitado(s)


Salto de foro: