Está en la página 1de 7

Convertidor Analógico Digital (ADC)

Con el PIC18F887

Materia: Microcontroladores

Mtro. Darcy Daniela Flores Nieblas

Ochoa Borbón Eleazar

Cd. Obregón, Sonora 01 de abril del 2020


Descripción

El convertidor analógico digital es capaz de convertir una señal de voltaje variable en valores
digitales a una resolución de 8 o 10 bits. Además, se puede llegar hasta a 50K muestras por
segundo, lo que es ideal para proyectos de adquisición de datos como Datalogger, etc. A
continuación, se muestra las características y se describe los registros involucrados con el
convertidor ADC y se realizaran ejemplos.

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


• 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.
A continuación, se mostrarán imágenes con los registros involucrados al ADC:

Figura1. Registro de control A/D 0.


Figura2. Registro de control A/D 1.
Figura3. Registro de control A/D 2.

Figura4. Registro de control de interrupciones.


Para una correcta conversión se deberán seguir los siguientes pasos:

El módulo interno A/D del PIC incorpora un condensador de muestreo como muestra la
imagen de arriba. Entonces antes de dar inicio a una conversión A/D hay que asegurarnos
de que el condensador haya sido cargado con la tensión suministrada en el canal
seleccionado, esto viene a ser como el tiempo de adquisición. Existen 2 formas de generar
este tiempo.

1. Por Software: se establece por código un tiempo simbólico igual al tiempo de


adquisición y luego se inicia una conversión A/D.
2. Automático: se configura un Tiempo de Adquisición que se establecerá de forma
automática entre, la orden de inicio de conversión y muestreo de la señal para iniciar
la conversión. Este tiempo se puede configurar a través de los bits ACQT[2:0] del
registro ADCON2.
Según la hoja de datos de este PIC se dice que:

1. Tacq = Tiempo de Adquisición.


2. Tad = Tiempo de Conversión (por cada bit, para 8 o 10 bits).
Tacq >= 2.45uS

0.7uS < Tad < 1.3uS

Luego de saber cuál es el Tacq mínimo y Tad por cada bit, es necesario saber cuánto debe
ser el tiempo total requerido para una correcta conversión A/D. Para una resolución de 10
bits.

Tiempo Total = Tacq + Tconversion + Tdescarga.

Tiempo Total = 2.45uS + 10*(1.3uS) + 3uS


Tiempo Total = 19.45uS ≈ 20uS

En la siguiente imagen se muestra una tabla del tiempo de adquisición (Tad) respecto a la
Fosc, esto nos indica cual debe ser el divisor de la Fosc para respetar el Tiempo de
Adquisición y Conversión.

Figura5. Tabla del tiempo de adquisición.

Ejemplo:

unsigned int temp_res;

void main() {

ADCON1 = 0x0D;

CMCON = 0x07;

OSCCON= 0X77;

TRISA = 0xFF; // PORTA como entrada

TRISD = 0; // PORTD como salida

TRISB = 0; // PORTB como salida


do {

temp_res = ADC_Read(2); // Get 10-bit results of AD conversion

PORTB = temp_res; // Send lower 8 bits to PORTB

PORTD = temp_res >> 8; // Send 2 most significant bits to RD1, RD0

} while(1);

Bibliografia:

https://www.makerelectronico.com/convertidor-analogo-digital-adc-pic18f4550/

También podría gustarte