Uso del convertidor analògico digital de un microcontrolador

6
USO DEL CONVERTIDOR ANALÒGICO DIGITAL Los microcontroladores pueden incorporar un módulo de conversión de señal analógica a señal digital. Los módulos AD que utiliza Microchip hacen un muestreo y retención (simple y Hold) con un condensador y después utiliza el modulo de conversión (figura 1). El modulo de conversión A/D es del tipo de aproximaciones sucesivas. Funcionan con cuatro elementos básicos: un comparador analógico, una lógica de control, un conversor digital analógico DAC y el reloj que guía los pasos de la conversión. Los DAC son mucho más simples que los ADC y entregan resultados casi de inmediato. Cada número binario generado va siendo convertido en una tensión analógica Vout que luego se compara con la tensión de entrada que queremos medir Vin. Si son iguales (o los más cercanos posible), ¡eureka! Es el número binario que corresponde a Vin. Así de simple. Fig.1 Diagrama de básico de un conversor ADC de aproximaciones sucesivas. Ahora bien, siendo el conversor mostrado de 10 bits y pudiéndose generar hasta 1024 números binarios distintos, ¿se tendrán que hacer 1024 comparaciones? No, solo 10. Para entender mejor cómo funciona este ADC vamos a imitar su operación. Supongamos que el ADC trabaja con tensiones de

Transcript of Uso del convertidor analògico digital de un microcontrolador

Page 1: Uso del convertidor analògico digital de un microcontrolador

USO DEL CONVERTIDOR ANALÒGICO DIGITAL

Los microcontroladores pueden incorporar un módulo de conversión de señal analógica a señal digital. Los módulos AD que utiliza Microchip hacen un muestreo y retención (simple y Hold) con un condensador y después utiliza el modulo de conversión (figura 1). El modulo de conversión A/D es del tipo de aproximaciones sucesivas.

Funcionan con cuatro elementos básicos: un comparador analógico, una lógica de control, un conversor digital analógico DAC y el reloj que guía los pasos de la conversión. Los DAC son mucho más simples que los ADC y entregan resultados casi de inmediato.

Cada número binario generado va siendo convertido en una tensión analógica Vout que luego se compara con la tensión de entrada que queremos medir Vin. Si son iguales (o los más cercanos posible), ¡eureka! Es el número binario que corresponde a Vin. Así de simple.

Fig.1 Diagrama de básico de un conversor ADC de aproximaciones sucesivas.

Ahora bien, siendo el conversor mostrado de 10 bits y pudiéndose generar hasta 1024 números binarios distintos, ¿se tendrán que hacer 1024 comparaciones? No, solo 10.

Para entender mejor cómo funciona este ADC vamos a imitar su operación. Supongamos que el ADC trabaja con tensiones de referencia de 0 V y 5 V y que queremos medir una señal Vin de 4.00000 Volts. Como el ADC es de 10 bits, dará los 10 pasos mostrados en la siguiente tabla:

Page 2: Uso del convertidor analògico digital de un microcontrolador

Un conversor ADC es un circuito que toma valores analógicos de tensión y los convierte en códigos binarios. Los valores que definen los límites de las tensiones a medir se denominan voltajes de referencia y se representan por Vref- (el mínimo) y Vref+ (el máximo).

La resolución del conversor queda determinada por la cantidad de bits que representan el resultado de la conversión. Así, se pueden encontrar conversores de 8 bits, de 10 bits, etc.

Configuración del ADCON1 para las estradas digitales y análogas

Page 3: Uso del convertidor analògico digital de un microcontrolador

set_adc_channel(0); CON ESTA LÌNEA LE DICES AL PIC QUE USES CUAL ES EL CANAL DEL PUERTO A o E QUE USARAS PARA LEER LA ENTRADA ANALÒGICA.

setup_adc(ADC_CLOCK_INTERNAL); //configuras el convertidor para que trabaje con el reloj interno

setup_adc_ports(RA0_analog); //Configuras el canal del puerto a usar como analògico

CUANDO REALICE UNA CONVERSIÒN DE ANALÒGICO A DIGITAL TOME EN CUENTA LO SIGUIENTE

1. El conversor A/D del PIC16F877A tiene 10 bits de resolución2. 8 canales analógicos: RA0, RA1, RA2, RA3, RA5 (RA4 no es analógico) y RE5, RE6 y RE7

A) Configure el puerto A y E del PIC mediante el registro (ADCON1)

output_b(READ_ADC()); //Lee el canal analógico seleccionado anteriormente, y lo muestra en el puerto b

Page 4: Uso del convertidor analògico digital de un microcontrolador

Tabla 1

Page 5: Uso del convertidor analògico digital de un microcontrolador

Tabla 2

B) Mediante el registro (ADCON0)

1. Al usar este registro deberemos poner en el bit7 y en el bit6 la información adecuada que marca la tabla 2 para poder usar la frecuencia de reloj para la conversión.

2. Deberemos colocar en la posición adecuada la información que muestra la figura siguiente para seleccionar el canal que vamos a ocupar para introducir la señal analógica.

Es necesario colocar este bit en 1 para iniciar la conversión, cuando la conversión ha finalizado este se pone en 0 (este bit es borrado por hardware al terminar la conversión)

Page 6: Uso del convertidor analògico digital de un microcontrolador

1= Módulo convertidor está encendido

0= Módulo conversor es apagado y no consume corriente