Cientificosaficionados.com

Los foros de los científicos aficionados de la red.
Fecha actual Jue Jun 04, 2020 3:54 am

Todos los horarios son UTC [ DST ]




Nuevo tema Responder al tema  [ 29 mensajes ]  Ir a página 1, 2, 3  Siguiente
Autor Mensaje
NotaPublicado: Dom Jul 26, 2009 2:54 am 
Desconectado

Registrado: Jue Mar 05, 2009 4:24 pm
Mensajes: 31
Ubicación: Valencia, España, Planeta Tierra
Hola a todos.

Vengo a aportar mi pequeño granito de arena a un mundo mejor y con libre distribución de conocimiento.

El objetivo es construir un seguidor solar con precisión de 0,01 grados en ambos ejes, ideal para elementos de concentración solar usadas en refrigeración, generación de energía eléctrica, calefacción doméstica a 300º :lol: y un largo etc...

Ante todo, dejo un enlace con muuuuchos seguidores solares basados en un sencillo modelo a base de leds y comparadores (no he realizado ninguno), además de información diversa sobre concentradores.

http://www.redrok.com/main.htm

El segidor que propongo no tiene sensores, sino que tiene implementadas en un PIC las ecuaciones astronómicas necesarias para determinar la posición solar con precisión de 0,01º en función de la hora local, la fecha, latitud, longitud y zona horaria. Además proporciona información sobre hora de salida del sol, hora del ocaso, tiempo de transición solar desde el amanecer hasta el ocaso y agunas cosillas más (menos útiles).

Las ecuaciones astronómicas están proporcionadas por en NREL (National Renewable Energy Laboratory) en c, junto con una breve documentación. Se denominan SOLPOS y se pueden obtener todo en la web...

http://rredc.nrel.gov/solar/codes_algs/solpos/

El principal inconveniente es que solo funcionará bien hasta 2050, aunque tiene otro algoritmo (el SPA) que tiene una precisión de 0,0003 (creo recordar) y funciona desde el año -2000 hasta el año 6000. Lo malo de este es que necesita operaciones aritméticas y trigonométricas varias en float de 64 bits (double float en c), y CCS no tiene implementado este tipo de variables ni he encontrado ninguna libreria. Si alguien conoce alguna le estaría muy agradecido de que me informara.

Página del SPA:
http://rredc.nrel.gov/solar/codesandalgorithms/spa/

Hay un pdf muy detallado con el modelo matemático y la programación. Altamente recomendable si te interesa el tema. Para adquirir el código, hay que realizar un pequeño registro. Espero hacer este más adelante.


Arriba
 Perfil  
 
NotaPublicado: Dom Jul 26, 2009 4:17 am 
Desconectado

Registrado: Jue Mar 05, 2009 4:24 pm
Mensajes: 31
Ubicación: Valencia, España, Planeta Tierra
Hola de nuevo.
El sistema está a mitad y en forma de simulación bajo proteus. Solo hay un pequeño teclado de 4 teclas, un LCD 2x16, el micro PIC18f2550 y el programa SOLPOS adaptado a PIC junto con un pequeño menú, pero funciona (por ahora) :wink: .

Teclado y LCD con mensaje de bienvenida:
Imagen

El reloj, un DS1307 con bus I2C y una salida que genera un pulso con un periodo de 2s conectado a un pin de interrupción externa del PIC, de forma que disponemos de una interrupción cada segundo (cuando el pin está a 5V y cuando está a 0V).
Imagen

El menú es sencillo y está por acabar la parte de introducción de datos (ajuste fecha, hora, latitud...). Por ahora los datos se programan en el PIC.

Pantallas de visualización de datos:

Pantalla1 FECHA / HORA / ZONA HORARIA(a donde va por defecto cuando sale del mensaje de bienvenida)
Imagen

Pantalla2 POSICIÓN RELATIVA DEL PANEL: AZIMUT DEL PANEL E INCLINACIÓN
En este caso, un azimut de 180º corresponde a una orientación sur.
Estas dos variables las utiliza para estimar la radiación incidente en el panel en función de su orientación con respecto a la posición solar. Esta librería es la leche porque también tiene en cuenta la refracción óptica de la luz en la atmósfera (para corregir la posición solar). Hay que acoplarle al circuito un sensor de temperatura y otro de presión atmosférica para estos cáculos.
Imagen


Bueno, mañana más.


Arriba
 Perfil  
 
NotaPublicado: Dom Jul 26, 2009 3:36 pm 
Desconectado

