Está en la página 1de 27

PRACTICA Nº3

LABORATORIO DE SISTEMAS DIGITALES II

Realizado por:
Victorino Villamizar Delgado C.I.23.541.989
Grupo Nº10
PRE-LABORATORIO
1. Funcionamiento del sensor LM35 e indicar la relación de temperatura/Nro. digital.

El LM35 es un circuito integrado de precisión, sensor de temperatura, con un voltaje de salida


linealmente proporcional a la temperatura en grados centígrados, con una calibración de
1ºC de variación. A su salida genera una señal analógica de un voltaje diferente según la
temperatura que esté captando en cada momento.
Entre las características técnicas más destacables están:

• Tensión de salida proporcional a la temperatura: de -55ºC a 150ºC con tensiones de -550mV a


1500mV.
• Calibrado para grados Celcius.
• Tensión de precisión garantizada de 0.5ºC a 25ºC.
• Baja impedancia de salida.
• Baja corriente de alimentación (60 μA).
• Bajo coste.
• Package SOIC, TO-220, TO-92, TO-CAN, etc.
• Voltaje de trabajo entre 4 y 30v.
• No necesita de circuitería extra para calibrarlo.

Para obtener la relación Temperatura/Nº digital, partimos de la ecuación:

  5𝑉
𝑉 𝐴= ∗𝑁 𝐶𝐴𝐷 =𝑉 𝑜𝑢𝑡
1024
Y a su vez la ecuación dada por el fabricante en el datasheet para determinar el voltaje de salida está
dada por:

 𝑉 𝑚𝑉
𝑜𝑢𝑡 =10 ∗ 𝑇
º 𝐶

Igualando las 2 ecuaciones tenemos que la relación Temperatura/Nº Digital es

  125
𝑇= º 𝐶 ∗ 𝑁 𝐶𝐴𝐷
256

2. Funcionamiento del sensor MPXA6115A e indicar la relación de presión/Nro. digital.


Es un transductor piezorresistivo de silicio, sensor de presión, de señal condicionada,
monolítico. Este sensor combina técnicas avanzadas de micromecanizado, metalización de
película fina y procesamiento de semiconductores bipolares para proporcionar una señal de
salida analógica precisa y de alto nivel que es proporcional a la presión aplicada.

Características:

• Resistente a alta humedad


• Precisión mejorada a alta temperatura
• Disponible en paquetes de contorno pequeño y superpequeño
• 1.5% de error máximo entre 0 ° C y 85 ° C
• Ideal para sistemas basados en microprocesadores o microcontroladores
• Temperatura compensada de -40 ° C a +125 ° C
• Paquete de montaje en superficie de termoplástico duradero (PPS)
• Soporta una presión máxima de 400Kpa.
• Voltaje de operación de 4,75 a 5,25V

Para obtener la relación Presion/Nº digital, partimos de la ecuación:

  5𝑉
𝑉 𝐴= ∗𝑁 𝐶𝐴𝐷 =𝑉 𝑜𝑢𝑡
1024
Y a su vez la ecuación para determinar el voltaje de salida esta dada por

Igualando las 2 ecuaciones tenemos que la relación Presión/Nº Digital es

  𝑁 𝐶𝐴𝐷 + 97,28
𝑃=
9,216
3. Funcionamiento del sensor HIH5030 e indicar la relación de Humedad/Nro. digital.

Son sensores de humedad de circuito integrado cubierto con varias capas del elemento de detección que
brinda una excelente resistencia a la mayor parte de los riesgos de aplicación, tales como la condensación, el
polvo, la suciedad, los aceites y las sustancias químicas ambientales comunes. Es de bajo voltaje, ideal en
sistemas alimentados por batería donde el suministro es de 3 V CC nominales.. La salida de voltaje casi
lineal de este sensor permite la entrada directa a un controlador u otro dispositivo.

Caracteristicas:

• Funciona de 2,7 hasta 5 V


• Carcasa de plástico termoestable moldeado.
- Salida de voltaje casi lineal vs% RH.
- Intercambiabilidad recortada con láser.
- Diseño de bajo consumo, absorción de energía típica de solo 200 μA.
- Precisión mejorada.
- Tiempo de respuesta rápido.
- Rendimiento estable y de baja deriva.
- Químicamente resistente.

