Hace tiempo que mi padre me lleva diciendo que le haga algún «inventillo» para poder poner en su azotea unos espejos móviles que se alineen al sol y, en invierno, pueda tener luz solar en el patio o en el salón de su casa. Así rápidamente se me antojaba algo complicado y como además no tenía demasiado tiempo he ido dejando este tema hasta que hace poco decidí ponerme a investigar un poco a ver qué podíamos hacer.
Después de googlear un poco, la verdad es que hay información al respecto por internet, y además no parece demasiado complicado. Parece que mi padre no es el único «loco» al que se le ha ocurrido poner unos espejos para tener luz solar en habitaciones de la casa que directamente nunca les da el sol. En España la verdad es que no he encontrado mucho, pero en Estados Unidos la verdad es que parece una práctica no tan extraña y hay mucha gente que se construye sus propios heliostatos con el fin de aprovechar la luz solar. ¡Veamos si somos capaces de hacer algo parecido!
Seguidor solar (Suntracker) y Heliostatos
Los seguidores solares o suntrackers son aparatos encargados de orientar automáticamente una serie de espejos al sol, de tal manera que durante las horas de sol, los rayos solares siempre incidan directamente sobre los espejos. Una vez que conseguimos que el aparato esté continuamente alineado al sol y la luz incida sobre éste, sólo debemos aplicar una corrección sobre los ángulos de orientación del espejo (horizontal y vertical) para hacer que la luz del sol se proyecte sobre un punto determinado. Si este cálculo lo hacemos continuamente conseguiremos proyectar la luz del sol siempre en el mismo punto, da igual la hora del día que sea. Esto es lo que realiza un Heliostato.
Calcular la corrección de los espejos para que la luz que incide sobre el mismo se refleje en un punto determinado es relativamente fácil, pero ¿cómo podemos saber en cada momento la posición del sol? En un principio yo me imaginaba algoritmos mucho más complejos de seguimiento solar (detectores de intensidad de luz y cosas así) pero en realidad es algo más sencillo. Digamos «sencillo» mirándolo desde el punto de vista de la electrónica necesaria, pero realmente el cálculo matemático para obtener estos datos no es nada evidente. Al final, los algoritmos de suntracking (cálculo de la posición solar) lo que hacen es, conociendo la trayectoria del sol en función de la fecha, y conociendo la posición del espejo (latitud y longitud) calculan la orientación del espejo. Al final estos algoritmos suelen tener como variables de entrada lo siguiente: longitud/latitud del espejo, longitud/latitud del punto dónde queremos reflejar y fecha/hora actual. Con esto obtienen como salida el azimuth (ángulo con respecto al Norte real) y la elevación (ángulo con respecto a la horizontal) que son los ángulos que usaremos para orientar el espejo y proyectar la luz en el punto dado. ¿Fácil no?
Algoritmos para hacer un seguidor solar y/o heliostato
Evidentemente la teoría parece fácil, pero los cálculos para obtener el azimuth y la elevación no son nada evidentes. Hay algoritmos de todo tipo para calcular esto con más o menos precisión. Algunos se basan en arrays que almacenan la trayectoria del sol precalculada, otros la calculan en tiempo real. Incluso algunos necesitan como variables de entrada la altitud, presión, humedad u otros factores para calcular la posición del sol con muchísima más exactitud.
En la tabla siguiente recopilo algunos ejemplos de código que he encontrado por internet para calcular el azimuth y la elevación y poder orientar el heliostato al punto que queramos.
Enlace al código | Descripción |
SPA.h SPA.c |
Algoritmo para el cálculo de la posición del sol. Muy preciso (alrededor de +/- 0.0003 grados). Creado por NREL (National Renewable Energy Laboratory) |
PSA.java | Otro algoritmo para el seguimiento solar pero en Java |
sun_tracking.c | Algoritmo muy sencillito para calcular la posición del sol y la corrección del espejo para proyectar la luz en un punto dado |
sunalignqbasic | El mismo algoritmo anterior pero en QBASIC (¡si! ¡qbasic!). No vale como ejemplo de última tecnología en lenguajes de programación, pero muy útil para entender el algoritmo. 😉 |
¿Lo probamos?
Que mejor manera de ver si todo esto funciona que haciendo un pequeño piloto con el Lego Mindstorms. Yo al mío le tengo cambiado el firmware y uso leJOS. Así lo puedo programar en Java que siempre es más fácil y versátil. Para probarlo he cogido un espejo pequeño y he hecho una máquina muy simple que es capaz de de orientar el mismo en 2 ejes, que es lo que necesitamos. En el video siguiente se muestra la maquinita con un simple programa de ejemplo para probar el movimiento.
Como veis, la «mecánica» no funciona muy bien del todo, al cambiar el azimuth se bloquea un poco; habría que mejorarlo porque rozan algunas piezas, pero para probarlo creo que es suficiente. Una vez visto que la mecánica más o menos funciona lo que he hecho ha sido adaptar el programa «sun_tracking.c» a java y lo he cargado en el «ladrillo» del Mindstorms. Para ponerlo en marcha es necesario indicar en el código la fecha y la latitud/longitud del aparato y del objetivo dónde queremos reflejar la luz. Después sólo hace falta posicionar la máquina orientada correctamente (al Norte real) y esperar que funcione… Mirad el resultado en el siguiente video. ¡parece que funciona!
Si os fijáis en el video, hay un punto de luz reflejada en la pared, que es la luz que refleja el heliostato. El video dura apenas unos minutos, pero la máquina la dejé funcionando varias horas y mantenía más o menos el reflejo en el mismo sitio, adaptándose a la posición del sol. Digo más o menos porque tenía una desviación de algunos centímetros por hora. Hay que tener en cuenta, que la mecánica del Lego es muy poco precisa y además, el «ladrillo» no tiene reloj en tiempo real, luego no sabe exactamente la hora real en cada momento, y lo tuve que simular en el código haciendo cálculos «un poco inexactos». De cualquier manera, este piloto me valió para comprobar la viabilidad de hacer un heliostato, que era su objetivo, antes de lanzarme a hacer uno de verdad a tamaño real.
Para el que quiera hacer esta prueba en su Mindstorms con leJOS, aquí os dejo un enlace al código.
Más información interesante
Durante la búsqueda de información encontré una página en dónde vendían «girasoles» para ponerlos en tu patio y dirigir el sol a dónde tu quisieras. Y además por un precio bastante interesante, menos de 200€. Lo podéis ver en la página http://wikoda.com/.
Pero como siempre, nos gusta hacernos las cosas nosotros con nuestras manitas y adaptándolo a nuestras necesidades, así que seguí buscando información y encontré otra página realmente interesante. Es http://www.cerebralmeltdown.com. En esta página detallan como hacerse un heliostato casero controlado por un Arduino (¡bien!), de hecho el autor de la página se ha hecho unos shields de Arduino para facilitar la construcción de la electrónica. Muy interesante echarle un vistazo a su página y a los contenidos del foro.
¿Y ahora qué?
Pero… ¿podremos tener sol artificial en el salón o no? ¡Yo creo que sí! Voy a empaparme bien de información y ya mismo empiezo a pedir la electrónica necesaria por internet y mi padre se pondrá a preparar la mecánica. ¡Estoy deseando ver ya ese espejo gigante alumbrando el salón!
Veo interesante el proyecto. Y tus videos muestran lo que yo quiero construir. Podrías publicar el codigo de arduino adaptado a tu caso particular? Estoy empapandome de información en la web de cerebralmeltdown pero hay conceptos que todavía no pillo. Además veo que él tiene muchas funciones que en mi caso y, creo que en el tuyo, sobran, como el poder manjear más de un espejo, la memorizacíon de varios objetivos, etc. Vamos que me gustaría ver un código más sencillo, reducido y «asequible». Además que en arduino Uno entra muy ajustado de tamaño.
Un saludo; espero que nos des más información con tus avances. José María
Hola Jose María,
efectivamente el código que se publica en CerebralMeltdown tiene bastantes funcionalidades. Esto lo hace muy versátil, pero es cierto que el código se vuelve un poco complejo y complicado de seguir en caso de error. Yo empecé a reducir el mismo porque había casos en los que me fallaba (había un bug en el caso de que no conectaras el potenciómetro selector de objetivo). Así que al final terminé haciendo una versión muchísimo más reducida que para mi caso es totalmente válida y el código es más fácil de seguir.
Voy a editar el post y cuelgo el código en breve. Cualquier duda me preguntas sin problemas.
Saludos!
Jose María, en el siguiente enlace tienes el código que actualmente uso para mi heliostato. Es el código de cerebralmeltdown pero simplificado para una sóla máquina con actuadores lineales.
http://www.remolinomental.com/?attachment_id=389
Hola: Vivo en una PB y he buscado heliostatos en México para tratar de iluminar un poco. ¿Tú puedes ayudarme?
GRACIAS
¡Hola! ¿Que necesitas San? ¿En que puedo ayudarte? Si quieres montarte un heliostato para iluminar (yo tengo montado uno para eso) puedes seguir las instrucciones que pongo en el blog y me preguntas cualquier duda que quieras. Si lo quieres comprar ya hecho hay una página que vende pequeños heliostatos autónomos alimentados por placas solares (http://wikoda.com). No tengo nada que ver con ellos, pero tienen muy buena pinta para su precio (pero claro, no es tan entretenido como montar tu uno por ti mismo, jejej)
Saludos!
Hola (de nuevo):
En realidad mi interés es adquirir uno aquí en México. ¿puedes ayudarme?
Gracias 🙂
Hola Sandra!
La verdad es que a nivel comercial y para el hogar no conozco dónde se podría adquirir un Heliostato similar a este. ¿No te atreves a construir uno? 🙂
Hola Ugo. Me parece genial tu invento, me gustaria montarlo, pero en programacion estoy muy verde, Tengo el kit basico de arduino con motores 28BYJ-48 y el rtc clock ds1307; y no tengo ni idea en que pines los debo conectar, y si me hace falta algo más.
Un Saludo y muchas gracias.
Hola Carlos! Lo primero es que te hagas al funcionamiento del Arduino y hagas algunas pruebas moviendo motores y demás para que vayas aprendiendo como funciona el mismo. Una vez tengas un poquito de práctica con el arduino te puedes aventurar a montar el Helio. Los motores que comentas no te valdrán, necesitas motores más potentes. En el post del Helio viene una descripción básica de los motores que necesitarás.
En la web de http://www.cerebralmeltdown.com podrás encontrar el esquema básico de conexión y el programa. Mi montaje está basado en el de dicha página. En el siguiente enlace puedes encontrar mi programa en particular que es una versión mucho más reducida del de dicha página que sólo funciona para 1 Helio y actuadores lineales. http://www.remolinomental.com/?attachment_id=389
Lo dicho, haz pruebas con el Arduino y cuando tengas práctica haciendo programitas simples y jugando con las entradas y salidas del mismo te podrías lanzar a montar este esquema. Cualquier duda me comentas.
Saludos,
Hola has pensado comercializar tu helio? La verdad es que estoy interesado pero yo solo soy capaz de desarrollar la parte me anica
Hola. ¿Sigues interesado en hacer un heliostato? Yo estoy construyendo ya el tercero.
Bravo Jose María! Eso ya casi es «construcción en serie». La verdad es que cuando ya construyes el primero, lo siguiente es fácil. Yo los que tengo montado siguen funcionando después de años.
Buen trabajo ahi!
Muchas gracias Ugo!
La verdad es que la construcción de un heliostato es una aventura compleja y apasionante a la vez. Es un dispositivo que siempre me ha parecido mágico. Yo llevo ya más de dos años en el proyecto.
Sería interesante ver fotos de tu sistema a ver qué tal queda y el efecto que consigues. Seguro que es muy beneficioso.
Un abrazo.
Por cierto, en mi canal de Youtube voy poniendo mi progreso. Está en:
https://www.youtube.com/user/canal7RegiondeMurcia
Y el nombre del canal es Templas
Un abrazo.
Hola José María.
He encontrado el canal de Templastat, pero no deja poner comentarios.
Hay alguna manera de ponerse en contacto contigo? Estoy buscando información para fabricar un heliostato y su producto tiene muy buena pinta.
Saludos.
Buenas Carlos. Lo he pensado varias veces, creo que es una necesidad que a día de hoy no está cubierta. Pero al final por falta de tiempo no lo he hecho, sólo los construyo a nivel particular.
Si tu problema es la electrónica te puedo ayudar con eso. La parte mecánica para mi es la más importante (quizás porque se me da peor! jeje).
Te contacto y te ayudo si quieres.
Saludos,
Hola, entiendo la funcionalidad de su heliostato. Pero tengo una duda, yo lo que necesito es que el heliostato se vaya moviendo de manera inteligente, es decir, que tenga como un robotillo en su soporte y que este vaya buscando en cada momento la posición más óptima en la que ubicarse, así irá como siguiendo la trayectoria del sol. ¿Tendrías una breve idea de como hacer eso?