Los ADC son cruciales para convertir todo tipo de señales analógicas a digitales, pero ¿cómo funcionan realmente?
Conclusiones clave
- Los ADC se utilizan ampliamente para convertir señales analógicas, como sonido y luz, en valores digitales que pueden usarse en diversas aplicaciones.
- La frecuencia de muestreo de un ADC determina la cantidad de lecturas tomadas por segundo, y las frecuencias de muestreo más altas permiten una representación de la señal más precisa.
- La tasa de bits de un ADC afecta la calidad de la muestra obtenida, y más bits dan como resultado mediciones más fluidas y precisas. Los diferentes tipos de ADC ofrecen diferentes compensaciones en términos de velocidad, precisión y consumo de energía.
Los convertidores de analógico a digital (ADC) son increíblemente útiles para convertir fenómenos del mundo real en valores que podemos utilizar en proyectos de programación. Pero, ¿cómo puede un ADC convertir señales analógicas en digitales que podamos usar en cualquier lugar?
¿Para qué se utilizan los ADC?
Encontrarás ADC en casi todas partes. Están en tu teléfono y convierten tu voz en una cadena de valores binarios. Están en tu auto, midiendo la rotación de tus ruedas. Están en los osciloscopios y ayudan a capturar señales y representarlas. Sin embargo, el lugar donde la mayoría de la gente los habrá utilizado es en el mundo del vídeo y el audio, donde llevar luz y sonido a un espacio digital es fundamental.
¿Qué es una frecuencia de muestreo? ¿Cómo afecta la frecuencia de muestreo a un ADC?
Una de las métricas principales más importantes de un ADC es la frecuencia de muestreo: la cantidad de lecturas tomadas cada segundo.
Un osciloscopio de muy alta gama podría tomar diez mil millones de muestras por segundo. El pequeño y valiente ADC MCP3008 puede soportar unos doscientos mil relativamente modestos. En el mundo del audio, una frecuencia de muestreo de 44.100 por segundo (44,1 kHz) es típica.
Cuantas más muestras tomemos, con mayor precisión podremos representar una señal. A veces esto es esencial; a veces no lo es. Digamos que estamos construyendo un banco de atenuadores (diseñado para controlar componentes electrónicos, como los que vería en una mesa de iluminación o audio) con unas pocas docenas de potenciómetros. En este caso, es poco probable que los valores que necesitamos medir cambien millones de veces por segundo, ya que nuestros dedos no pueden moverse tan rápido. Solo necesitamos suficientes muestras para que el resultado sea fluido y receptivo.
¿Qué es la tasa de bits? ¿La tasa de bits afecta la calidad de un ADC?
También deberíamos pensar en la calidad de la muestra que estamos obteniendo. Esto está determinado en gran medida por la tasa de bits, que nos dice cuántos estados de encendido y apagado podemos usar para representar digitalmente el voltaje. Cuantos más bits tengamos, más valores posibles podremos registrar en cualquier muestra determinada y más suave y preciso será el resultado final.
Hemos escrito sobre binario y cómo funciona., así que si no estás seguro, este es un buen lugar para comenzar. ¿Cuántos bits necesitamos? Nuevamente, depende de lo que estemos tratando de lograr. A veces, podemos estar limitados por el protocolo que estamos usando. Por ejemplo, el protocolo MIDI 1.0 está limitado a valores de siete bits (y ocasionalmente catorce bits). En otros casos, el factor limitante podría ser la percepción humana. Si la mayor fidelidad no produce ninguna mejora perceptible en el resultado, puede que no valga la pena.
¿Cómo mejora la multiplexación la calidad del ADC?
Chips ADC populares como el ADS1115 y el MCP3008 ofrecer muchos insumos. Pero bajo el capó, en realidad solo contienen un ADC. Esto es posible gracias a los multiplexores integrados en estos dispositivos. Los multiplexores están absolutamente en todas partes en el mundo de la electrónica y las telecomunicaciones. Son conmutadores digitales que actúan como control de tráfico para su ADC. El ADC puede muestrear un canal, luego el siguiente y luego el siguiente. Entonces, si tiene ocho canales y una frecuencia de muestreo de 200.000, puede rotar entre todos ellos, tomando 25.000 muestras por canal.
¿Qué tipos de ADC existen?
Los ADC funcionan de varias maneras, según el costo y las capacidades requeridas.
A ADC flash Funciona a través de un divisor de voltaje muy complejo. Un banco de resistencias divide el voltaje de referencia en incrementos, que luego se prueban con la entrada a través de un banco de comparadores. Los ADC flash son increíblemente rápidos, pero están limitados en cuanto a profundidad de bits debido a la cantidad de comparadores necesarios. También tienen hambre de poder por la misma razón.
A ADC de subrango busca compensar estas debilidades dividiendo el trabajo entre dos unidades separadas: una para calcular aproximadamente el voltaje y luego una segunda para calcularlo con precisión. Al dividir las cosas, podemos disminuir el número de comparadores. Algunos ADC de subrango dividirán el trabajo en tres etapas, con corrección de errores incorporada a lo largo del camino.
SAR (Registro de Aproximaciones Sucesivas) Los ADC hacen su trabajo a través de una especie de búsqueda binaria. Supongamos que tenemos ocho bits para llenar. El SAR comenzará desde 10000000, que es el valor medio (00000000 es el inferior y 11111111 es el superior). Si el voltaje excede este punto medio, el SAR mantendrá el dígito más a la izquierda en 1; si no es así, el SAR establecerá el dígito más a la izquierda en 0. Podemos repetir el proceso con el siguiente dígito y así sucesivamente de forma recursiva. Esto hará que el valor estimado se acerque gradualmente al valor real:
De esta forma, acotamos continuamente la búsqueda, dividiendo las posibilidades a la mitad y preguntando si el resultado es superior o inferior al punto medio. En este caso, el valor está entre 0 y 255; Después de algunas iteraciones, el ADC ha calculado que es alrededor de 77.
sigma-delta Los convertidores son probablemente los más difíciles de entender. Se utilizan para aplicaciones musicales y de medición de señales de alta precisión. Funcionan sobremuestreando una señal y refinando el resultado mediante filtrado y matemáticas endiabladamente complicados. Este proceso reduce efectivamente la frecuencia de muestreo al tiempo que aumenta la precisión. Estos ADC son excelentes cuando el ruido y la precisión importan más que la velocidad.
Finalmente, tenemos Integración de ADC, que son incluso más lentos que los sigma-delta. Funcionan con la ayuda de un condensador, cuya velocidad de carga se puede utilizar para determinar el voltaje de entrada. La frecuencia de muestreo aquí suele estar sincronizada con la frecuencia de la fuente de alimentación, lo que puede utilizarse para mantener el ruido al mínimo absoluto.
¿Qué es la teoría de Nyquist-Shannon?
Digamos que queremos describir una señal analógica de forma digital. Para hacer esto, necesitamos al menos dos puntos para cada ciclo dado: uno en la parte superior y otro en la parte inferior. Por lo tanto, nuestra frecuencia de muestreo debe ser al menos el doble de la frecuencia más alta que esperamos medir.
Esto se conoce como frecuencia de Nyquist, en honor al físico sueco-estadounidense Harry Nyquist. La teoría lleva el nombre de Nyquist y Claude Shannon (un destacado matemático y criptógrafo), pero no de Edmund Whittaker, a quien se le ocurrió la idea antes que cualquiera de ellos.
A quien le atribuyamos la teoría, hay un problema con ella. Es imposible saber de antemano cuándo llegarán la parte superior e inferior de una forma de onda. ¿Qué pasa si tomamos nuestras muestras a mitad de camino de la forma de onda entrante? Observe cómo un cambio en la señal entrante podría aplanar completamente nuestro resultado capturado:
O incluso alucinar nuevas formas de onda que ni siquiera existían antes:
Estas alucinaciones se conocen como alias.
El problema del alias
Probablemente esté familiarizado con la ilusión de la "rueda de carro" que a veces ocurre cuando se filma un objeto que gira. Las ruedas de un automóvil o las aspas de un helicóptero parecen girar hacia atrás, pero muy lentamente. En algunos casos, las cuchillas pueden detenerse por completo (con resultados francamente extraños; ¡mira el video a continuación!).
Al jugar un videojuego antiguo, es posible que también hayas notado que las líneas paralelas a veces producen extraños artefactos de deformación. Las vallas, las escaleras y los puentes a rayas empiezan a parecer muy peculiares. ¿O qué pasa con esos extraños silbidos que a veces escuchas cuando escuchas a alguien hablar a través de una conexión digital de mala calidad? Es distorsión, pero un tipo particular de distorsión. ¿Qué pasa con todas esas feas frecuencias que emergen del ruido? Si escuchas contenido armónicamente rico, como una batería, el efecto es aún más obvio, especialmente en los agudos.
Si comprende la causa de uno de ellos, estará en camino de comprenderlos todos. En el caso de la rueda de carro, la velocidad de fotogramas fija significa que no podemos capturar el movimiento correctamente. Si algo gira 350° en cada cuadro, es natural percibir que en realidad se mueve hacia atrás 10°. En otras palabras, no hay suficiente información para representar fielmente lo que está sucediendo. Las muestras que estamos tomando no están alineadas con lo que intentamos medir.
Este no es un problema exclusivo de la conversión analógico-digital. En muchos de estos casos, convertimos un tipo de señal digital en otro.
Entonces, ¿cuál es la solución? Hay varios. Podríamos aplicar un filtro especial para lidiar con estos artefactos, que es lo que hacen muchos ADC bajo el capó. O podemos tomar muchas, muchas más muestras de las que necesitamos. Cuantas más muestras tomemos, más precisa será nuestra imagen de la onda:
Muestra con mayor calidad para obtener los mejores resultados
Si encuentra este tipo de cosas interesantes, la buena noticia es que apenas nos hemos sumergido en este tema. Hay profundidades que explorar aquí: los ADC son extremadamente complicados.
Pero desde el punto de vista del usuario final o del entusiasta promedio de Arduino, también son muy simples. Entran voltajes y salen números. Entonces, cualquier cosa que esté buscando medir, ya sea el contenido de humedad de un trozo de suelo, las oscilaciones de un caja de voz humana, o una corriente de fotones que se refractan a través de una lente: hay muchas posibilidades de que haya un ADC que haga lo mismo. trabajo.