Para obtener la relación Humedad relativa/Nº digital, partimos de la ecuación

  5𝑉
𝑉 𝐴= ∗𝑁 𝐶𝐴𝐷 =𝑉 𝑜𝑢𝑡
1024
 Y a su vez la ecuación dada por el fabricante para determinar el voltaje de salida está dada por
, siendo  

Igualando las 2 ecuaciones tenemos que la relación Humedad relativa/Nº Digital es,

 
4. Funcionamiento del conversor análogo digital que maneja el PIC 18F4550.

 Un ADC convierte mide el voltaje V en un pin (que tendrá que estar declarado como entrada con el
correspondiente registro TRISA) y lo convierte en un número. El voltaje se mide en referencia a un
voltaje mínimo, Vref(-) , y a un voltaje máximo, Vref (+):
 
                        
 
La fórmula anterior corresponde a un voltaje normalizado. Si el voltaje V alcanza el máximo (Vref+)
tendremos una salida de 1 y si se queda en el mínimo (Vref-) una salida de 0.
Normalmente Vref- suele ser Vss=GND=0V y Vref+ = Vcc = 5V, pero pueden usarse otros voltajes de
referencia

Características:

• Resolución programable por software en modo de 8 y 10 bits


• Se puede llegar hasta a 50K muestras por segundo, lo que es ideal para proyectos de
adquisición de datos.
• 13 canales de entradas multiplexadas.
• Rango del voltaje de entrada para el ADC 0-Vcc.
• Referencia de voltaje interna o externa.
• Modo de conversión ADC (continua o individual).
• Inicio de conversión ADC por Auto-Disparo en fuentes de Interrupción.
• Interrupción ADC al completar la conversión.

Hay que seguir los siguientes pasos para una correcta conversión AD:

a) Configurar el módulo A/D


• Configurar las entradas analógicas y el voltaje de referencia (ADCON1).
• Selecciona el canal A/D de entrada a leer (ADCON0).
• Selecciona el tiempo de Adquisición A/D (ADCON2).
• Seleccione el reloj de la conversión A/D (ADCON2).
b) Esperar el tiempo requerido de adquisición.
c) Comienzo de la conversión A/D.
• Activa el Bit GO/DONE del registro ADCON0.
d) Esperar que la conversión A/D termine
• Interroga el Bit GO/DONE si es (=0), conversión completa.
e) Leer los registros del resultado A/D (ADRESH:ADRESL)
Tacq = Tiempo de Adquisición. Tacq >= 2.45uS
Tad = Tiempo de Conversión (por cada bit, para 8 o 10 bits). 0.7uS < Tad < 1.3uS
Como el microcontrolador no va a manejar números en coma flotante, el voltaje normalizado
se expresa con un entero, convirtiendo el intervalo real [0,1] en el intervalo de niveles enteros
entre [0 y Nmax-1]. La resolución del ADC es una característica fundamental y nos dice el
número de niveles con los que cubrimos el intervalo [0,1].

 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛=𝑉 𝑅𝐸𝐹 ¿¿ ¿
5. Directivas del compilador para el conversor análogo digital que maneja el PIC 18F4550.

En el encabezado del programa incluir la siguiente línea, si se va a trabajar el conversor A/D a 10 bits ya que
por defecto funciona a 8 bits.
#DEVICE ADC=10

6. Funciones en C que se utilizan para el conversor análogo digital que maneja el PIC 18F4550.

En el compilador , las instrucciones para manejar el conversor AD son las siguientes:

• setup_adc(modo)
• setup_adc_ports(valor)
• set_adc_channel(canal)

0 (AN0) 1 (AN1) 2 (AN2) 3 (AN3)


4(AN4) 5 (AN5) 6 (AN6) 7 (AN7)

• valor=read_adc()

Lectura del resultado y almacenado en valor, que viene a ser un numero entero dependiendo de la
directiva #DEVICE ADC= empleada

