Vous êtes sur la page 1sur 20

Informe de laboratorio I

Aragn Jaramillo Juan David Cd. 1115191534


Gonzlez Potes Brayan Andrs Cd. 1094931216
Herrera Ramos Maria Camila Cd. 1113308334
Muoz Rodrguez Jhon Fredy Cd. 1085689993

Universidad del Quindo


Facultad de ingeniera
Ingeniera Electrnica
Armenia, Quindo
2015

CONTENIDO

Pg.
INTRODUCCIN

1. OBJETIVOS

2. RESUMEN Y ESPECIFICACIONES

3. MTODOS E INSTRUMENTOS

4. ANLISIS TERICO

5. RESULTADOS Y DISCUSIN

30
40

50

60

90

16

6. CONCLUSIONES

19

7. BIBLIOGRAFA

20

INTRODUCCIN

En la actualidad debido al avance tanto tecnolgico como de la sociedad se ha


hecho necesario idear mecanismos cada vez ms eficientes y ptimos en todas
las reas del conocimiento con el fin de que estos sistemas sean capaces de
cumplir con las caractersticas para las cuales fueron diseados.
En el mbito del control, los artefactos que ms han cobrado importancia en los
ltimos aos son los sistemas digitales ya que permiten realizar operaciones de
alta complejidad mediante software, minimizando el uso de hardware, lo que
constituye ms comodidad para el diseador, ms exactitud en el proceso y por
supuesto ms economa al momento de implementar el sistema.
En el presente laboratorio se enviar una seal en corriente alterna, la cual
despus de realizar un proceso de conversin pasar de ser una seal analgica
a digital, dicho procedimiento se llevar a cabo en la plataforma Arduino y
posteriormente ser leda y graficada mediante el lenguaje de programacin
Processing para mostrarla en la pantalla del pc en una especie de osciloscopio
realizado con la misma estrategia computacional.

1. OBJETIVOS

-Implementar correctamente el software y hardware necesario para adquisicin y


procesamiento de datos utilizando el Arduino DUE.
-Utilizar funciones de la API de Arduino para capturar datos anlogos, procesarlos
y enviar los datos capturados al PC para graficarlos.
-Implementar un osciloscopio digital basado en PC utilizando la captura de datos
y el lenguaje de programacin Processing.
-Convertir una seal analgica en una seal digital.

2. RESUMEN Y ESPECIFICACIONES

Esta prctica est basada en el uso de sistemas embebidos, los cuales han
demostrado ser una gran herramienta de bajo costo y fcil acceso al pblico en
general, para la captura, procesamiento y almacenamiento de informacin.
El sistema embebido implementado en la presente prctica fue el Arduino DUE, el
cual posee un procesador de 32 bits lo que le da una gran velocidad de
procesamiento de la informacin, aparte de sus otras caractersticas que son
ptimas para este tipo de prctica.
Para el desarrollo de la prctica se implementaron los circuitos de los
amplificadores sumadores inversores y se hizo la captura de los datos que estos
arrojaban por el ADC del Arduino DUE, el cual convierte las entradas anlogas en
digitales. Para su posterior procesamiento a travs del software y su grfica en el
Processing. Cabe resaltar que para esta prctica solo se us una tcnica de
lectura mediante el Arduino.

3. MTODOS E INSTRUMENTOS

La prctica se resume en un esquema sencillo representado en la fig.1, en el cual


se observa como la seal es tomada por el ADC seguidamente manipulada en el
PC y finalmente graficada.

Figura 1. Esquema del proceso a realizar

Para lograr el desarrollo de la prctica se hizo necesario


materiales y equipos:

usar los siguientes

-Generador de ondas: Se gener una seal AC con la cual se aliment el circuito.


-Fuente Dual: Se aliment el LM324 y con la polarizacin directa de 5 voltios se
polariz el regulador de voltaje.
-Computador: Es el medio en el cual se puede ejecutar las instrucciones en el
Arduino DUE y posteriormente mostrar la seal de salida en el Arduino DUE.
-Multmetro: Mide valores de tensin y resistencia para verificar datos y corregir
posibles errores.
-Protoboard: Medio en el cual implementa el circuito.
-Capacitores
-Resistencias

-LM324: Con este circuito integrado se implementaron el atenuador, el sumador


