You are on page 1of 4

UNIVERSIDAD DEL VALLE - FACULTAD DE INGENIERA

ESCUELA DE INGENIERA ELCTRICA Y ELECTRNICA


REA DE INFORMTICA INDUSTRIAL

LABORATORIO DE INSTRUMENTACIN ELECTRNICA
Conversin Anlogo/Digital con el mdulo ADC de la tarjeta Arduino Uno

**** Lea completamente esta gua antes de realizar la prctica ****

1. OBJETIVOS
1.1. Familiarizarse con los principales
conceptos asociados a los convertidores
Analgo/Digitales (ADCs).
1.2. Entender el principio de
funcionamiento y determinar las principales
caractersticas del mdulo ADC de la tarjeta
Arduino Uno.
1.3. Utilizar el mdulo ADC de la tarjeta
Arduino Uno para realizar una conversin
A/D y visualizar el resultado en
computador, usando un sensor de presin.
NOTA: en esta prctica se pretende que el
estudiante disee el experimento a partir de los
objetivos propuestos.
2. COMPONENTES Y EQUIPO DE
LABORATORIO
Para el desarrollo de la prctica se requiere la
tarjeta Arduino Uno[1], un sensor de presin
MPX2010DP[2], un computador porttil (con
drivers y entorno de desarrollo de Arduino) [3],
resistencias y condensarodes. La tarjeta y el
sensor sern proporcionados al iniciar la
prctica. Los dems componentes y el equipo
de laboratorio sern determinados segn los
requerimientos de cada experimento.

* El apartado 3 se incluye para satisfacer
parcialmente los objetivos #1 y #2 de la prctica. La
satisfaccin total de los objetivos se logra
consultando material adicional sobre el tema.

3. MARCO TERICO
Los convertidores de anlogo a digital pueden
clasificarse en dos grandes grupos: los que
operan por comparacin y los que operan por
integrracin. El modulo ADC de la tarjeta
Arduino Uno utiliza aproximaciones sucesivas
[4, 5], mtodo que se encuentra en primer
grupo de convertidores.
Arduino es una plataforma electrnica abierta
para la creacin de prototipos basados en
software y hardware flexibles y fciles de usar.
Arduino Uno, est basado en el
microcontrolador ATmega328 [6] que
proporciona 14 pines de entrada/salida digitales,
6 entradas anlogas simples, un oscilador de
16MHz y una conexin USB.
3.1 CARACTERISTICAS DEL MODULO
ADC
Resolucin de 10 bits
Tiempo de conversin entre 13us y
260us
6 canales multiplexados de entrada
simple
2 canales adicionales multiplexados de
entrada simple (no para el encapsulado
tipo PDIP)
Entrada para sensor de Temperatura
Rango de voltaje de entrada de 0 a Vcc
Opciones de Voltaje de referencia
interna y externa
Ejecucin en modo libre o una sola
conversin

3.2 DESCRIPCION GENERAL

Fig. 1 Diag. de Bloques del Mdulo ADC
El mdulo ADC de la tarjeta Arduino Uno
trabaja con aproximaciones sucesivas (fig. 1).
Tiene un multiplexor anlogo que le permite
manejar 6 entradas de voltaje simple
(referenciadas a tierra), a travs de los pines del
puerto C. El canal de entrada se selecciona en
ADMUX.
La alimentacin de voltaje de este mdulo
AVCC es separada y no puede diferir mas de
0.3V de Vcc.
Se puede fijar un voltaje de referencia interno
(Vcc o 1.1V) o externo (AVref).
El convertidor es habilitado con el bit ADEN
del registro ADCSRA. El mdulo ADC tiene
un muestreador y retenedor que asegura que el
voltaje de entrada sea estable durante la
conversin.
El convertidor tiene una no-linealidad integral
de 0.5LSB y una precisin absoluta de 2LSB

3.3 CONFIGURACIN DEL MDULO

Configurar puertos y Deshabilitar
Reduccin de consumo de potencia.

Fig. 2. Pines del Microcontrolador
ATmega328P

Los seis canales de entrada analgica simples
del ATmega328P se encuentran en el puerto C,
PORTC[5:0] (fig. 2). Cuando se utiliza el
mdulo ADC del Arduino Uno se debe
configurar el puerto C (o determinado pin del
puerto C) como puerto de entrada.
Para habilitar el mdulo ADC, el bit de
reduccin de potencia del mdulo ADC,
PRADC en el registro PRR, debe ser
desabilitado, escribiendo un cero lgico.

