0% encontró este documento útil (0 votos)
977 vistas7 páginas

Conversión ADC en Microcontroladores

Este documento presenta un laboratorio sobre conversión ADC utilizando un microcontrolador PIC16F877A. Se describen dos experiencias donde se realizan lecturas de señales analógicas provenientes de un potenciómetro y un sensor LDR, y su conversión a valores digitales para mostrarlos en una pantalla LCD. También incluye un reto de programación para implementar un termómetro digital utilizando un sensor LM35. El documento concluye observando el correcto funcionamiento de la conversión ADC y su aplicación para la lectura de sensores.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
977 vistas7 páginas

Conversión ADC en Microcontroladores

Este documento presenta un laboratorio sobre conversión ADC utilizando un microcontrolador PIC16F877A. Se describen dos experiencias donde se realizan lecturas de señales analógicas provenientes de un potenciómetro y un sensor LDR, y su conversión a valores digitales para mostrarlos en una pantalla LCD. También incluye un reto de programación para implementar un termómetro digital utilizando un sensor LM35. El documento concluye observando el correcto funcionamiento de la conversión ADC y su aplicación para la lectura de sensores.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Nro.

LABORATORIO MICROCONTROLADORES
Página 1 de 7

MICROCONTROLADORES

LABORATORIO N° 07

Conversión ADC (Analógico – Digital)

Participantes(s)

Foto:

Castro Mendoza Arhuire Huamani Muñante Vega


Nombres:
Christian Yilbert Jorge
%
33 36 31
participación:
Grupo B
Ciclo 4C5 Electrónica y Automatización – Microcontroladores
Fecha de entrega 28/05/2021
Nro.
LABORATORIO MICROCONTROLADORES
Página 2 de 7

I. COMPETENCIAS ESPECÍFICAS DE LA SESIÓN


• Comprender la conversión ADC en un microcontrolador.
• Programar el Módulo ADC del PIC y aplicaciones prácticas.

II. CONTENIDOS A TRATAR


• Conversión a 8 bits y 10 bits.
• Resolución y ecuación de cálculo de conversión.

III. MATERIALES Y EQUIPO


• CCS Compiler instalado.
• Entrenador de PICS
• PIC16F877A
• PC con Software de simulación.

IV. FUNDAMENTO TEÓRICO


• Para la realización de este laboratorio se requiere haber realizado y aprobado la EVALUACIÓN
DE LA FASE ASÍNCRONA
• La lectura previa de la información proporcionada para el curso, como el texto y el manual del
fabricante.
• Revise la bibliografía recomendada en la FASE ASÍNCRONA.

V. SEGURIDAD EN LA EJECUCIÓN DEL LABORATORIO

Tener cuidado con el tipo y niveles de voltaje con los


que trabaja.

Antes de utilizar el multímetro, asegurarse que está


en el rango y magnitud eléctrica adecuada.

Tener cuidado en la conexión y en la desconexión


de los equipos utilizados
Nro.
LABORATORIO MICROCONTROLADORES
Página 3 de 7

VI. EXPERIENCIA 1 – LECTURA Y CONVERSION SIMPLE UTILIZANDO EL MÓDULO ADC

1. Vamos a realizar una lectura de la entrada analógica AN3 en el cual está conectado un
POTENCIÓMETRO el cual nos brinda un voltaje variable entre 0 y 5 voltios. Esto se ve en el
entrenador virtual de PROTEUS:

2. Vamos a mostrar en el LCD la lectura directa del valor leído con 10 bits (de 0 a 1023) y vamos
a convertir dicho valor a un valor flotante entre 0.00 y 5.00, lo cual va a representar el voltaje
que ingresa a dicho pin del uC. En pocas palabras estamos creando un VOLTÍMETRO:
Nro.
LABORATORIO MICROCONTROLADORES
Página 4 de 7

3. Como EVIDENCIA, capturamos la pantalla de PROTEUS mostrando la ventana PIC CPU


Source Code: (incluir NOMBRES DE LOS INTEGRANTES).:

VII. EXPERIENCIA 2 – LECTURA DE 2 ENTRADAS ANALÓGICAS

1. Esta vez vamos a realizar la lectura de 2 entradas analógicas, una de ellas el


POTENCIÓMETRO conectado a la entrada AN3 y en el otro un sensor LDR conectado a la
entrada AN1.

4. El código es similar al anterior, solo que esta vez, antes de hacer la lectura, necesitamos
direccionar a la entrada respectiva, por este motivo parte del código se va al bucle WHILE
(true):
Nro.
LABORATORIO MICROCONTROLADORES
Página 5 de 7

5. Como EVIDENCIA, capturamos la pantalla de PROTEUS mostrando la ventana PIC CPU


