ADC es un dispositivo electrónico que convierte señales analógicas en números digitales proporcionales a la magnitud del voltaje. Los chips ADC como ADC0804, ADC0809, etc. proporcionan salida digital de 8 bits. El dispositivo controlador necesita ocho pines para recibir los datos de 8 bits (para obtener más detalles sobre el ADC, consulte Uso del ADC integrado del AVR). Algunas aplicaciones necesitan ADC de mayor resolución (salida de datos digitales de 10 bits o más) para la precisión de los datos.
El uso de ADC paralelos es una opción para tales aplicaciones. Sin embargo, el uso de ADC paralelo aumentará el tamaño del hardware, ya que un ADC paralelo de 10 bits tendrá 10 líneas de salida. Además, es posible que necesite utilizar un controlador con una mayor cantidad de pines. La otra opción es utilizar un ADC en serie, que requiere menos pines. Dado que los datos se transmiten en serie, la velocidad de transferencia de datos del ADC en serie es baja en comparación con el ADC en paralelo. Pueden servir como una muy buena alternativa en aplicaciones donde la velocidad de transferencia de datos no es un punto crítico. Este artículo explora la interfaz del serial ADC0831 con ATmega16.
El ADC0831 es un ADC serie de un solo canal de 8 pines que proporciona salida de datos de 8 bits. La entrada puede ser de tipo unipolar o diferencial. Usando la opción de entrada diferencial, se puede realizar la conversión A/D para dos niveles de voltaje diferentes. La función de cada pin se describe en la siguiente tabla:
Fig. 2: Nombre del pin y funciones del serialADC0831
1. (Selección de chip) : para iniciar la conversión, se proporciona un valor de mayor a menor .
2. V in (+) (Entrada analógica positiva ): se aplica voltaje positivo a este pin. El rango de entrada para esto es de 0 a 5 voltios.
3. V in (-) (entrada analógica negativa) : se aplica voltaje negativo a este pin.
4. GND (Tierra) : este pin está conectado a la tierra del circuito.
5. Referencia V (voltaje de referencia) : este pin se utiliza para definir el rango de voltaje de entrada del ADC.
6. CLK (reloj) : el pulso del reloj se suministra al pin CLK para sincronización.
7. DO (salida de datos) : este pin es un pin de salida de ADC, los datos de salida en serie están disponibles en este pin.
8. Vcc (fuente de alimentación) : está conectado a la fuente de alimentación de +5 voltios.
Cómo funciona el ADC en serie:
Fig. 3: Diagrama de bloques del ADC en serie que funciona con AVR
El diagrama anterior muestra un sistema en el que el dispositivo ADC recibe datos analógicos del transductor. El controlador se utiliza para controlar el ADC IC y procesar los datos digitales convertidos. La señal analógica se proporciona en el pin V en (+). En modo diferencial, el voltaje en el pin V in (+) debe ser mayor que V in (-); de lo contrario, el ADC no generará los datos de salida. La conversión de datos se inicia dando un pulso de alto a bajo en el pin CS. En el primer ciclo de reloj, el ADC envía el bit '0' al controlador, lo que muestra que los siguientes bits son bits de datos. Primero se envía el MSB de los datos convertidos. El diagrama de sincronización del ADC0831 se muestra a continuación.
Fig. 4: Diagrama de tiempos ADC0831 para comunicación en serie en el AVR
Propósito: Convertir el voltaje de salida analógico de la resistencia variable en señales digitales usando ADC0831 y mostrarlo en la pantalla LCD.
Descripción del circuito:
La conexión de ADC0831 con ATmega16 se muestra en el diagrama del circuito. La salida de resistencia variable está conectada al pin V in (+) y V in (-) está conectado a tierra. Los pines CS, CLK y DO del ADC están conectados al microcontrolador.
Pasos de programación:
1. Envíe un pulso alto-bajo al pin CS para inicializar la conversión.
2. Supervise el estado del bit D0 hasta que baje.
3. Enviar un pulso de reloj.
4. Reciba bits de datos del pin DO del ADC 0831.
5. Almacene los bits de datos en una variable mediante operación bit a bit.
Código fuente del proyecto
###
// Programa para interfaz serie ADC 0831 con microcontrolador AVR (ATMEGA 16)
###
Diagramas de circuito
Diagrama de circuito de cómo interconectar el serial-ADC0831 con el microcontrolador AVR-ATmega16 |
Componentes del proyecto
- ATmega16
- LCD