You are on page 1of 16

Constante de Stefan-Boltzmann

por Alejandro Sebasti n Maio y Mart n Alejandro Vay


(1) (2)

Correo-e: (1)

maioa@ib.cnea.gov.ar (2) vayam@ib.cnea.gov.ar

Resumen
Se determin el valor de la constante de Stefan-Boltzmann estudiando la transferencia de energ a a trav s de tres cilindros de alumino conc ntricos que alojaban una l mpara dicroica ubicada en el centro del cilindro interior. Los cilindros estaban pintados de un W color negro mate. El valor obtenido para la constante fue = (5.7 0.9) 10? 8 m2 K .

1. Introducci n.
Los tres mecanismos de transferencia de calor son: conducci n, convecci n y radiaci n. Ocurre conducci n dentro de un cuerpo o entre dos cuerpos en contacto. La convecci n depende del movimiento de una masa de una regi n del espacio a otra. La radiaci n es transferencia de calor por radiaci n electromagn tica, sin que tenga que haber materia en el espacio entre los cuerpos. En el caso de la conducci n, sta se da entre regiones a distintas temperaturas, y la direcci n del ujo de calor es de la regi n de mayor a la de menor temperatura. Si se trans ere un diferencial de calor en un diferencial de tiempo, podemos escribir, dq = k A(x) dT , siendo k la conductividad t rmica del material, A(x) la secci n del dx dt material que puede variar con la posici n considerada y dT el gradiente de temperatura en la posici n x. dx Todo cuerpo emite energ a en forma de radiaci n electromagn tica. La raz n de radiaci n de energ a desde una super cie es proporcional a su rea A y aumenta con la cuarta potencia de la temperatura absoluta T . Tambi n depende de la naturaleza de la super cie que irradia. Esta dependencia se describe con una cantidad llamada emisividad. Esta es un n mero entre 0 y 1 que representa la relaci n entre la radiaci n de una super cie dada y la de un rea igual de una super cie radiante ideal a la misma temperatura. Entonces, para una super cie A con emisividad y temperatura absoluta T , se puede expresar el ujo de calor como, dq = A T 4 (ley de Stefan-Boltzmann 1]), donde es una constante f sica fundamental llamada consdt tante de Stefan-Boltzmann 2]. Su valor tabulado es: = 5.67 10?8 m2WK 4 Un cuerpo que es buen absorbente, es un buen emisor tambi n. Un radiador ideal, con emisividad = 1, tambi n absorbe toda la radiaci n que incide sobre l. Tal super cie ideal se denomina cuerpo negro. En esta experiencia se estudi la transferencia de calor a trav s de tres cilindros conc ntricos, a los que se le suministra energ a por medio de una l mpara dicroica ubicada en el centro del cilindro interior. Despreciando la transferencia por convecci n (hip tesis basada en el hecho de colocar al sistema en el interior de una ampolla de vac o), la transferencia de calor entre los cilindros interior(1) y medio(2), y medio(2) y exterior(3), se puede describir por medio de las siguientes ecuaciones 1]:
4 C1 dT1 = P ? k12(T1 ? T2) ? A1(T1 ? T24) dt

(1) (2)

C2 dT2 = k12(T1 ? T2) ? k23(T2 ? T3) + A1(T14 ? T24) ? A2(T24 ? T34); dt

donde C1 y C2 son los valores de las capacidades calor cas de los cilindros, T1, T2 y T3 las temperaturas de los cilindros interno, medio y exterior, P la potencia aplicada a la l mpara dicroica, la emisividad de los cilindros, Ai, el rea externa por donde irradian los cilindros y k12 y k23, los coe cientes de conductividad t rmica del medio entre los cilindros interno y medio, y medio y exterior respectivamente. Cuando la temperatura en los cilindros se estabiliza, es decir, no var a en el tiempo, las ecuaciones (1) y (2) toman la forma:

P 2 2 T1 ? T2 = k12 + A1(T1 + T2)(T1 + T2 ); P 2 2 T2 ? T3 = k23 + A2(T2 + T3)(T2 + T3 );


1

(3) (4)