inversor y el inversor.
-plataforma Arduino DUE: Lee los datos y los enva al Processing.

Figura.2 montaje del circuito

Figura.3 tipo de fuente y generador usados.

Para las mediciones, fue necesario hacer pruebas previamente en el osciloscopio


antes de hacerlas directamente con la tarjeta para evitar una posible avera por
valores de voltaje no permitidos. Una vez qu se verifico que los valores de
voltaje pico a pico estaban en el rango permitido por la tarjeta, se hizo la conexin
directa entre el montaje y la placa, en la cual mediante comandos se hacia la
relacin de los valores de entrada y se variaba su escala para poder graficar en el
Processing.
Dada la limitacin que tiene el Arduino DUE con respecto al voltaje mximo de
cada pin, la seal de salida no deba sobrepasar los 3,3 voltios de amplitud, para
cerciorarnos de esto mediamos los voltajes de salida con el multmetro los cuales
seran los datos a leer por la plaqueta, y se verificaba la amplitud que mostraba la
seal en el osciloscopio, esta amplitud variaba dependiendo de la seal con la que
7

fuese alimentado el circuito desde el generador de ondas, adems se haca


comparaciones entre la seal de entrada y la seal de salida grficamente en el
osciloscopio para comprobar que el circuito estuviera cumpliendo la funcin para
la cual fue diseado, la de reducir en un sexto la amplitud.
Cada dato registrado estaba expuesto a mrgenes de error dado que los
elementos usados no tenan valores exactos comparados con los tericos, de
igual forma por el ruido que se mezclaba en la seal de entrada a la salida se
registraban datos no tan exactos como los que se esperaran. [3]
Inicialmente se mandaba una seal al montaje con el generador de ondas, con
una amplitud de alrededor de 6V y una frecuencia de 200hz, la cual se disminua a
alrededor de los 3V en el circuito gracias a los amplificadores operacionales.

4. ANLISIS TERICO
Es necesario disear un atenuador para disminuir la entrada de voltaje al Arduino
DUE, en este caso se opta por atenuar la seal en un sexto, para ello se utiliza un
amplificador operacional en modo inversor. En la configuracin de modo inversor
se obtiene una ganancia que depende de las resistencias como en la ecuacin 1.
[1]

=
(1)
1
R1: Resistencia de entrada.
Rf: Resistencia de referencia.
1

Se sabe que = 6

, se define una de las resistencias para cumplir con el

criterio, en este caso Rf=620, al despejar de la ecuacin 1 se obtiene el valor de


R1 como muestra la ecuacin 2.

1 =
= 6 620 = 3720
(2)

Ya que el valor de resistencia hallado para R1 no es comercial se toma un valor


cercano al mismo, se decide utilizar una resistencia de 3900, con este nuevo
valor se procede a hallar nuevamente la ganancia como en la ecuacin 3.
620
(3)
=
= 0.159
3900
El nuevo valor de Av es de -0.159, un valor cercano a -0.16 que era requerido para
el diseo del atenuador.
Se procede a simular el circuito con Proteus 8.0, como muestra la figura 4.

Figura 4. Diagrama del circuito atenuador


El cual produce una salida como la mostrada en la figura 5.

Figura 5. Seal atenuada


Ante la entrada de una seal sinusoidal de 10hz y 6v, se produce una seal
desfasada 180 y con aproximadamente un voltio en su salida, no es
completamente un voltio, debido a las resistencias comerciales, como se mostr
en la ecuacin 3.
Luego se procede a implementar un amplificador operacional como sumador, para
sumar la seal obtenida anteriormente con un nivel DC, para que la seal se
desplace sobre el eje 0 y tenga solo voltajes positivos, ya que el Arduino solo
puede leer dichos voltajes.
Antes de realizar la suma, es necesario segn los requerimientos, sumar con un
nivel DC de 1.5v, para obtenerla solo se dispone de un nivel DC de 5v as que se
decide regular dicho voltaje con un regulador LM317t.
La ecuacin de la salida en un sumador es descrita en la ecuacin 4.
1 2
(4)
= ( + )
1 2
Si todas las resistencias en el sistema son iguales, la ganancia es igual a 1 y la
suma de ambos voltajes de entrada es la salida, en este caso se eligen
resistencias de 1k. Debido a la salida del atenuador, el voltaje v1 ya es negativo
y al sumarle un nivel DC positivo dicha seal es desplazada hacia abajo del eje 0,
situacin que no se desea por lo descrito anteriormente, as que, se pone un nivel
DC negativo para que la seal al salir del sumador, sea desplazada hacia arriba,
como muestra la figura 3.

10

Figura 6. Circuito completo


Finalmente, la respuesta a la salida del sistema se encuentra en la figura 7.

Figura 7. Seal total

La salida total del sistema se encuentra dentro de los lmites que puede leer el
Arduino DUE a travs del ADC, se puede notar adems que la seal oscila

11

alrededor de 1.5 voltios debido al nivel DC y dicha seal tiene una amplitud de
aproximadamente 0.5 voltios debido a que se atena una seal de 3 voltios de
amplitud en su sexta parte.
Ahora es necesario llevar la salida del sistema al Arduino DUE, para ello el
Arduino debe de programarse para que sepa que debe leer un determinado voltaje
por su ADC, as que utilizando lenguaje Arduino y el compilador del mismo, se
crea el siguiente cdigo. [4]

Cdigo 1.
En el cdigo 1, se incluye una librera que contiene funciones de ADC, DAC y
transforma el dato ledo o que se desea sacar por el DAC en un dato flotante, se
declara un objeto x1 que pertenece a una clase llamada EntSal, que recibe como
parmetros el puerto que se desea utilizar y el rango de valores en los cuales se
desea la conversin a flotante.
En el void setup se llama una funcin perteneciente a la clase x1, que organiza la
resolucin del dato, en este caso es de 10 bits y se inicializa el puerto serial 0 a
9600 baudios por segundo. Fuera del void setup se declara una variable de tipo
flotante k1, la cual va a guardar el valor del dato ledo por el ADC, en el void loop,
se utiliza una funcin que pertenece a la clase EntSal llamada _ADC que no recibe
parmetros, y finalmente se manda el valor por el puerto serial 0, utilizando una
funcin propia del lenguaje Arduino, llamada Serial.println, la cual recibe el dato
que se desea mandar como parmetro.
12

Ahora se dar un vistazo a la librera EntSal.

Cdigo 2.
En el cdigo 2 se inicializa la clase EntSal, como parmetros iniciales de la misma,
se asigna el valor mnimo, el mximo, el puerto y la resolucin por defecto.

Cdigo 3.
En el cdigo 3 se encuentra una de las funciones de la clase EntSal llamada
setRes, que asigna un valor a la resolucin de lectura y escritura del Arduino,
dicha funcin como se explic anteriormente, se utiliz en el void setup para definir
la resolucin.

Cdigo 4.
En el cdigo 4 se muestra la funcin utilizada en el void loop para leer el ADC, en
dicha funcin se lee el ADC en el respectivo puerto asignado, y se mapea dicho

13

valor con respecto al lmite mnimo y mximo definido al principio, luego de


mapear dicho valor se retorna.
En el Arduino se utiliza el puerto serial 0 ya que este es el que est conectado con
el USB, y a travs de este manda los datos al PC para su respectivo
procesamiento, en este caso se utiliza un software llamado Processing, que
grafica en tiempo real los puntos ledos recibidos por el puerto serial del Arduino. A
continuacin se muestra el respectivo proceso realizado en el software Processing
para realizar la tarea antes mencionada.

Cdigo 4.
En esta primera parte del cdigo se define el tamao de la pantalla mediante size()
y las variables B y A, que corresponden al ancho y alto, respectivamente, se crea
una variable del tipo entero llamada yPosant la cual se inicializa en cero y ser
utilizada ms adelante como su nombre lo indica para guardar la posicin en y
anterior. Posterior a ello con el comando println y la variable myPort se busca y
asigna el puerto adecuado para ejecutar la accin. [2]

Cdigo 5.

14

En el cdigo 5. se observa dos ciclos for, los cuales cada uno de ellos definen los lmites
para realizar la grilla del osciloscopio, cada uno de los ciclos corresponde a las lneas en x
y y.

Cdigo 6.

En esta parte del cdigo se leen los datos y se realiza un mapeo con el cual organizamos
los valores a la escala deseada, en este caso -9 y 9, guardamos la posicin anterior para
seguir con el proceso.
Con la grfica de la seal en Processing se completa el proceso de conversin,
transmisin de datos y grfica de los mismos.

