Acuariofilia Madrid

Versión completa: Automatizar cambios de agua con Arduino
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2 3 4 5
Este es un proyecto que llevo bastante tiempo dándole vueltas. Desde el punto de vista de la programación parece simple y tengo bastantes ideas al respecto que luego comentaré.

Idea general del sistema
Mi idea sería la de usar un Arduino Pro Mini y me decanto por reutilizar la idea de CaoBT.

El sistema que quiero construir permitiría programar cambios parciales con regularidad y de forma independiente forzar con un pulsador un cambio parcial inmediato.

No tengo intención de usar ningún reloj. Me basta usar la función millis() para eso.
Ya sé que no es totalmente preciso. Tiene tres problemas que afectan a la precisión:

1) Los 16Mhz no son exactos.
2) Si fueran 16Mhz exactos, lo que se contabiliza como 1 milisegundo serían en realidad 1.024 milisegundos.
3) Hay problema de overflow. Por usar un unsigned long, admite contar hasta 255⁴= 4228250625 milisegundos.
A los 49 días desbordará y empezará a contar nuevamente desde cero.

Ese tercer problema parece el más grave pero hay soluciones para eso. Bastaría usar la función millis() en un bucle para contar los segundos, y si queremos también los minutos y las hora

Código:
currentMillis = millis();
if ( (currentMillis - previousMillis) >= 1000){
    previousMillis = previousMillis + 1000;
    seconds = seconds +1;
    if (seconds == 60){
        seconds = 0;
        minutes = minutes +1;
        if(minutes == 60){
            minutes = 0;
            hours = hours +1;
            if (hours == 24){
                hours = 0;
            } // end hrs check
        } // end minutes check
    } // end seconds check
} // end time check

No voy a usar nada relativo a este enfoque, porque aprovechando el hecho de que no parece interesante programar para un mismo día dos cambios parciales automáticos existe otra opción que me parece mejor.

Para hacer un cambio diario bastaría conectar el Arduino a la iluminación para que se encienda todos los días a la misma hora y pasado un tiempo establecido proceda con el cambio de agua.

Para hacer que el cambio de agua no sea necesariamente diario, basta incrementar diariamente un contador de días en la EEPROM. Si bien la EEPROM se va gastando con las escrituras, unos pocos cálculos bastan para ver que no debemos preocuparnos por ello. 100.000 ciclos de escritura y como el contador se incrementaría una vez al día tendriamos EEPROM en esa posición unos pocos siglos y gastada una posición las demás continuarían sanas. En otras palabras, no hay problema.

Esta es la idea básica . Podríamos programar cambios parciales cada x días o forzar un cambio parcial manual. No la veo pega alguna.

Sensores de nivel
Desde el punto de vista del hardware necesitaremos electro válvulas, y sensores de nivel.

El tema que menos decidido tengo, es el tema de los sensores y su instalación. Estos pueden ser de muchos tipos.

1) Mi primera opción por su fiabilidad son los sensores de nivel con flotador magnético. Estoy usando uno en el gambario que es parte del kit Auto Top Off y tengo algunos más de este tipo comprados en dealextreme.
http://www.dx.com/p/nut-shape-pp-floatin...elgot-v7aU

Este tipo de sensores tienen el inconveniente de que abultan un poco más y todavía estoy pensando en formas para fijarlos al acuario en las posiciones que necesito.

2) Por conductividad. Pienso que se podrían usar electrodos de grafito pero es un material que no es fácil hacer una conexión buena con un cable. Quizás algún pegamento conductor pero no conozco ninguno

Hay otros muchos tipos de sensores que se podrían usar, pero dudo de que sean idóneos.

Yo creo que bastaría controlar dos niveles diferentes.
El nivel 1 o nivel superior óptimo.
El nivel 2 sería el nivel establecido para un cambio parcial.

Se podría añadir un nivel 3 para un cambio parcial mayor. Hacer los cambios a poquitos y con más frecuencia sería menos agresivo para los peces aunque gaste algo más de agua.

Al conjunto se le podrían añadir dos niveles más de alarma. Uno situado ligeramente más alto que el 1, y otro ligeramente por debajo del último. Los niveles de alarma si van a ser detectados con este tipo de sensores, ni siquiera tienen sentido controlarlos con Arduino. Podrían activar incondicionalmente una alarma sonora.

Primera pregunta: ¿Cuantos niveles pensáis que sería recomendable controlar?

Segunda pregunta: ¿Pondríais una bomba peristáltica para añadir acondicionador? Yo suelo hacer cambios pequeños y no tengo problemas.

