Sunteți pe pagina 1din 4

PRCTICA 1.

TARJETA DE ADQUISIN DE
DATOS.
Gregorio Blancas Ramn, Eduardo Yehuala Rojas, Giovanni Hernndez Morales
Benemrita Universidad Autnoma de Puebla
gregorio.br.26@gmail.com, yr,eduardo@gmail.com

AbstractEn el siguiente artculo damos a conocer 2. Comprender el funcionamiento del DAC y


los resultados generados entre las comparaciones de comprobar las especificaciones del fabricante
las especificaciones del fabricante y los valores con los datos prcticos obtenidos.
prcticos obtenidos en el laboratorio.
IV. DESARROLLO DE CONTENIDOS
I. INTRODUCIN.
Para la realizacin de esta prctica lo primero que se hizo
fue buscar una tarjeta que cumpliera con los
requerimientos mnimos establecidos que son:
En esta prctica se caracteriza una tarjeta de adquisicin Tarjeta de adquisicin de datos por puerto usb.
de datos arduino Due, la razn de utilizar esta tarjeta es 2 entradas analgicas
debido a que cuenta con dos convertidores digitales- 2 salidas analogicas
Analgicos, 12 entradas analgicas y un puerto usb que La tarjeta arduino Due cumple con estos requisitos, por
nos servirn ms adelante para la realizacin del lo tanto lo siguiente fue buscar todas las caractersticas
proyecto final. de esta tarjeta.
Una vez revisada las especificaciones se procede a
Con ayuda de un osciloscopio, generador de seales y el comprobarlos prcticamente en un laboratorio, los
software de programacin de arduino se llevaron a cabo parmetros ms importantes para las mediciones son la
las mediciones tales como la frecuencia de muestreo y frecuencia de muestreo, periodo de muestreo, voltaje de
voltajes de salida del convertidor digital-analgico. salida del convertidor DAC y la resolucin del
convertidor.
Mediante el generador de seales se ajusta la frecuencia Para obtener la frecuencia de muestreo del arduino Due
de la seal senoidal, que posteriormente se introduce por primero se utiliz un generador de seales, esta seal
un pin analgico de la tarjeta, en la tarjeta se lleva a cabo ser transformada en una seal digital (para que la tarjeta
el proceso de muestreo de la seal y se puede observar pueda procesarla) mediante el proceso de muestreo, la
en la salida del convertidor digital analgico la seal seal muestreada se reconstruir con ayuda del DAC
muestreada con la ayuda del osciloscopio. incorporado como se observa en la. Fig. 1

II. OBJETIVO

Verificar el las caractersticas de la Tarjeta de


adquisicin de datos.

III. OBJETIVOS ESPECFICOS


1. Aprender a utilizar los puertos analgicos de
la tarjeta arduino due, entender y verificar su
funcionamiento. Fig.1 Ejemplo de muestreo de una seal
peridica.
Pines: 2 a 13. Salidas PWM de 8 bits de
Una vez muestreada la seal con ayuda de los cursores resolucin.
del osciloscopio se establece el intervalo de una de las Entradas analgicas: pines de A0 a A11.
muestras para saber la frecuencia y periodo de muestreo Arduino Due integra 12 entradas analgicas,
como se observa en la figura cada una de las cuales tiene una resolucin de
12 bit (4096 valores diferentes). Las entradas
analgicas de Arduino DUE, miden desde
tierra hasta un valor mximo de 3.3 Volts.
DAC0 y DAC1. Estos pines nos proporcionan
una salida analgica con una resolucin de
hasta 12 bit (4096 niveles).
4 Canales de comunicacin serial RX0 TX0.
Interfaz I2C ( SDA, SCL)
AREF: Referencia externa para voltaje de
entradas analgicas.

Fig. Frecuencia de muestreo.


Especificaciones:
Una de las caractersticas de la seal a muestrear es que Microcontrolador ATSM3X8E.
La amplitud de la seal debe ser de 3.3v o menor y que Velocidad del reloj 84 MHz.
la frecuencia de la seal debe ser 2 veces menor que la Voltaje de operacin 3.3 Volts.
frecuencia de muestreo para que la seal se pueda Voltaje de entrada (Jack DC) 7 12 Volts.
reconstruir.
Ncleo de 32 bits.
54 Entradas/Salidas digitales.
Para finalizar, los valores discretos se van a juntar para
12 Entradas analgicas.
convertir la seal digital a analgica nuevamente. Para
12 Salidas tipo PWM.
esta parte tendr una retencin de orden cero, para mayor
Corriente mxima en E/S 130mA.
rapidez de nuestro sistema. Fig.3
2 Salidas analgicas (DAC).
4 Puertos UART.
512 KB de Memoria flash para cdigo.
2 Puertos micro-USB.

Nota: La amplitud de la seal muestreada estar entre 1/6


