Concurso de fotografía AM

Temática: «Una panorámica de tu acuario».
Ya esta abierto el plazo para presentar fotografías.

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
Automatizar cambios de agua con Arduino
Respuestas: 70    Visitas: 25089
#16
(07-09-2015, 01:17 PM)rubenmas escribió: No he probado este tipo de sensores, pero se podría hacer una prueba a ver que tal funcionan, sobretodo que no les afecte la humedad.

Sensor nivel

Este electrodo son pistas de cobre en una PCB. El cobre no interesa en un acuario y los metales en general, tampoco porque se oxidan y el óxido no suele ser conductor. Los metales que no se oxidan son el cobre y el platino. Hay electrodos recubiertos por alguno de estos metales. Se fabrican generalmente mediante un proceso de galvanizado electrolítico porque con una pelícua muy fina es suficiente.

(07-09-2015, 01:17 PM)rubenmas escribió: Este otro es por contacto, no se lo grande que será comparada con el magnético.

Sensor contacto

Me temo que no es por contacto, es igualmente magnético, pero permite su instalación en horizontal. También ocupa mucho.

(07-09-2015, 01:28 PM)ArturoS escribió: Para conectar electrodos de grafito, vease una mina o el electrodo de una pila salina se podría usar una clema, en cuyo orificio además del electrodo se meta un poco de goma y no apretar mucho, la elasticidad de la goma presionaría al electrodo contra el metal sin llegar a partirlo pero suficiente para que haga contacto y lo sostenga

Lo de usar una mina de grafito y sujetarla con una clema ya lo probé. Hay que elegir minas más bien gorditas y de la máxima dureza posible. Se suelen romper al atornillar, pero tu idea de acolchar de alguna forma la presión del tornillo contra el grafito, es interesante, tiene posibilidades.

He encontrado esto, pero no se menciona ni la adherencia ni la resistencia a la raccíon. Parece que entre otras cosas, se usa para reparar pistas rotas en una PCB. He pedido uno por probar.
http://es.aliexpress.com/item/Conductive...02109.html
#17
Podría ser interesante que cuando un electrodo saliera del agua quedara seco para evitar que la fina capa de humedad conduzca la electricidad y termine alcanzando un retorno a masa que simule el contacto por inmersión.

No sé si terminaré utilizando alguna de estas ideas pero, la comparto por si a alguien le sirve.

http://www.taringa.net/posts/ciencia-edu...arato.html
#18
Habría una forma que acabo de descubrir hoy. Existen acelerómetros de muy alta precisión y no son muy caros. Su uso se ha popularizado por ser el sensor de estabilidad de los drones. Todos ellos pueden ser usados como inclinómetros. Si ponemos el sensor en un un palo fijo por una punta y con un flotador en la otra, podríamos medir el nivel por la inclinación. Entregan datos por I2C.

https://www.youtube.com/watch?v=3n0BZv3cCQg

¿Qué opinais?
#19
No se, la precisión puede ser alta, pero te obliga a un brico complicado, con un palo/flotador que varié su angulo, pero que no puede ser muy largo para que el angulo sea significativo, y el la otra punta (o al otro lado del eje) colgado la plaquita del modulo, ya que por lo que he visto es un chip no una sonda.

Ademas seguro que cada vez que lo toques y se mueva una pizca te obligará a recalibrar
#20
Puede ser, pero ¿Cual es el brico sencilo?

Ni el brico con 5 fotadores magnéticos, ni los basados en conductividad, ni algo por ustrasonidos, ni nada que se me ocurra tiene un brico sencillo.

Sobre la precisión, sí parece que los flotadores magnéticos bien fijados en su posición serían bastante precisos.

En un acelerómetro de estos lo importante sería lograr que el eje que mida la inclinación no cabecee accidentalmente. Podría cabecear lateralmente y no le afectaría.

Los hay con precision de 12 bits y de 14 bits.

En teoría 2^12 = 4096 valores diferentes en 360º. Esto supone que podría discriminar ángulos que difieran en 0.09 º.
Más o menos una décima de grado. Me parece una pasada.
Para que te hagas una idea, una precisión diez veces menor es la que se corresponde con los instrumentos clásicos de dibujo.

[Imagen: 800px-Protractor_Rapporteur_Degrees_V3.jpg]