Source Code: (incluir NOMBRES DE LOS INTEGRANTES).:

VIII. RETO DE PROGRAMACIÓN:

1. Utilizando los programas anteriores como base, programe con PIC un TERMÓMETRO
utilizando el sensor LM35 conectado a la entrada AN0 del PIC y cuyo rango de medición va de
-55ºC a 150ºC, 1ºC equivale a 10mV. El programa debe medir SOLO temperaturas positivas
de 0 a 150ºC y debe mostrarlo en una pantalla LCD.

Video demostrativo: https://www.loom.com/share/daefdd525efa477ebd76bcbe9382f71f


Nro.
LABORATORIO MICROCONTROLADORES
Página 6 de 7

2. Como EVIDENCIA 1, grabe un video de su simulación en PROTEUS utilizando la aplicación


LOOM o YOUTUBE y coloque el LINK en el recuadro siguiente. En la simulación debe
visualizarse los nombres de los integrantes claramente. El video NO debe durar más de 2
minutos.

https://youtu.be/a74ei6ZoZkc

3. Como EVIDENCIA 2, pegue en el recuadro siguiente el CÓDIGO EN MODO TEXTO:

//Integrantes:
//-Arhuire Huamani Yilbert
//-Muñante Vega Jorge
//-Castro Mendoza Cristian

#include <16f877a.h> // Incluimos archivo con PIC a utilizar


#device adc=10 // Utilizamos 10 bits de RESOLUCIÓN de lectura
#use delay(clock=20M) // Indicamos al compilador que trabajaremos a 20Mhz
#fuses XT, NOWDT, NOPROTECT // Configuración básica de los fusibles
#include <lcd.c> // Incluimos librería para manejar Pantalla LCD
int16 temp_lectura;
float temp_actual;

void main()
{
lcd_init(); // Inicializamos pantalla LCD
printf(lcd_putc," TERMOMETRO"); // Mandamos mensaje por única vez
delay_ms(1500);
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0); // Lectura del canal analógico 0
delay_us (20);

while (true)
{
temp_lectura = read_adc(); // Leemos Canal A0
delay_us(20); // esperamos para una correcta lectura
temp_actual = temp_lectura*((5.0/1023.0)*100.0);
lcd_gotoxy(1,2); // ubicamos cursor en LCD
printf(lcd_putc,"\nTemp: %3.1f\xDFC",temp_actual); // imprimimos valor
delay_ms(100); // esperamos
}
}
Nro.
LABORATORIO MICROCONTROLADORES
Página 7 de 7

IX. OBSERVACIONES Y CONCLUSIONES: (Deben estar convenientemente redactadas)

OBSERVACIONES:

• En la experiencia 1 a través de la simulación se observó la conversión de señales de


voltaje a valor ADC, dependiendo la variación de los valores mostrados en el LCD a
través de la variación de un potenciómetro en el rango de voltaje de 0 a 5V.

• En la experiencia 2 se observó a través de la simulación la lectura de dos entradas


analógicas en la pantalla LCD, el valor de un potenciómetro y el valor de un LDR.

• Se observó que si se muestra un variable flotante en la pantalla LCD se debe declarar


la letra “f” y si se muestra una variable de 16bits se debe declarar “Lu”

• En cuanto al reto de programación se observó que existe una mínima diferencia en la


temperatura que mide el sensor LM35 y la temperatura que se muestra en el LCD

• Atraves de este laboratorio se vio la conversión ADC en un microcontrolador PIC


16F877A compuesto por un módulo ADC.

CONCLUSIONES:

• En conclusión, en la experiencia 1 se realizo el funcionamiento de un conversor ADC


en un microcontrolador, teniendo la entrada de señales de voltaje y la salida de un
valor ADC.

• En conclusión, en la experiencia 2 solo se realizó la lectura, más no la conversión


ADC de 2 entradas analógicas.

• En conclusión, en la declaración de la variable que se va mostrar en la pantalla LCD


es importante tener en cuenta que si se desea mostrar una variable flotante se debe
digitar la letra “f” y “Lu” en el caso de una variable de 16bits.

• En conclusión, existe una mínima diferencia en la conversión (ADC) en el reto de


programación realizado donde se vio la entrada de una señal analógica proveniente de
un sensor de temperatura al canal analógico A0 del PIC 16F877A y mostrar la lectura
en la pantalla LCD.

• Como conclusión general, el uso de un convertidor analógico –digital en un


microcontrolador es muy necesario en la conversión de señales de voltaje
provenientes de sensores analógicos (temperatura, velocidad, calor, etc.) visto en este
laboratorio.

También podría gustarte