Registrado: Jue Mar 05, 2009 4:24 pm
Mensajes: 31
Ubicación: Valencia, España, Planeta Tierra
Obviamente espero críticas, sugerencias y demás.
Gracias


Arriba
 Perfil  
 
NotaPublicado: Dom Jul 26, 2009 3:59 pm 
Desconectado

Registrado: Jue Mar 05, 2009 4:24 pm
Mensajes: 31
Ubicación: Valencia, España, Planeta Tierra
Continuamos:


La siguiente pantalla muestra la latitud y longitud del observador (programada por el usuario):
Imagen


Y la siguiente es una de las más importantes, ya que muestra la posición relativa del sol a esa latitud, longitud y hora local (en estas pantallas las 17:00):
Imagen


Para comprobar que los cálculos son correctos, nos vamos a la web
http://www.nrel.gov/midc/solpos/solpos.html
donde podemos hacer la simulación y así comprobar si ha habido algún error. Se rellenan los campos con la información correcta, se seleccionan las salidas deseadas y se obtienen los resultados en un txt (zip).
La tabla obtenida desde la web es:
Imagen

Se puede observar que nos dá la posición solar con relativa precisión. El siguiente paso sería una etapa de potencia y un código que controle dos motores para corregir la posición del panel que queramos controlar.
Gracias por vuestra atención y espero respuestas.


Arriba
 Perfil  
 
NotaPublicado: Dom Jul 26, 2009 6:13 pm 
Desconectado

Registrado: Jue Mar 05, 2009 4:24 pm
Mensajes: 31
Ubicación: Valencia, España, Planeta Tierra
Hola a todos.
Continuamos con el proyecto.

Ahora muestro la hora de salida del sol, calculada también con la librería SOLPOS.

Imagen

Hay que tener en cuenta en los paises que se establezca el cambio de horario (por aquello del ahorro energético) que en verano adelantan los relojes una hora. Como aún no tengo implementado en la programación esto, a las horas que aparecen hay que sumarles una hora. Por lo que la salida del sol sería a las 7:00 en Valencia (ubicación a la que corresponden las coordenadas programadas para esta simulación). También hay que tener en cuenta que la hora de salida del sol, la hora del ocaso y el tiempo de transito (tiempo desde que sale el sol hasta que se pone, en horas y minutos) dependen para su precisión de variables no tenidas en cuenta en estas librerias como son la altitud del observador, objetos que puedan proyectar sombras, etc., por lo que en este apartado su precisión es de uno 5-7 minutos. Por contra es bueno saber de forma aproximada estos valores aunque solo sea por curiosidad.

Hora del ocaso o puesta de sol:
Imagen

que si le sumamos una hora queda en las 21:15

Tiempo de tránsito solar:
Imagen



Bueno, conforme vaya avanzando el proyecto lo subo.
Hasta la próxima.


Arriba
 Perfil  
 
NotaPublicado: Lun Jul 27, 2009 12:39 am 
Desconectado
Avatar de Usuario

Registrado: Lun Dic 04, 2006 2:13 pm
Mensajes: 3222
Ubicación: Barrio Buceo
País: Uruguay
Ciudad: Montevideo
Hola NAAC

Me gusta tu seguidor :D
Me gustaría solo dejar un comentario si ánimo de crítica, ya que tu trabajo parece muy importante, y mas importante que todo es que lo estás publicando.
Me parece bien que el seguidor conserve la posición exacta donde encontrar el sol, pero recuerda que los captores de energía solar tienen cierta insensibilidad en grados respecto al origen del sol. De esta manera si gastas energía en seguir al sol todo el tiempo estarás derrochando energía.
Debes guardar un par de parámetros para generar una ventana virtual angular (un ángulo sólido) y solo mueves tu seguidor cuando el sol cruza uno de estos límites, pasando por toda la ventana hasta llegar al otro límite (el opuesto). Así el sol sigue por toda tu ventana hasta cruzar nuevamente el límite y tu controlador mueve la ventana nuevamente a la velocidad mas adecuada para un gasto mínimo de energía.
Literalmente enfrentas una pirámide o un cono al sol (el vértice hacia el captor) y lo mueves a pasos cuando el rayo se sale del cono, enfrentando no el centro del cono al sol, si no el lado opuesto de la pirámide al que usó el sol par salirse del cono.
Quizá me adelanté a lo que tenías pensado hacer, pero creo que es bueno que veas que lo estamos apreciando.
Qué lenguaje estás usando en tu PIC? No se si lo dijiste ya ...

Saludos y adelante !!

_________________
El permanente cambio es una constante universal.


Arriba
 Perfil  
 
NotaPublicado: Lun Jul 27, 2009 2:13 am 
Desconectado

Registrado: Jue Mar 05, 2009 4:24 pm
Mensajes: 31
Ubicación: Valencia, España, Planeta Tierra
Hola asegade, gracias por la respuesta.

Te comento que el lenguaje es el ccs.

Con respecto al movimiento del panel, tengo una variable de tiempo de actualización que podría ser incluso configurable por el usuario (por medio del LCD y del teclado) o ser directamente programada en el pic o utilizarse en cualquier algoritmo que determine cuando se reposiciona en función de, por ejemplo, el seno del ángulo de incidencia. La opción más cómoda es poner un tiempo determinado de actualización(no se aún cuanto sería lo correcto, pero así a ojo unos 5'?, 3?,15??).

Me gusta tu idea para determinar que eje se tiene que actualizar, ya que no había tenido en cuenta que la actualización del eje de elevación es menos necesaria que la del eje del azimut (hay menos desplazamiento), por lo que por medio de la ventana se puede ahorrar encender (tal vez un 30% o 50%) el motor de eje de elevación, lo que supondría un ahorro energético en torno al 15-25 de lo consumido por los motores. No es nada despreciable un 15%.

También hay que tener en cuenta la precisión de la parte mecánica, que en mi proyecto "made in home" será mas bien poca.

Hasta la próxima.


Arriba
 Perfil  
 
NotaPublicado: Vie Jul 31, 2009 11:30 am 
Desconectado

Registrado: Jue Mar 05, 2009 4:24 pm
Mensajes: 31
Ubicación: Valencia, España, Planeta Tierra
Hola a todos. :D

Despues de pensármelo, he decidido poner un teclado hexadecimal, ya que la entrada de un float de 7 números (por ejemplo la entrada de la latitud) por medio de un teclado con 4 botones es complicada e incómoda para el usuario. Además ando escaso de memoria de programa (93% ocupada aunque falta depurar) y aún me queda bastante por programar.

En un principio pensé en poner un teclado gestionado por un pin analógico, pero como no se puede gestionar por medio de una interrupción y con el desgaste de las teclas puede dar lecturas incorrectas, he descartado esa opción. La siguiente opción es utilizar 8 pines para el teclado, lo que me ha hecho migrar al 18F4550 con 40 pines.

Aquí va el problema: Necesito una librería para CCS que gestione un teclado hexadecimal (4x4) por medio de interrupciones y que se pueda colocar en el nibble alto del puerto B (para las interrupciones por cambio de estado) y en nibble alto del puerto D. El hecho de dividir el teclado en dos puertos es que necesito las interrupciones externas (por lo menos una o dos). A ver si alguien tiene algo parecido :roll:. Le estaria muy agradecido.

PD: Creo que me va a faltar memoria ROM y voy a tener que migrar de nuevo a un PIC con 32Kwords :cry: . Será la quinta vez que migro.Soy un flipado y empecé con un 16f88, después un 16f877, un 18F2550, un 18F4550.....

Saludos.


Arriba
 Perfil  
 
NotaPublicado: Dom Ago 02, 2009 11:49 am 
Desconectado

Registrado: Jue Mar 05, 2009 4:24 pm
Mensajes: 31
Ubicación: Valencia, España, Planeta Tierra
Jo, parece que el tema no interesa mucho. Solo una respuesta :roll:. De todas formas, acabaré el trasto y lo subiré.

Bueno, el teclado ya está en marcha, la adquisición de datos float más o menos funciona. De vez en cuando me dá algún error pero creo que es cuando se sale del rango de los float. El menú ya está funcionando.

¿Que es lo que queda?
Sensor de temperatura, de presión y tal vez un anemómetro para que cuando pase de una determinada velocidad de viento ponga las placas en horizontal. También falta la programación del driver de motores, que casi seguro serán motores PAP, aunque los dos pines PWM del uC están libres por si se quiere poner un par de servos. También he dejado libre dos pines de interrupciones externas para poner dos o cuatro finales de carrera.

Saludos y hasta la próxima.


Arriba
 Perfil  
 
NotaPublicado: Dom Ago 02, 2009 12:50 pm 
Desconectado

Registrado: Vie May 01, 2009 10:13 pm
Mensajes: 8
Somos muchos los intersaos,aunque de momento no opinemos,tu sigue.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 29 mensajes ]  Ir a página 1, 2, 3  Siguiente

Todos los horarios son UTC [ DST ]


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com