¿Qué son los ADC (convertidores analógicos a digitales) y cómo funcionan?
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 coche, midiendo la rotación de tus ruedas. Están en 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 es fundamental llevar luz y sonido a un espacio digital.
¿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, es posible que estemos limitados por el protocolo que utilizamos. 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 el aumento de la 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. Por lo tanto, si tiene ocho canales y una frecuencia de muestreo de 200 000, puede rotarlos todos y tomar 25 000 muestras por canal.
¿Qué tipos de ADC existen?
Los ADC funcionan de varias maneras, según el costo y las capacidades requeridas.
Un Flash ADC 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.
Un ADC de subrango busca compensar estas debilidades dividiendo el trabajo entre dos unidades separadas: una para calcular aproximadamente el voltaje y luego una segundo para resolverlo 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 aproximación sucesiva) Los ADC realizan su trabajo mediante una especie de búsqueda binaria
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.
Los convertidores Sigma-delta 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 ADC integrados, 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 antes ni siquiera existían:
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 alguien habla 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 la carreta, 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 este tipo de cosas le parecen 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, independientemente de lo que esté buscando medir, ya sea el contenido de humedad de un trozo de suelo, las oscilaciones de una laringe 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.
Deja una respuesta