¿Cómo se cambia el voltaje analógico a binario?

Solo he visto esto hecho usando circuitos D-Word en Radar, estoy seguro de que hay otras formas de hacerlo.

De todos modos, utiliza un circuito de resistencia de escalera como:

| -1R- | ->
| -2R- | ->
| -3R- | ->
| -4R- | ->
| -5R- | ->
| -6R- | ->
| -7R- | ->
| -8R- | ->

En el otro lado de estos están las puertas lógicas. Voltajes analógicos más altos alimentan más de las puertas lógicas. Su MSB sería la resistencia más grande, si la potencia de salida supera un cierto voltaje, la puerta lógica genera un 1.

Entonces, si tuviera 3.21 voltios, por ejemplo, podría verse así:

| -.05R- | -> 0
| -.1R – | -> 1
| -.2R – | -> 1
| -.5R – | -> 0
| -1R – | -> 1
| -2R – | -> 1
| -4R – | -> 1
| -8R – | -> 0

Entonces, su generador de D-Word combinará las salidas de compuerta o en un circuito simple, esto simplemente iría a los controladores de línea y saldría como una palabra paralela de 8 bits. Dependiendo de cómo esté diseñado, los bits podrían simplemente sumarse para mostrar un valor. Si R = .5 ohmios, entonces 8R podría ser 4V, 4R, 2V, 2R 1v, etc., por lo que su salida en serie sería 01110110, que debería ser aproximadamente 3.21V

El primer paso puede ser un filtrado opcional, luego un muestreo de Nyquist. Después de eso, lo alimenta a través de un ADC (convertidores analógico a digital) para convertirlo a sus bits equivalentes. Se utilizan varias técnicas para esta conversión.

Se hace con un convertidor analógico a digital, o ADC para abreviar. Hay muchos tipos diferentes, todos los cuales tienen sus propias ventajas y desventajas especiales. Todos involucran uno o más comparadores analógicos, un dispositivo para determinar si el voltaje de entrada es mayor o menor que alguna referencia, y la mayoría también involucra un convertidor digital a analógico, o DAC para abreviar, que es exactamente lo contrario de un ADC.

Para aplicaciones de velocidad extremadamente alta, como video en tiempo real, normalmente encuentra un convertidor Flash. Este es el tipo más tosco y costoso en términos de hardware, pero puede dar un resultado en nanosegundos o incluso picosegundos y eso justifica los problemas y los gastos. Utiliza un comparador analógico por estado de salida , no por bit. Por lo tanto, un ADC Flash de 4 bits tiene dieciséis comparadores, uno para cada estado de salida de 0 a 15. Un convertidor Flash de 16 bits necesita 65.536 comparadores. Todos están conectados a la misma entrada, y cada uno tiene una única salida para mostrar “más alto” o “más bajo” que su nivel de referencia particular. Las salidas se alimentan a un codificador lógico enorme que proporciona una salida binaria correspondiente al comparador de números más alto que es “más alto”. Entonces, si tenemos un convertidor de 2 bits (hagámoslo simple) con cuatro comparadores en 0, 1, 2 y 3, y lo alimentamos con un voltaje de 2.5, C0 C1 y C2 dicen “más alto” y C3 dice “más bajo”, entonces la lógica de salida devuelve un valor de 2.

El tipo habitual de ADC se llama aproximación sucesiva, porque hace exactamente eso. Utiliza un DAC para alimentar una entrada de un solo comparador analógico, la otra entrada es el voltaje bajo prueba. El registro de aproximación sucesivo (SAR) alimenta un valor digital al DAC, que produce un voltaje analógico correspondiente. Para empezar, se establece el bit más significativo del SAR, que es el valor digital a mitad de camino. El DAC produce la mitad del voltaje de referencia y el comparador devuelve una salida de “más alto” o “más bajo”. Si el resultado es “más bajo”, el bit más significativo del SAR se restablece, y si es “más alto”, se deja configurado. Luego, se establece el siguiente bit más significativo, lo que hace que el DAC produzca un voltaje de referencia de un cuarto o tres cuartos, y el comparador nuevamente indica si ese bit necesita restablecerse o dejarse establecido, y así sucesivamente hasta que se haya probado cada bit. El artículo vinculado de Wikipedia lo explica con mucho más detalle. Se necesitan varios pulsos de reloj para completar una conversión, dependiendo de cuántos bits de resolución se necesiten, por lo que es de velocidad media y de uso general y generalmente tiene de 8 a 12 bits de resolución. Este es el tipo de ADC que se encuentra en un Arduino.


Tenga en cuenta que el cuadro marcado [S / H] arriba significa Sample and Hold. El voltaje de entrada está conectado a un condensador que lo “muestrea”, luego el voltaje de entrada se desconecta y el condensador “lo retiene” para que no cambie durante la conversión.

El ruido general de la conmutación digital hace que el ADC de aproximación sucesiva no sea adecuado para las lecturas más precisas, por lo que aunque se realizan versiones de 16 bits, para una mejor resolución (16 bits y más) usualmente usamos un tipo diferente, como una pendiente doble o Integración ADC, que son bastante lentos pero hacen un buen trabajo al mantener el ruido digital alejado del comparador. Los multímetros digitales generalmente usan este tipo, que puede consultar en el enlace en lugar de volver a escribir Wikipedia.

Se realiza con un tipo de dispositivo conocido como convertidor analógico a digital (A / D o ADC).

Hay muchos tipos que utilizan diferentes técnicas porque pueden existir requisitos de profundidad de precisión (número de bits) y velocidad de conversión, desde unos pocos por segundo hasta miles de millones por segundo.

Hay un libro completo escrito sobre el tema, aquí está el artículo de Wiki:
Conversor analógico a digital