7. Explicar en qué consiste la interfaz serie de periféricos y como funciona en el PIC18FF4550.

La comunicación serial es una de las más simples que podremos emplear en nuestro microcontrolador PIC,
sólo utiliza tres líneas, una para recibir los datos Rx, otra para trasmitir los datos Tx y la línea común GND.
En nuestro caso específico para el PIC18F4550 las líneas TX y RX corresponden a los pines 25 y 26
(Puerto RC6 y RC7 respectivamente). El PIC 18F4550 solo tiene un puerto UART físico, es por eso que
solo tiene un solo RX y un solo TX para realizar la comunicación serial.
Características de este módulo UART.
• Operación Síncrona y Asíncrona.
• Operación Full Dúplex en modo Asíncrono.
• Operación Half Dúplex en operación Síncrona Maestro-Esclavo.
• Operación de 8 o 9 bits.
• Generador de Baud-Rate de Alta y Baja
• Calibración Automática de Velocidad de Baudios.
• Detección Automática de Recepción de datos.
• Detección de errores de OverRun y Frame (datos sobrescritos y
dato invalido respectivamente).
• Dos interrupciones independientes; TX completado, RX completado.
A continuación, se explicarán los PASOS para la Transmisión/Recepción de datos a través de la USART

1. Configurar las líneas pin RX y pin TX como entrada y salida respectivamente, a través
del registro TRISC.
2. Configurar el modo Síncrono o Asíncrono.
3. Configurar el Baud-Rate del USART a través del registro UBRRH y
4. Configurar Tamaño de byte 8/9 bits.
5. Habilitar la Transmisión y Recepción a través de los
bits TXEN y RCEN respectivamente.
6. Habilitar la Interrupción de Transmisión/Recepción a través de los
bits TXIE y RCIE respectivamente (opcional).

Modos de transmisión:

• Comunicación Serial Sincrónica


Para realizar esta configuración de la comunicación, se requiere adicionar una línea que contenga pulsos de
reloj que indiquen que el dato que viaja en la otra línea de datos es válido; la duración del bit está
determinada por la duración del pulso de sincronismo.
• Comunicación Serie Asincrónica:
En esta comunicación los pulsos de reloj no son necesarios y se utilizan otros mecanismos para realizar la
transferencia de datos. La duración de cada bit está determinada por la velocidad con la cual se realiza la
trasferencia de datos.

8. Directivas de CCS para el manejo de la interfaz serie de periféricos del PIC18F4550.

En el encabezado del programa incluir la directiva:

#USE RS232(BAUD=BAUDIOS, XMIT=PIN, RCV=PIN)

Baud: Velocidad en baudios (bits por segundo).


Xmit: Bit que transmite (Tx)
RCV: Bit que recibe (Rx)
9. Funciones de CCS para el manejo de la interfaz serie de periféricos del PIC 18F4550.

Una vez dentro ya de la función principal del programa, hay que habilitar la interrupción por recepción
RS232.
enable_interrupts(INT_RDA);
Y la correspondiente habilitación global de interrupciones:
enable_interrupts(GLOBAL);

Para recibir un carácter se usa la instrucción:

C=getc(); Esta instrucción espera un carácter por el pin RCV del puerto RS232 y retorna el carácter
recibido.
S=gets(); Espera una cadena de caracteres por el pin RCV del puerto RS232 y retorna la cadena de
caracteres recibida.

Para enviar un carácter se usa la instrucción:

putc(); Esta instrucción envía un carácter al pin XMIT del dispositivo RS232.
Puts(); Esta instrucción envia una cadena al pin XMIT del dispositivo RS232.

NOTA: Entre los paréntesis va el carácter o cadena a enviar.


LABORATOR
• Configuración de los puertos IO
 Se configuro el PUERTO A como entrada, aquí conectaremos las salidas de los sensores a sus pines
respectivos de lectura y conectaremos el cristal para el reloj externo. La conexión de el cristal externo
aplica para el PIC2 utilizado para la comunicación

PIN 2 PIN 3 PIN 5 PIN 14 PIN 13