Tercera pregunta: Alguno ha trabajado con tipos de sensores de niveles diferentes.
Otra opción es vaciar a través de un taladro en el vidrio, en este caso el nivel mínimo no sería necesario, le veo dos ventajas, la primera, lo dicho, que no hace falta nivel mínimo y la segunda, vacía siempre hasta el mismo nivel, con bomba si falla el nivel te puedes pasar de vaciar el acuario.

Para nivel máximo yo pondría dos sensores, y cuando uno cierre pare de llenar, esto por seguridad, para en caso de fallo del nivel no rebosar la urna.

Sólo son sugerencias Big Grin

Para el tema del acondicionador, cada acuario es un mundo, yo si lo uso, porque no es un gran gasto y el¡minas una fuente de problemas. ¿La bomba peristáltica tiene suficiente precisión? Otra opción es pasar el agua fresca por un filtro de carbón activado.

¿Pondrías un relé que apagase el calentador durante la operación? ¿Y el filtro?
(04-09-2015, 12:52 PM)Dudo escribió: [ -> ]Otra opción es vaciar a través de un taladro en el vidrio, en este caso el nivel mínimo no sería necesario, le veo dos ventajas, la primera, lo dicho, que no hace falta nivel mínimo y la segunda, vacía siempre hasta el mismo nivel, con bomba si falla el nivel te puedes pasar de vaciar el acuario.

No es una buena idea hacer un taladro en la parte baja del acuario que aguanta toda la presión. La microfisuras que tienen todos los taladros tienden a crecer. El taladro tendría que ser pulido con calor. Un servicio que cuesta bastante y el resultado tampoco sería bueno.

Es mucho más fácil poner una desvíación en T en el tubo de salida o de entrada del filtro que siempre está lleno de agua. El acuario en caso de fallo se vaciará hasta la atura de la toma de succión de la bomba. Sería una faena que podría costar cambiar la bomba. Que se rompa el acuario sería peor.

(04-09-2015, 12:52 PM)Dudo escribió: [ -> ]Para nivel máximo yo pondría dos sensores, y cuando uno cierre pare de llenar, esto por seguridad, para en caso de fallo del nivel no rebosar la urna.

Sólo son sugerencias Big Grin

Para el tema del acondicionador, cada acuario es un mundo, yo si lo uso, porque no es un gran gasto y el¡minas una fuente de problemas. ¿La bomba peristáltica tiene suficiente precisión? Otra opción es pasar el agua fresca por un filtro de carbón activado.

Las bombas peristálticas tienen una gran precisión aunque generalmente es tan poca la cantidad de acondicionador que habría que usar una cantidad diluida.

(04-09-2015, 12:52 PM)Dudo escribió: [ -> ]¿Pondrías un relé que apagase el calentador durante la operación? ¿Y el filtro?

Si el calentador queda expuesto sería imprescindible hacerlo y no es doficil programarlo. Cuando el nivel esté por debajo del nivel óptimo habría que desconectar la calefacción.

Creo que es mucho mejor un calefactor sumergible, para evitar totalmente el problema.

En realidad, no cuesta nada poner una salida más, aunque el Relé tendría que ser muy potente. A mí me da miedo. ¿Te imaginas que los contactos del relé de calefacción se queden pegados? No es un fallo tan extraño en los relés de potencia y la pregunta siguiente es... ¿A cuando subiría la temperatura del agua con la calefacción permanentemente encendida? Este problema es el que yo denomino, sopa de pescado con verduras.
Jajaja, muy cierto, pero para eso la costumbre es poner el termostato 1 ºC por encima de la temperatura deseable, así no calentaría tanto.
Antonio que manía le has cogido a no usar RTC, con uno seria mas fácil programarlo y sobretodo fijar los tiempos/fechas en que programar los cambios, y no tienes los problemas de los desbordamientos iniciados del millis.

Creo que con las boyas de máximo y mínimo seria suficiente, por motivos de seguridad de desborde y nivel mínimo para los habitantes, la de cambios menores se podría programar por tiempo, una vez calculado los tiempos de vaciado, ya que no habría mucho problema en que fuera totalmente exacta.
Y para el mantenimiento, dilución de sales es mas efectivo cambios grandes espaciados que pequeños cambios muy frecuentes, aunque estos mantienen mejor los parametros.

Lo de la peristatica, me parece perfecto, se calcula su volumen por min y se diluye el acondicionador para que se adite por tiempo según lo que se calcule necesario por el volumen vaciado.

Calentadores e incluso filtros los apagaría siempre, hay que hacerlo compatible con cualquier instalación y si uno no quiere apagarlo, por que no se vea influido con no conectarlo al sistema suficiente (o no instalar el relé correspondiente).
Lo que se peguen los bornes no me preocupa, el sistema de calefacción ha de llevar y usar su propio termostato, problemático sería lo contrario que se quedaran pegados en no conectado dejando el acuario sin calefacción, pero en esa borna no es lógico que se peguen ya que no hay chispa.