P De estas ecuaciones, al gra car Ti ? Tj vs. (Ti + T j)(Ti2 + T j2) se tiene que el valor de la pendiente de la recta resultante corresponde al producto de Ai; de aqu se puede entonces calcular el valor de (la constante de Stefan-Boltzmann). Adem s, a partir de la oredana al origen se obtiene el valor de la conductividad t rmica, ki;i+1. Si se aplica a la l mpara una potencia variable en forma sinusoidal, del tipo:

P = P0 + Peiwt;

(5)

con P de un orden de magnitud menor que P , se esperar a un comportamiento similar en las temperaturas registradas en los cilindros; o sea, ser :

T = T0 + Tei(wt+ ):
Aproximando a primer orden la expresi n para la temperatura se tiene que:

(6) (7)

T 4 = T04 + 4 T03 T ei(wt+ ): T cos P T cos 1 3 3 C1 = ! k12(cot 1 ? T2sen 2 ) +4 A1(T01cot 1 ? T02 T2sen 2 ) ? T sen 1 1 1 1 1

Combinando las ecuaciones (1), (5), (6) y (7), puede despejarse una expresi n para la capacidad calor ca C1 del cilindro interior, que ser
1

(8)

donde 1 y 2 son las diferencias de fase entre las se ales correspondientes a las temperaturas en los cilindros interior y medio y la se al de potencia, respectivamente.

2.1. M todo Experimental.

2. Desarrollo experimental.
La primera etapa consisti en medir la temperatura nal de cada uno de los tres cilindros al alimentar al lamento con una potencia constante. Una vez aplicada una determinada tensi n a los bornes del lamento, se aguard hasta que el sistema llegara al equilibrio, quedando estabilizada la temperatura de cada uno de ellos. Este proceso se repiti para valores de potencia correspondientes a valores de tensi n en el rango de 6V a 12V , a intervalos de 1V . Acorde a Ilas Ecuaciones (3) y (4) se construy luego dos tablas (Ti + Ti +1) (Ti2 + Ti2+1) en funci n del producto Ti V Ti +1 , con Ti y Ti +1 la temperatura de dos cilindros consecutivos (i = 1; 2) y V I la ? potencia suministrada al lamento. Trazando la regresi n lineal que ajustara a cada una de dichas tablas se obtuvo (la constante de Ste an-Boltzmann) operando con la pendiente de dichas rectas y el coe ciente ki;i +1 (la conductividad t rmica del material que une los cilindros i e i+1) de sus ordenadas al origen. La segunda etapa consisti en aplicar al lamento un potencia variable arm nicamente con el tiempo, con per odo 2 de una hora, v (t) = V0 + V cos( 3600s t). De acuerdo a la Ecuaci n (8), se midieron los desfasajes 1 y 2 2 (entre v (t) y la temperatura del cilindro i, Ti(t) = Ti0 + Ti cos( 3600s t + i)), obteniendose C1 (la capacidad calor ca del material con el cual est fabricado el cilindro 1). El arreglo experimental empleado consist a en tres cilindros, de una nica tapa ubicada hacia arriba, y cuyas dimensiones son mostradas en la Tabla 1, ubicados conc ntricos en el interior de una c mara de vac o. El soporte de los cilindros era de acero inoxidable. El vac o era logrado empleando una bomba mec nica y una bomba difusora, de modo que en el interior de la c mara se lograba una presi n del orden de 2 10?5torr. La presi n en la c mara era medida por un man metro de termocupla Veeco TG-7 (hasta 10? 3torr), y por uno de ionizaci n Veeco RG-830 (en el rango 10? 3torr a 10? 8torr). Cilindro interior (1) Cilindro intermedio (2) Cilindro exterior (3) Di metro mm] Altura mm] Espesor mm] 50.43 0.02 48.08 0.02 3.30 0.01 70.42 0.02 66.97 0.02 3.24 0.01 88.83 0.02 86.00 0.02 3.23 0.01 Tabla 1. Dimensiones de los cilindros empleados.

2.2. Arreglo Experimental.

