Está en la página 1de 21

JULIOZEBADUA BLOG

CONVERSOR ANALÓGICO A DIGITAL (ADC)

Fundamentos ADC | JulioZV

Pagina en Blanco Intencionalmente

logotipos y/u otros elementos de propiedad intelectual de terceros. ni por la utilización indebida que pudiera dársele. Atribución-No Comercial-Compartir Igual 2. no esta provisto su aprovechamiento a nivel profesional o industrial. han sido elaborados con gran cuidado por el autor y reproducidos por normas de control. usted puede derivar obras de esta.5). *Las Marcas Registradas. 2012 Pagina web: http://juliozebadua.5 (CC BY-NC-SA 2. .Conversión Analógica a Digital (ADC) Julio C.0. México. Zebadúa Vázquez Revisión 1. cuando se mencione alguno de estos dentro de esta obra es únicamente a manera de cita de referencia.blogspot. Esta licenciada por Creative Commons bajo. pertenecen a cada uno de sus propietarios. como fuente de información que se encuentran disponibles de manera pública en sus respectivos sitios web. Nota importante: La información contenida en esta obra tiene un fin exclusivamente didáctico y. Las indicaciones técnicas y los programas incluidos. por lo tanto. daños y perjuicios que se pudieran atribuir al uso de la información comprendida en esta guía. no puede comercializar ni las nuevas obras como la original.mx/ Derechos Reservados: Esta obra es propiedad intelectual de su autor como los derechos de publicación y reproducción. El autor no será jurídicamente responsable por: errores u omisiones.

se recomienda la lectura de la hoja de datos del MCU u cualquier otro componente ahí colocado. técnicas de programación. no domino ninguno de los temas. Al llegar al Capitulo 2. información y conocimiento obtenido durante mis estudios o trabajos. software y hardware. informativa y didáctica para el usuario final. dejando al usuario interesarse más por esta materia y considerar la investigación en diversas fuentes de información existente. material disponible y conocimiento adquirido. ni pretendo expresar nada más que lo mostrado en este trabajo. . Por ultimo. En las siguientes unidades se pretenderá dar una explicación concisa del uso de la Conversión Analógica y Digital que abreviaremos en muchos casos con su acrónimo en ingles ADC. con los microcontroladores (MCU. Por consiguiente en esta obra no tocaremos esos temas. dependen de las habilidades del desarrollador. que se mostraran a lo largo del trabajo no son necesariamente obligatorios. Citaremos de manera de referencia para el usuario algunos temas que deben de considerar para el trabajo de la conversión analógica a digital:           Transformada de Fourier Análisis de Fourier Transformada de Laplace Transformada Z Estadística Resistividad Temperatura Ecuaciones de Maxwell Teoría de Circuitos Semiconductores Entre muchos otros que dependerán de la finalidad del estudio. pretendo mostrar algunas anécdotas. Los métodos de programación. formas.Acerca del Tutorial Esta obra tiene la finalidad de ser una guía rápida. que se adapte a sus requerimientos y campo de estudio e implementación. La conversión analógica a digital como objeto de estudio en la rama de la ingeniería es un tema complejo y requiere de diversos temas tanto físicos y matemáticos para su trabajo y explicación. estructura del programa. microcontroladores (MCU). por su abreviación en ingles) más usados a nivel profesional o académicamente. debo aclarar que mis conocimientos son limitados.

. 20 .......................................................................................................................................................................................................................................................................................................................................................... 16 Conclusión ............................... 7 Familia Microchip ...................................................................................................... 12 RELOJ PARA LA CONVERSIÓN A/D ............................................................................................................................. 7 Convertidor Analógico a Digital en MCU ............................................................................................................ 5 Introducción........................................................ 6 Capitulo 2 .................................................. 5 Conversión Analógica a Digital ................................................................................. 9 Registros ADRESH y ADRESL ....................................................................................... 19 Bibliografía ................................................................................................................................................................................. 15 ¿CÓMO UTILIZAR EL CONVERTIDOR A/D? ................................................... 9 Requerimientos de adquisición A/D ............ 7 Operación................................Índice Capitulo 1 ..........