De la parte hidráulica ya tiene pedmar un brico en ciernes http://acuariofiliamadrid.org/Thread-con...automatico

Pero tanto a el como aquí planteo el problema que veo, el vaciado seguramente cree un sifón a desagüe, que tendría que ser cortado por una electrovalvula, pero la poca presión del circuito del acuario me hace dudar de su correcto cerrado
No hace falta electroválvula, se puede usar un rompe-sifón, en el codo de salida de la bomba se pone un tubito vertical hacia arriba abierto el aire, se usa mucho.
(04-09-2015, 02:19 PM)Dudo escribió: [ -> ]No hace falta electroválvula, se puede usar un rompe-sifón, en el codo de salida de la bomba se pone un tubito vertical hacia arriba abierto el aire, se usa mucho.

Hace falta porque si lo descebas tendrás que cebarlo. Estamos hablando de un sistema automático que funcione sin supervisión humana.
¿Cómo tienes intención de vaciarlo? ¿Por sifón? Si es por sifón no puedes romper el sifón, obviamente, yo me estaba yendo a un vaciado por bomba.
Una cosa es el sifón de salida del tanque a la bomba/filtro y otro es el tema del sifón de vaciado.

Si aprovechas el primero para lo segundo no le lo puedes descebar o no filtra.

Si se usa sifón bomba de vaciado distinta al de filtro si se podría descebar y puede que la succión de la bomba los cebe. o mejor aun poner un sifón en la salida bomba a vaciado a la altura del nivel del agua con ese aparatoso tubo que dice Dudo o tal vez en su lugar un antiretorno invertido que impida la salida de agua con presión y permita la entrada de aire (descebado) al caer esta. Otra opción mas retorcida es tener incluido un macarrón de aireador y activar este para llenar el sifón de aire
[Imagen: YFiFy9z.png]

Una válvula de llenado otra de vaciado en los sitios adecualdo y no hace falta nada más.

En todo caso un reductor de presión en la toma de agua para no reventar la válvula, pero no hay problemas de cebados ni descebados unavez que el filtro está funcionando.
tal vez un anti-retorno entre la T de llenado y el filtro, para que un excesito de presión no te ponga el filtro en circulación inversa y te saque la mierda por su toma de admisión
(05-09-2015, 10:48 AM)ArturoS escribió: [ -> ]tal vez un anti-retorno entre la T de llenado y el filtro, para que un excesito de presión no te ponga el filtro en circulación inversa y te saque la mierda por su toma de admisión


No está bien dibujado, la entrada de agua no debería ir con una T sino directamente al acuario y así la ves caer.
De todo lo que se ha debatido aquí, yo lo que más esperaba era provocar una tormenta de ideas sobre los distintos sensores, sus ventajas e inconvenientes.

Lo sensores de nivel de flotador magnético, son voluminosos y habría que poner uno para cada nivel. El conjunto puede quedar aparatoso y necesitar un sistema de sujeción igualmente exagerado. Hacer un buen soporte puede no ser sencillo. La ventaja que yo veo si se hace bien es su fiabilidad y su precisión.

Otros sensores como el ultrasónico, yo creo que tienen inconvenientes de precisión o de ajuste.

El tema de usar la conductividad necesitaría de electrodos inertes tipo grafito pero para unirlos al cable conductor no veo una puna forma de hacerlo porque no puedes soldarlos, ni apretarlos con un tornillo. Es un elemento frágil.

Habría que dar con un electrodo idóneo o con un pegamento conductor o algo así.
Un electrodo podría usar la humedad del propio electrodo para conducir la electricidad por fuera del mismo y originar falsos positivos. He visto un sensor de niveles que usa varios electrodos para detectar varios niveles y las soluciones caseras podrían ser poco fiables. Mirad la construcción de uno de estos electrodos para varios niveles. Los electrodos son varillas verticales para que el agua escurra y no conecte unos electrodos con otros.

[Imagen: 3301-10a_mini.jpg]

http://www.electrolsrl.com.ar/electronic...tyPhoto/9/

Una de las cosas que sería muy beneficioso para el acuario sería regular el llenado de forma discontínua, para dilatar el tiempo total de llenado y hacerlo más suave.

Cuando hago un cambio parcial, el llenado lo hago en tres o cuatro tramos. Empiezo por la mañana y termino al final del día.

Hacer este tipo de cambios parciales suaves con periodicidad alta, ayudaría a combatir el aumento de nitratos en acuarios grandes como el mío que llevan muchos años funcionando.
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 otro es por contacto, no se lo grande que será comparada con el magnético.

Sensor contacto
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
Páginas: 1 2 3 4 5