Sie sind auf Seite 1von 7

UNIVERSIDAD DE SONORA

APLICACIONES TRMICAS DE LA ENERGA SOLAR



Tarea 2

Alumno: Eugenio Salgado Plasencia

Profesor: Dr. Camilo A. Arancibia Bulnes

Febrero 2012
Ejercicio 1)

calcular Rb para un colector en Madison ( = 43):
a) con 60 grados de inclinacin respecto a la horizontal, con = 0 , a las 2:30 hora solar el 5 de
marzo.
b) inclinado 45 grados, con un ngulo de acimut superficie de 15 grados, a las 10:30 hora solar el 5
de marzo.

Se realiz un cdigo script en Matlab para resolver el problema. El cdigo es el siguiente:

clear all;
close all;
clc
pause on;
home;

display(sprintf('Tarea 2 - Ejercicio 1 \n'));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% VALORES INICIALES

y = 2014; % year
m = 3; % month
d = 5; % day
lon = -89.4; % longitud
lat = 43; % latitud
tz = -6; % time zone

hv = FUNCION_HORARIO_VERANO([d, m, y]); % funcion de horario de verano

hoy = sprintf('%u/%u/%u', y, m, d);
[mes_num, mes_str] = month(hoy); % mes del ao

inicio_ano = sprintf('1-jan-%u',y); % inicio de ao
hoy = sprintf('%u-%s-%u', d, mes_str, y);
N = daysact(inicio_ano, hoy) + 1; % dia del ao

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% angulos sol

incremento = 1/(24*60); % incremento cada 60
h = 0:incremento:24; % valores de hora en un dia

dec = 23.45 * sind((360/365)*(284+N)); % declinacion
et = EOT(N); % funcion ecuacion de tiempo

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A)

tsol = 2.5; % 2:30 tiempo solar

[w, cenit, elevacion, azimut] = seguidor_solar(lat, dec, tsol);

b = 60;
g = 0;

ang_inc = acosd( (cosd(cenit)*cosd(g)) +
(sind(b)*sind(cenit)*cosd(azimut-g)) );
Rb = ang_inc / cenit;

display(sprintf('\nA)'));
display(sprintf('\n%u/%s/%u', d, mes_str, y));
display(sprintf('longitud = %0.3f', lon));
display(sprintf('latitud = %0.3f', lat));
display(sprintf('b = %0.3f', b));
display(sprintf('g = %0.3f', g));
display(sprintf('Angulo de incidencia = %0.3f', ang_inc));
display(sprintf('Rb = %0.3f', Rb));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% B)

tsol = 10.5; % 10:30 tiempo solar

[w, cenit, elevacion, azimut] = seguidor_solar(lat, dec, tsol);

b = 45;
g = 15;

ang_inc = acosd( (cosd(cenit)*cosd(g)) +
(sind(b)*sind(cenit)*cosd(azimut-g)) );
Rb = ang_inc / cenit;

display(sprintf('\nB)'));
display(sprintf('\n%u/%s/%u', d, mes_str, y));
display(sprintf('longitud = %0.3f', lon));
display(sprintf('latitud = %0.3f', lat));
display(sprintf('b = %0.3f', b));
display(sprintf('g = %0.3f', g));
display(sprintf('Angulo de incidencia = %0.3f', ang_inc));
display(sprintf('Rb = %0.3f', Rb));

el resultado es el siguiente:

Tarea 2 - Ejercicio 1

A)

5/Mar/2014
longitud = -89.400
latitud = 43.000
b = 60.000
g = 0.000
Angulo de incidencia = 180.000
Rb = 1.374

B)

5/Mar/2014
longitud = -89.400
latitud = 43.000
b = 45.000
g = 15.000
Angulo de incidencia = 9.188
Rb = 0.171


Ejercicio 2)

En un sitio ubicado a 35 de latitud Norte, se quiere hacer un reloj de sol como el que se muestra
en la figura, para colocarlo en la pared sur de un edificio. Calcule la plantilla de este reloj de modo
que tenga marcas para todas las horas que sea posible (en tiempo solar), para el solsticio de
verano.


Figura 1 - Reloj de sol.

Se realiz un cdigo script en Matlab para resolver el problema. El cdigo es el siguiente:

clear all;
close all;
clc
pause on;
home;

display(sprintf('Tarea 2 - Ejercicio 2'));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% VALORES INICIALES

y = 2014; % year
m = 6; % month
d = 21; % day 21/junio/2014 solsticio de verano
lon = 0; % longitud
lat = 35; % latitud
tz = 0; % time zone
hv = 0;