y 5/6 de la amplitud de la seal original (dato del
fabricante del microcontrolador). Por ejemplo si se elige
amplitud pico a pico de 3.3 Volts, la seal de salida
tendr una disminucin en amplitud de un 20%.

Fig.3 Conversin D/A, con retencin de orden 0. Para el cdigo utilizado se requirieron de 2
instrucciones para configurar el DAC y el ADC, esas
instrucciones son:

Arduino DUE es la primera placa electrnica basada en analogReadResolution():


un microcontrolador de 32 bits, se pueden disponer de Configura el tamao (en bits) del valor devuelto por
entradas y salidas analgicas con resolucin de 12 bits; analogRead (). Su valor predeterminado es 10 bits
la tasa de muestreo con la que trabaja Arduino DUE es (devuelve valores entre 0 y 1023).
de hasta 1000 ksps (kilo muestras por segundo).
El Due tiene capacidades ADC de 12 bits a las que se
Arduino DUE enumera los pines del 0 53, los cuales puede acceder cambiando la resolucin a 12. Esto
pueden ser utilizados como entradas o salidas digitales. devolver los valores de analogRead () entre 0 y 4095.
Todas las entradas/salidas trabajan a 3.3V. Cada pin
puede suministrar (soportar) una corriente de 3mA 15
mA dependiendo del PIN, o recibir de 6 mA 9 mA, analogWriteResolution():
dependiendo del PIN.
Configura la resolucin de la funcin analogWrite(). Esta sus muestras, es matemticamente posible si la seal est
resolucin es, por defecto, de 8 bits (valores entre 0 y limitada en banda y la tasa de muestreo es superior al
255) para compatibilidad con las placas basadas en AVR. doble de su ancho de banda, es decir que la frecuencia de
muestreo debe ser 2 veces mayor o igual que la
Cambiando la resolucin de escritura a 12, se puede frecuencia mxima de la seal a muestrear.
utilizar analogWrite () con valores entre 0 y 4095 para
explotar la resolucin completa del DAC o para ajustar 2 <
la seal de PWM sin darse la vuelta (rolling over).

Terico(fabricante practico
)
V. RESULTADO Tasa de arduino: no 100Khz
DACs muestreo especificado
Texas Instrument:
Fotos aqu y explicacin de lo que nos dijo la Hasta 1000 Ksps
profa(teorema de muestreo explicado con E/O Analgicos 3.3V 2.265
(A0-A11)
graficas) E/O Digitales 3.3v 3.265 v
(0-53)
Salidas digitales Suministra 3mA
15mA
Entradas Recibe 6mA
digitales 9mA

Salida DAC(x) Amplitud de Con entrada de 3.2v,


salida salida= 2.08 V
entre 1/6 y 5/6 de
Fig. Seal muestreada(12 bits)
la amplitud
original
Salidas Terico Practico
Digitales
0 Digital 0V 0v -1.456v
1 Digital 3.3V 1.5v -3.256v

Fig. Seal original Resolucin Terico


12 bits 855 uV
10 bits 3.225mV

VI. ANALISIS DE RESULTADOS.


VII. CONCLUSIONES

La siguiente tabla muestra los resultados obtenidos


experimentalmente comparados con las especificaciones
del fabricante.

Para la frecuencia de muestreo, en la pgina de arduino


no se especifica ningn dato pero en la pgina del
microcontrolador ATSM3X8E de Texas nos indica hasta
1000Ksps.

Un teorema de gran ayuda para esta prctica es teorema


de muestreo de Nyquist-Shannon.

El teorema demuestra que la reconstruccin exacta de


una seal peridica continua en banda base a partir de
VIII. BIBLIOGRAFIA

[1] Arduino Home: Portal oficial del hardware libre A


rduino. Pgina web (Septiembre 2017):
http://arduino.cc
[2]
Pgina web (Septiembre 2017):
http://arduino.cc/en/Main/arduinoBoardDue
[3]
Pgina web (Septiembre 2017):
http://www.atmel.com/Images/doc11057.pdf
[4] Comi espaol de Automtica (CEA) (2017).
"Curso prctico on-line de Arduino Avanzado". Pgina
web (mayo 2017): http://www.ceautomatica.es/curso-
online-de-cea-curso-practico-line-de-arduino-avanza

IX. TABLAS, FOTOS Y ANEXOS COMPLEMENTARIOS

CODIGO

#define analogPin A1 // pin analgico


A1
long val=0; //variable para
almacenar valor

void setup() {

analogReadResolution(12); // configuracin
de la resolucin del DAC
analogWriteResolution(12); // y del ADC a
12bits
}
void loop() {

long val=analogRead(analogPin); // leer pin


analgico y guardar
analogWrite(DAC0,val); // mandar
datos a la salida del DAC.

S-ar putea să vă placă și