- El mundo analógico con electrónica digital
- ¿Qué es ADC y cómo usarlo?
- Resolución (bits) y canales en ADC
- Voltaje de referencia para un ADC
- Ejemplo
- Tipos de ADC y funcionamiento
- Algunas preguntas que surgen comúnmente sobre ADC
El mundo analógico con electrónica digital
Hace unos años, todos los dispositivos electrónicos que usamos hoy, como teléfonos, computadoras, televisores, etc., eran de naturaleza analógica. Luego, lentamente, los teléfonos fijos fueron reemplazados por teléfonos móviles modernos, los televisores CRT y los monitores fueron reemplazados por pantallas LED, las computadoras con tubos de vacío evolucionaron para ser más potentes con microprocesadores y microcontroladores en su interior, etc.
En la era digital actual, todos estamos rodeados de dispositivos electrónicos digitales avanzados, esto podría engañarnos al pensar que todo lo que nos rodea es de naturaleza digital, lo cual no es cierto. El mundo siempre ha sido de naturaleza analógica, por ejemplo, todo lo que los seres humanos sentimos y experimentamos, como la velocidad, la temperatura, la velocidad del aire, la luz solar, el sonido, etc., son de naturaleza analógica. Pero nuestros dispositivos electrónicos que se ejecutan en microcontroladores y microprocesadores no pueden leer / interpretar estos valores analógicos directamente, ya que se ejecutan solo en 0 y 1. Por tanto, necesitamos algo que convierta todos estos valores analógicos en 0 y 1 para que nuestros microcontroladores y microprocesadores puedan entenderlos. Este algo se llama Convertidores Analógicos a Digitales o ADC para abreviar. En este artículo aprenderemostodo sobre ADC y cómo usarlos.
¿Qué es ADC y cómo usarlo?
Como se dijo anteriormente, ADC significa conversión analógica a digital y se usa para convertir valores analógicos del mundo real en valores digitales como 1 y 0. Entonces, ¿cuáles son estos valores analógicos? Estos son los que vemos en nuestro día a día como temperatura, velocidad, brillo, etc. ¡¡Pero espera !! ¿Puede un ADC convertir la temperatura y la velocidad directamente en valores digitales como 0 y 1?
No, definitivamente, no. Un ADC solo puede convertir valores de voltaje analógicos en valores digitales. Por lo tanto, cualquier parámetro que deseemos medir, primero debe convertirse en voltaje, esta conversión se puede hacer con la ayuda de sensores. Por ejemplo, para convertir los valores de temperatura en voltaje, podemos usar un termistor de manera similar para convertir el brillo en voltaje, podemos usar un LDR. Una vez que se convierte en voltaje, podemos leerlo con la ayuda de ADC.
Para saber cómo usar un ADC, primero debemos familiarizarnos con algunos términos básicos como resolución de canales, rango, voltaje de referencia, etc.
Resolución (bits) y canales en ADC
Cuando lea la especificación de cualquier microcontrolador o ADC IC, los detalles del ADC se darán utilizando los términos canales y resolución (bits). Por ejemplo, el ATmega328 de Arduino UNO tiene un ADC de 8 canales y 10 bits. No todos los pines de un microcontrolador pueden leer voltaje analógico, el término 8 canales significa que hay 8 pines en este microcontrolador ATmega328 que pueden leer voltaje analógico y cada pin puede leer el voltaje con una resolución de 10 bits. Esto variará para diferentes tipos de microcontroladores.
Supongamos que nuestro rango de ADC es de 0V a 5V y tenemos un ADC de 10 bits, esto significa que nuestro voltaje de entrada de 0-5 Voltios se dividirá en 1024 niveles de valores analógicos discretos (2 10 = 1024). Lo que significa que 1024 es la resolución para un ADC de 10 bits, de manera similar, para un ADC de 8 bits, la resolución será 512 (28) y para un ADC de 16 bits, la resolución será 65,536 (2 16).
Con esto, si el voltaje de entrada real es 0 V, entonces el ADC de la MCU lo leerá como 0 y si es 5 V, la MCU leerá 1024 y si está en algún lugar entre 2,5 V, entonces la MCU leerá 512. Podemos usar las fórmulas siguientes para calcular el valor digital que leerá la MCU en función de la resolución del ADC y el voltaje de funcionamiento.
(Resolución ADC / Voltaje de funcionamiento) = (Valor digital ADC / Valor de voltaje real)
Voltaje de referencia para un ADC
Otro término importante con el que debe estar familiarizado es el voltaje de referencia. Durante una conversión de ADC, el valor de voltaje desconocido se encuentra comparándolo con un voltaje conocido, este voltaje conocido se denomina voltaje de referencia. Normalmente, todas las MCU tienen una opción para establecer el voltaje de referencia interno, lo que significa que puede establecer este voltaje internamente en algún valor disponible mediante el software (programa). En una placa Arduino UNO, el voltaje de referencia se establece en 5 V de forma predeterminada internamente, si es necesario, el usuario puede establecer este voltaje de referencia externamente a través del pin Vref también después de realizar los cambios necesarios en el software.
Recuerde siempre que el valor de voltaje analógico medido siempre debe ser menor que el valor de voltaje de referencia y que el valor de voltaje de referencia siempre debe ser menor que el valor de voltaje de operación del microcontrolador.
Ejemplo
Aquí estamos tomando un ejemplo de ADC que tiene una resolución de 3 bits y un voltaje de referencia de 2V. Por lo tanto, puede mapear el voltaje analógico 0-2v con 8 (2 3) niveles diferentes, como se muestra en la siguiente imagen:
Entonces, si el voltaje analógico es 0.25, el valor digital será 1 en decimal y 001 en binario. Del mismo modo, si el voltaje analógico es 0.5, el valor digital será 2 en decimal y 010 en binario.
Algunos microcontroladores tienen ADC incorporado como Arduino, MSP430, PIC16F877A, pero algunos microcontroladores no lo tienen como 8051, Raspberry Pi, etc. y tenemos que usar algunos circuitos integrados convertidores analógicos a digitales externos como ADC0804, ADC0808.
A continuación puede encontrar varios ejemplos de ADC con diferentes microcontroladores:
- ¿Cómo usar ADC en Arduino Uno?
- Tutorial de Raspberry Pi ADC
- Interfaz ADC0808 con microcontrolador 8051
- Voltímetro digital de 0-25 V con microcontrolador AVR
- Cómo utilizar ADC en STM32F103C8
- Cómo utilizar ADC en MSP430G2
Tipos de ADC y funcionamiento
Hay muchos tipos de ADC, los más utilizados son Flash ADC, Dual Slope ADC, Aproximación sucesiva y Dual Slope ADC. Explicar cómo funciona cada uno de estos ADC y la diferencia entre ellos estaría fuera del alcance de este artículo, ya que son bastante complejos. Pero para dar una idea aproximada, ADC tiene un condensador interno que se cargará con el voltaje analógico que se va a medir. Luego medimos el valor de voltaje descargando el capacitor durante un período de tiempo.
Algunas preguntas que surgen comúnmente sobre ADC
¿Cómo medir más de 5 V con mi ADC?
Como se discutió anteriormente, un módulo ADC no puede medir un valor de voltaje más que el voltaje de operación del microcontrolador. Es decir, un microcontrolador de 5V puede medir solo un máximo de 5V con su pin ADC. Si desea medir algo más que eso, quiere medir 0-12 V, entonces puede asignar el 0-12 V a 0-5 V utilizando un divisor de potencial o un circuito divisor de voltaje. Este circuito usará un par de resistencias para mapear los valores de una MCU, puede saber más sobre el circuito divisor de voltaje usando el enlace. Para nuestro ejemplo anterior, deberíamos usar una resistencia de 1K y una resistencia de 720 ohmios en serie a la fuente de voltaje y medir el voltaje entre las resistencias como se explica en el enlace anterior.
¿Cómo convertir valores digitales de ADC en valores de voltaje reales?
Cuando se utiliza un convertidor ADC para medir voltaje analógico, el resultado obtenido por la MCU será digital. Por ejemplo, en un microcontrolador de 10 bits y 5 V, cuando el voltaje real que se va a medir es de 4 V, el MCU lo leerá como 820, podemos usar nuevamente las fórmulas discutidas anteriormente para convertir el 820 a 4 V para que podamos usarlo en nuestro cálculos. Comprobemos lo mismo.
(Resolución de ADC / Voltaje de funcionamiento) = (Valor digital de ADC / Valor de voltaje real) Valor de voltaje real = Valor digital de ADC * (Voltaje de funcionamiento / Resolución de ADC) = 820 * (5/1023) = 4.007 = ~ 4V
Espero que tenga una idea clara de ADC y cómo usarlos para sus aplicaciones. Si tuvo algún problema para comprender los conceptos, no dude en publicar sus comentarios a continuación o escribirlos en nuestros foros.