En el interior del cilindro m s peque o se encontraba una lamparita incandescente de 12V y 20W , cuya potencia era suministrada, en la primer etapa (de alimentaci n con corriente constante), por una fuente HP 6268B y, en la segunda etapa (de alimentaci n con corriente sinusoidal) por una fuente HP E3631A. En la mencionada primer etapa la tensi n y la corriente suministradas al lamento eran medidos por mult metros Wavetek DM23XT, respectivamente. El montaje experimental es mostrado esquem ticamente en la Figura 1.
2

Figura 1. Montaje experimental.


Los cilindros exterior e intermedio estaban perforados en la cara lateral en su extremo inferior; el cilindro interior lo estaba tanto en el extremo inferior como en el extremos superior de la cara lateral. En cada uno de dichos oricios se instal una PT100 (un RTD de platino cuya resistencia a 0oC es 100 ; ver cat logo Temperature Measurement Handbook 3]), que se empleaba para medir indirectamente, por el m todo de cuatro puntas, la temperatura de los cilindros por medio del valor de su resistencia. La disposici n de los cilindros y los ori cios en los que se insertaban las PT100 son mostrados en la Figura 2. Las cuatro PT100 estaban conectadas en serie y alimentadas por una corriente de aproximadamente 1mA. La corriente que circulaba por la serie de PT100's era medida por un mult metro HP 3478A (con interfaz GPIB), mientras que la diferencia de potencial en cada una de ellas era medida por otro mult metro HP 3478A. Para poder medir la ca da de potencial en las cuatro PT100 empleando un nico volt metro, se emple un multiplexor que, siendo controlado por el puerto paralelo de la PC, determinaba la PT100 cuya diferencia de potencial se med a. Cuando una juntura met lica se encuentra a una temperatura determinada aparece una diferencia de potencial entre ambos metales. La polaridad de dicha direferencia depende s lo de los materiales. Dado que para determinar la resistencia de la PT100 se deben medir la corriente que la circula y la diferencia de potencial en sus bornes, se decidi (para corregir el efecto termocupla) medir la diferencia de pontencial en bornes de la PT100 con la corriente circulando en ambos sentidos. Esto es porque en ambos casos el potencial de termocupla posee la misma direccion, por lo que el tomar el promedio de ambas mediciones como valor de tensi n cancela la contribuci n nal de dicho efecto. Para lograr esto, se intercal un inversor entre el amper metro y la serie de PT100's. El circuito el ctrico hasta aqu descripto es esquematizado en la Figura 3.

Figura 2. Ubicaci n de los ori cios para las PT100.

Figura 3. Esquema del circuito el ctrico.

Finalmente, para realizar la adquisi n de datos, el control del sentido de corriente de la serie de PT100's, el multiplexado de las tensiones en bornes de las PT100's, y el control de potencia (en la etapa 2) se emple una PC, con interfaces paralelo y GPIB, conectada a los mult metros y fuente (que soportaban dicha norma).

3. An lisis y discusi n de los resultados.


3

3.1. Evoluci n de la temperatura de cada PT100 para una tensi n de alimentaci n constante.
En primer t rmino se aliment al lamento con una tensi n constante y se dej que el sistema evolucionara hasta que se estabilizara la temperatura de cada uno de los cilindros. La adquisici n de datos fue llevada a cabo con el programa mostrado en el Ap ndice A. Las Figuras 4 a 10 muestran la evoluci n de la resistencia de cada PT100 a lo largo del tiempo. Cada gura corresponde a un valor distinto en la tensi n de alimentaci n del lamento, que se hizo variar entre 6V y 12V a intervalos de 1V.

Figura 4. Resistencia de cada PT100 en funci n del tiempo para una alimentaci n del lamento de 6V.

Figura 5. Resistencia de cada PT100 en funci n del tiempo para una alimentaci n del lamento de 7V.
4

Figura 6. Resistencia de cada PT100 en funci n del tiempo para una alimentaci n del lamento de 8V.

Figura 7. Resistencia de cada PT100 en funci n del tiempo para una alimentaci n del lamento de 9V.

Figura 8. Resistencia de cada PT100 en funci n del tiempo para una alimentaci n del lamento de 10V.

Figura 9. Resistencia de cada PT100 en funci n del tiempo para una alimentaci n del lamento de 11V.

