INSTITUTO TECNOLÓGICO METROPOLITANO
Laboratorio de Acondicionamiento de Señales
CONVERSOR ANÁLOGO – DIGITAL
PRÁCTICA N°4
EQUIPO N°2
Juan Pablo Marulanda Ángel
[email protected] Brayan Julián Quiroz Meneses
[email protected] 23/05/2019
Resumen—Este documento ilustra el proceso de diseño, el código binario proporcional al voltaje de una señal analógica.
programa, la simulación y los resultados de implementación física En esta práctica de laboratorio se utiliza un conversor
de una aplicación para un conversor analógico digital. El circuito analógico digital en una aplicación real con el objetivo de
dispone de dos sensores: un integrado LM35 para temperatura y profundizar el conocimiento sobre este dispositivo. Las señales
un sensor de distancia SHARP GP2Y0A21YK0F; la salida de analógicas acondicionadas de un sensor de distancia y uno de
cada sensor se conecta a un conversor analógico digital temperatura son las entradas del conversor, y sus salidas se
ADC0808. El conjunto de salidas del conversor análogo digital da acoplan a un arduino para que calcule el valor real de la
un código binario que se podrá visualizar por medio de leds, y temperatura y la distancia, según el código binario representado
dichas salidas se acoplarán a un arduino UNO para decodificar la
por estas salidas digitales. Finalmente, el arduino muestra el
señal digital, el cual calcula intermitentemente los valores de
temperatura y distancia según el resultado de la conversión, y los
valor de cada variable de manera intermitente en una pantalla
muestra en una pantalla LCD de 16x2. Tanto la simulación como de cristal líquido.
la implementación física del circuito funcionaron
satisfactoriamente.
II. PROCEDIMIENTO
Palabras clave—Conversión analógica digital,
acondicionamiento de señales, arduino. A. Diagrama de bloques y descripción de la práctica
En la Fig. 1 se muestra el diagrama de bloques de la
I. INTRODUCCIÓN presente práctica de laboratorio.
El medio real y las variables físicas de procesos industriales
no son de carácter digital, sino analógico. Por esto, el principio
de funcionamiento de la mayoría de sensores es la alteración de
una propiedad física como consecuencia del cambio de una
variable. Esta propiedad cambia de manera analógica,
generando una señal eléctrica proporcional a este cambio. Sin
embargo, por otro lado, la digitalización es necesaria para el
procesamiento y almacenamiento de información y la toma de
decisiones en un proceso. Por esta razón, el elemento
encargado del control y la lógica de un proceso suele ser
digital, y sus señales de entrada son, por lo tanto, de tipo
digital. Surge entonces la necesidad de crear una interfaz entre
la señal de salida analógica de un sensor y el formato de
entrada digital de un elemento de procesamiento y control
lógico.
El dispositivo que resuelve esta necesidad se denomina
conversor analógico digital (A/D). Este dispositivo permite
generar un conjunto de señales digitales que representan un
INSTITUTO TECNOLÓGICO METROPOLITANO
Laboratorio de Acondicionamiento de Señales
Fig. 1. Diagrama de bloques del circuito de la presente práctica de
laboratorio.
Se dispone de dos sensores: Un sensor de temperatura
LM35 y un sensor de distancia SHARP. Las señales de ambos
sensores son analógicas.
El arduino UNO controla cuál de las señales es convertida.
Durante 4 segundos, se debe mostrar en el display de cristal
líquido (LCD) el valor de la temperatura en un rango de 0°C a
100°C, y en los siguientes 4 segundos se muestra el valor de
distancia en un rango de 10 cm a 80 cm. Por lo tanto, el arduino
indica al conversor cuándo y cuál señal convertir, además de
proveerle la señal de reloj que éste necesita.
El conversor A/D ADC0808 genera 8 señales digitales de
salida que representan un número binario de 0 a 255,
proporcional al valor de la señal analógica leída. Entonces,
además de conectar estas señales al arduino para que calcule el Fig. 2. Diagrama de bloques del conversor ADC0808.
valor real de distancia o temperatura, se conecta cada una de
estas señales a un LED para corroborar el correcto A continuación se describen las funciones de las terminales
funcionamiento del circuito. del conversor ADC:
B. Descripción del conversor A/D ADC0808 VCC y GND: Voltajes de alimentación del circuito. Vcc:
El circuito integrado ADC0808 es un dispositivo Voltaje positivo (5V) y GND: Voltaje negativo (0V).
electrónico de tipo CMOS, con un conversor analógico digital
OUT1 (MSB) a OUT8 (LSB): Son las 8 salidas digitales
de 8 bits (representando números de 0 a 255) y un multiplexor
del proceso de conversión analógico digital,
analógico de 8 canales. Esto significa que se pueden conectar 8
representando un número binario de 0 a 255. Si la salida
señales diferentes, y el circuito realizará la conversión según la
está en nivel alto (4.8V a 5V) representa un “1” y si la
entrada escogida mediante un código binario de tres bits. El
salida está en nivel bajo (0V) representa un “0”. La
método de conversión es por aproximaciones sucesivas.
terminal OUT1 (o 2-1) es la del bit más significativo (con
Este dispositivo ofrece gran velocidad, exactitud, mínima un valor de 128) y la terminal OUT8 (o 2 -8) es la del bit
dependencia a la temperatura, excelente repetibilidad y un menos significativo (con un valor de 1). Estas terminales
consumo mínimo de energía. En la Tabla I se sintetizan las son leídas por el microcontrolador para obtener el número
características del ADC0808 y en la Fig. 2 se muestra el resultante de la conversión de 0 a 255, y para luego
diagrama de bloques del dispositivo. calcular el valor real del voltaje o de las variables medidas
(en este caso, peso y temperatura).
TABLA I. C
ARACTERÍSTICAS DEL CONVERSOR ADC0808 IN0 a IN7: Son las 8 terminales para conectar las
diferentes entradas analógicas al conversor. En este caso
Resolución 8 bits (0.39%)
se usan dos de ellas (IN0 e IN1) para conectar las señales
Rango binario de salida 0 a 255
No. entradas analógicas 8 canales
analógicas acondicionadas de peso y temperatura (cada
Técnica de conversión Aproximaciones sucesivas una en su propia terminal).
Error total sin ajuste ±½ LSB y ± LSB VREF(+) y VREF(-): En ocasiones, las señales de entrada no
Compatibilidad (lógica) TTL y CMOS varían en todo el rango de alimentación del circuito (de
Consumo 15 mW
0V a 5V), sino en un rango más estrecho (por ejemplo,
Típico: 5V
Voltaje de alimentación entre 2 V y 3V). Entonces, para mejorar la resolución, es
Máximo: 6.5 V
Mínima: 10 kHz posible definir las señales mínima y máxima de voltaje
Señal de reloj Típica: 640 kHz mediante las señales VREF(-) y VREF(+) respectivamente, con
Máxima: 1280 kHz valores de voltaje constantes. Con esto, el valor de salida
Tiempo de conversión de 0 representaría el voltaje V REF(-) y el valor de 255
100 µs (f= 640 kHz) representaría el voltaje VREF(+). En esta práctica las señales
promedio
acondicionadas sí varían en todo el rango de 0V a 5V, por
lo cual VREF (+)=VCC=5V y VREF (+)=GND=0V.
INSTITUTO TECNOLÓGICO METROPOLITANO
Laboratorio de Acondicionamiento de Señales
CLK: El conversor utiliza el método de aproximaciones señal de salida es independiente del voltaje de alimentación; y
sucesivas, lo cual requiere de una considerable cantidad por cada grado Celsius (1 °C) que aumente la temperatura, la
de operaciones sincronizadas y secuenciales. Para señal de salida aumenta 10 mV. Además, cuando la
sincronizar estas operaciones, se necesita una señal de temperatura es de 0 °C, la señal de salida es, en teoría, nula;
reloj externa, que se debe conectar a la terminal CLK. Por esta razón, cuando la temperatura sea la máxima
temperatura del proceso (100 °C), el voltaje de salida será de
ADD A, ADD B y ADD C: El circuito no realiza 1V, como se muestra en la Fig. 3.
simultáneamente la conversión de todas las 8 señales de
entrada analógica, sino que realiza una al tiempo. Para
determinar cuál señal convertir, se representan los
números del 0 al 7 mediante un código binario de 3 bits,
en las señales ADD A, B y C; siendo ADD C el bit más
significativo y ADD A el menos significativo. Por
ejemplo, para que la conversión corresponda a la señal de
IN4, se debe representar el número 4 en binario: 100, con
lo cual ADD C se debe poner en nivel alto, y ADD B y
ADD A en bajo.
Adress Latch Enable (ALE): El conversor no actualiza
la dirección asignada, según el estado de las terminales
ADD A, B y C; en todo instante. Esto podría generar
errores e implicaría mayor consumo. Entonces, para que
el conversor lea el canal que se ha seleccionado, se debe
enviar un pulso positivo en la terminal ALE.
Fig. 3. Diagrama de conexión para sensor de temperatura LM35.
START: El conversor tampoco ejecuta constantemente
las conversiones una tras otra, Para comenzar la 2) Sensor de Distancia SHARP de 10 cm a 80 cm: En la
conversión, se debe enviar un pulso positivo en la Fig. 4 se muestran fotografías del sensor utilizado.
terminal START. Generalmente, es posible conectar las
terminales ALE y START a una misma señal de control,
con lo cual se lee la dirección que se ha seleccionado y
seguidamente se comienza la conversión.
End of Conversion (EOC): El tiempo de conversión
varía muy poco para una frecuencia dada (entre 90 y 116
μs para una frecuencia de reloj de 640 kHz). Sin embargo,
este tiempo de conversión es función de la frecuencia de
la señal de reloj. Entonces, para aplicaciones de alta
velocidad, es preferible que el dispositivo de control sepa
exactamente cuándo finalizó la conversión para proceder
a leer los valores de salida del conversor (en lugar de
calcular el tiempo máximo según la frecuencia de reloj). Fig. 4. Fotografías del sensor de distancia empleado en la práctica.
La señal EOC es una salida del conversor que se pone en
Este Sensor óptico reflectivo medidor de distancia, tiene un
nivel bajo durante la conversión y se pone en nivel alto al
rango 10 cm a 80 cm, con luz infrarroja y salida análoga
finalizarla, dando solución esta necesidad.
Características:
Output Enable (OE): Esta señal permite deshabilitar las
salidas del conversor al aplicar un valor bajo. En este Sensor óptico por reflexión medidor de distancia
caso, no se desean deshabilitar nunca y por lo tanto se Combina un led infrarrojo emisor y un detector PSD
conecta esta señal permanentemente a 5V (nivel alto). (Position Sensitive Detector) en un mismo modulo
C. Descripción de sensores Salida de voltaje análoga
1) Sensor de temperatura LM35): Este sensor tiene tres Rango de operación: 10 cm a 80 cm
terminales: alimentación positiva, señal analógica de salida y
alimentación negativa (GND). La magnitud en voltaje de la Longitud de onda de operación: 870 nm
INSTITUTO TECNOLÓGICO METROPOLITANO
Laboratorio de Acondicionamiento de Señales
Consumo de corriente típica: 30 mA 6. Se espera hasta que la conversión finalicé, que ocurre
cuando el pin EOC pase de nuevo a nivel alto.
Voltaje de operación: 4.5 V a 5.5 V
7. Se leen los valores de las ocho salidas del conversor, se
calcula el número binario correspondiente (de 0 a 255) y
Aplicaciones: se guarda en una variable.
Detección de presencia o ausencia de objetos
La última instrucción calcula y guarda el valor binario
Detección de posición resultante de la conversión en una variable global llamada
Detección de obstáculos y navegación en robots ‘dato’, como se muestra a continuación:
Suiche sin necesidad de toque (Equipos sanitarios en
baños u hospitales, control de iluminación, etc.)
Sensor para ahorro de energía (Cajeros automáticos,
máquinas expendedoras, copiadoras, etc.)
Equipamiento de entretenimiento (Arcades, juegos
electrónicos, etc.)
Entre otros. (ver figura 5 conexión del sensor de
distancia).
2) Cálculo y visualización de las variables: El cálculo de
la medida de cada variable y la muestra del resultado se realiza
mediante funciones diferentes, pero muy similares.
Para calcular la magnitud de la temperatura en °C o la
distancia en cm, según sea el caso, se utilizan las siguientes
ecuaciones:
Distancia ( cm )=3345,2∗Dato−1.228 (0)
Fig. 5. Diagrama de conexión para sensor de distancia SHARP
Temperatura ( ° C )=1.960784314∗D ato (0)
D. Descripción y conexiones del microcontrolador
Donde Dato es el valor binario de 0 a 255 resultante del
1) Proceso de conversión A/D: Para realizar la lectura de proceso de conversión, guardado en la variable Dato.
una señal, se ejecuta la siguiente secuencia: Como se había especificado anteriormente, sólo se cambia
de variable cada 4 segundos. Esto quiere decir que cada 4
1. Se selecciona el canal mediante el pin ADD A (IN0 para segundos se realiza un nuevo proceso de conversión, cálculo y
peso o IN1 para temperatura). visualización.
2. Se aplica el canal seleccionado y se inicia el proceso de
conversión, mediante la activación de los pines START y
ALE.
3. Se genera un pequeño retardo (5μs) para dar tiempo a
que el conversor interprete la orden de aplicar el canal y
comenzar la conversión.
4. Se desactivan de nuevo las señales de aplicación de canal
y comienzo de conversión, ya que el conversor sólo
necesita un flanco de subida. III. RESULTADOS
5. Se genera un retardo algo mayor para dar tiempo a que la
Simulación Del Circuito en Proteus 8.0:
conversión inicie propiamente y el pin EOC pase a nivel
bajo (lo que indica que la conversión está en proceso).
INSTITUTO TECNOLÓGICO METROPOLITANO
Laboratorio de Acondicionamiento de Señales
La simulación funcionó correctamente, en ocasiones con un
ligero error que era de esperarse, intrínseco al conversor
(±0.989°C al medir temperatura y ± 0.13 cm al medir
distancia). Se conectaron adicionalmente 8 LED a cada una de
las salidas del conversor, como se indicó en el diagrama de
bloques inicial. En la Fig. 12 se muestran capturas de pantalla
de los LED y el display, en el entorno de simulación, para los Fig. 6. Fotografía de la implementación física del circuito.
valores medidos: 50°C y 20 cm:
TABLA II. V
ALORES DIGITALES REALES DE SALIDA DEL CONVERSOR A/D
Temperatura
Entrada
Salida Digital (LEDs) (°C)
analógica
(Calculada)
Voltaje B7 B0
B6 B5 B4 B3 B2 B1 Real Teórico
medido (MSB) (LSB)
0.0 V 0 0 0 0 0 0 0 0 0 0
0.1 V 0 0 0 0 0 1 0 1 9.804 10
0.2 V 0 0 0 0 1 0 1 0 19.607 20
0.3 V 0 0 0 0 1 1 1 1 29.412 30
0.4 V 0 0 0 1 0 1 0 1 41.176 40
0.5 V 0 0 0 1 1 0 1 0 50.980 50
0.6 V 0 0 0 1 1 1 1 1 60.784 60
0.7 V 0 0 1 0 0 1 0 0 70.588 70
0.8 V 0 0 1 0 1 0 0 1 80.392 80
0.9 V 0 0 1 0 1 1 1 0 90.196 90
A. Implementación física 1.0 V 0 0 1 1 0 0 1 1 100 100
El circuito se implementó físicamente en una protoboard,
como se muestra en la Fig. 12. Como se puede observar, el error entre los valores reales y
teóricos es bajo, siendo estos valores iguales o teniendo una
Para comparar el funcionamiento real del conversor contra diferencia de 1 bit, tal como ocurrió en la simulación. Es
el funcionamiento ideal, se generaron variaciones en el voltaje importante resaltar que en muchas ocasiones la salida digital
de entrada del conversor, registrando la salida digital mostrada variaba en 1 bit (y ocasionalmente en 2) para un mismo valor
mediante LEDs. Los resultados se muestran en la Tabla III. de voltaje, y en la tabla se encuentra el conjunto de salida que
se repetían con mayor frecuencia.
INSTITUTO TECNOLÓGICO METROPOLITANO
Laboratorio de Acondicionamiento de Señales
IV. CONCLUSIONES Se comprobó la teoría de los conversores Análogos
Digitales y se observa el comportamiento de sus salidas
Hoy en día poco se utilizan conversores analógicos- Digitales.
digitales independientes, ya que la gran mayoría de
microcontroladores incorporan conversores de buena Se puede constatar que las señales Análogas pueden ser
resolución. Por ejemplo, el microcontrolador ATmega, el convertidas en señales digitales y que la resolución del
arduino UNO utilizado y los microcontroladores PIC tienen sistema está dada por el numero e bits de dichos
incorporado un conversor A/D de 10 bits, y para usarlo sólo conversores.
se ocupa una entrada analógica, de las cuales hay mínimo Se observa que por medio de la Simulación en el Software
unas 6. Esto ahorra costos (porque el precio del Proteus se tienen retardos en los tiempos programados en el
microcontrolador y del conversor son similares), espacio y decodificador Arduino, esto se debe a que el computador
conexiones, minimiza las causas de error y hace más utiliza recursos adicionales para el procesamiento de datos
sencillo el programa del proceso. Además, libera una gran y lo recomendable es cerrar todos los procesos y recursos
cantidad de entradas y salidas digitales para propósitos de que estén en uso incluyendo dispositivos como el wifi y el
comunicación, elementos de mando y control de elementos bluetooth.
de salida.
Esta aplicación se pudo haber desarrollado tanto con
tecnologías más robustas, como relés programables y mini
PLC’s; como con tecnologías más antiguas y limitadas, REFERENCIAS
como elementos digitales de integración de baja
(compuertas lógicas) y media (decodificadores y circuitos [1] EngBlaze. (Enero de 2012). Microcontroller tutorial series. Obtenido
secuenciales) escala. Sin embargo, el uso de electrónica de AVR and Arduino timer interrupts:
digital habría requerido un proceso de diseño sumamente http://www.engblaze.com/microcontroller-tutorial-avr-and-arduino-
extenso para controlar tres displays de 7 segmentos y poder timer-interrupts/
conmutar los valores cada tanto tiempo; y esto habría [2] National Instruments. (Agosto de 1998). Strain Gauge Measurement –
implicado muchos más componentes, conexiones, y A Tutorial. Obtenido de
revisión de errores, todo para una visualización más pobre. https://users.wpi.edu/~sullivan/ME3901/Laboratories/04-
Por otra parte, los relés programables y mini PLC’s ofrecen Strain_Labs/StrainGage_an078.pdf
la flexibilidad de la programación, pero su fortaleza reside [3] Shirriff, K., & Badger, P. (Julio de 2009). Arduino. Obtenido de Secrets
en los procesos paralelos y la intercomunicación entre ellos. of Arduino PWM:
Sin embargo, como esta aplicación requería de https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM
instrucciones secuenciales y la generación de una señal de [4] Texas Instruments. (Octubre de 1999). Hoja de Datos del Conversor
reloj, la programación de estos dispositivos habría sido A/D ADC0808. Obtenido de ADC0808 8-Bit μP Compatible A/D
bastante complicada en comparación con un Converters with 8-Channel Multiplexer:
microcontrolador, además del hecho que se habría http://www.ti.com/lit/ds/symlink/adc0808-n.pdf
[5] Texas Instruments. (Agosto de 1999). Hoja de Datos del Sensor de
necesitado una interfaz física de conversión de voltaje Temperatura LM35. Obtenido de LM35 Precision Centigrade
(probablemente de 5V a 24V) para cada señal. Temperature Sensors: http://www.ti.com/lit/ds/symlink/lm35.pdf
En algunos entornos de simulación, es posible visualizar el
mensaje en un LCD sin ajustar el contraste, conectándolo a
GND. Sin embargo, en la implementación física, es
necesario un voltaje de entre 1.1 V y 1.5 V en este pin para
poder visualizar correctamente el mensaje, ya que valores
fuera del rango implicarían que no se vieran las letras en
absoluto, o que se vieron cuadros negros en todos los
espacios. Es común que una persona que no sepa esto pase
mucho tiempo revisando el programa y la simulación para
corregir el error de visualización, cuando en realidad el
problema es de tipo electrónico. Por otro lado, la
iluminación LED de fondo permite una muy buena
visualización del LCD, pero se debe tener en cuenta que
esto implica mayor consumo y dificulta la grabación de
fotografías y videos.
INSTITUTO TECNOLÓGICO METROPOLITANO
Laboratorio de Acondicionamiento de Señales