de ahí la importancia de usar el ADC. y la posibilidad de adaptar el algoritmo del cálculo a las circunstancias cambiantes.0 Representación del ADC . Muchas de las funciones del procesamiento de señales son tan simples que el procesamiento analógico responde a las necesidades (amplificación de audio. el procesamiento analógico carece de la funcionalidad requerida. Figura 1. la posibilidad de realizar cálculos complejos.Capitulo 1 Introducción La conversión analógica a digital está en todas partes de nuestro alrededor. Las ventajas más importantes del procesamiento digital contra el analógico es la capacidad de que un dispositivo realice el almacenamiento perfecto de señales digitalizadas. De manera personal es una de las funciones que más e usado en el desarrollo de mis circuitos y esto es por cuestiones de manipulación de sensores. En situaciones más complejas. la relación ilimitada señal-ruido.). etc. El procesamiento de señal digital ofrece extensiones importantes de esta funcionalidad. filtrado. En muchos equipos electrónicos esta presente un convertidor analógico-digital que enlaza nuestro mundo físico a las máquinas de cómputo digital. Los sensores que podemos considerar del tipo no industrial (es estándar usar salida de corriente la mas usada 4-20 mA) manejan una salida analógica o en su caso digital (SPI e I2C como protocolo mas usado) es por eso que existe una gran mayoría de sensores de los cuales nos entregan sus datos en forma de voltaje.

Las partes de los circuitos que implementan estas funciones es la muestra –o.2 Componentes del Convertidor Analógico a Digital . multiplexores. El diseño de ADC’s pueden ser realizados desde el uso de comparadores. 12. En la actualidad es posible comprar circuitos integrados (IC) que poseen resoluciones que van desde 8. Figura 1. Después del comparador un circuito digital procesa las decisiones en una representación digital de la señal utilizable. 10. buffers.seguimiento-y mantener el circuito en el que la toma de muestras se lleva a cabo. el convertidor digital-analógico y un mecanismo de comparación de nivel.1. Sin embargo en este trabajo usaremos los incluidos en los MCU como forma de aprovechar los diversos recursos que estos poseen. entre otros componentes electrónicos. fig. como es el caso de un ADC. aunque existen una diversidad de resolución y voltaje de operación. amplificadores operacionales. 24 y 32 bits por comentar. 1. Las funciones básicas de un convertidor analógico a digital son el tiempo y discretización de la amplitud. El circuito comparador es la ubicación donde los cambios de señal son previamente procesados de forma analógica en una decisión digital. decodificadores. registros.Conversión Analógica a Digital El convertidor analógico-digital compara la señal de entrada a un valor derivado de una referencia por medio de un convertidor digital-analógico. resistencias.