Figura 10. Resistencia de cada PT100 en funci n del tiempo para una alimentaci n del lamento de 12V.
La Tabla 2 muestra los valores nales de resistencia de cada PT100 en funci n de la tensi n de alimentaci n del lamento. Tensi n del Corriente del PT100 PT100 PT100 interior PT100 PT100 lamento V ] lamento A] interior/arriba ] interior/abajo ] (promedio) ] intermedia ] exterior ] 6 1.18 152 146 149 137 124 7 1.29 162 155 158.5 143 128 8 1.38 168 160 164 148 131 9 1.47 176 167 171.5 154 135 10 1.57 185 176 180.5 159 137 11 1.63 188 180 184 164 141 12 1.72 196 186 191 168 144 Tabla 2. Resistencia nal de cada PT100 en funci n de la tensi n de alimentaci n del lamento.

3.2. An lisis de los resultados para la tensi n de alimentaci n constante.


de la tensi n de alimentaci n del lamento.

Tabla 2 es traducido a temperaturas en la Tabla 3, que muestra los valores nales de cada cilindro en funci n
Tensi n del Corriente del PT100 PT100 PT100 lamento V ] lamento A] interior K ] intermedia K ] exterior K ] 6 1.18 400.96 369.20 335.15 7 1.29 426.31 385.04 345.59 8 1.38 442.10 398.31 353.44 9 1.47 461.37 414.29 363.94 10 1.57 485.85 427.65 369.20 11 1.63 495.42 441.10 379.76 12 1.72 514.65 451.88 387.70 Tabla 3. Temperatura nal de cada PT100 en funci n de la tensi n de alimentaci n del lamento.

Usando la calibraci n de la PT100 dada en el cat logo Temperature Measurement Handbook, el contenido de la

2 2 A partir de la Tabla 3 se gra c para cada tensi n de alimentaci n el valor del producto (T1 + T2) (T1 + T2 ) en V I ; a partir de dicho gr co, y conforme la Ecuaci n (3), se traz una regresi n lineal, funci n del producto T1 ? T2 cuya pendiente iguala al producto " A1, y cuya ordenada al origen iguala a k12. La Figura 11 muestra los datos de tal tabla, junto con la recta que mejor los ajusta, cuya expresi n anal tica es y = 0.09324 + 5.26001 10?10 x, con errores de 0.02985 en la ordenada y 8.57658 10? 11 en la pendiente. De dicha regresi n lineal extraemos: ? 8 2W 4 12 = (5.7 0.9) 10

m K W k12 = (0.09 0.03) Kg K

V Figura 11. Representaci n de los valores (T1 + T2) (T12 + T22) vs. T1 ? I 2 y regresi n lineal que mejor los ajusta. T

El mismo m todo se repiti gra cando, a partir de la Tabla 3, y para cada tensi n de alimentaci n del lamento, V 2 2 el valor del producto (T1 + T2) (T1 + T2 ) en funci n del producto T1 ? I 2 ; a partir de dicho gr co, y conforme la T Ecuaci n (3), se traz una regresi n lineal, cuya pendiente iguala al producto " A2, y cuya ordenada al origen iguala a k23. La Figura 12 muestra los datos de tal tabla, junto con la recta que mejor los ajusta, cuya expresi n anal tica es y = 0.05941 + 8.56141 10? 10 x, con errores de 0.01329 en la ordenada y 5.55233 10? 11 en la pendiente. De dicha regresi n lineal extraemos: ? 8 2W 4 23 = (4.8 0.3) 10
m K W k23 = (0.06 0.01) Kg K

V Figura 12. Representaci n de los valores (T2 + T3) (T22 + T32) vs. T2 ? I 3 y regresi n lineal que mejor los ajusta. T

3.3. Evoluci n de la temperatura de cada PT1000 para la tensi n de alimentaci n sinusoidal. En segundo t rmino se aliment al lamento con una tensi n senoidal v (t) = 5.5V + 0.5V sen( 23600t ), con t
expresado en segundos; se dej que el sistema evolucionara y se midi la dependencia de la temperatura de cada PT100 con la tensi n de alimentaci n (senoidal). El control de la potencia suministrada al lamento y la adquisici n de datos fue llevada a cabo con el programa mostrado en el Ap ndice B. La Figura 13 muestra la evoluci n de la tensi n de alimentaci n del lamento y de la resistencia de cada PT100 a lo largo del tiempo.

Figura 13. Resistencia de cada PT100 en funci n del tiempo para una alimentaci n del lamento sinusoidal.
9

3.4. An lisis de los resultados para la tensi n de alimentaci n sinusoidal. El corrimiento de la temperatura del cilindro 1, T1(t), respecto de la se al de alimentaci n v (t) result ser de 800s, que corresponde a un corrimiento en fase de 1 = 49 (dado que su per odo es 3600s). Por su parte, El corrimiento de la temperatura del cilindro 2, T2(t), respecto de la se al de alimentaci n v (t) result ser de 1100s, que corresponde a un corrimiento en fase de 2 = 11 . Con dichos valores, y haciendo uso de la Ecuaci n (8), se 18
Este valor di ere notablemente con el tabulado (900 KgJ K ). Tal diferencia evidencia que el sistema posee p rdidas de calor que no han sido contempaldas por el modelo propuesto. obtiene para la capacidad calor ca C1 del aluminio el valor: C1 = (21178 5000) KgJ K

4. Conclusiones.
Los gr cas obtenidas en la primera etapa del experimento demuestran la existencia de un gradiente de temperatura en el cilindro interior. Esto constituye una falta a la hip tesis de uniformidad t rmica postulada para cada cilindro (sin la cual no son v lidas las expresiones usadas). Este gradiente se debe a la existencia de una fuente de potencia (lamparita) cuya geometr a di ere de la del cilindro, y a que la lamparita como tal posee un determinado ngulo s lido en el cual emite su radiaci n. Sin embargo, el tomar al promedio de temperaturas del cilindro como representativa de su temperatura demostr ser acertado al contrastar el valor obtenido para la constante de Stefan-Boltzmann con el tabulado. No ocurri lo mismo con el c lculo de dicha constante a partir de las temperaturas de los cilindros 2 y 3, en los cuales debe suponerse a priori que existir tambi n alg n gradiente de temperaturas. El resultado obtenido en la medici n del calor espec co del aluminio di ere ampliamente del valor tabulado. En base a los comentarios anteriores, cabe suponer que constituir a una mejora en los resultados el emplear una fuente de potencia cuya geometr a fuese similar a la del cilindro interior (un lamento vertical, por ejemplo); y contar con la medici n de al menos un punto m s en los cilindros 2 y 3, de modo de poder realizar alguna estimaci n sobre el gradiente de su temperatura.

5. Referencias.
1]

Incropera, F.P., Dewitt, D.P., Fundamentals of heat and mass transfer, John Wiley & Sons, 5ta Ed., 2002. 2] Instituto Balseiro, F sica experimental II, http://cabib4.cnea.gov.ar/experim2/ 3] OMEGA Engineering Inc., Temperature Measurement Handbook, 1982.

10

Ap ndice A
Programa de adquisici n de datos de la primera etapa del experimento. #include <stdio.h> #include <math.h> #include <string.h> #include "decl.h" #de #de #de #de #de #de #de #de #de ne ADDR_V 1 /* Direccion del Voltimetro en el bus GPIB*/ ne ADDR_I 2 /* Direccion del Voltimetro en el bus GPIB*/ ne SIZE 24 ne DELAY 2 ne HORAS 4 ne FILE0 "datos0.dat" ne FILE1 "datos1.dat" ne FILE2 "datos2.dat" ne FILE3 "datos3.dat"

void Direccionar(int chnl, int invt) { int i=0; int addr=1; for(i=0; i<chnl; i++) addr = addr*2; addr = addr + 16 * invt; outportb(0x378, addr); } void AdquirirDatos(char Lectura 2] SIZE], int V, int I) { ibrd(V, Lectura 0], 13); Lectura 0] ibcnt-2]=0x00; ibrd(I, Lectura 1], 13); Lectura 1] ibcnt-2]=0x00; } void GuardarDatos(int j, int tiempo, double Dato) { FILE *salida; if(j==0) salida = fopen(FILE0, "a"); else if(j==1) salida = fopen(FILE1, "a"); else if(j==2) salida = fopen(FILE2, "a"); else if(j==3) salida = fopen(FILE3, "a"); fprintf(salida, "%d %f ", tiempo * (2*DELAY), Dato); fclose(salida); } void MostrarDatos(int i, double med 4]) { int h,m; h=i*(4*2*DELAY)/3600; m=(i*(4*2*DELAY)-3600*h)/60; clrscr(); printf("Medicion: %d ", i); printf("Tiempo acumulado: %dhs:%dms ", h, m); printf("PT100 interior/arriba: %f ", med 0]);
11

printf("PT100 interior/abajo: %f ", med 1]); printf("PT100 intermedia: %f ", med 2]); printf("PT100 exterior: %f ", med 3]); } int Decidir(int i) { if(i<HORAS*3600/(2*DELAY) return 1; return 0; } int main() { char Lectura 2] SIZE]={0}; /* Lectura 0]:Voltimetro ; Lectura 1]:Amperimetro */ int V=0; /* La direccion del voltimetro en el bus GPIB */ int I=0; /* La direccion del amperimetro en el bus GPIB */ int i=0; /* Contador de medicion */ int j=-1; /* Conatdor del multiplexor */ /* j: j=0: PT100 interior/arriba j=1: PT100 interior/abajo j=2: PT100 intermedia en j=3: PT100 exterior double max, min, med 4]; /* Para calculo temporal de resistencia media */ FILE *salida; /* Inicializa el contendio de los archivos de datos */ salida = fopen(FILE0, "w"); fprintf(salida, "#Tiempo Resistencia "); fclose(salida); salida = fopen(FILE1, "w"); fprintf(salida, "#Tiempo Resistencia "); fclose(salida); salida = fopen(FILE2, "w"); fprintf(salida, "#Tiempo Resistencia "); fclose(salida); salida = fopen(FILE3, "w"); fprintf(salida, "#Tiempo Resistencia "); fclose(salida); clrscr(); /* Inicializa la placa GPIB */ V=ib nd("dev1"); ibpad(V,ADDR_V); I=ib nd("dev2"); ibpad(I,ADDR_I); while(Decidir(i)) { /* Cambia la PT100 a medir y muestra resultados despues de barrer las 4 PT100*/ j++; if(j==4) { MostrarDatos(i/4, med); j=0; } /* Adquiere en directa */ Direccionar(j, 0); sleep(DELAY);
12

AdquirirDatos(Lectura, V, I); max = atof(Lectura 0]) / atof(Lectura 1]); /* Adquiere en inversa */ Direccionar(j, 1); sleep(DELAY); AdquirirDatos(Lectura, V, I); min = atof(Lectura 0]) / atof(Lectura 1]); /* Adquiere y procesa los datos */ med j] = (max + min) / 2; /* Guarda los datos */ GuardarDatos(j, i, med j]); i++; } /* Blanquea el puerto */ printf(" ADQUISICION FINALIZADA !!"); outportb(0x378, 0x00); /*Retorna*/ return 0; }

13

Ap ndice B
Programa de adquisici n de datos de la segunda etapa del experimento. #include <stdio.h> #include <math.h> #include <string.h> #include "decl.h" #de #de #de #de #de #de #de #de #de #de #de ne ADDR_V 1 /* Direccion del Voltimetro en el bus GPIB*/ ne ADDR_I 2 /* Direccion del Voltimetro en el bus GPIB*/ ne ADDR_F 4 /* Direccion de la fuente en el bus GPIB */ ne SIZE 24 ne DELAY 2 ne HORAS 4 ne FILE0 "datos0.dat" ne FILE1 "datos1.dat" ne FILE2 "datos2.dat" ne FILE3 "datos3.dat" ne FUENTE "fuente.dat"