La calidad de esos sensores me parece sorprendente y ya digo que no son caros. Nunca se me ocurrió usarlos para esto porque ni siquiera los consideré como inclinómetros.
#21
Los acelerómetros los usan en los Smartphones, en mandos de juegos en drones y en un montón de sitios más. Es un sensor muy habitual. Los hay digitales y analógicos.

Los analógicos son muy baratos. El ADXL335 de Aliexpress lo he visto por menos de 2$.

Es un acelerómetro de 3 ejes que permite medir aceleraciones desde +3G -3G. Es decir un rango de 6Gs. En Arduino se corresponde con una escala de 0 a 1024 en la entrada analógica para esos 6Gs. Al usarlo como inclinómetro podemos tomar un eje para que un brazo en posición horizontal sea 0Gs y en vertical 1G. Estaríamos dividiendo la resolución por seis y para un cuadrante podríamos obtener 1024/6 valores. Es decir, dispondremos de cerca de unos 170 valores diferentes para 90º

Además la interfaz para leer esta medida no puede ser mas sencilla. Se trata de un sensor analógico por lo que nos proporcionará mediante 3 pines, tres voltajes proporcionales a la aceleración de cada eje. Nosotros solo usaríamos uno de ellos.

Resumiendo: Me merece la pena experimentar con ese sensor.
Voy a encargar uno.
http://es.aliexpress.com/item/Analog-Out....94.6QLyDK
#22
Aunque no entro por que la electrónica me supera, me parece fascinante la versatilidad que le sacas a arduino.
Yo estoy intentando hacer un sistema de cambios semiautomático con dos simples relés, boyas de nivel y una electroválvula, y una de las cosas de las que no me fio es de las boyas, por lo que estoy pendiente de como solucionáis el tema de control de nivel, espero mas entregas de vuestras discusiones sobre sensores.
#23
Tambien estoy en eso ,pero esos sensores ayudarian mucho en la estetica y en la fiabilidad si es que lo llega a ser ,gracias Antonio por probar esto y darlo a conocer ,por ahora al igual que pedmar estoy en un sistema semi automatico en el cual se nececite pulsar un boton
#24
Parece que el cambio semiautomático es lo que todos tenemos en mente, y esa opción también la contemplo. En este caso si considero útil poner un par de botones para que proceda a iniciar el cambio de agua y lo complete de forma desatendida.

Si lo que queréis es un programa que solo contemple la posibilidad de un cambio automático hasta un cierto nivel, accionado por un único pulsador, la lógica del programa sería muy sencilla y en su versión más simple bastarían dos sensores de flotador magnético. Podría hacer un programa simplificado al máximo para algo así.

Libre y pedmar coincidieron.
Tienen idea de un diseño básico.
No parece muy difícil de hacer.
Un cambio parcial automático,
usando flotador magnético.
Dicen que lo simple es bello,
así que me pongo a ello,
y mejor dejo lo poético.
-happy.gif -mf_prop.gif
#25
Lógicamente solo he verificado que compila porque aquí el trabajo es montar el brico para probarlo.

Se trata de un sistema extremadamente simple pero suficientemente funcional.

Inicialmente arrancará en un estado que buscará que el agua alcance el nivel óptimo.

Si el agua se evapora echará lo justo para recuperar el nivel, pero si pulsamos el botón. Entrará en el estado de buscar el nivel bajo y cuando lo alcance vielve a cambiar al estado de buscar el nivel optimo que lo llevará de nuevo a l nivel original.

Código:
// CAO_SimpleChangeH2o.ino
// *************************************************************************************************************

/**********************************************************************************************************
Hardware necesario: Un pusador,  Dos sensores de flotador magnéctico, dos electrovalvulas y transistores
o reles para activarlas.
Todas la entradas analógicas tienen un pull-up. Por ejemplo una esistencia de 10K situada entre la entrada
analógica y +5v.
Las entradas nalógicas solo deben discriminar entre los valores 0V y +5v entregando (0 y 1024 respectivamente)
Por ello nos basta comparar el valor recibido con un valor medio=512.
Las válvulas en estado de reposo estarán cerradas. (salida =LOW)
*********************************************************************************************************/

#define Pin_Sensor_LV_OPT    A0
#define Pin_Sensor_LV_MIN    A1
#define Pin_Button            A2
#define Pin_Valv_Load            3
#define Pin_Valv_Drain            4
#define MD                      512 // Arbitrariamente elegimos 1024/2