Sin embargo cabe denotar que el módulo de conversión interna de los microcontroladores es sólo uno. Consientes que cada microcontroladores en ocasiones es diferente o requiere de configuraciones de registros adicionales. el uso de esta guía. Familia Microchip Este proceso se realiza con el conversor interno de los microcontroladores. 1. La salida de este capacitor es la entrada al convertidor. La conversión implementada por los PICMicro cuenta con una resolución de 10 bits. La conversión de una señal analógica de entrada da como resultado un numero de 10 bits o sea el caso de la resolución de nuestro modulo ADC.3). tomando como referencia 10 bits de igual manera si la tensión es de 2. donde la configuración seria totalmente diferente a esta. En unidades posteriores mostraremos algunos ejemplos de ADC en MCU de otras marcas. Detallando lo anterior. consideraciones y configuración que se necesitan para implementar un ADC. Nota importante que mencionar es que en la unidad donde abordamos a la familia Microchip. y los múltiples canales se pueden leer pero no al mismo tiempo. 12 bits o más. el resultado será 512. la señal analógica de entrada carga un capacitor de muestreo y retención durante el periodo de adquisición.Capitulo 2 Convertidor Analógico a Digital en MCU Esta unidad mostrara la forma de implementar un ADC en ciertos modelos de MCU. registros. que es proporcional a los valores de referencia. Este módulo está incorporado en la mayoría de estos en su gama media y alta. lo que permite obtener un número con un rango de 0 a 1023 (10 bits) o de 0 a 4096 (12 bits). que por defecto son 0 volts y 5 volts. . Dependiendo de la complejidad del MCU un PIC puede tener varias entradas de señal análoga. como la interpretación de la hoja de datos del MCU ayudara a facilitar el trabajo de programación como resolución de problemas. tiene una tensión de 0 volts su resultado es 0. sin embargo como se menciona anteriormente la idea mostrada ayudara a facilitar su uso.5 voltios. Esto significa que si una entrada análoga. y si la tensión es de 5 volts el resultado de la conversión es 10231 (fig. trataremos de explicar los algoritmos. El convertidor genera un resultado digital de este nivel analógico por medio de aproximaciones sucesivas.

4. Bloque del ADC de PIC16F887 . Fig. 1.Fig.4 se muestra la representación del bloque del ADC de un PIC16F887 que posee 14 canales de entrada analógica. 1. Referencia de ADC Como referencia en la fig.3. 1.

Los canales de entrada analógicos deben tener su correspondiente TRIS bits seleccionados como entradas. y bit a la bandera de interrupción A/D. véase en la siguiente sección "A/D Requisitos de adquisición. el canal seleccionado debe ser adquirido antes de la conversión se ha iniciado. ADIF. Para determinar el tiempo de la muestra." Después de este tiempo ha transcurrido la adquisición de la conversión A/D se puede iniciar. el resultado se carga en este A/D par de registros de resultado. . El funcionamiento del convertidor A/D está bajo el control de los bits de cuatro registros:     ADRESH Registro alto del resultado de la conversión A/D. ADCON0 Registro de control 0. ADRESL Registro bajo del resultado de la conversión A/D. Después de que el módulo A/D se ha configurado como se desea.5 Registro de almacenamiento de 16bits ADRESH:ADRESL del ADC. Los registros ADRESH:ADRESL contienen el resultado de 10 bits de la conversión A/D (fig. Cuando la conversión A/D es completa. el bit GO/DONE (ADCON0 <2>) se borra.5) . 1. se establece.Operación El convertidor A/D tiene una característica única de ser capaz de funcionar cuando el dispositivo está en modo SLEEP. Registros ADRESH y ADRESL Fig. y ADCON1 Registro de control 1. 1.

Configurar una interrupción A/D (si lo desea):  Borrar el bit ADIF  Establezca el bit ADIE  Establezca el bit GIE 3. 4. ya sea por:  Sondeo para el bit GO/DONE sea borrado o el bit ADIF se establezca O  Esperar a la habilitación de la bandera A/D de interrupción. Configurar el A/D del módulo:  Configurar pines analógicos //Tensión de referencia y I/O digitales (ADCON1)  Seleccione el canal de entrada A/D (ADCON0)  Seleccione un reloj de conversión A/D (ADCON0)  Encienda un módulo A/D (ADCON0) 2. Iniciar la conversión:  Establezca el bit GO/DONE (ADCON0) 5. Manejo de resultado del ADC . Leer Resultados A/D del par de registros (ADRESH: ADRESL). borrar el bit ADIF. 1.6. Fig. 7. 6. Para la siguiente conversión.Los siguientes pasos se deben seguir para hacer una conversión A/D: 1. si es necesario. Espere a que la conversión A/D sea completada. vaya al paso 1 o paso 2 según sea necesario. Espere el tiempo de adquisición requerido.

Fig. El tiempo de adquisición es el tiempo que el condensador de muestreo y retención mantiene el módulo A/D conectado al nivel de tensión externa de la señal analógica. que se inicia cuando el bit GO está establecido. de 12TAD (TAD = Tiempo de conversión por cada bit).7. Figura 1. 1.6). La suma de estos dos tiempos es el tiempo de muestreo. El formato del resultado de la conversión depende del bit ADFM del registro ADCON1. 1. estos registros se pueden utilizar como registros de propósito general. En caso de que no se utilice el convertidor A/D.Una vez teniendo el resultado de la conversión en los registros de almacenamiento. Secuencia de conversión A/D . Luego está el tiempo de conversión. Hay dos maneras de manejarlo: justificación a la izquierda y a la derecha que simplifica en gran medida su uso (fig. Existe un tiempo de adquisición mínimo para garantizar que el condensador de retención se carga a un nivel que permite obtener la precisión deseada para la conversión A/D.7 muestra la secuencia de la conversión. y los términos que se utilizan.

cuyo valor mínimo es de 20uS aproximadamente. A medida que la impedancia se reduce. la Ecuación 1. el condensador de carga de retención (CHOLD) se debe permitir cargar completamente al nivel de voltaje de entrada del canal. La impedancia máxima recomendada para fuentes analógicas es de 10 kW. Para calcular el tiempo de adquisición mínimo. Ecuación 1. Después de que el canal de entrada analógica se selecciona (cambia) esta adquisición debe hacerse antes de que la conversión pueda ser iniciada. Por consiguiente.10.9 Tiempo Mínimo de Carga A/D . para realizar una conversión con precisión. no se olvide este detalle. El conmutador de muestreo (RSS) varía la impedancia con la tensión del dispositivo (VDD).10. Esta ecuación se supone que 1/2 LSB de error se usa (1024 pasos para el A / D). es necesario proporcionar un cierto tiempo muerto entre seleccionar una entrada analógica específica y la medición misma. Se utiliza una ecuación para hacer cálculo de tiempo de adquisición con precisión. el tiempo de adquisición puede ser disminuida. El modelo de entrada analógica se muestra en la Figura 1. La impedancia de la fuente (RS) y el conmutador interno de muestreo (RSS) afectan la impedancia directamente al tiempo necesario para cargar el condensador CHOLD. Este tiempo se le denomina “tiempo de adquisición” y generalmente depende de la impedancia de la fuente. Microchip explica que para satisfacer la precisión especificada del convertidor A/D.Requerimientos de adquisición A/D Para que el convertidor A/D alcance su exactitud especificada.8 puede ser utilizado.8 Tiempo de Adquisición Fig. El error LSB 1/2 es el error máximo permitido para el A / D para cumplir con la resolución especificada. 1. la Figura 1.

.En la Ejemplo 1. El Ejemplo 2 muestra las mismas condiciones que en el Ejemplo 1 con sólo la impedancia de la fuente hizo un valor mínimo (RS = 50 W). Ejemplo 1 Cálculo del Tiempo de Adquisición Mínimo Requerido Ahora para obtener una idea de lo que sucede con el tiempo de adquisición cuando la impedancia de la fuente es un valor mínimo (RS = 50 W). muestra el cálculo del mínimo requerido TACQ tiempo de adquisición. Este cálculo se basa en los supuestos del sistema después de la aplicación.

Ejemplo 2 Cálculo del Tiempo de Adquisición Mínimo Requerido (Caso 2) Figura 1.10 Modelo de Entrada Analógica .

6 uS. pueden variar los tiempo y requerimientos de adquisición. RELOJ PARA LA CONVERSIÓN A/D El tiempo necesario para realizar una conversión A/D cuyo resultado es 1 bit se define en unidades de TAD. Estos bits se almacenan en el registro ADCON0. Para realizar una conversión completa de 10 bits se requiere un poco más tiempo de lo esperado. Nota 4: Después de la conversión se ha completado. Como la frecuencia de reloj así como la fuente de conversión A/D son determinadas por software. es necesario seleccionar una de las combinaciones de los bits disponibles ADCS1 y ADCS0 antes de empezar a medir voltaje en una de las entradas analógicas.Nota 1: El voltaje de referencia (VREF) no tiene ningún efecto sobre la ecuación. Nota 5: Es importante leer la hoja de datos de cada MCU ya que aunque pertenezcan a la misma familia. un retraso de 2TAD se debe de esperar como mínimo para iniciar la siguiente conversión. Durante este tiempo el condensador de retención no está conectado al canal A/D seleccionado de entrada. Nota 3: La impedancia máxima recomendada para fuentes analógicas es de 10kW. . Se requiere que sea como mínimo 1. Nota 2: La carga del condensador (CHOLD) no está dado de alta después de cada conversión. son 11 TAD. ya que se anula.

Al leer el estado de puerto con las entradas analógicas. Los bits utiliza dos para este propósito se almacenan en los registros TRIS y ANSEL (ANSELH). El grado más bajo de esta escala representa el voltaje Vref-. el estado de los bits correspondientes se leerá como cero lógico (0). La siguiente figura muestra los voltajes de referencia seleccionables así como sus valores máximos y mínimos. sin reparar en el valor del voltaje real en el pin. es necesario considerar lo siguiente (PIC16F887 se tomo como referencia):  El convertidor A/D no hace diferencia entre señales digitales y analógicas.   . los pines se deben configurar como entradas analógicas antes de que empiece el proceso de conversión. Los valores en las celdas sombreadas están fuera del rango recomendado.Cualquier cambio de la frecuencia de reloj del microcontrolador afectará a la frecuencia de reloj de la conversión A/D.1 =1023). y Hablando en términos generales. la medición de voltaje en el convertidor está basado en comparar voltaje de entrada con una escala interna que tiene 1023 grados (210 . mientras que el grado más alto se refiere al voltaje Vref+. ¿CÓMO UTILIZAR EL CONVERTIDOR A/D? Para llevar a cabo una conversión A/D sin problemas así como para evitar los resultados inesperados. En la siguiente tabla se muestran las características de la frecuencia del dispositivo. lo que puede perjudicar al resultado de la conversión A/D. Para evitar errores en medición o dañar el chip.

Para medir el voltaje en un pin de entrada por medio del convertidor A/D. Seleccionar uno de los canales de entrada CH0-CH13 del registro ADCON0.Configuración del puerto:  Escribir un uno lógico (1) a un bit del registro TRIS.   Paso 3 . PEIE y GIE. Seleccionar el formato de dato por medio de ADFM del registro ADCON1. lo que resulta en configurar el pin apropiado como una entrada. se debe realizar lo siguiente: Paso 1 .Configuración del módulo de la conversión A/D:    Configurar voltaje de referencia en el registro ADCON1. Poner a uno los bits ADIE. . Seleccionar una señal de reloj de la conversión A/D en el registro ADCON0. Habilitar el convertidor A/D al poner a uno el bit ADON del registro ADCON0. Escribir un uno lógico (1) a un bit del registro ANSEL. lo que resulta en configurar el pin apropiado como una entrada analógica.  Paso 2 .Configuración de la interrupción (opcionalmente):   Poner a cero el bit ADIF.

2.Tiempo de espera para que transcurra el tiempo de adquisición (aproximadamente 20uS). ya que cada uno de estos registro podrían variar con respecto al MCU que se esta usando independientemente que sea de la misma familia 16F o 18F.Inicio de la conversión poniendo a uno el bit GO/DONE del reg istro ADCON0. podrá facilitar su entendimiento. Paso 6 . Paso 5 . Sin embargo en el apartado de ejemplos.7 (pagina 106) de la hoja de datos del 16F887.Lectura del resultado de la conversión A/D:  Leer los registros ADRESH y ADRESL. no serán tocados en esta guía. Si usted se dirige al Tema 9.Paso 4 . se muestran algunas configuraciones de estos registros así como ejemplos prácticos del ADC. Paso 7 . ahí se encuentra la configuración de los registros de A/D y con ayuda del ejemplo que encuentra en la carpeta anexa. .Esperar a que la conversión A/D finalice. Con la configuración de los Registros ADCON0 y ADCON1.  Es necesario comprobar en el bucle de programa si el bit GO/DONE está a cero o esperar que se produzca una interrupción (deberá estar anteriormente habilitada).

16F88 y 18F4550). es importante recordar que la lectura de la hoja de datos es la mejor manera de configurar y conocer las características de este modulo. el uso de esta se observa en otra guía disponible en este mismo sitio WEB. Todos los ejemplos implementan el uso de las librerías de cada compilador.Conclusión Esperemos que esta guía sirva de referencia para el manejo y configuración del ADC. El modulo conversor A/D posee varias funciones que no fueron tocadas en esta guía o totalmente detalladas y una de ellas es el uso de los voltajes de referencia VREF+-. ya que estas deben de ser declaradas por medio de configuración por bits de cada registro. puesto que es la única manera de aprovechar al máximo el ADC sin las limitaciones de la librería que por default nos brindan cada compilador. . Es por eso la importancia de explicar los temas del Capitulo 2. 16F877a. Se brindan ejemplos prácticos usando lenguajes de programación como MikroC y CCS para los MCU de Microchip (16F887. En el diseño de circuitos obtendremos dudas y eso incluirá sumergirse más en el tema para obtener respuestas. Finalizando la obra y agradeciendo el tiempo que tomo en leer este pequeño aporte. y el modulo ADC posee una bandera de interrupción. solo me vasta decir. es practicándolas en los diversos proyectos que diseñemos. módulos comparadores y conversiones de muestreo rápido. Es importante mencionar que ninguno de estos por default usa interrupciones así como propiedades avanzadas que mejoren el rendimiento. IDE ARDUINO 1.0 para la plataforma Arduino UNO R1 y CCS (Code Composer Studio v5) para el MSP430 LAUNCHPAD de TEXAS INSTRUMENT. La única forma de dominar y perfeccionar el uso de las cosas. Los microcontroladores poseen interrupciones que pueden ser activadas por hardware o software. totas estas están explicadas en la hoja de datos de cada MCU.

Dogan Ibrahim. 1st Ed. mikroElektronika. Milan Verle. (2008). ISBN-13: 978-0750686112 . ISBN-13: 978-86-84417-17-8.aspx?type=datasheet http://www.com/ http://www. Newnes.com/TechDoc. 1st edition (2009).todopic.microchip.Programming in C.Bibliografía Paginas WEB: http://www.ar/foros/ Libros: PIC Microcontrollers . Advanced PIC Microcontroller Projects in C: From USB to RTOS with the PIC 18F Series.com.mikroe.