hoy = sprintf('%u/%u/%u', y, m, d);
[mes_num, mes_str] = month(hoy); % mes del ao

inicio_ano = sprintf('1-jan-%u',y); % inicio de ao
hoy = sprintf('%u-%s-%u', d, mes_str, y);
N = daysact(inicio_ano, hoy) + 1; % dia del ao

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ALGORITMO SEGUIDOR

incremento = 1/(24*60); % incremento cada 60 segundos
(24*60) = numero de pasos)
h = 0:incremento:24; % valores de hora en un dia

azimut = zeros(1,length(h));
cenit = zeros(1,length(h));
elevacion = zeros(1,length(h));

horas = zeros(1,23);
ang_elevacion = zeros(1,23);
ang_cenit = zeros(1,23);
ang_azimut = zeros(1,23);
cont = 1;

dec = 23.45 * sind((360/365)*(284+N)); % declinacion
et = EOT(N); % funcion ecuacion de tiempo

for i=1:length(h) % CICLO durante un dia

tsol = h2tsol(h(i),lon,tz,hv,et); % tiempo solar
w = 0.25*(tsol-720); % angulo horario

cenit(i) = acosd((cosd(lat)*cosd(dec)*cosd(w)) +
(sind(dec)*sind(lat))); % angulo cenital

elevacion(i) = 90 - cenit(i); % angulo elevacion

Ss = (sind(w)*cosd(dec)) / sind(cenit(i)); % angulo azimutal
Cs = ( (sind(lat)*cosd(w)*cosd(dec)) - (cosd(lat)*sind(dec)) ) /
sind(cenit(i));
rs = atand( (sind(w)*cosd(dec)) / ( (sind(lat)*cosd(w)*cosd(dec)) -
(cosd(lat)*sind(dec)) ) );
if Cs >= 0
azimut(i) = rs;
else
if Ss < 0
azimut(i) = -180 + rs;
else
azimut(i) = 180 + rs;
end
end

if mod(h(i),1) == 0 && elevacion(i) >= 0
horas(cont) = h(i);
ang_elevacion(cont) = elevacion(i);
ang_cenit(cont) = cenit(i);
ang_azimut(cont) = azimut(i);
cont = cont + 1;
end

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% grafica elevacion
figure;
plot(h, elevacion, 'b', 'LineWidth', 2); hold on;
for i=1:cont-1
plot(horas(i),ang_elevacion(i),'go','linewidth',1,'MarkerEdgeColor',
'k', 'MarkerFaceColor','g'); hold on;
end
xlim([0 24]);
ylim('auto');
grid minor;
grid on;
set(gca,'GridLineStyle','-','XTick',0:1:24,'YTick',-180:10:180);
xlabel('dia');
ylabel('Elevacion');
title (sprintf('1. Elevacion\n(%0.3f,%0.3f) %u/%s/%u', lat, lon, d,
mes_str, y));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% grafica azimut
figure;
plot(h, azimut, 'r', 'LineWidth',2); hold on;
for i=1:cont-1
plot(horas(i), ang_azimut(i), 'go', 'linewidth', 1, 'MarkerEdgeColor',
'k', 'MarkerFaceColor','g'); hold on;
end
xlim([0 24]);
ylim([-180 180]);
grid minor;
grid on;
set(gca, 'GridLineStyle', '-', 'XTick', 0:1:24, 'YTick', -180:20:180);
xlabel('dia');
ylabel('Azimut');
title (sprintf('2. Azimut\n(%0.3f,%0.3f) %u/%s/%u', lat, lon, d,
mes_str, y));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% grafica azimut & elevacion
figure;
plot(azimut, elevacion, 'r', 'LineWidth',2); hold on;
for i=1:cont-1
plot(ang_azimut(i), ang_elevacion(i), 'go', 'linewidth', 1,
'MarkerEdgeColor', 'k', 'MarkerFaceColor','g'); hold on;
text(ang_azimut(i), ang_elevacion(i)+3, sprintf('%u', horas(i)));
plot([0, ang_azimut(i)], [0, ang_elevacion(i)], 'k', 'linewidth', 2);
hold on;
end
xlim([-180 180]);
ylim('auto');
grid minor;
grid on;
set(gca,'GridLineStyle','-','XTick',-180:20:180,'YTick',-180:10:180);
xlabel('Azimut');
ylabel('Elevacion');
title (sprintf('3. Plantilla\n(%0.3f,%0.3f) %u/%s/%u', lat, lon, d,
mes_str, y));

el resultado es el siguiente:


Figura 2 - Plantilla para el reloj solar.

Das könnte Ihnen auch gefallen