practica microcontroladores
DESCRIPTION
sencilla practica de microcontroladores de convertidor AD con despliegue de resultados con ledsTRANSCRIPT
BENEMERITA UNIVERSIDAD
AUTONOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA
ELECTRONICA
MICROCONTROLADORES Y DSP´S
PRACTICA NUMERO 3
CONVERSOR ANALOGICO DIGITAL CON EL PIC16F877A
DR. JOSÉ FERMI GUERRERO CASTELLANOS
1
Introducción
En el procesamiento de señales es común encontrar dispositivos capaces de
transmitir los datos a gran velocidad y de convertirlos a señales que pueda
analizar la computadora.
Las señales encontradas en la naturaleza suelen ser siempre de tipo analógico,
para el estudio de dichas señales es necesario acondicionarlas para
comprender su comportamiento, existen dispositivos capaces de transformar
las señales en códigos binarios, los cuales a través de la rama de la electrónica
asociada a esto (Procesamiento digital de señales) puede llevar a cabo un
determinado propósito para esta; las aplicaciones más usuales son el control
digital de procesos.
Marco Teórico
Iniciando con los dispositivos de conversión analógica/digital cabe destacar a
los dispositivos SH de muestreo y lo que es un muestreador ya que estos se
encargan de tomar la muestra de la señal y convertirla en señales muestreadas
para poder llevarse a cabo la conversión digital de la señal.
¿Qué es un muestreador?
Es un dispositivo que convierte una señal analógica en trenes de pulsos de
amplitud modulada o en una señal digital:
Uno de los inconvenientes de estos dispositivos es que si no encontramos un
periodo de muestreo apropiado de la señal para la conversión de las señales,
esta puede funcionar a altas frecuencias y mandar datos erróneos al
2
computador, este fenómeno es conocido como traslapamiento y aliasing al
parecer las señales están tan juntas que parecen otras señales:
El dispositivo SH Sample Hold en inglés o retenedor de muestras, lleva a cabo
la tarea de retener el voltaje en caso de una señal alterna, y mantener ésta hasta
la siguiente muestra para que sea capaz de representarse en intervalos de
tiempo discreto.
Como se muestra en la figura del retenedor, el capacitor retiene el voltaje de la
señal y este se mantiene cada vez que se cierra y abre el switch pero el
problema a considerar es el elemento resistivo con el cual también se genera
un retraso por el factor RC.
La exactitud del retenedor depende del periodo de muestreo de este debe de
ser mucho menor a la frecuencia a la que se trabaja la señal, esto es que no se
produzcan los efectos antes mencionados.
Objetivo
A través de un microcontrolador PIC16F877A implementar un convertidor
analógico digital con resolución de 10 bits.
3
Desarrollo
Mediante el desarrollo de esta práctica fue necesario la utilización de 2
software una es para la programación en ensamblador MPLAB y el otro es
Proteus para simulación de nuestro programa y el PIC.
La conexión de los dispositivos se realizara de la siguiente forma:
El potenciómetro conectado en la entrada RA0 del PIC variara la tensión en el
convertidor analógico digital y este a su vez mostrara un código binario ya que
la resolución para este microcontrolador es de 4.8mV por BIT.
Programación: la programación del dispositivo en si no es demasiado código,
para esto en ensamblador tenemos lo siguiente, 1 conversor analógico digital y
8 canales analógicos capaces de ser digitales o mixtos.
Tenemos la tensión de referencia de 5V dc entonces mantenemos solo como
entrada la puerta A y el bit 0 del PIC.
Código: desarrollo del código en ensamblador MPLAB
4
list P=16F877A
#include<p16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
;****declaracion de los registros a usar****
estado equ 0x03
puerto_a equ 0x05
puerto_b equ 0x06
puerto_d equ 0x08
adcon0 equ 0x1f
adcon1 equ 0x9f
adresh equ 0x1e
adresl equ 0x9e
var1 equ 0x20
;****comenzando el programa*****************
org 0
goto inicio
org 5
inicio bsf estado,5
clrf puerto_b
clrf puerto_d
movlw 0x10 ;00000000 justificacion a la izq
movwf adcon1 ;todos los bits del PORTA son Analogicos
bsf puerto_a,0 ;entrada PORTA,0
bcf estado,5
clrf puerto_b
clrf puerto_d
comienzo movlw 0x81 ;frecuencia de 32*Tosc->Tad>1.6us
movwf adcon0 ;canal RA0 y activo el Conv. A/D
call delay ;retardo antes de la conversion > 2*Tad
bsf adcon0,2 ;inicia conversion
descicion btfss adcon0,2 ;checamos si es 1 el bit 2 de adcon0
goto comienzo
bsf estado,5 ;saltamos a banco1 para no perder
movf adresl,0 ;el valor del adresh al ser pasado al registro
bcf estado,5 ;w y posteriormente a f
movwf puerto_d ;mostramos parte baja en puerto_d
movf adresh,0 ;mostramos parte alta en puerto_b
movwf puerto_b
goto descicion
delay movlw 0x15 ;retardo > 2*Tad lo aconsejado
movwf var1
con1 decfsz var1,1
goto con1
return
end
5
Materiales utilizados 1 protoboard
1 PIC16F877A
1 cristal de cuarzo de 4Mhz
10 resistencias de 330Ω
1 potenciómetro de 10KΩ
1 push button
1 resistencia de 10KΩ
1 resistencia de 100Ω
10 LED´s color verde
Cable para protoboard
Simulación Implementamos el circuito con la configuración mencionada en la etapa del
desarrollo, lo simulamos en el software Proteus:
como se observa en la figura, el máximo voltaje de 5 volts tiene la
combinación binaria ‘1111111111’b (1024d).
6
El valor de 0 se muestra ‘0000000000’b 0 decimal pero si tenemos un voltaje
de 3.8V, tenemos la siguiente combinación:
‘1100001010’b 778decimal, que al ser multiplicados por la resolución del
convertidor 4.8mV por BIT nos da aproximado, 3.7344V.
7
Implementación
Al realizar la implementación de nuestro circuito encontramos que había una
pequeña variación entre las etapas de cambio en la tensión, tenemos el
potenciómetro variando la corriente de entrada dando asi una tensión de 0 a
5V aprox.
8
Conclusiones
A pesar de implementar el circuito convertidor analógico digital encontramos
que algunas lecturas no fueron tan seguras, ya que tiene un pequeño error de
cuantificación a la salida, concluimos que desde el inicio cuando obtuvimos la
resolución con la formula expuesta en clase también tenemos puntos
decimales después del 4.8, por lo tanto a pesar de ser una lectura no muy
exacta cuenta el convertidor analógico digital con aplicaciones diversas.
Bibliografía
Microcontroladores y DSP´s, apuntes del curso, Doctor Jose Fermi
Guerrero Castellanos.
Microcontroladores Diseño Practica de aplicaciones: PIC16F8xx, 2da
edición, 2da parte, Jose Angulo Usategui, Susana Romero Yesa.