Seleccionar Canal de entrada
Para seleccionar uno de los 6 canales de entrada
analgica simple del Arduino Uno con
encapsulador PDIP, se fija los bits MUX[3:0]
del registro ADMUX. Por ejemplo, para
seleccionar el ADC0, pin 23, los bits MUX[3:0]
son 0000. Si estos bits se cambian durante una
conversin, el cambio no tendr efecto hasta
que se complete la conversin.

Seleccionar Voltaje de referencia
El voltaje de referencia, ya sea interno (1.1v o
AVcc) o externo (AREF), se selecciona a travs
de los bits REFS[1:0] del registro ADMUX. Si
el voltaje de referencia se selecciona interno, se
debe usar un condensador entre AREF y tierra.
No se puede utilizar un voltaje de referencia
interno si un voltaje de referencia externo se
aplica al pin AREF.

Seleccionar pre-escala del reloj del mdulo
ADC
El circuito de aproximaciones sucesivas
requiere una frecuencia de reloj entre 50kHz y
200kHz para obtener mxima resolucin. El
mdulo ADC contiene un pre-escalizador que
genera una frecuencia de reloj aceptable para el
ADC. La pre-escala se fija con los bits ADPS
en el registro ADCSRA. El pre-escalizador
empieza a funcionar desde que se habilita el
convertidor con el bit ADEN en el registro
ADCSRA. La primera conversin, despus que
el ADC es habilitado toma 25 ciclos de reloj del
ADC. Una conversin normal toma 13 ciclos de
reloj del ADC.

Seleccionar justificacin de los registros de
resultado


Fig. 3. Registros de Datos: ADCH y ADCL

El resultado de 10 bits de una conversin se
presenta en los registros ADCL y ADCH. El
resultado puede ser ajustado a la derecha o a la
izquierda fijando el bit ADLAR en ADMUX a
cero lgico o a uno lgico, respectivamente
(fig. 3). Si el resultado se ajusta a la izquierda y
no se requiere ms de 8 bits de precisin, es
suficiente con leer ADCH. De lo contrario, se
debe leer primero ADCL y luego ACH para
asegurar que el contenido de los dos registros
pertenezca a la misma conversin.


Habilitar el mdulo
Para habilitar el mdulo ADC del ATmega328P
se debe escribir un uno lgico en el bit ADEN
del registro ADCSRA. Con un cero lgico este
mdulo se desactiva.

Comenzar una conversin
Una sola conversin se inicia escribiendo un
cero lgico en el bit PRADC del registro PRR
para deshabilitar la reduccin de potencia del
ADC y escribiendo un uno lgico al bit de
inicializacin de conversin, ADCSC, en el
registro ADCSRA. Este bit permanecer en
nivel alto hasta que la conversin se complete,
momento en el cual ser cambiado a cero por
hardware. ADCSC puede ser usado para
determinar si una conversin est en progreso;
si termina la conversin se lee el resultado y se
inicializa otra conversin.
Si se quiere inicializar una conversin en
ciertos intervalos de tiempo con una seal de
disparo se puede activar el bit ADC Auto
Trigger Enable, ADATE, en el registro
ADCSRA. Se selecciona una fuente de disparo
con los bits ADC Trigger Select, ADTS, en
ADCSRB.
Se puede usar la bandera de interrupcin del
ADC, ADIF, como fuente de disparo de modo
que se inicie una nueva conversin cada vez
que la conversin actual termine (ejecucin
libre). ADIF se coloca en uno lgico cuando
una conversin se completa y los registros de
datos se actualizan. La interrupcin de
conversin completa se ejecuta si el bit de
habilitacin de interrupcin del ACD, ADIE en
ADCSRA, y el bit I en SREG, de habilitacin
global de interrupciones, estn en uno lgico.
ADIF cambia a cero lgico por hardware
cuando se ejecuta el vector de interrupcin
correspondiente. Alternativamente, ADIF
cambia a cero lgico escribiendo un uno lgico
en la bandera.

Calcular el voltaje anlogo de entrada
Despus de que la conversin se completa, el
resultado puede ser ledo de los registros ADCL
y ADCH. El resultado es:
=

1024



