MaelFish, acuario / terrario microcontrolado

MaelFish es un controlador de acuarios de agua dulce, el cual, de forma autónoma realiza las funciones de encendido y apagado de luces simulando amanecer y atardecer, y control de temperatura controlando el calentador del agua y el sistema de refrigeración que armamos con ventiladores de 40mm 12v.

Para establecer los valores que consideremos óptimos los cargamos en el Pic mediante una aplicación para smartphone desarrollada para Android, donde podemos cambiar las horas de luz establecidas ( desde 1h hasta 12h) o establecer una temperatura predeterminada ( de 16oC a 30oC). En la app visualizamos todos los datos del acuario en tiempo real.
Cabe destacar que los ciclos de 24h son supuestas, ya que no es un sistema Rtc (real time clock), y que estos ciclos de 24h son aproximados, calculados mediante la frecuencia del microcontrolador y tareas a desempeñar, y esto no da exactitud como lo puede dar un reloj, ya que tenemos desfases de medio minuto más o menos cada 24 h. No se ha
añadido porque no es relevante la precisión en el tiempo, y he decidido solucionarlo por software y economizar la placa, solucionar problemas con los mínimos medios y dejando de la lado la dependencia de módulos debería ser una máxima en nuestros trabajos, aunque en un futuro se pueda añadir un DS3231 si realmente alguien lo necesitase.
También me gustaría recalcar el porqué de un 16F876a, ya que como veis el uso de salidas-entradas no es masivo, y bien lo hubiera solucionado otro Pic más pequeño. En un principio he desarrollado el proyecto sobre un 16F628a, un microcontrolador de gama baja fabricado por Microchip, el cual cubría todas las necesidades, pero la implantación de un Rtc en el futuro, el cual necesita un microcontrolador con I 2 C (el 16F628a no tiene), la posibilidad de añadir un lcd, una posible alimentación de peces automática y tener entradas-salidas libres para un futuro desarrollo global, usando el
mismo Pic y la misma PCB, me pareció la opción más estandarizadora. Estoy seguro de que mucha gente no comprende el porqué de un Pic en vez de algo como Arduino, y tengo varias respuestas para ello, pero quizás la más predominante es que me gusta complicarme la vida, eso si, sigue siendo un proyecto abierto que pronto pasaré a formato Arduino, posiblemente Nano… Archivo para cargar al microcontolador Maelfish.hex

 

Materiales
Para la construcción del controlador necesitaremos:

 

semeya

La construcción de toda la placa con la luz blanca es de unos 28€, sin tener en cuenta los led de color, los cuales no he incluido porque no he encontrado distribución menor a 5m, y solo se necesitan unos centímetros para cubrir el mayor espectro electromagnético posible, que no quiere decir que lo logremos cubrir asi, pero siempre es mejor cuantas
más longitudes de onda.

 

maelfish-diagrama.png

 

Para la elaboración de la placa de puede realizar por transferencia partiendo de la imagen adjunta, o por fresado, que es el método que yo he usado con los correspondientes archivos .gcode acuariov2 

La instalación de la app  es como cualquier otra, debemos tener activados los orígenes desconocidos e instalamos. Vinculamos MaelFish a través de Bluetooth con la contraseña 1234, que debe estar conectado y nos aparecerá como HC-05.
Durante el amanecer y atardecer no hay conexión entre controlador y app, esto es 1:36 minutos exactamente que es lo que duran los periodos de transición, solo cuando acaben se establece la comunicación.

Tampoco hay control de temperatura por parte del Pic durante el amanecer o atardecer.
Si aparece el mensaje de “Error 515: not connected to a Bluetooth device“, comprobamos que tenemos habilitado el Bluetooth en el smartphone, que está vinculado con el controlador y alimentado y que no está en ciclo de amanecer- atardecer. Si no es ninguno de estos casos debemos cerrar la app y volver a abrirla ya que se ha quedado abierta y solo enlaza una vez, y no reestablece el enlace automáticamente despues de iniciarla. Si persiste desvincular y volver a vincular, ya que en mi caso cambiaba a otro dispositivo Bluetooth.

 

La app MaelFish.apk

semeya.png

Como vemos tenemos una app muy sencilla de usar, las dos barras progresivas superiores establecen un valor, la primera la temperatura que queremos que sea checkpoint en nuestro auario, es decir, la temperatura que estableceremos como
predeterminada, y la segunda establece las horas de luz en el acuario para el dia. Moviendo el dedo marca un valor y pulsando después al botón de programar, bien sea el de temperatura para la temperatura o el de horas de luz para la luz. Las horas de noche
serán la diferencia entre 24h y las horas de luz.
Por “Tiempo transcurrido” entendemos las horas de luz o las horas de noche que van en ese instante. Si es de “día” y programamos una hora que es inferior al tiempo transcurrido en estos momentos, no tendrá efecto hasta que comience el próximo
“día” en el acuario, es decir, tengamos como ejemplo la imagen, si programamos 1 hora de luz, no tendrá efecto hasta pasado un ciclo completo, pero si programamos una hora superior al tiempo transcurrido, como por ejemplo 4h, si tendrá efecto, y la “noche”
llegará pasadas 4 horas de luz en vez de 7 horas. Si el cambio lo realizamos por la noche tendrá efecto inmediato en el amanecer sin tener en cuenta el tiempo trasncurrido.

 

Cosas interesantes que debemos saber sobre el control:
1_La programación de “fábrica” es de 13 horas de luz y 16 oC. Debemos cambiarlos o reconfirmarlos en el primer uso.

2_ Los valores como horas de luz y temperatura quedan grabados para siempre, si hay corte eléctrico no se pierden los valores.

3_La hora 00 comienza en el momento de conectarlo a la red eléctrica, y comienza también el amanecer, es decir, el momento de conexión será la primera hora de luz, es decir, comienza en día. Si hay corte eléctrico, cuando se reestablezca la tensión, si el equipo está enchufado, comenzará inmediatamente en la hora 00 con el amanecer de
nuevo. Esto es así por quitar parámetros irrelevantes que complican su uso, ya que el equipo se conecta una vez y debería seguir sin desconectarlo todo el tiempo, y la supresión de suministro eléctrico hoy por hoy son casi un recuerdo.

 

Conexiones
Tened especial cuidado en la polaridad del condensador electrolítico e 100uF, que
rectifica la tensión entregada. Colocar correctamente los Tip120 o el regulador de voltaje. Como vemos en la foto el LM7805 “mira” hacia el Pic, mientras que los Darington 120 lo hacen hacia “afuera”. Tener en cuenta que los Tip120 entrenan GND (-12 V), así que los led o los ventiladores van conectados directamente a Vdd (+12 V) y al Tip120 que le
corresponde (luces o ventiladores de refrigeración).
También recordar la disposición del 16f876a, no lo coloqueis al revés, y recordar dar ±12 v a la entrada del controlador de voltaje.

 

semeya.png

 

 

semeya.png

A %d blogueros les gusta esto: