Sunteți pe pagina 1din 44

Universidad de El Salvador

Facultad de Ingeniera y Arquitectura


Escuela de Ingeniera Elctrica
Proyecto de Ingeniera II

"Diseo de un controlador para el


seguimiento de la posicin solar en un eje
polar, utilizando Arduino, Ecuaciones
astronmicas y el mdulo GPS UBLOX"
Profesor: Ingeniero Jorge Alberto Zetino

Responsables del trabajo:


Arriola Suarez, Jaime Javier
Rodrguez Duran, Jorge Luis

AS08005
RD09001

Ciudad universitaria 28 de enero de 2015

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
1. Introduccin
En la actualidad, se evidencia como el desarrollo industrial y econmico de gran parte de
las empresas conlleva a una clara expansin de los sistemas elctricos de potencia. En pases en
donde se requiere la utilizacin de recursos no renovables o la combustin de materiales tales
como el carbn, gas natural, derivados del petrleo entre otros para la generacin de energa,
se encuentran diferentes inconvenientes, entre los que se cuentan principalmente el
impacto ambiental y la limitada duracin de estos recursos como fuente de energa. La
repercusin de la generacin de energa elctrica de manera convencional sobre el medio
ambiente se evidencia en el deterioro de la calidad del aire, adems se genera un efecto
de calentamiento del planeta, conocido como efecto invernadero. El otro gran
inconveniente resulta ser el inminente agotamiento de las principales fuentes de generacin
de energa convencionales, ya que el carcter de no renovables del gas, carbn, petrleo entre
otros, as como el aumento constante de la demanda de estos materiales hace que sea una
obligacin buscar alternativas para reemplazarlos.
Una de las grandes alternativas a la problemtica actual son por los sistemas de generacin
fotovoltaica que aprovechan la energa radiada por el sol la cual es extremadamente grande y
no es altamente aprovechada an, debido a diversos factores que los rodean como por ejemplo
la inversin inicial para el montaje del mismo, pero ms all de ello stos sistemas son amigables
con el ambiente.
Uno de los componentes necesarios para aprovechar de forma correcta la enega incidente
sobre un Panel Fotovoltaico es un seguidor de la poscin del sol para que el vector normal del
panel sea paralelo en el mismo plano a un vector que se denomina rayo central del sol, s esto
se cumple entonces la eficiencia del sistema aumenta, el presente documento presenta la
deduccin de las expresiones matemticas necesarias para justificar la decisin de implementar
un seguidor en un eje polar, se invita al lector a leer con detalle en documento para poder
comprender correctamente toda la geometra y anlisis vectorial involucrada en el desarrollo
de las expresiones de tal forma que el algoritmo de seguimiento se pueda comprender de forma
sencilla.

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
2. Objetivos
Objetivo General
Disear un seguidor de la posicin del sol para un futuro proyecto de montaje en la
azotea del edificio D de la facultad de Ingeniera y Arquitectura de 10 paneles
fotovoltaicos, a travs de un algoritmo y ecuaciones astronmicas de tal forma que se
prediga la posicin del sol durante cualquier momento del ao utilizando Arduino y un
actuador lineal.
Objetivos Especficos
Reparar el actuador lineal disponible en la Escuela de Ingeniera Elctrica que servir
para realizar el movimiento del conjunto de Paneles fotovoltaicos a instalar en un
futuro.
Derivar un conjunto de ecuaciones para ubicar el sol en cualquier momento del ao para
las coordenadas 13.730 latitud Norte y -89.160 longitud Oeste correspondientes al
departamento de San Salvador.
Seleccionar el conjunto de ecuaciones auxiliares ms precisas a travs de la
comparacin de un set existente de las mimas.
Utilizar el mdulo GPS de UBLOX para obtener los datos de: fecha, hora, latitud y
longitud, los cuales son necesarios para el algoritmo de seguimiento.
Disear la interfaz de potencia para que el micro controlador Arduino sea capaz de
mover los paneles fotovoltaicos instalados a travs del actuador lineal.

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
3. Planteamiento del Problema
Los Paneles Fotovoltaicos (PFV a partir de ac) usados en la recoleccin y conversin de energa
solar a energa elctrica deben estar idealmente perpendiculares a los rayos emitidos por el Sol
para tener su mxima eficiencia posible, para ello el(los) PFV debe(n) seguir constantemente
la trayectoria del Sol que no se queda en un punto fijo, si no que durante el da hace su recorrido
sobre el cielo debido al movimiento de rotacin de la tierra, iniciando en el Este y finalizando en
el Oeste.
Si el vector normal al PFV no se encuentra paralelo en el mismo plano al vector del rayo central
del sol entonces aparece entre dichos vectores un ngulo de incidencia que reduce la eficiencia
del panel, por lo cual es necesario eliminar dicho ngulo de incidencia a travs del movimiento
del PFV con actuadores que lleven a cabo dicha tarea cada cierto tiempo el cual depender del
controlador que puede tomar la decisin de desplazar el PFV basado en:
1. Sensores
2. Ecuaciones astronmicas
Cualquiera de las opciones resulta vlida, dependiendo del enfoque del diseador; para el
presente caso se usar la opcin 2 y a continuacin se muestra la deduccin de las expresiones
necesarias para el seguimiento de la posicin durante el da nicamente (es decir un seguidor
en un eje polar), los conceptos implicados se desarrollan en su momento apropiado, se le
sugiere al lector leer con cautela para poder comprender el desarrollo de las ecuaciones
astronmicas.
4. Solucin Propuesta
4.1 Consideraciones Previas
Como primer punto debe mencionarse que el seguidor que se disear es del tipo denominado
polar en un eje, el significado se esto se aclara posteriormente.
Se procede a continuacin a desarrollar los elementos esenciales para determinar la ubicacin
del sol a travs de algebra vectorial y trigonometra, esto con el fin de mostrar claramente el
desarrollo que ha tenido el presente proyecto de ingeniera.
4.1.1 Zonas Horarias
Son regiones geogrficas de aproximadamente 15 grados de longitud de ancho centradas
alrededor de un meridiano, donde la hora local es igual a la hora local.
Los meridianos respecto a los cuales se mide el tiempo se encuentran uno cada 15 grados,
partiendo desde el principal, en stas zonas se considera que la hora es la misma, aunque en
realidad se pueden hacer algunas leves modificaciones denominadas correccin por latitud,
para obtener la hora local real de cada pas, pero las diferencias de tiempo pueden ser muy
pequeas entre un pas y otro, lo que s debe tomarse en cuenta es que cuando un observador
se mueve entre una zona y otra la hora se modifica en 1 hora ms o menos dependiendo de
hacia donde se mueva, si por ejemplo se mueve hacia el este, se hace una hora ms tarde y si se
mueve hacia el oeste entonces se hace una hora ms temprano, dicho detalle se ilustra en la
figura 1.

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II

Figura 1
Husos Horarios (Zonas Horarias del mundo)

4.1.2 ngulo Horario (w)


ste desplazamiento angular describe el movimiento de rotacin de la Tierra alrededor del eje
polar (ste eje ser de suma importancia en el presente diseo).
En la figura 2 se observa que w es la distancia angular entre el meridiano del observador y el
meridiano cuyo plano contiene al sol. El ngulo horario es 0 al medioda cuando el sol alcanza
su punto ms alto en el cielo durante el da.
Recordando lo expuesto en la seccin 4.1.1 se resalta el hecho de que w se incrementa en 15 0
por cada hora, ya que el sistema horario actual se basa en un da con duracin de 24 horas que
es un giro de la Tierra sobre su eje polar, entonces:
3600 150
[. 1]
=
=
24

4.1.3 Tiempo solar


ste concepto es usado para predecir la direccin de los rayos del sol y su valor depende de la
localizacin en el planeta (longitud), generalmente sta hora difiere respecto a la hora oficial de
un pas.
Para poder realizar la conversin entre hora solar y hora oficial se necesita conocer:
Localizacin
Da del ao
Hora estndar local (Local clock time, LCT)

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Para la conversin se usa la siguiente expresin:
=

+ + [2]
60

Donde:
ts= Hora solar
EOT=Ecuacin del tiempo
LC=Correccin de Longitud local
4.1.4 Ecuacin del tiempo
Si se usa un reloj solar correctamente calibrado y la hora oficial de un determinado pas,
rpidamente se notar que entre ambos tiempos existe una cierta diferencia, la cual cambia a
lo largo del ao, debido a dos razones las cuales son:
El plano del ecuador de la tierra est inclinado respecto al plano de la rbita alrededor
del sol.
La rbita de la tierra alrededor del sol no es un crculo sino ms bien una elipse.
La diferencia entre la hora solar y la hora oficial tiene variaciones positivas y negativas, llegando
a ser como mximo de hasta aproximadamente 16 minutos con 23 segundos el da 3 de
noviembre segn la ecuacin de Spencer y de 16 minutos con 8 segundos el da 2 de noviembre
segn la ecuacin de Wolf, esto se obtuvo de un programa escrito en MATLAB por los autores
del presente documento, para las dos ecuaciones antes mencionadas; la figura 2 muestra la
ejecucin de dicho programa (en los anexos se incluye el correspondiente cdigo).

Figura 2

Ejecucin del archivo grafica_eot.m

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
La ecuacin de Wolf utilizada en el archivo grafica_eot.m es la siguiente:
= 0.258 cos() 7.416 sin() 3.658 cos(2) 9.228 sin(2) [3]

Donde:
=

360( 1)
; [4]
365.242

La ecuacin de Spencer (Ecuacin 5) Utilizada es:


= 229.18[0.000075 + 0.001868 cos() + 0.032077 sin() 0.014615 cos(2) 0.04089 sin(2)]
Donde:

= 2

1
365

Las unidades de ambas ecuaciones son minutos, y como ilustra para la presente oportunidad se
usar la ecuacin de Spencer en el diseo y no la de Wolf, esto ya que al incluir ms trminos la
ecuacin de Spencer toma en cuenta algunos detalles que Wolf no considera, aunque segn la
bibliografa [1], se dice que la ecuacin de Wolf tiene un error mximo de 30 segundos en la
prediccin del valor de EOT, ello no representa un error que afecte en considerablemente el
desempeo del seguidor si sta afirmacin se basa en el concepto del ngulo de incidencia.
La diferencia entre ambas ecuaciones como ilustra la figura 2 es de alrededor de 0.5 minutos lo
cual corresponde a 30 segundos como se mencion antes, para ver esto de forma grfica, el
archivo grafica_eot.m es capaz de graficar ambas ecuaciones en un ao completo, la figura 3
ilustra dicho resultado.
Ecuacin de Wolf vrs Ecuacin de Spencer

Ecuacin de Wolf
Ecuacin de Spencer

15

Variacin de EOT [minutos]

10

-5

-10

-15

50

100

150

200
Dias del ao (N)

250

300

Figura 3

De igual forma el archivo antes mencionado tambin grafica el error entre ambas curvas, dicho
resultado se muestra en la figura 4.

350

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II

0.5

Variacin del error entre Spencer-Wolf [minutos]

0.4

0.3

0.2

0.1

-0.1

-0.2

-0.3

-0.4

50

100

150

200
Dias del ao (N)

250

300

Figura 4

4.1.5 El ngulo de declinacin


El plano que incluye el ecuador de la tierra se denomina plano ecuatorial. S una lnea
imaginaria se dibuja el centro de la tierra y el centro del sol, el ngulo que se forma entre sta
lnea y el plano del ecuador se denomina declinacin (), como se muestra en la figura 5.

Figura 5

Un preciso conocimiento de la declinacin es sumamente importante en la navegacin y


astronoma y para propsitos de diseo de un sistema de fotovoltaico una precisin de hasta 1
grado resulta adecuada, la expresin para ello es:
sin() = 0.39795 cos[0.98563( 173)] [6]

350

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Donde N es el da del ao en estudio.

Figura 6

4.2 Ecuaciones astronmicas para determinar la posicin del sol


El presente diseo tiene como uno de sus ejes predecir la posicin del sol en cualquier momento
del ao en la Universidad de El Salvador, a continuacin se muestra la derivacin de las
ecuaciones para la ubicacin del sol desde cualquier punto sobre la superficie de la tierra, las
mismas sern de utilidad en la siguiente seccin donde se derivaran las ecuaciones para una
superficie inclinada que es el caso actual.
En la seccin 4.2.1 se analiza el movimiento del sol, sin tomar en cuenta el movimiento de la
tierra, esto para iniciar de forma sencilla el anlisis, en la seccin 4.2.2 se toma en cuenta el
movimiento de la tierra (de rotacin y traslacin), finalmente se unifican los anlisis de las
secciones 4.2.1 y 4.2.2 para obtener ecuaciones generales con las que es posible conocer la
posicin del sol en el cielo desde cualquier punto sobre la superficie del planeta.
4.2.1 ngulos Acimut, Zenital y de altitud solar
En primer lugar se definen las variables a utilizar:
:
: ( )

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
:
S un observador se encuentra en un punto cualquiera de la superficie de la tierra la ubicacin
del sol est dada segn lo descrito en la figura 6:

Figura 7

Donde se define al vector S como un vector unitario que apunta al rayo central que sale del sol,
partiendo de la superficie de la tierra, dicho vector ser posteriormente traslado con una
conversin de coordenadas hacia el centro de la tierra, los propsitos de sta accin sern claros
posteriormente.
Adems definiendo a partir de la figura 6 las proyecciones de S (tomando en cuenta los vectores
unitarios i, j y k), sobre los planos que conforman el sistema de coordenadas se obtiene que:
= + + [7]
Sz, Se y Sn se pueden definir en funcin de asi:
Sz = sin()
Siendo S un vector unitario, resulta que:
Sz = sin() [8]
La proyeccin del vector S sobre el plano del observador se denomina Sa que equivale a:
cos() =

= cos() [9]

Para obtener Se de la figura 6 se utiliza el hecho de que:


sin() =
Combinando [9] y [10], se obtiene:

10

=
[10]

sin()

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II

= cos() = sin() cos() [11]


sin()
Pero: =
Sustituyendo el valor de r en 11 y aplicando identidades trigonomtricas, se tiene que:
= sin() cos() [12]
Proyectando Sa sobre Sn, se obtiene el hecho de que:
=

[13]
cos()

Donde se debe colocar un signo negativo debido a que Sn est en direccin opuesta al vector
unitario k, luego al combinar [13] y [10], adems de sustituir el valor de r, se obtiene:
cos() =

[14]
cos( )

Desarrollando la identidad trigonomtrica implicada en [14]:


cos( ) = cos() cos() + sin() sin() [15]
Se sabe de trigonometra que:
sin() = 0 cos() = 1 [16]
Sustituyendo [16] en [15]:
cos( ) = cos() [17]
Sustituyendo [17] en [14] y ordenando trminos:
= cos() cos() [18]
Por lo tanto se obtiene que: = sin() + sin() cos() + cos() cos() [19]
4.2.2 ngulos de latitud, declinacin y horario
Se pasa a analizar en sta seccin la influencia del movimiento de la tierra, en el clculo de la
ubicacin del sol, para ello se ubica un vector que parte del centro de la tierra el cual apunta al
rayo central del sol, como se muestra en la figura 7.

11
Figura 8

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II

El origen de un nuevo conjunto de coordenadas se define en el centro de la tierra, de donde una


lnea m parte del origen y se intercepta con el plano del ecuador en el punto donde el
meridiano del observador Q intercepta al plano ecuatorial, el eje e es perpendicular a m y
se encuentra de igual forma en el plano ecuatorial.
El tercer eje ortogonal p puede ser alineado con el eje de rotacin de la tierra y un nuevo vector
unitario S apuntando al sol puede ser descrito o descompuesto en trminos de Se, Smy Sp.
A continuacin se pasa a determinar las proyecciones de S en trminos del ngulo horario y del
ngulo de declinacin, los cuales son como se muestra en la figura 7.
La proyeccin de S sobre Sp est dada por la funcin sin(), as:
sin() =

= sin() [20]

Adems como se dijo antes S=1, ya que es un vector unitario y por lo tanto se tiene que:
= sin() [21]
Respecto a Sm se puede escribir partiendo de la figura 7 que para obtener dicha proyeccin es
necesario primero proyectar a S sobre el plano del ecuador, lo cual es posible por la funcin
cos(), as:
cos() =

= cos() [22]

Ahora proyectando a Sa sobre Sm:

= Sa cos() [23]

Al sustituir [22] en [23] se obtiene que:


= cos() cos() [24]
cos() =

Finalmente proyectando a Sa sobre Se, se debe tener en cuenta que el vector unitario a se
est en direccin contraria a la proyeccin Se por lo cual un signo negativo deber estar
presente en la siguiente expresin para tomar dicho detalle en cuenta:

sin() =
= Sa sin() [25]

Al sustituir [22] en [25]:


= cos() sin() [26]
Entonces:
= sin() + cos() cos() + cos() sin() [27]
Las ecuaciones [19] y [27] se relacionan por la rotacin sobre el eje e a travs del ngulo y
de la traslacin sobre el radio de la tierra CQ. Para facilitar el anlisis se desprecia adems el
efecto de la traslacin a travs del eje de la tierra ya que es 1/23525 veces la distancia de la
tierra al sol y por ende la distancia entre los ngulos S y S es despreciable.
El cambio de las coordenadas m, e y al sistema de coordenadas z, e y n sobre el eje e es
descrito por la figura 8, que es la vista en perfil de la figura 7.

12

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Determinando las componentes rectangulares de Sz
-

Proyectando Sz sobre Sm:


= Sm cos() [28]

Proyectando Sz sobre S:
= sin() [29]

Se tiene entonces que:


= Sm cos() + sin() [30]
Determinando las componentes rectangulares de Sn
-

Proyectando Sn sobre Sm, se debe incluir un signo negativo segn lo descrito en la


figura 8, de donde se observa que el vector de Sn es contrario al vector del eje m.
= () [31]

Proyectando Sn sobre S :
= sin() [32]

Se tiene entonces que:


= Sm sin() + cos() [33]
Al comparar las figuras 6 y 7 se observa que la conversin de coordenadas no es necesaria para
el vector e ya que es el mismo en ambos sistemas de coordenadas.
Lo anterior se puede resumir en forma matricial para el cambio de coordenadas de un sistema
a otro de forma sencilla as:
cos() 0 sin()

0
1
0 ] [ ] [34]
[] = [
sin() 0 cos()

Para obtener las ecuaciones totales que permiten la ubicacin del sol desde cualquier lugar de
la tierra se deben combinar las ecuaciones descritas en [29] sustituyendo los valores descritos
en los trios de ecuaciones 8,12 y 18 en conjunto al trio 20,23 y 25.
Las ecuaciones resultantes son:
() = cos() cos() cos() + cos() sin() [35]
cos() sin() = cos() cos() [36]
cos() cos() = sin() cos() sin() cos() cos() [37]
La ecuacin [30] se utiliza para determinar el ngulo de altitud solar () en trminos de la latitud
del observador (), el ngulo horario () y la declinacin del sol.
La ecuacin [31] se utiliza el ngulo acimutal (A) el cual puede estar en cualquiera de los 4
cuadrantes trigonomtricos dependiendo de:

13

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Dado que las funciones Arcsin y Arccos slo tienen dos posibles cuadrantes para ser vlidos tanto
[31] y [32] requieren de una prueba para acertar el cuadrante apropiado, dicha prueba consiste
en saber si el tiempo se encuentra antes o despus del medio da solar, en los anexos se
encuentra en cdigo llamado calculo_alfa_azimut.m que es un programa escrito en MATLAB
por los autores del actual documento que es capaz de obtener los valores de los ngulos
ingresndose stos por el usuario, la figura 9 muestra la ejecucin de dicho archivo, para el
siguiente enunciado:
Para un sitio ubicado en Miami, Florida 25048 latitud norte y 80016 longitud oeste a las 10:00
am del tiempo solar, el 1ero de agosto (en un ao no bisiesto). Calcular , .

Figura 9

4.2.3 Determinacin de las ecuaciones de seguimiento para la recoleccin de energa


En la seccin 4.1 se introdujo el concepto de efecto de la perdida coseno que representa la
diferencia entre la cantidad de energa que cae en una superficie que apunta hacia el sol y la
cantidad de energa que cae en otra superficie paralela a la superficie de la tierra.
Con el objetivo de recolectar energa en la tierra es importante conocer el ngulo entre los rayos
del sol y la superficie del colector (apertura). Cuando un colector (PFV) no est apuntando
directamente al sol (o ms exactamente cuando la apertura normal del colector no est
apuntando) una cantidad de la energa que podra ser aprovechada se pierde.
Se desarrollaran a continuacin ecuaciones para calcular el ngulo entre la apertura normal del
colector y el rayo central del sol. En primer lugar para colectores fijos y luego para proveer

14

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
perspicacia en el diseo del seguidor y en la orientacin del mismo para predecir la radiacin
solar integrada incidente en el colector con cierta apertura que puede ser recalculada.
4.2.3.1 ngulos de apertura solar. El ngulo de incidencia ()
En la seccin 4.2.2 se defini la posicin del sol respecto a las coordenadas del centro de la tierra
y tambin con respecto a las coordenadas de un punto cualquiera en la superficie de la tierra (
y A) y adems relaciones funcionales entre estos ngulos (ecuaciones 8,12 y 18).
En el diseo de sistemas de energa solar fotovoltaicos es mucho ms importante ser capaz de
predecir el ngulo entre los rayos del sol y un vector normal a la apertura o superficie del
colector. Dicho ngulo es denominado: Angulo de incidencia.
Conociendo dicho ngulo que es de suma importancia para el diseador de Sistemas
Fotovoltaicos ya que la mxima amplitud de energa solar que puede ser recolectada se reduce
por el ().
El otro ngulo de importancia en el ngulo de seguimiento ( ). La mayora de tipos de colectores
de media y alta temperatura requieren un sistema de gua de seguimiento para alinear al menos
un eje y muchas veces dos ejes a la apertura del colector normal al rayo central del sol. El ngulo
de seguimiento es la cantidad de rotacin para logra esto.
4.2.3.2 Aperturas fijas (Sin seguimiento)
El () para una superficie arbitrariamente orientada o una apertura que no sigue la pista
del sol puede ser descrita en trminos de la orientacin del colector y de los ngulos y A.
Para definir N usando los mismo ejes, definiremos un ngulo de apertura y un ngulo de
apertura azimutal como se describe en la figura 10 la convencin del signo para es la
misma que para A. La direccin de los cosenos de N a lo largo de Z, e y n, son los mostrados en
la figura 10, as:

Figura 10

15

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Al analizar la figura 10, es posible determinar las componentes rectangulares del vector N,
primero partiendo de las proyecciones sobre el plano este-norte usando el ngulo r que se
mide a partir del eje norte en sentido antihorario (esto por facilidad en el anlisis) y
posteriormente el hecho de que: = , para poder dejar las expresiones en funcin del
ngulo azimutal del colector (), entonces:
= () [38]
= () ()[39]
= () cos( )[40]
El signo negativo en [35] viene por el mismo que hecho por cual se signo se aplica en [14].
Haciendo el mismo desarrollo que el hecho para obtener (vea desarrollo de ecuaciones [15][18]), se obtiene que:
= () () [41]
= () cos( ) [42]
Para obtener el ngulo de incidencia se usa la definicin del mismo, la cual corresponde con el
producto punto de los vectores rayo central del sol y el vector normal al colector, as:
cos( ) = .

[43]

Usando las ecuaciones 19 y las componentes de N (ecuaciones 38, 41 y 42), se tiene que:
( ) = < cos() , sin() sin() , sin() cos() >. < sin() sin() , cos() cos() >
= cos() sin() + sin() sin() cos() sin() + sin() cos() cos() cos()
= cos() sin() + sin() cos()[ sin() sin() + cos() cos()]
Aplicando identidad trigonomtrica
( ) = cos() sin() + sin() cos()cos( A) [44]
Usualmente es til reescribir [44] en trminos de , esto se puede lograr usando [8], [12]
y [18], as:
( ) = cos() [sin() sin() + cos() cos() cos()] + sin() sin() cos() sin()
+ sin() cos() sin() sin(A) + sin() cos() cos() cos()
cos( ) = cos() [sin() sin() + cos() cos() cos()] + sin()sin()sin()[

cos() ()
]
sin()

+ sin() cos() cos() {

sin() cos() sin() cos() cos()


cos()

cos() = cos() [sin() sin() sin() cos() cos()] [45]

16

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Algunos casos especiales para la ecuacin [45]
Para superficies horizontales = 0
cos() = sin() [46]
Al amanecer = 0 = 90
Para superficies verticales.
cos() = cos() cos( ) [47]
Para superficies horizontales hacia el sur ( = 180
cos() = sin() cos() sin() cos() cos() [48]
4.2.3.3 Aperturas de seguimiento en 1 eje

Figura 11

Ciertos tipos de colectores concentrados estn diseados con una rotacin de seguimiento en
un solo eje. Ac un sistema gua de seguimiento rota el colector alrededor de un eje de rotacin
hasta que la apertura del colector y el rayo central del sol son coplanares/paralelos. (Figura 11)
Muestra como de la apertura de un colector alrededor de un eje de seguimiento () trae el rayo
central (S) hacia el plano formado por el vector normal al colector y el eje de seguimiento. El
ngulo de seguimiento () mide la rotacin sobre el eje con = 0 N es vertical.
Para escribir ecuaciones para y en trminos de la orientacin del colector y de los ngulos
del sol se transforman las coordenadas del rayo central S de las coordenadas Z, e y n usadas para
derivar [12] a un nuevo sistema de coordenadas que tenga el eje de seguimiento como uno de

17

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II

Figura 12

sus tres ejes ortogonales. Los otros dos ejes estn orientados de tal forma que uno de sus ejes
esta paralelo a la superficie de la tierra.
En la figura 12 b es un eje que siempre permanece paralelo a la superficie de la tierra, u es
el tercer eje ortogonal. Note que las coordenadas permanecen fijas aunque N rote en el plano
u-b.
Inspeccionando la figura revela que tanto como pueden ser definidos en trminos de los
cosenos de las direcciones del rayo central S a lo largo de u, b y r.
tan =

[49]

Recordando que S es un vector unitario se tiene que:


cos() =

= 2 + 2 [50]

cos() = 1 2 [51]
En las siguientes secciones se desarrollaran ecuaciones para y para , donde primero se
tratara el caso cuando el eje est orientado arbitrariamente y luego cuando el panel se
encuentra inclinado respecto al plano de la tierra.

18

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
4.2.3.4 Seguimiento en el eje horizontal.
Para describir este esquema de seguimiento, se debe rotar los ejes u, b y r por un angulo ()de
los ejes z, e y n usados para describir el vector S en [12]

Figura 13

Dado que los ejes de seguimiento siguen paralelos a la superficie de la tierra, esta rotacin toma
lugar sobre el eje Z, (Figura 13) con u y Z coincidentes, note que esta rotacin es negativa
basados en la regla de la mano derecha. De la figura 13 se extrae que:
= [52]
= cos() () [53]
= cos() + () [54]
Sustituyendo los resultados de [52] y [53] en [49]
tan() =

tan() =

cos() ()
[55]

1
[() cos() cos() ()]
tan()
tan() =

( )
[56]
tan()

Adems sustituyendo [53] en [50] para determinar :


() = 1 ( () + ())2

19

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
cos() = 1 [cos() cos() cos() + cos() sin() sin()]2
cos() = 1 2 ()[cos() cos() + sin() sin()]2
cos() = 1 2 () 2 ( )

[56]

Un caso especial de [56] se da cuando el eje de seguimiento est orientado en el eje norte-sur.
tan() =

sin()
[57]
tan()

cos() = 1 2 () 2 () [58]
4.2.3.4 Angulo de seguimiento inclinado (De forma arbitraria)
La situacin es la que se muestra en la figura 14 donde el plano r-u se ha desplazado por lo cual
u ya no coincide z con cmo fue en el caso anterior.

Figura 14

De la figura 14 se puede derivar que:


= cos() ()[ cos() + ()] [59]
= () + cos() [ cos() + ()] [60]
= cos() () [61]
Aplicando [49] y [51] para determinar se tiene que:
() =

tan() =

tan() =

20

cos() ()
=
cos() ()[ cos() + ()]

cos() ( )
() cos() ()cos()[cos() cos() + ()()]

cos() ( )
() cos() ()cos()[cos( )] + () cos() ()cos()

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
tan() =

cos() ( )
( ) () cos() [cos( )] + ()()

tan() =

cos() ( )
[62]
( ) ()cos()[1 cos( )]

Y
cos() = 1 ( () + cos()[ cos() + ()]2
cos() = 1 [cos( ) + cos() cos() (1 cos( ))]2 [63]
4.2.3.5 Desplazamiento en la apertura
En algunos diseos de seguimiento la apertura del colector esta desplazada con respecto al eje
de seguimiento por un ngulo . Para este diseo se calcula con [62] pero no se calcula
[63], sino que = [63] + , con los signos apropiados para cada uno u es positivo si el
desplazamiento es anti horario y [63] tendr el signo de en [60]

Figura 15

4.2.3.6 Eje de seguimiento inclinado al ngulo de latitud


Cuando el eje de seguimiento est inclinado respecto al horizonte por un ngulo de latitud hacia
el sur este se encuentra paralelo al polo rotacional de la tierra y apunta hacia polar. Llamado
montaje polar o montaje ecuatorial, la solucin de [62] y [63] para este caso revela 2
importantes aspectos para esta clase de montaje. Sustituyendo por y sustituyendo [8], [12]
y [18] para reemplazar y con , , .
Un procedimiento equivalente y sencillo respecto al anterior consiste en rotar las coordenadas
z, e, n sobre el eje e por , esto da como resultado los cosenos del rayo central en trminos de
u, b y r.

21

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
cos() 0

1
[ ] = [ 0
sin() 0

sin()
0 ] [ ] [64]
cos()

Iniciando con [18] y asignando la direccin de los cosenos de S en trminos de , con la


aplicacin de [35], [36] y [37] que se deben sustituir en [64] para , y tomando la
definicin de de [49] y [51] y despus de una simplificaciones considerables, obtenemos
el ngulo de seguimiento y el ngulo de incidencia para un montaje polar.
= [65]
= [66]
4.2.4 Algoritmo de Seguimiento (Filosofa de Diseo)
Una vez desarrollado el trabajo matemtico de la seccin 4.2.3, es sencillo ahora denotar que
el parmetro de mayor inters es la hora solar la cual se obtendr el mdulo GPS de Ublox,
aunque existen otras opciones entre ellas durante el desarrollo del presente proyecto se estudi
la posibilidad de usar un RTC pero ste presenta la desventaja de retrasarse un da al ao.
Ahora es posible realizar el planteamiento del algoritmo el cual se basa en la ecuacin [2] que
se repite ac por comodidad:

+ + [2]
60
Se observa entonces que de ac se puede calcular la hora solar usando la hora local (LCT) y otros
parmetros, una vez obtenida ts se calcula w y con ello se le dice al actuador que puede proceder
a mover los PFV s se han cumplido 10 minutos desde el ltimo movimiento realizado, esto se
hace as por lo expuesto en las secciones 3 y 4.2.3, donde se recalca la importancia del ngulo
de incidencia como parmetro gua para determinar cul es el tiempo ptimo para mover los
PFV, segn la bibliografa [1] esto podra hacerse inclusive cada hora obtenindose as una
reduccin en la eficiencia de la energa incidente sobre el PFV de:
=

= 15 1 = 150
cos(15) = 96.6% [67]
S el movimiento se realiza cada 10 minutos la eficiencia caera al:
= 15

10
= 2.50
60

cos(2.5) = 99.9% [68]


Por lo anterior resulta sumamente conveniente estudiar detalladamente cual es porcentaje
mnimo al cual podemos dejar caer la eficiencia en el aprovechamiento de la energa incidente
sobre el PFV, para determinar el tiempo ptimo de seguimiento, en el presente proyecto ste
no fue un objetivo a perseguir y se har cada 10 minutos basados en los resultados de [68].

22

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Habiendo dicho todo lo anterior es momento de presenta el algoritmo programado en Arduino
para el seguimiento de la posicin solar:
1. Leer del Mdulo GPS los siguientes datos: hora, fecha y posicin geogrfica (Latitud y
Longitud), s estos son vlidos pasar al 2, de lo contrario se muestra en monitor serial el mensaje
datos invlidos
2. Usar la ecuacin para Calcular LC
3. Calcular el valor de EOT
4. Calcular la hora solar (time sun)
5. Calcular el ngulo horario (w), es decir el ngulo hacia el cual deben estar orientados los PFV.
6. Si la hora se encuentra en el horario de trabajo (entre las 7am y las 5pm) continuar si no volver
a1
7. Energizar el motor un determinado tiempo si es necesario para que el ngulo de los PFV sea
igual a w.
8. Al final del da devolver los paneles al ngulo inicial
Para que el algoritmo funcione correctamente es necesario conocer la estructura donde se
montarn los paneles ya que es necesario conocer durante cunto tiempo se energizar el
motor, ya que se ha decidido que los movimientos sean cada 10 minutos, es necesario repartir
la longitud que es capaz de extender el actuador lineal entre el total de movimientos realizados
durante el da, para ello se deja a los futuros compaeros que trabajarn en ste tema el
siguiente razonamiento, esperando les sea de ayuda:
Longitud total de pistn=70cm (aproximadamente)
Tiempo de trabajo= 10 horas (de 7 am a 5pm)=10*60=600minutos
Ritmo de trabajo= 10 minutos (los movimientos de ejecutan cada 10 minutos)
=

600
=
= 60

10

Entonces:
=

70
= 1.17 10
60

Ser el trabajo de los futuros compaeros determinar cul es valor de tiempo en que el actuador
lineal desplaza sos 1.17 cm con la carga de los PFV aplicados sobre el mismo y adems
determinar cuntos PFV es capaz de mover ste actuador lineal.

23

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
4.3 Partes que conforman el sistema
4.3.1 Mdulo GPS de Ublox
En primer lugar tenemos el mdulo GPS ublox neo 6m, el cual es un modelo econmico,
ya que tan solo utiliza el protocolo NMEA (National Marine Electronics Association) para
transmitir los datos de navegacin. En nuestro caso, el objetivo de la implementacin de un
GPS es para la obtencin de la hora, latitud, longitud y fecha.
Las conexiones son muy simples, tan solo tenemos la alimentacin, la conexin
serie Rx (Recepcin) y Tx (Transmisin) por la que circularn los datos. (Ver figura 16). En
principio, se utilizara en gran medida el Tx, ya que el Rx del GPS sirve para mandarle
instrucciones que configuran el integrado del GPS.
Conectando por un cable FTDI el GPS y utilizando el programa u-center de ublox se puede
configurar todos los parmetros. En nuestro proyecto, este paso no fue necesario ya que la
configuracin predeterminada proporciona los datos necesarios.
El tiempo que puede tardar en recibir datos de los satlites puede oscilar entre 1 y 5 minutos
en funcin de las condiciones en las que estemos y el cielo abierto que tengamos a la vista.
Se recomienda aislar este mdulo y alejarlo de fuentes electromagnticas o no utilizarlo en
plantas bajas de edificios, ya que el mdulo es muy sensible.

Figura 16: Modulo GPS ublox neo 6m

24

GN
RX
D
TX
Vc
c

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
4.3.1.1 Modos de conexin del GPS a Arduino.
Podemos usar este mdulo de dos maneras diferentes:
1) Modo Gateway: Lo primero que debemos hacer es anular a Arduino ya que tan solo
usaremos la placa como una pasarela entre el GPS y nuestro ordenador. Esto lo
podemos hacer retirando el integrado o bien haciendo un puente entre GND y Reset.
Debemos prestar atencin a la manera de conectar los pines Rx y Tx, ya que no nos
vamos a comunicar entre Arduino y el GPS. Es decir uniremos Tx con Tx (pin 0) y Rx con
Rx (pin 1) del mdulo y Arduino, de esta manera, si abrimos el monitor de puerto serie
de nuestro IDE Arduino, o cualquier otro monitor de puerto serie, y lo configuramos a
una velocidad de 4800 baudios (la de transmisin de datos del mdulo) podremos
visualizar directamente las tramas que recibimos de los satlites. Ver figura 17

Figura 17: Tramas captadas por el GPS.

Cada trama tiene un significado que es obtenido de la pgina oficial de la NMEA. Este
documento es anexado en el disco del proyecto. Entre algunos significados tenemos.

GPGGA -> Posicionamiento Global de Datos Fijos del Sistema

GPVTG -> Velocidad respecto al suelo

GPGSA -> GPS DOP (calidad de la seal) y satlites activos

GPGSV -> Informacin de cada satlite

GPGLL -> La posicin geogrfica, latitud / longitud

GPRMC-> Hora, fecha, posicin, direccin y velocidad.

La trama que hemos usado para el programa es la GPGGA, ya que es comn en los
mdulos y porta mucha informacin, la manera de interpretarla es la siguiente,
teniendo en cuenta que la numeracin, es la posicin de la trama separada por comas:
$GPGGA,1,2,3,4,5,6,7,8,9,10,11,12,13,14*15
1. Hora UTC (Tiempo Universal Coordinado) en formato: hhmmss
2. Latitud en formato: ggmm.ssss
3. Orientacin en latitud: N (norte) o S (sur)
4. Longitud en formato:gggmm.ssss

25

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
5. Orientacin en longitud: E (este) o W (oeste)
6. Indicacin de calidad GPS: 0=nula; 1=GPS fija
7. Nmero de satlites visibles por el receptor: nn
8. Dilucin horizontal de posicin: xx.x
9. Altitud de la antena por encima / por debajo del nivel del mar (geoidal): xxxxx.x
10. Unidades de altitud: M (metros)
11. Separacin geoidal: xxx.x
12. Unidades de separacin: M (metros)
13. Tiempo en segundos desde la ltima actualizacin:xx
14. ID de referencia de la estacin
15. Checksum: *xx
2) Modo Normal: Este es el modo que lo vamos a conectar en nuestro proyecto, en este
caso deberemos cruzar los Rx con los Tx para que se comuniquen Arduino y el mdulo,
ya que cuando uno habla el otro debe escuchar veremos como lo hemos conectado
en el circuito final del proyecto.

Figura 18: Datos obtenidos y procesados del GPS

En modo normal, se implementa el cdigo en Arduino utilizando una librera llamada


TinyGPS++, para obtener los datos deseados que son: longitud, latitud, hora, y fecha.
Ver figura 18. El cdigo y lgica de funcionamiento es explicado en la etapa de control.

26

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
4.3.3 Etapa de potencia
La funcin de la etapa de potencia (ver figura 20) consiste en lograr comunicar la salida
lgica del arduino con la parte analgica en DC del pistn. Aparte de esto, nuestro diseo se
basa en la necesidad de crear una alternacin en el giro del pistn. Es por ello que,
comnmente en este tipo de aplicaciones se hace uso del integrado L298N (Puente H), el
cual nos proporciona toda la lgica para lograr ese cambio de giro.
El pistn, al tener un motor que logra demandar corrientes de hasta 1 A en vaco, pero hasta
3A gracias al torque que se ejerce por el tornillo sin fin que lleva internamente, nos
imposibilita conectar directamente el L298N al pistn. Ya que sobrepasa los 20Watts que
logra disipar el integrado. Es necesario colocar transistores o un rel que soporte estas
corrientes.
En esta etapa nos encontramos con varias configuraciones posibles tanto como transistores
y el rel. Al usar transistores 2N3055 la configuracin diseada no permita alimentar
correctamente al pistn por la necesidad del cambio de giro. Prueba tras prueba fue
imposible lograr el movimiento del pistn. Es por ello que se opt por la solucin ms viable:
el rel.
El rel nos proporciona el correcto funcionamiento aparte que un rel ser capaz de
soportar grandes demandas de corriente otorgando la debida proteccin de la parte
electrnica.
Se decide utilizar un rel dos polos dos tiros que nos permite implementar la lgica del
cambio de giro.
4.3.3.1 Integrado L298N
El L298 permite controlar dos motores en el mismo integrado y regularles la velocidad a
nuestro gusto. Con un arduino solo necesitaremos tres pines para controlar el pistn:
Si el pin 7 del LN298 est en high mueve el motor en una direccin. Si el pin 5 est en high
mueve el motor en la direccin contraria. Este integrado nos permitir controlar la velocidad
con PWM por medio del pin 6.

Figura 19: Integrado L298N

27

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II

Figura 20

28

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
4.3.3 .2 Rele dos polos dos tiros (DPDT)
DPDT es sinnimo de doble polo doble tiro. El polo doble es de una doble salida
conmutada y el tiro doble es para las condiciones dentro o fuera. DPDT consta de dos
interruptores separados que operan al mismo tiempo, cada uno con un contacto
normalmente abierto y normalmente cerrado a travs de un conector comn. Cada uno de
los dos contactos del interruptor se puede encaminar de diferentes maneras, dependiendo
de la posicin del conmutador.
En nuestro caso, el rel se conecta de tal forma que se pueda dar el cambio de polaridad.
Esto se hace haciendo un cruce en la conexin entre los pines 4-9, 13 y 11. La bobina es
controlada por la salida digital del L298N.

Figura 21

4.3.4 Actuador Lineal


No se tienen mayores datos sobre ste elemento, nicamente se sabe que su tensin nominal
son 24 [V] y posee un motor DC, el cual puede expandir un brazo con una longitud de 70 cm.

Figura 22

29

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Conclusiones
El ngulo de incidencia que es el ngulo de declinacin vara 23.45 grados como
mximo durante el ao, lo cual provoca que la eficiencia en el aprovechamiento de la
energa incidente sobre el PFV se reduzca a un valor mnimo de 91.7%. Por ende el
seguimiento en un eje polar tiene una prdida mxima del 8.3% en su eficiencia del
aprovechamiento de la energa incidente sobre el PFV en los solsticios, esto contrasta
con los seguidores en un solo eje horizontales y por ende aunque la estructura para el
montaje polar sea ms complicada de realizarse se compensa ya que el sistema polar
tienen mayor eficiencia lo cual a la larga sufraga el gasto adicional de la estructura.
El mdulo GPS de Ublox redujo considerablemente la complejidad del proyecto ya que
obtener las hora en tiempo real era lo ms complicado una vez realizada la investigacin
sobre qu tipo de seguidor en un eje se iba a proponer, esto ya que el seguidor en eje
polar requiere nicamente de la hora actual como parmetro ms complejo, ya que si
bien se requiere la fecha y la longitud dichos parmetros no son tan difciles de obtener
como la hora para realizar el seguimiento; adems cabe mencionar que la hora se pudo
obtener con un mdulo de Arduino (RTC, Real Time Clock) que realiza dicha tarea pero
ste tiene la falla de que pierde 1 da de tiempo en un ao, es decir requiere un
mantenimiento peridico para tener un seguimiento ptimo.
El ngulo de incidencia tiene un impacto negativo en el aprovechamiento de la energa
incidente sobre el PFV ya que puede reducir la eficiencia en el aprovechamiento de dicha
energa en un da para una superficie orientada hacia el sur sin seguimiento hasta
aproximadamente en un 40%, (ste dato puede cambiar dependiendo del da del ao
en anlisis y dependiendo del lugar en donde se haga dicho anlisis), la figura C1 muestra
como varia ste parmetro para una superficie orientada hacia el sur e inclinada al
ngulo de latitud del pas para el da 23 de enero de un ao no bisiesto. (sta figura se
realiz utilizando el archivo inc.m incluido en los anexos)
La correcta comprensin de las secciones del contenido expuesto en las secciones 4.1.1
a la 4.2.3.6 del presente documento no proporcionaron la perspicacia necesaria para
poder desarrollar 3 archivos .m (grafica_eot.m, inc.m, calculo_alfa_azimut.m, todos
ellos son programas a ejecutar en MATLAB ) los cuales son la aplicacin directa de las
secciones antes mencionadas, con dichos archivos se pueden hacer interesantes
estudios relacionados a la ubicacin del sol desde cualquier punto sobre el planeta, la
reduccin en la eficiencia del aprovechamiento de la energa incidente sobre un PFV, y
las grficas de EOT (una comparacin entre ambas), adems de ello se pudo realizar el
archivo cdigo_final.ino que es el software necesario para que Arduino realice el
seguimiento de la posicin solar.
El costo del actual proyecto ronda alrededor de los $100 los cuales representan un
sistema de bajo costo si se compara al costo que tiene un sistema comercial que realiza
las mismas funciones sto segn algunos datos observados en la Web sobre el precio de
dichos controladores comerciales, por lo tanto sta es una opcin muy viable para un
seguidor que se quiera instalar ya sea en una casa o en una zona rural.

30

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II

Figura C 1

31

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Recomendaciones
Durante la pruebas realizadas con el mdulo GPS de Ublox se observ que es necesario
usarlo ya sea en el exterior o bien en un lugar donde el techo sea de a lo sumo una
lmina ya que la antena que posee el mdulo no tiene gran capacidad y ya que es
necesario que ste mdulo se comunique con los satlites que orbitan la tierra para
obtener sus datos, si se intenta usar en un lugar con un techo grueso el mdulo nunca
responder y el sistema no podr realizar el seguimiento de la posicin solar, por lo cual
es necesario que los futuros compaeros que sigan en sta lnea de trabajo tomen en
cuenta ste detalle para el montaje del sistema de seguimiento total.
Es necesario hacer un estudio de sombras en el lugar de montaje de un sistema de
generacin fotovoltaica es necesario para determinar la influencia de las estructuras
que estn alrededor del sistema aunque tambin si se piensa montar un sistema como
el ac descrito es tambin verificar la influencia que tienen unos PFV sobre los otros
para saber si un arreglo tendr efecto sobre otro, por lo cual puede ser necesario que
exista un desplazamiento de tiempo entre un arreglo de PFV y otro.
Realizar el estudio para determinar cul es tiempo que tarda el actuador lineal en
desplazar 1.17 cm de su longitud para mover los PFV segn lo expuesto en la seccin
4.2.4, es posible que la estructura deba construir para que dicho ritmo de movimiento
no se pierda, es decir que si no se construye la estructura teniendo ste detalle en
cuenta se tendr el inconveniente de tener movimientos que no sean los ms adecuados
para el actuador lineal disponible (pueda que ste quede muy corto o muy largo), por
ende se considera un punto crtico a tomar en cuenta como convertir el desplazamiento
lineal al valor de w y que esto se refleje en la estructura a fabricar.
Durante la investigacin del presente proyecto se observ que es factible la
construccin de un controlador de carga utilizando Arduino para un conjunto de
bateras que usualmente acompaa a un SFV de generacin, por lo cual un futuro
proyecto de ingeniera que acompae al actual puede ser el desarrollo de la aplicacin
ac mencionada Diseo e implementacin de un controlador de Carga para un SFV,
utilizando Arduino, es un tema que el docente puede tomar en cuenta para futuros
estudiantes interesados en el rea de SFV.
Una recomendacin que no puede faltar es el hecho de realizar un monitoreo de la
potencia generada por el sistema de seguimiento planteado en ste documento y
compararlo con la potencia generada por un sistema de seguimiento hecho a travs de
sensores, para observar cmo cambia la eficiencia de uno respecto a otro para decidir
cul brinda mayores beneficios.
Un detalle crtico a tomar en consideracin es la carga que tendr el actuador lineal ya
que dependiendo de la misma, ste demandar una cierta cantidad de corriente a la
fuente por lo cual sta debe ser capaz de suministrar la cantidad de corriente que solicite
el actuador en todo momento.

32

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Bibliografa y sitios Web consultados
[1] William B. Stine and Michael Geyer, Power from the Sun (Libro en formato web), 2001.
[2] Jean Meeus, Astronomical Algorithms, Willmann-Bell Inc., 2da Edicin, 1998.
[3]Sadiku Mathew, Elementos de electromagnetismo, Oxford University Press, 3era edicin.**
[4] http://arduiniana.org/libraries/tinygpsplus/
[5] Informe de Ecologistas en Accin, Propuesta Para El Desarrollo de la Energa Solar
Fotovoltaica, Mayo de 2005.
[6] Seguidores Solares, una Optimizacin de la Energa Solar, [Online] Disponible en:
http://www.elporvenir.com.mx/notas.asp?nota_d=253973.

**ste texto aborda la parte de anlisis vectorial implicado en la deduccin de las ecuaciones
astronmicas , desarrolladas en el presente reporte.

33

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Anexos
A1. Archivo grafica_eot.m
%close all; clear all;clc
n=1:1:365;
x=(2*pi.*(n-1))./365.242;
eot=0.258.*cos(x)-7.146.*sin(x)-3.648.*cos(2.*x)9.228.*sin(2.*x);
spencer=229.18.*(0.000075+0.001868.*cos(x)-0.032077.*sin(x)0.014615.*cos(2.*x)-0.04089.*sin(2.*x));
plot(n,eot)
hold on
plot(n,spencer,'r')
grid on
axis([0 365 -18 18])
xlabel('Dias del ao (N)')
ylabel('Variacin de EOT [minutos]')
title('Ecuacin de Wolf vrs Ecuacin de Spencer')
legend('Ecuacin de Wolf','Ecuacin de Spencer')
hold off
error=spencer-eot;
figure(2);
plot(n,error,'r')
maxe=max(error);
mine=min(error);
e1=max(eot);
e2=max(spencer);
grid on
axis([0 365 mine maxe])
ylabel('Variacin del error entre Spencer-Wolf [minutos]')
xlabel('Dias del ao (N)')
bk=1;
sr=0;
while sr~=e1
sr=eot(bk);
bk=bk+1;
end
bk2=1;
sr2=0;
while sr2~=e2
sr2=spencer(bk2);
bk2=bk2+1;
end
disp('Se toma la ecuacin de Spencer como referencia')
disp('El error mximo positivo es:')
disp(maxe)
disp('El error mximo negativo es:')
disp(mine)
disp('La mxima diferencia de tiempo segn Wolf es: ')
disp(e1);
disp('Que ocurre el da: ')
disp(bk);
disp('La mxima diferencia de tiempo segn Spencer es: ')
disp(e2);

34

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
disp('Que ocurre el da: ')
disp(bk2);
A.2 Archivo calculo_alfa_azimut.m
%Es necesario definir previamente los valores de:
%Angulo de declinacin (d)
%Angulo horario (w), para ste se ingresa la hora solar
clear all; clc;
dia=input('Ingrese el da del mes en minsculas: ');
mes=input('Ingrese el mes:','s');
ts=input('Ingrese la hora solar: ');
phi=input('ingrese la latitud, los minutos se expresan con
punto decimal: ');
%Convertir los datos a radianes, ya que MATLAB usa las
funciones
%trigonmetrica con ngulos en radianes
phi=phi*pi/180;
%Es necesario determinar el da del
switch mes
case 'enero'
dia=dia;
case 'febrero'
dia=dia+31;
case 'marzo'
dia=dia+59;
case 'abril'
dia=dia+90;
case 'mayo'
dia=dia+120;
case 'junio'
dia=dia+151;
case 'julio'
dia=dia+181;
case 'agosto'
dia=dia+212;
case 'septiembre'
dia=dia+243;
case 'octubre'
dia=dia+273;
case 'noviembre'
dia=dia+304;
case 'deciembre'
dia=334+dia;
end
%Primer paso: Calcular la delinacin, por que slo depende
del da
dec=asin(0.39795*cos((pi/180)*0.98563*(dia-173)));
dec1=dec*180/pi;
%Segundo paso: Calcular el anugulo horario
w=15*(ts-12);
%Tercer paso: Mostrando los resultados de declinacin y w
disp('El ngulo de declinacin es: ')
dec1

35

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
disp('El ngulo horario "w",es: ')
w
%Cuarto paso: Calcular angulo de elevacin solar alfa
%todos los angulos deben estar en radianes
w=w*pi/180;
al=asin(cos(phi)*cos(w)*cos(dec)+sin(dec)*sin(phi));
disp('el angulo de elevacin solar es: ');
al1=al*180/pi
%Quinto paso: Calcular angulo azimutal
az=asind(-(cos(dec)*sin(w))/cos(al));
if cos(w)>(tan(dec)/tan(w))
azi=180-az;
else
azi=360+az;
end
disp('el angulo azimutal es: ')
azi
A.3 Archivo seguidor.ino (Programa cargado en Arduino para seguimiento)
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
//Variables para la Hora
int h = 0;
int m=0;
int s=0;
int ts=0;
//Variables para la fecha y EOT
int d=0;
int mes=0;
int dia=0;
int Zone=90;
int Local=0;
int LCT=0;
int LC=0;
int w=0;
int x=0;
int eot=0;
//Variables para el control del motor DC
int ENA = 9;
int IN1 = 10;
int IN2 = 11;
int vel=150;
//Variables auxiliares
int k=0;
int mant=0;
//Variables que controlan el encendido del motor
//Mas detalles en el reporte escrito, seccin "Algoritmo de
seguimiento"
int mover=5000;//De momento se dejar que el motor se mueva 5
segundos por cada 10 minutos
int mover2=300000;//Al terminar el da que se mueva por 5
minutos

36

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
/*
Se requiere utilizar tambien la libreria SoftwareSerial, y se
asume que se ha conectado un GPS
con baud de 9600 en los pines 4(rx) y 3(tx)
IMPORTANTE:
Si se desean leer los datos del GPS(NMEA), se conecta el
arduino en modo GateAway donde
cada rx se interconecta y cada tx de igual forma.
En modo normal, se conecta rx con tx, y tx con rx.
*/
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;
// El objeto TinyGPS++, que representa en el software al mdulo
GPS
TinyGPSPlus gps;
// La conexin serial al dispositivo es sta:
SoftwareSerial ss(RXPin, TXPin);
void setup()
{
//Configuracin de los pines para el control del motor DC
pinMode (ENA, OUTPUT);
pinMode (IN1, OUTPUT);
pinMode (IN2, OUTPUT);
//Configuracin del Baudrate para la comunicacin serial con
el GPS
Serial.begin(115200);
ss.begin(GPSBaud);
Serial.println(F("DeviceExample.ino"));
Serial.println(F("A simple demonstration of TinyGPS++ with an
attached GPS module"));
Serial.print(F("Testing TinyGPS++ library v. "));
Serial.println(TinyGPSPlus::libraryVersion());
Serial.println(F("by Jorge Rodriguez and Jaime Arriola"));
Serial.println();
}
//Funcin principal, l nico que se hace es preguntar si hay
una comunicacin serial disponible de ser as
//se llama a displayInfo si no se muestra el mensaje "No se
detecta el GPS, revise las conexiones"
void loop()
{
// ste sketch muestra informacin cada vez que una sentencia es
correctamente codificada.
while (ss.available() > 0)
if (gps.encode(ss.read()))
displayInfo();
if (millis() > 5000 && gps.charsProcessed() < 10)
{
Serial.println(F("No se detecta el GPS, revise las
conexiones."));

37

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
while(true);
}
}
void displayInfo()
{
Serial.print(F("Location: "));
if (gps.location.isValid())
{
//Si los datos son vlidos se guardan en una variable y se
muestran en el monitor Serial
Local=gps.location.lng();
Serial.print(gps.location.lat(), 6);
Serial.print(F(","));
Serial.print(gps.location.lng(), 6);
}
else
{
Serial.print(F("INVALID"));
}
Serial.print(F("
"));
Serial.print(F("Time: "));
if (gps.time.isValid())
{
//Debido a que no tenemos la hora nacional se hace un arreglo
para obtenerla =)
h = gps.time.hour();
m=gps.time.minute();
s=gps.time.second();
if (h <= 5)
{
h = h + 19;
}
else
{
h = h - 6;
}
//Se asigna slo la primera pasada el valor de m a mant
if (k=1)
{
mant=m;
}
k=0;
//Mostrar la hora en el monitor serial de la PC
if (h < 10) Serial.print(F("0"));
Serial.print(h);
Serial.print(F(":"));
if (m < 10) Serial.print(F("0"));
Serial.print(m);
Serial.print(F(":"));
if (s < 10) Serial.print(F("0"));
Serial.print(s);

38

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Serial.print(F("."));
if (gps.time.centisecond() < 10) Serial.print(F("0"));
Serial.print(gps.time.centisecond());
// Se obtienen los datos de la fecha para usar la EOT
d = gps.time.hour();
dia = gps.date.day();
if (gps.date.isValid())
{
if (d <= 5)
{
dia = dia - 1;
}
mes=gps.date.month();
//Se requiere saber que nmero de da ao es para calcula la EOT
posteriormente
switch (mes)
{
case 1:
dia=dia;
break;
case 2:
dia=dia+31;
break;
case 3:
dia=dia+59;
break;
case 4:
dia=dia+90;
break;
case 5:
dia=dia+120;
break;
case 6:
dia=dia+151;
break;
case 7:
dia=dia+181;
break;
case 8:
dia=dia+212;
break;
case 9:
dia=dia+243;
break;
case 10:
dia=dia+273;
break;
case 11:
dia=dia+304;
break;
case 12:
dia=dia+334;
break;
}

39

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
//Una vez obtenido N, se Procede a calcular la Longitude
Correction
LC=(Local-Zone)/15;
//Se procede a calcular la EOT
x=(2*M_PI*(dia-1))/365.242;
eot=0.258*cos(x)-7.146*sin(x)-4.648*cos(2*x)-9.228*sin(2*x);
//Obtener la LCT
LCT=h+m/60+s/3600;
//Calcular la hora solar
ts=LCT+eot/60-LC;
w=15*(ts-12);
Serial.print("La hora solar es: ");
Serial.print(ts);
Serial.print("El angulo horario es: ");
Serial.print(w);
//Se verifica que se la hora actual se encuentre en el horario
de trabajo definido por el diseador
if (h>=7 && h<17)
{
//El motor se mueve cada 10 minutos por lo cual es necesario
verificar cuando so suceda
if (m==mant+10)
{
digitalWrite (IN1, HIGH);
digitalWrite (IN2, LOW);
analogWrite (ENA, vel);//Encender el motor
delay (mover);//ste valor deber ser modificado por los
compaeros que continun el trabajo
//Con la estructura armada o con una buena idea de como quedar
sta, lo que deben hacer es ver
//Cmo convertir el desplazamiento lineal del actuador a a un
valor de ngulo w para poder
//mover lospaneles a dicho ngulo cada 10 minutos.
analogWrite (ENA,0);//Apagar el motor
}
}
if (h==17)
{
digitalWrite (IN1, LOW);
digitalWrite (IN2, HIGH);
analogWrite (ENA, vel);//Encender el motor
delay (mover2);
analogWrite (ENA,0);//Apagar el motor
}
}
}
else
{
Serial.print(F("INVALID"));
}
Serial.println();
}

40

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
A.4 Archivo Inc.m
w1=-90:2.5:0;
w=w1.*pi/180;
phi=13.73;
phi=phi*pi/180;
n=23;
beta=13.73;
beta=beta*pi/180;
dec=asin(0.39795*cos((pi/180)*0.98563*(n-173)));
alpha=asin(cos(phi).*cos(w).*cos(dec)+sin(dec).*sin(phi));
az=asin(-(cos(dec).*sin(w))./cos(alpha));
if cos(w)>(tan(dec)./tan(w))
azi=180-az;
else
azi=360+az;
end
inci=cos(sin(alpha).*cos(beta)-sin(beta).*cos(alpha).*cos(azi));
alpha=alpha.*(180/pi);
w3=0:2.5:90;
w2=w3.*pi/180;
alpha2=asin(cos(phi).*cos(w2).*cos(dec)+sin(dec).*sin(phi));
az2=asin(-(cos(dec).*sin(w2))./cos(alpha2));
if cos(w2)>(tan(dec)./tan(w2))
azi2=180-az2;
else
azi2=360+az2;
end
inci2=cos(sin(alpha2).*cos(beta)sin(beta).*cos(alpha2).*cos(azi2));
incit=horzcat(inci,inci2);
wt=horzcat(w1,w3);
plot(wt,incit);
grid on;
%axis([0 365 mine maxe])
ylabel('Variacin de la eficiencia del PFV')
xlabel('ngulo Horario en Grados')
title('Para el da 23 de enero y un PFV con beta=-13.73')
alpha3=alpha2.*(180/pi);
alphat=horzcat(alpha,alpha3);
figure(2);
plot(wt,alphat);
grid on;
ylabel('Variacin de la altitud solar')
xlabel('ngulo Horario en Grados')
title('Para el da 23 de enero en El Salvador')
A.5 Archivo muestra_hora_posicion_fecha
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
int h = 0;
int d;
int dia;
/*

41

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
Este sketch muestra el uso normal de la libreria: TinyGPS++.
Se requiere utilizar tambien la libreria SoftwareSerial, y se
asume que se ha conectado un GPS
con baud de 9600 en los pines 4(rx) y 3(tx)
IMPORTANTE:
Si se desean leer los datos del GPS(NMEA), se conecta el
arduino en modo GateAway donde
cada rx se interconecta y cada tx de igual forma.
En modo normal, se conecta rx con tx, y tx con rx.
*/
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;
// The TinyGPS++ object
TinyGPSPlus gps;
// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
void setup()
{
Serial.begin(115200);
ss.begin(GPSBaud);
Serial.println(F("DeviceExample.ino"));
Serial.println(F("A simple demonstration of TinyGPS++ with an
attached GPS module"));
Serial.print(F("Testing TinyGPS++ library v. "));
Serial.println(TinyGPSPlus::libraryVersion());
Serial.println(F("by Jorge Rodriguez and Jaime Arriola"));
Serial.println();
}
void loop()
{
// This sketch displays information every time a new sentence
is correctly encoded.
while (ss.available() > 0)
if (gps.encode(ss.read()))
displayInfo();
if (millis() > 5000 && gps.charsProcessed() < 10)
{
Serial.println(F("No GPS detected: check wiring."));
while(true);
}
}
void displayInfo()
{
Serial.print(F("Location: "));

42

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
if (gps.location.isValid())
{
Serial.print(gps.location.lat(), 6);
Serial.print(F(","));
Serial.print(gps.location.lng(), 6);
}
else
{
Serial.print(F("INVALID"));
}
Serial.print(F("
"));
Serial.print(F("Time: "));
if (gps.time.isValid())
{
h = gps.time.hour();
if (h <= 5)
{
h = h + 18;
}
else
{
h = h - 6;
}
if (h < 10) Serial.print(F("0"));
Serial.print(h);
Serial.print(F(":"));
if (gps.time.minute() < 10) Serial.print(F("0"));
Serial.print(gps.time.minute());
Serial.print(F(":"));
if (gps.time.second() < 10) Serial.print(F("0"));
Serial.print(gps.time.second());
Serial.print(F("."));
if (gps.time.centisecond() < 10) Serial.print(F("0"));
Serial.print(gps.time.centisecond());
}
else
{
Serial.print(F("INVALID"));
}
Serial.print(F("
Date: "));
d = gps.time.hour();
dia = gps.date.day();
if (gps.date.isValid())
{
if (d <= 5)
{

43

Universidad de El Salvador-Escuela de Ingeniera Elctrica


Proyecto de Ingeniera II
dia = dia - 1;
}
Serial.print(gps.date.month());
Serial.print(F("/"));
Serial.print(dia);
Serial.print(F("/"));
Serial.print(gps.date.year());
}
else
{
Serial.print(F("INVALID"));
}
Serial.println();
}

44

S-ar putea să vă placă și