donde V
IN
es el voltaje en el pin de entrada
seleccionado y V
REF
es el voltaje de referencia
seleccionado.

Instalar el IDE y drivers
La tarjeta Arduino Uno puede ser programada
con el software de Arduino que proporciona un
entorno de desarrollo (fig. 4) y permite
descargar el cdigo a la tarjeta.

Fig.4. IDE de Arduino

El software de Arduino puede ser descargado
de [3]. Tambin se debe instalar el driver USB
para reconocer la tarjeta Arduino Uno. Una gua
paso a paso de estos procesos puede ser
encontrada en [7, 8].

Conectar la tarjeta con el computador
Se utiliza un cable USB tipo-A a USB tipo-B
para conectar la tarjeta Arduino Uno con el
Computador a travs de comunicacin serial
UART. El IDE de Arduino tiene una Terminal
Virtual en donde se puede visualizar la
comunicacin serial entre el computador y la
tarjeta. Se puede encontrar en el men:
Herramientas/Monitor Serial.

Simular en Proteus
Para simular el microcontrolador ATmega328P
en Proteus se requiere especificar la ubicacin
del archivo .hex. Esta ubicacin se puede
observar en la informacin de compilacin al
colocar un visto sobre mostrar resultado
detallado durante: compilacin, en el men:
Archivo/Preferencias. Tambin se necesita
configurar las propiedades del microcontrolador
en Proteus. A continuacin se presenta la
configuracin de las propiedades del
ATmega328P (fig. 5).

Fig. 5. Configuracin de propiedades del
ATmega328P en Proteus

Para poder acceder a la prctica es necesario
presentar las tablas que se van a llenar, los
diagramas de conexin y el procedimiento a
desarrollar. Tome como ejemplo las guas
nmero 1 a 3 del laboratorio de
instrumentacin electrnica.

Tenga en cuenta las siguientes
recomendaciones:
Revise todas las conexiones del circuito
antes de energizarlo.
Verifique la magnitud y polaridad de
los voltajes aplicados al circuito.
No encienda la fuente de voltaje hasta
que haya conectado todos los cables de
alimentacin.

4. INFORME

1. Explique el procedimiento que defini para
el desarrollo de la prctica. Recuerde que el
desarrollo de esta prctica debe cumplir con
los objetivos propuestos al inicio de la gua.
2. Presente de manera ordenada el cdigo y los
datos obtenidos con el procedimiento
realizado y explique los resultados logrados.
3. Construya una tabla en la que aparezcan 4
fabricantes de convertidores A/D, cada uno
de ellos con al menos tres tcnicas de
conversin diferentes y al menos dos
referencias por cada una de las tcnicas de
conversin. Para cada dispositivo liste las
caractersticas ms relevantes (resolucin,
canales, precio por unidad mencionando el
proveedor, error total, tiempo de
conversin).
4. Presente el resumen de un artculo que
describa una aplicacin industrial con
sistemas de adquisicin en el que se use un
convertidor A/D (con la justificacin para
su uso).
5. Presente dos aplicaciones industriales o
mdicas que usen el sensor de presin
MPX2010DP o similares.
6. Conclusiones y comentarios de la prctica.


5. BIBLIOGRAFIA

1. ARDUINO. Arduino Board Uno.
http://arduino.cc/en/Main/arduinoBoardUno
2. MOTOROLA. 10kPa On-Chip
Temperature Compensated and Calibrated
Silicon Pressure Sensors.
http://educypedia.karadimov.info/library/MP
X2010.pdf
3. ARDUINO. Arduino Software
http://arduino.cc/en/Main/Software
4. Floyd, Thomas L., Fundamentos de
Sistemas Digitales. Sptima edicin.
Pearson Education, S.A. Pags. 845-849.
Madrid, 2000.
5. Coughlin, Robert F. y Driscoll, Frederick F.
Amplificadores operacionales y circuitos
integrados lineales. Quinta edicin. Prentice
Hall. Pags. 425-428. Mexico, 1999.
6. ATMEL. ATmega328P datasheet.
http://www.atmel.com/devices/ATMEGA32
8P.aspx
7. ARDUINO. Getting started with Arduino on
Windows
http://arduino.cc/en/Guide/Windows
8. ARDUINO. Installing Arduino on Linux.
http://playground.arduino.cc/Learning/Linux

You might also like