Un ADC ( Conversor analógico a digital ) es un sistema que transforma señales analógicas en señales digitales. Aunque no lo creas estamos rodeados de ellos, en casi cualquier circuito o aparato que interactúe con el medio hay un conversor analógico digital. Y es que son tan útiles como para estar incluso en tu smartphone.

Piénsalo de esta manera, si un circuito interactúa con el medio, es porque usa transductores, sensores, para poder «leer» una magnitud física. La mayoría de los sensores que encontramos en el mundo real son analógicos, es decir, modifican algún parámetro constructivo en función de la magnitud física que tratemos de  medir. Por ejemplo un sensor de temperatura como lo es la PT100, modifica su valor de resistencia en función de la temperatura a la que se ve sometida., tal y como se observa en su curva de calibración.

Curva calibración PT100
Curva calibración PT100

El gran problema, la gran solución

Si bien la mayoría de sensores son analógicos, todos los microprocesadores, con los que trabajamos y que son los que deben procesar la información suministrada por el sensor, son digitales, es decir, solo pueden procesar señales binarias.

Un conversor analógico a digital nos permite convertir una señal de origen analógico en una señal digital que si puede ser procesada por un micro.

A día de hoy, encontramos ADC en cualquier cualquier dispositivo, por ejemplo, en un smartphone donde es usado para leer el micrófono, el micrófono de cancelación de ruido (suponiendo que tiene un procesamiento digital) y muchos sensores como acelerómetro, giroscopio, termómetro sensor de proximidad a la pantalla, …

El conversor analógico a digital más sencillo

Antes de pasar a analizar los ADC comerciales vamos a hacer dos pequeños experimentos usando amplificadores operacionales.

Si usamos un amplificador operacional y lo configuramos en bucle abierto, es decir, como comparador, habremos creado un ADC de un bit de salida que nos permitirá saber si la tensión que estamos midiendo es superior a un determinado nivel de referencia.

Comparadores_Una_salida
Comparadores_Una_salida

En el esquema se observa como conectamos la señal que queremos medir en la entrada no inversora, en este caso un potenciómetro, y la señal de referencia, formada por un divisor de tensión, la llevamos a la entrada inversora, la salida la conectamos a una resistencia que limitará la corriente para controlar el LED que se encuentra a continuación.

Si la tensión que estamos midiendo es superior a 3.33v (tensión de referencia fijada en el divisor de tensión) se encenderá el LED, es decir nuestro ADC de un bit estará en nivel alto. Si por el contrario el LED está apagado quiere decir que la tensión es inferior a 3.33v y por tanto la salida del ADC será un 0.

Un ADC de dos bits

Imagina montar un segundo amplificador tal y como se muestra en el siguiente esquema.

Comparadores_Dos_salidas
Comparadores_Dos_salidas

Básicamente tenemos un circuito ADC de dos bits de salida en el cual podemos categorizar nuestra señal en tres rangos, de tensión.

  • Cuando los dos amplificadores operacionales tienen su salida en 0 binario la señal esta entre 0v y 1.66v
  • Cuando el primer amplificador activa su salida la señal estará entre 1.66v y 3.33v
  • Y cuando ambos amplificadores están activos la señal será superior al 3.33v

En realidad existen otras técnicas para crear ADCs con mayor bits de salida como el conversor de aproximaciones sucesivas o los de doble rampa, ya que a veces, usar miles de comparadores no es la solución. Pero esto lo veremos en otro artículo.

Circuitos integrados con conversor analógico a digital

Como norma general cuando necesitamos implementar un ADC en uno de nuestro circuitos electrónicos no usamos AmpOp para montar los ADC. Salvo que necesitemos un solo bit de salida. En cualquier otro caso, usaremos un circuito integrado que integre en su interior todo lo que necesite para proporcionarnos una salida digital.

Existen microcontroladores que incorporan de forma integrada un ADC, así que si tenemos en mente usar un micro en el proyecto, puede ser una buena idea usar uno de estos. En otro caso podemos usar integrados como el ADS7924 de Texas Instruments. Este último ADC es el que podemos encontrar en la joven pero mítica Icezum Alhambra.

El ADS7924 es un integrado que nos permite leer 4 señales analógicas y obtener su salida mediante I2C, esto es ideal ya que podemos acceder a los datos de lectura con un micro o con una FPGA.

1024 en las entradas analógicas de Arduino

Seguro que ya tienes en mente que cuando usas una entrada analógica de Arduino obtienes una lectura cuyo valor varia entre 0 y 1024. Pero a nivel del conversor analógico a digital ¿Qué significa esto?

  1024 \ = \ 2 ^{10}

Es decir, que con 10 bits podemos obtener 1024 combinaciones binarias. Si suponemos que el ADC del micro está compuesto por comparadores, este famoso número significa que tenemos 1024 comparadores.

Considerando que tuviéramos 1024 comparadores tendremos que usar un codificador para poder leer el valor con tan solo 10 pines digirales o incluso con 2, si usamos I2C.

Recuerda que cuantos más bits más precisión a la hora de leer el dato, pero más difícil será manejar los datos ya que son más grandes.

Enrique Gómez

Ingeniero Electrónico Industrial y Automático, amante de la comunicación audiovisual y de la divulgación ingenieril y científica. Friki de Star Wars, cuenta más de lo que parece. Puedes saber más sobre mi y sobre mis trabajos en www.enriquegomez.me