AN0 AN1 AN3 RA6 CLK1
Vout(LM35) Vout(HIH5030 Vout(MPXA6115 CLK0 “”
) A)
 Se configuro el PUERTO B como salida, aunque solo conectaremos el pin RST de la LCD grafica ya que
requeríamos los pines TX y RX para usar la comunicación serial en el puerto c. Esta conexión aplica para
el PIC2

PIN 40
RB7
RST(LCD)
 El PUERTO C se configuro como salida, en el conectaremos los pines de control de la LCD grafica y los
pines de comunicación serial para establecer la conexión con el PIC2. Esta conexión aplica también para
el PIC2.

PIN 15 PIN 16 PIN 17 PIN 23 PIN 24 PIN 25 PIN 26


RC0 RC1 RC2 RC4 RC5 RC6 RC7
CS2 CS1 RS R/W E TX RX

 El puerto D se configuro como salida y en el se conectaran los pines de transferencia de datos de la LCD
grafica. Esto aplica para la configuración de el PIC2.

PIN 19 PIN 20 PIN 21 PIN 22 PIN 27 PIN 28 PIN 29 PIN 30


RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
 Para el PUERTO E se configuro como salida para los 3 leds necesarios para indicar las subidas de las
variables leídas por los sensores, por encima de los limites establecidos. Aplica solo en el PIC principal.

PIN 8 PIN 9 PIN 10


RE0 RE1 RE2
Led_Temperatura Led_Presion Led_Humedad
• Diagrama esquemático en proteus.
• Diagrama de flujo.
INICIO
INVERNADE inicio_LCD()
RO

Configura los puertos


Inicializa la
LCD
Configura reloj para ADC

Apaga led’s Limpia la pantalla


de la LCD
Llama función
inicio_LCD();
Imprime membrete de las
Inicia ciclo while donde va llamando las funciones variables y sus valores a mostrar
para leer cada sensor y hacer la conversión y mostrar

Temperatura(); Vuelve al
programa
Humedad() principal
Presión();
;
Apaga el ledT de estar encendido
Inicio función y vuelve al programa principal
temperatura(); Si
medicion
>70ºC
Selecciona el canal 0 para leer
su valor analógico entrante Enciende el
ledT
Borra la medición
Lee el voltaje y lo convierte a un anterior y muestra la
numero digital que almacena en actual en la LCD
una variable ND tipo long Vuelve al
programa
Guarda el numero calculado principal
Convierte el número digital a en una variable tipo char
almacenado a una cadena y la
guarda en una variable tipo
char, la cual se envía por medio
del puerto serial al PIC2 Por medio de la ecuación calculada de
la temperatura en función del numero
digital, convierte el numero digital en
un valor equivalente de temperatura
Apaga el ledP de estar encendido y
Inicio función
vuelve al programa principal
presion(); Si
medicion
>90kPa
Selecciona el canal 1 para leer
su valor analógico entrante Enciende el
ledP
Borra la medición
Lee el voltaje y lo convierte a un anterior y muestra la
numero digital que almacena en actual en la LCD
una variable ND tipo long Vuelve al
programa
Guarda el numero calculado principal
Convierte el número digital a en una variable tipo char
almacenado a una cadena y la
guarda en una variable tipo
char, la cual se envía por medio
del puerto serial al PIC2 Por medio de la ecuación calculada de
la presión en función del numero
digital, convierte el numero digital en
un valor equivalente de Presión
Apaga el ledH de estar encendido
Inicio función
y vuelve al programa principal
humedad(); Si
medicion
>50%RH
Selecciona el canal 3 para leer
su valor analógico entrante Enciende el
ledH
Borra la medición
Lee el voltaje y lo convierte a un anterior y muestra la
numero digital que almacena en actual en la LCD
una variable ND tipo long Vuelve al
programa
Guarda el numero calculado principal
Convierte el número digital a en una variable tipo char
almacenado a una cadena y la
guarda en una variable tipo
char, la cual se envía por medio Por medio de la ecuación calculada de
del puerto serial al PIC2 la Humedad relativa en función del
numero digital, convierte el numero
digital en un valor equivalente de
Humedad relativa

También podría gustarte