void Direccionar(int chnl, int invt) { int i=0; int addr=1; for(i=0; i<chnl; i++) addr = addr*2; addr = addr + 16 * invt; outportb(0x378, addr); } void AdquirirDatos(char Lectura 2] SIZE], int V, int I) { ibrd(V, Lectura 0], 13); Lectura 0] ibcnt-2]=0x00; ibrd(I, Lectura 1], 13); Lectura 1] ibcnt-2]=0x00; } void GuardarDatos(int j, int tiempo, double Dato) { FILE *salida; if(j==0) salida = fopen(FILE0, "a"); else if(j==1) salida = fopen(FILE1, "a"); else if(j==2) salida = fopen(FILE2, "a"); else if(j==3) salida = fopen(FILE3, "a"); fprintf(salida, "%d %f ", tiempo * (2*DELAY), Dato); fclose(salida); } void MostrarDatos(int i, double med 4]) { int h,m; h=i*(4*2*DELAY)/3600; m=(i*(4*2*DELAY)-3600*h)/60; clrscr(); printf("Medicion: %d ", i);
14

printf("Tiempo acumulado: %dhs:%dms ", h, m); printf("PT100 interior/arriba: %f ", med 0]); printf("PT100 interior/abajo: %f ", med 1]); printf("PT100 intermedia: %f ", med 2]); printf("PT100 exterior: %f ", med 3]); } void ControlarPotencia(int F, long i) { FILE *salida; char inst 21]; oat V; /* Calculo la tension */ V = (5.5)+(0.5)*sin(2.*PI*i/PERIODO); /* Saco la nueva tension por la fuente */ sprintf(inst, "APPL P6V, %.2f", V); ibwrt(F, inst, strlen(inst)); /* Grabo la nueva tension en el archivo */ salida=fopen(FUENTE, "a"); fprintf(salida, "%ld %f ", i, V); fclose(salida); } int Decidir(int i) { if(i<HORAS*3600/(2*DELAY) return 1; return 0; } int main() { char Lectura 2] SIZE]={0}; /* Lectura 0]:Voltimetro ; Lectura 1]:Amperimetro */ int V=0; /* La direccion del voltimetro en el bus GPIB */ int I=0; /* La direccion del amperimetro en el bus GPIB */ int i=0; /* Contador de medicion */ int j=-1; /* Conatdor del multiplexor */ /* j: j=0: PT100 interior/arriba j=1: PT100 interior/abajo j=2: PT100 intermedia en j=3: PT100 exterior double max, min, med 4]; /* Para calculo temporal de resistencia media */ FILE *salida; /* Inicializa el contendio de los archivos de datos */ salida = fopen(FILE0, "w"); fprintf(salida, "#Tiempo Resistencia "); fclose(salida); salida = fopen(FILE1, "w"); fprintf(salida, "#Tiempo Resistencia "); fclose(salida); salida = fopen(FILE2, "w"); fprintf(salida, "#Tiempo Resistencia "); fclose(salida); salida = fopen(FILE3, "w"); fprintf(salida, "#Tiempo Resistencia "); fclose(salida); clrscr();
15

/* Inicializa la placa GPIB */ V=ib nd("dev1"); ibpad(V,ADDR_V); I=ib nd("dev2"); ibpad(I,ADDR_I); F=ib nd("dev4"); ibpad(F,ADDR_F); /* Enciende la fuente GPIB */ ibwrt(F, "APPL P6V, 5.0, 1.5", strlen("APPL P6V, 5.50, 1.5")); ibwrt(F, "OUTP ON", strlen("OUTP ON")); while(Decidir(i)) { /* Establece la tension de la fuente */ ControlarPotencia(F, 2*DELAY*i); /* Cambia la PT100 a medir y muestra resultados despues de barrer las 4 PT100*/ j++; if(j==4) { MostrarDatos(i/4, med); j=0; } /* Adquiere en directa */ Direccionar(j, 0); sleep(DELAY); AdquirirDatos(Lectura, V, I); max = atof(Lectura 0]) / atof(Lectura 1]); /* Adquiere en inversa */ Direccionar(j, 1); sleep(DELAY); AdquirirDatos(Lectura, V, I); min = atof(Lectura 0]) / atof(Lectura 1]); /* Adquiere y procesa los datos */ med j] = (max + min) / 2; /* Guarda los datos */ GuardarDatos(j, i, med j]); i++; } /* Blanquea el puerto */ printf(" ADQUISICION FINALIZADA !!"); outportb(0x378, 0x00); /*Retorna*/ return 0; }

16

You might also like