15

5. RESULTADOS
A continuacin, en la Figura 8. se puede observar los resultados que se obtiene
idealmente al simularlos con el programa de Processing, donde se observa la
seal de entrada (color verde) con un voltaje pico de 9V y la seal de salida (color
amarillo) con un voltaje de 3v pico a pico que es lo que se espera para alimentar al
Arduino DUE, debido a que la mxima diferencia de potencial que soporta este
dispositivo electrnico es de 3,3 V.

Figura 8. Simulacin del montaje completo.

En la figura 9. se puede observar cmo se realiz el diseo para obtener una


seal a la salida 3V pico a pico, se implementan 3 A.O donde all se obtiene lo
esperado, en el primer A.O siendo un atenuador se realiza una ganancia de 1/6
para reducir la amplitud del voltaje a 1.5 V pico, despus se disea el segundo
A.O siendo un sumador inversor para desplazar la seal, el cual es alimentado
por una voltaje de 1.5 voltios que provienen de un regulador de voltaje que fue
diseado con la fuente fija de 5 V de la fuente implementada, despus de estos
pasos entra al ltimo A.O que es un inversor sin ganancia diseado con
resistencias iguales de 1Kohm para subir la seal y as alimentar al Arduino DUE
para procesar la seal con el software. [5]

16

Figura 9. Representacin del circuito en simulacin con Proteus.

En la prctica se tomaron medidas pertinentes para saber si ese voltaje de salida


era el adecuado para no causar averas en los componentes electrnicos como el
Arduino DUE, se hall una amplitud adecuada para este, 6 V pico y la seal de
salida (color azul) fue la adecuada para alimentar lo, en las Figuras 10 y 11 se
observan las caractersticas de las seales obtenidas, en la Figura 12 se observa
mejor la seal de salida en el osciloscopio.

.
Figura 10. Seal de entrada aplicada en la prctica

17

Figura 11. Seales de salida y entrada del generador y la fuente de voltaje.

Figura 12. Caracteristicas de la seal de salida.


A continuacin en la tabla 1. se resumen los valores ms relevantes tericos y
prcticos, con el fin de hallar el porcentaje de error.
VALORES
Atenuacin
Voltaje DC

PRCTICOS
0.157
1.4

TERICOS
0.16
1.5

%ERROR
1.875
6.666

Se puede observar que los porcentajes de error hallados se encuentran dentro de


los rangos aceptables por lo que se puede determinar que la prctica se realiz de
manera exitosa y se implement de optimamente el hardware.

18

6 CONCLUSIONES
Al momento de realizar el envo de la seal a travs de la plataforma Arduino DUE
se encontr que fue ms sencillo ya que no se hizo necesario un hardware
complejo y la seal se transmite en un lapso de tiempo muy pequeo, lo que es
excelente ya que podemos observar la seal casi al mismo tiempo que la estamos
generando. Por otra parte en el hardware se encontr que existen maneras muy
sencillas de atenuar o amplificar una seal, y que al poner esta seal a interactuar
con un voltaje Dc podemos desplazarla a cualquier punto deseado dentro de los
rangos de voltaje sin afectar su amplitud o frecuencia.
Durante este proceso se confirm desde la experiencia la importancia de
herramientas como la plataforma Arduino DUE o el lenguaje de programacin
Processing ya que con ellas se pueden realizar varios sistemas complejos que
desde el punto de vista analgico demandara ms uso de hardware y por ende
ms tiempo de dedicacin y dinero.

19

7. BIBLIOGRAFA
[1] Cardona Aristizabal, J. E., Ibarguen Ocampo, F. J., & Muoz Gutierrez, P. A. (2006).
Analisis y Control de Sistemas Lineales en Variables de Estado. Armenia, Quindio:
Fussion Creativa.
[2] tutoriales. (2015). Processing. Obtenido de https://processing.org/tutorials/.
[3] Universidad del Quindo. (2015). Notas de clase - Facultad de Ingeniera-Ingeniera
Electrnica.
[4] varios. (2012). Libro bsico de Arduino: electrnica y programacin.
[5] Villota, E. (2012). Control Moderno y ptimo.

20