bool Go2MinLv=false;             // Estado del controlador (false=Buscado el Optimo, true=Buscando el Minimo)

// ***********************************************************************************************
// Devuelve true si el nivel del sensor es superado por la altura del agua
// ***********************************************************************************************
bool SensorAnPin(int AnPin){
    return (analogRead(AnPin<MD));
}

// **********************************************************************************************
// **********************************************************************************************
void setup(){
    Go2MinLv=false;
    pinMode(Pin_Sensor_LV_OPT, INPUT);
    pinMode(Pin_Sensor_LV_MIN, INPUT);
    pinMode(Pin_Button, INPUT);
    pinMode(Pin_Valv_Load, OUTPUT);
    pinMode(Pin_Valv_Drain, OUTPUT);
    Serial.begin(9600);
}

// **********************************************************************************************
// bucle principal loop(). dedicado a recibir y contestar comandos.
// **********************************************************************************************
void loop() {
    if(SensorAnPin(Pin_Button)){ // Si está presionado el boton
        Go2MinLv=true; // Cambiar estado para Ir a vaciar
    }

    if (Go2MinLv){ // Si el estado es Ir a vaciar.
        if (SensorAnPin(Pin_Sensor_LV_MIN)){ // Si el sensor LV_MIN está sumergido
            digitalWrite(Pin_Valv_Drain, HIGH); //  Salida de agua abierta
            digitalWrite(Pin_Valv_Load, LOW); // Entrada de agua cerrada
        }
        else{ // El nivel de agua ha bajado hasta el mínimo.
            Go2MinLv=false; // Ir a buscar el optimo
        }
    }
    else{ // Si el estado ir al optimo.
        if (SensorAnPin(Pin_Sensor_LV_OPT)){ // Si el sensor _LV_OPT está sumergido
            digitalWrite(Pin_Valv_Drain, LOW); //  Salida de agua cerrada
            digitalWrite(Pin_Valv_Drain, LOW); // Entrada de agua cerrada
        }
        else{ // El agua está por debajo del optimo. (por evaporacion o por vaciado)
            digitalWrite(Pin_Valv_Drain, LOW); //  Salida de agua cerrada
            digitalWrite(Pin_Valv_Drain, HIGH); // Entrada de agua abierta
        }
    }
}
#26
Gracias por el codigo Antonio ,ya tengo todo solo me falta la instalacion de la manguera,pero podre simular (manualmente) la activacion de los sensores y poder ver si funciona bien el codigo
Saludos
#27
(19-09-2015, 06:31 PM)libre escribió: Gracias por el codigo Antonio ,ya tengo todo solo me falta la instalacion de la manguera,pero podre simular (manualmente) la activacion de los sensores y poder ver si funciona bien el codigo
Saludos
-good.gif
#28
No se si ya conocíais este sensor con relleno automático, pero lo curioso es el tipo de sensor, óptico sujeto por las dos partes con imán.

Autofill óptico

Puede ser otra idea.
#29
Es ingenioso, pero para un sistema de relleno automático interesa la máxima fiabilidad y no me convence.

Supongo que implementa un sistema óptico equivalente a un doble prisma de reflexión para doblar el rayo de luz en 90º + 90º pero en lugar de usar cristal para ese doble prisma, usa el agua y sin agua el prisma desaparece y el rayo de luz sigue recto.

Yo hace años estuve durante un tiempo fijándome en como la luz de una linternita situada exprofeso en un lateral del acuario y mirada a través de una esquina desaparece cuando el agua supera su nivel. La prueba es muy sencilla de hacer.

En otras palabras el aire y el agua se distingue bien por su diferente índice de refracción y es un principio físico que se puede usar, pero me parece más sencillo y fiable el flotador magnético.

Me pregunto que pasa si una hojita muerta de una planta se cuela un día en el sistema óptico. Además, un un acuario con paredes gordas la sujeción del imán perdería mucha fuerza y una persona que lo roce con un brazo al pasar puede desalinear el sistema óptico. Tampoco me gusta el soporte con un solo tornillo de plástico.

He encontrado un video donde comenta algunos posibles problemas: AUTOAQUA SMART ATO TROUBLESHOOTING
#30
Y que a pasado antonio ,como te va con este proyecto
Saludos

Usuarios navegando en este tema: 4 invitado(s)


Salto de foro: