Registrador de datos de bajo coste autónomo para monitorización de sistemas fotovoltaicos híbridos(es más parecido a una estación meteorológica, con lo cual se utiliza para medir el ambiente en cualquier sitio que se desee, pero en este trabajo se ha utilizado para tal fin).
Este registrador de datos se ha programado en C++ mediante el IDE de Arduino y consta de varios shields como GPRS, lector de tarjetas microSD, reloj RTC DS3231, conversor analógico digital, sensores de temperatura y humedad relativa, pluviómetro y anemómetro y por último el ATmega1284p-pu.
Está diseñado para medir el ambiente en campos solares, por lo que su alimentación estará sustentada por una batería que se carga a través de un módulo solar independiente. Esta batería se calcula en función del consumo total en el ciclo de medidas del registrador, y en función de esto según las necesidades que tengamos. Este presente proyecto se calcula para que la batería sea capaz de alimentarlo durante 7 días de ausencia solar. Otro aspecto importante es el regulador de carga solar, pues será el encargado de tener los márgenes para iniciar el proceso de carga y evitar que reduzca su carga por debajo del 80% de su voltaje nominal y con esto lograr un mayor periodo de vida útil de la misma.
Para realizar la medida del consumo del proyecto se ha utilizado el sensor de corriente digital INA219B.
Este trabajo se apoya de unas aplicaciones en php que son las encargadas de recibir los datos mediante peticiones GET, y son almacenados en un fichero CSV para después ser reenviados a la web de gestión de contenido emonCMS, para su posterior visionado en gráficas. Cabe decir que se podría haber evitado el diseño de estas aplicaciones de recogida de datos, pero se hace para tener una programación más sencilla en registrador y además tener un backup de los datos en el servidor web, ya que en primera instancia se almacenan en la tarjeta microSD. El servidor también aloja aplicaciones que comprueban la existencia del fichero para actuar en consecuencia y otra app que devuelve la hora a nuestro datalogger y con ello fijarla en el RTC, consiguiendo con esto no necesitar de usar una pila para guardar la hora del reloj en caso de quedarse sin alimentación nuestro ATmega, ya que sincroniza la hora cada vez que se inicia de una forma tipo al protocolo NTP(Network time protocol) utilizado por cualquier PC, smartphone, tablet, etc para sincronizar la hora automáticamente desde internet.
El microcontrolador tiene grabado el bootloader optiboot, ya que hace uso del watchdog para evitar un posible cuelgue del mismo, debido a que su emplazamiento teóricamente estaría en un lugar lejos de nuestra vivienda.
Este proyecto ha intentado minimizar los gastos de todo el hardware y reducir el consumo al máximo para optimizar la autonomía del mismo, ya que un menor consumo, reduce los gastos en los componentes de mayor valor, que en este caso serán la batería y el módulo solar.
Indico un enlace a GitHub donde se encuentras las fotos de los diagramas de flujo de los programas, los diseños en fritzing y el código de todo. Responderé dudas o preguntas cuando pueda.
Enlace GitHub: Archivos y código GitHub
Enlace a una web sencilla que además muestra el dashboard con las gráficas de emonCMS. No se muestran resultados por que hace meses que termine el proyecto, pero si en las gráficas pulsais el botón Y(year) podréis ver los datos que pude recopilar durante el desarrollo del mismo: Web del proyecto con gráficas emonCMS
Gracias a todos y si alguien reutiliza este trabajo, solo pido que se mencione al autor.
Nota: si alguien se atreve a traducir a inglés la explicación del proyecto de Github se lo agradecería, ya que ahora no dispongo de los conocimientos suficientes para hacerlo por mí mismo.(es una vergüenza lo se…)