Professional Documents
Culture Documents
Integrantes:
Objetivo general: Elaborar un circuito que permita obtener el nivel de humedad relativa
en el ambiente y activar una alarma a un nivel especfico de humedad.
Fundamentos tericos:
Humedad Relativa:
En este caso el valor fsico a medir es la humedad relativa, el cual se define como la
relacin entre la cantidad de vapor de agua en el aire y la que tendra si estuviera
completamente saturada, se puede obtener por la siguiente ecuacin:
Microcontrolador PIC16F877A:
La ventaja de usar el PIC16F877A es que al tener un ADC de varios canales se podr
programar el uC para que muestre los voltajes en 2 display de 8 segmentos en tiempo real.
Por lo tanto podremos leer el voltaje de salida del LM2907N, el cual llevndolo a un rango
de 100 valores de podr leer el %HR y adicionalmente se configurara otra ADC para poder
leer el %HR al que se quiere que la alarma se active al momento de presionar un pulsador.
Conversin Analgica-Digital:
Hay que tomar en cuenta al momento de programar el ADC en el uC que para hacer los
clculos se utiliza una resolucin digital de 10 bits, el cual permitir tomar 1024 valores en
un rango de voltajes entre 0v a 5v.
Pero voltaje obtenido por la segunda etapa no se encuentra entre 0 y 5 voltios, por eso se
tendr que hacer una regla de 3 para obtener los valores deseados y verificar la resolucin
para obtener una medida ptima, el cual se puede obtener por la siguiente ecuacin:
C[pF]
163
178
200
f=
1.44
1.44
=
=3.321 KHz
2 xRxC 2 x 1.33 Mx163 p
Para C=200pF:
f=
1.44
1.44
=
=2.7 KHz
2 xRxC 2 x 1.33 Mx 200 p
RH [%]
C [pF]
F [KHz]
Vout [v]
0
100
0
100
0
100
163
3,321
200
2,70
Valores Tomados de la simulacin en proteus:
163
3,33
200
2,72
Valores medidos del circuito:
3,31
2,69
5,27
4,27
3
2,35
En la tabla se puede notar que los valores de frecuencia concuerdan tanto los calculados
tericamente como en proteus, pero los valores de voltaje de salida tienen un margen de
error del 43% entre los calculados y los tomado en simulacin, no se encontr solucin para
este error de simulacin, como se puede observar lo tiene el integrado LM2907 de proteus,
esto conlleva a que no se puede usar ese voltaje Vout en la simulacin en el uC PIC16F77A
ya que implicara reprogramar el cdigo parcialmente, una de las razones es que sobrepasa
los 5v el cual es el valor de referencia que tomamos para el ADC, esto hace tambin que se
tenga que cambiar los voltajes de referencia que se le proporciona al uC.
Por esto, solo para la simulacin en proteus y observar el uC trabajando sin alterar el
cdigo en CCS, se colocara un potencimetro que simule los valores de 3V a 2,35v que
debera tener el Vout.
Por otro lado, los valores calculados tericamente y medidos del Vout tuvieron un error del
9% es decir que estuvieron muy cerca y son aceptables.
Como se muestra en la figura 9 el circuito de la etapa 1 hubo que corregir el tren de pulsos
que proviene del NE555 ya que presenta un nivel DC, y el LM2907 necesita una seal
centrada en el eje x, para esto se coloca un capacitor de 1nF, dando como resultado una
seal rectangular sin nivel DC.
2 Etapa:
El Vref que el usuario ajusta para colocar un nivel de referencia y encender la alarma se
proporcionara por medio de un potencimetro que deber tener un voltaje de salida igual al que
proporciona el sensor, para esto se hicieron los siguientes clculos:
Para 0%:
Vout = 2.35v
i=
2,65
R1
i=
3
R1
Para poder leer los valores obtenidos del ADC se utiliza el comando q=read_adc(); el cual
almacena en la variable q el valor digital en decimal. Debemos recordar que se utiliza una
resolucin de 10bits y que el Vref es de 5v a 0v. Pero el rango de voltaje que leer el uC es de
2,35v a 3v por esto es necesario llevar esos valores de voltaje a un rango de 0-100 numeros. Para
esto se aplica:
Si 5v 1024 entonces 2,35v 480 y 3v 613.
Por lo tanto:
aux=
q480
100
613480
La tcnica para mostrar los valores de 0 a 99 en los display de 8 segmentos es guardar lo que
representa los nmeros del 0 al 9 en un vector para luego solo escoger la posicin e imprimir.
Para sacar cada nmero en digital se tiene que hacer una tabla:
B6
B5
B4
B3
B2
B1
B0
G
0
0
1
1
1
1
1
0
1
1
F
1
0
0
0
1
1
1
0
1
1
E
1
0
1
0
0
0
1
0
1
0
D
1
0
1
1
0
1
1
0
1
1
C
1
1
0
1
1
1
1
1
1
1
B
1
1
1
1
1
0
0
1
1
1
A
1
0
1
1
0
1
0
0
1
1
DECim
al
63
06
91
79
102
109
124
07
127
111
Bibliografa: