0% encontró este documento útil (0 votos)
108 vistas

Arduino Con LabView

Este documento describe un proyecto que mide la inclinación mediante un acelerómetro MPU-6050 conectado a una placa Arduino. El acelerómetro captura datos de inclinación que son procesados en LabView para mostrar gráficamente las variaciones. El objetivo es desarrollar habilidades en instrumentación virtual mediante el uso de sensores, Arduino y LabView.

Cargado por

Andrew Israel Q
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
108 vistas

Arduino Con LabView

Este documento describe un proyecto que mide la inclinación mediante un acelerómetro MPU-6050 conectado a una placa Arduino. El acelerómetro captura datos de inclinación que son procesados en LabView para mostrar gráficamente las variaciones. El objetivo es desarrollar habilidades en instrumentación virtual mediante el uso de sensores, Arduino y LabView.

Cargado por

Andrew Israel Q
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

FACULTAD DE INGENIERÍA

Instrumentación

Proyecto Final: Medidor de


Inclinación Mediante Acelerómetro en Labview
Dicson Aguirre
Diego Guachichullca
Andrew Quezada

Resumen —en este proyecto se muestra el


funcionamiento de un prototipo de avión pequeño que mide
las variaciones de inclinación mediante el sensor MPU-
6050 . A través del software Labview, se muestran las
señales del sensor, también en el protoboard se observan
indicadores que mostrarán las inclinaciones dado un cierto
ángulo.

Palabras clave — Arduino, inclinación, sensor, Labview. Fig. 1. Funcionamiento de un acelerómetro capacitivo.

Sensor: Acelerómetro GY-521 (MPU-6050).- El MPU-


6050 es una unidad de medición inercial (IMU) de seis grados
I. OBJETIVOS de libertad (6DOF) fabricado por Invensense, que combina
Objetivo general: un acelerómetro de 3 ejes y un giroscopio de 3 ejes.
● Captar datos de un sensor para procesarlos e La comunicación puede realizarse tanto por SPI como por
implementarlos en un sistema desarrollado en el bus I2C, por lo que es sencillo obtener los datos medidos. La
software LabView de instrumentación virtual. tensión de alimentación es de bajo voltaje entre 2.4 a 3.6V.

Objetivos específicos: Frecuentemente se encuentran integrados en módulos


● Usar software de instrumentación virtual. como el GY-521 que incorporan la electrónica necesaria para
● Utilizar un acelerómetro electrónico para captar conectarla de forma sencilla a un Arduino. En la mayoría de
datos y procesarlos en el software LabView. los módulos, esto incluye un regulador de voltaje que permite
● Desarrollar habilidades en la utilización de alimentar directamente a 5V.
instrumentación virtual.
Dispone de conversores analógicos digitales (ADC) de
16bits. El rango del acelerómetro puede ser ajustado a ±2g,
II. MARCO TEÓRICO
±4g, ±8g, y ±16g, el del giroscopio a ±250, ±500, ±1000, and
Acelerómetro electrónico.- Es un sensor que sirve para ±2000°/sec.
medir la fuerza de aceleración, ya sea estática o dinámica,
estos sensores son útiles para medir vibraciones y Es un sensor consume 3.5mA, con todos los sensores y el
movimientos en un sistema. DMP activados. Dispone de un sensor de temperatura
embebido, un reloj de alta precisión e interrupciones
El funcionamiento depende de su tipo, ya que las programables. También puede conectarse a otros dispositivos
composiciones son distintas, pero siempre cumplen una I2C como master.
función principal que es medir el desplazamiento de placas,
resortes, etc. En el caso de un acelerómetro capacitivo estos El MPU-6050 incorpora un procesador interno (DMP
están compuestos por capas capacitivas internas, ya sea que Digital Motion Processor) que ejecuta complejos algoritmos
estén fijas o contengan unos pequeños resortes, al aplicar una de MotionFusion para combinar las mediciones de los
fuerza de aceleración sobre el sensor, las placas se mueven sensores internos, evitando tener que realizar los filtros de
una a otra, esto ocasiona que la capacitancia entre ellas forma exterior.
cambie. A partir de estos cambios en la capacitancia es con lo
que se puede determinar la aceleración. El MPU-6050 es uno de los IMUs más empleados por su
gran calidad y precio. Será uno de los componentes que con
mayor frecuencia incorporaremos a nuestros proyectos de
electrónica y robótica.
haga su trabajo, basta conectarla a un ordenador con un cable
USB o a la corriente eléctrica a través de un transformador.

Fig. 2. GY-521

Software Arduino.- Es una plataforma de desarrollo


basada en una placa electrónica de hardware libre que
incorpora un microcontrolador re-programable y una serie de
pines hembra, los que permiten establecer conexiones entre
el microcontrolador y los diferentes sensores y actuadores de
una manera muy sencilla (principalmente con cables dupont). Fig. 5. Placa ARDUINO UNO.
Características técnicas de Arduino Uno:

- Microcontrolador: ATmega328

- Voltage: 5V
- Voltage entrada (recomendado): 7-12V
- Voltage entrada (limites): 6-20V
- Digital I/O Pins: 14 (de los cuales 6 son salida
PWM)
- Entradas Analogicas: 6
- DC Current per I/O Pin: 40 mA
Fig. 3. Software Arduino. - DC Current parar 3.3V Pin: 50 mA
- Flash Memory: 32 KB (ATmega328) de los cuales
Una placa electrónica es una PCB (“Printed Circuit 0.5 KB son utilizados para el arranque
Board”, “Placa de Circuito Impreso” en español). Las PCBs - SRAM: 2 KB (ATmega328)
superficies planas fabricadas en un material no conductor, la - EEPROM: 1 KB (ATmega328)
cual costa de distintas capas de material conductor. Una PCB - Clock Speed: 16 MHz
es la forma más compacta y estable de construir un circuito
electrónico. Así que la placa Arduino no es más que una PCB Introducción general a una placa Arduino
que implementa un determinado diseño de circuitería interna,
de esta forma el usuario final no se debe preocupar por las Mirando a la placa desde la parte de arriba, este es el
conexiones eléctricas que necesita el microcontrolador para esquema de lo que puedes ver (los componentes de la placa
funcionar, y puede empezar directamente a desarrollar las con los que puedes interactuar en su uso normal están
diferentes aplicaciones electrónicas que se necesite. resaltados):

Fig. 4. Placa Electrónica


Fig. 6. Componentes de interacción de la placa ARDUINO UNO.
Placa ARDUINO UNO.- E una placa electrónica basada Empezando según las agujas del reloj:
en el microcontrolador ATmega328. Cuenta con 14
entradas/salidas digitales, de las cuales 6 se pueden utilizar - Terminal de referencia analógica (naranja)
como salidas PWM (Modulación por ancho de pulsos) y otras
6 son entradas analógicas. Además, incluye un resonador - Tierra digital (verde claro)
cerámico de 16 MHz, un conector USB, un conector de - Terminales digitales 2-13 (verde)
alimentación, una cabecera ICSP y un botón de reseteo. La - Terminales digitales 0-1/ E/S serie – TX/RX (verde
placa incluye todo lo necesario para que el microcontrolador oscuro) – Estos pines no se pueden utilizar como e/s digitales
(digitalRead() y digitalWrite()) si estás utilizando módulo serie TTL externo (por ejemplo el adaptador Mini-
comunicación serie (por ejemplo Serial.begin). USB).
- Botón de reinicio – S1 (azul oscuro)
- Programador serie en circuito «In-circuit Serial - Interruptores externos: 2 y 3. Estas terminales
Programmer» o «ICSP» (azul celeste). pueden ser configuradas para disparar una interrupción con
- Terminales de entrada analógica 0-5 (azul claro) un valor bajo, un pulso de subida o bajada, o un cambio de
- Terminales de alimentación y tierra (alimentación: valor.
naranja, tierras: naranja claro) - PWM: 3, 5, 6, 9, 10, y 11. Proporcionan salidas
- Entrada de alimentación externa (9-12VDC) – X1 PWM de 8 bit con la función analogWrite(). En placas con
(rosa) ATmega8, las salidas PWM solo están disponibles en los
- Selector de alimentación externa o por USB (coloca pines 9, 10, y 11.
un jumper en los dos pines más cercanos de la alimentación - Reset BT: 7. (solo en Arduino BT) Conectado a la
que quieras) – SV1 (púrpura). En las versiones nuevas de línea de reset del módulo bluetooth.
Arduino la selección de alimentación es automática por lo que - SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
puede que no tengas este selector. Estas terminales soportan comunicación SPI. Aunque esta
- USB (utilizado para subir programas a la placa y funcionalidad está proporcionada por el hardware, no está
para comunicaciones serie entre la placa y el ordenador; incluida actualmente el el lenguaje Arduino.
puede utilizarse como alimentación de la placa) (amarillo) - LED: 13. En el Diacemila y el LilyPad hay un led en
placa conectado al pin digital 13. cuando el pin tiene valor
Entradas y salidas digitales/analógicas HIGH, el LED está encendido, cuando el pin está en LOW,
está apagado
Un sistema electrónico es cualquier disposición de
componentes electrónicos con un conjunto definido de Pines Analógicos:
entradas y salidas. Una placa Arduino, por tanto, puede
pensarse de forma simplificada como un sistema que acepta Los pines de entrada analógicos soportan conversiones
información en forma de señal de entrada, desarrolla ciertas analógico-digital (ADC) de 10 bit utilizando la función
operaciones sobre ésta y luego produce señales de salida. analogRead(). Las entradas analógicas pueden ser también
usadas como pines digitales: entrada analógica 0 como pin
Justamente, una de las opciones que hacen más potente a digital 14 hasta la entrada analógica 5 como pin digital 19.
Arduino son sus entradas/salidas digitales. ¿Entonces por qué Las entradas analógicas 6 y 7 (presentes en el Mini y el BT)
hablamos de analógicas? no pueden ser utilizadas como pines digitales.

En los sistemas electrónicos, una magnitud física variable - I2C: 4 (SDA) y 5 (SCL). Soportan comunicaciones
se representa generalmente mediante una señal eléctrica que I2C (TWI) utilizando la librería Wire (documentación en la
varía de manera tal que describe esa magnitud. Por lo general, página web de Wiring).
se hace referencia a las señales continuas como señales
analógicas, mientras que asociamos las señales discretas a Pines de alimentación:
señales digitales: el ejemplo más claro es el de las señales
binarias, donde la señal sólo pueden tomar dos niveles, 0 o 1. - VIN (a veces marcada como «9V»). Es el voltaje de
entrada a la placa Arduino cuando se está utilizando una
Arduino incorpora terminales digitales (señales discretas) fuente de alimentación externa (En comparación con los 5
pero de tal forma que tenemos un gran abanico de valores con voltios de la conexión USB o de otra fuente de alimentación
los que trabajar (por ejemplo, 255 valores de luz en un regulada). Puedes proporcionar voltaje a través de este pin.
fotosensor, siendo 0 ausencia de luz y 254 el máximo valor Date cuenta que diferentes placas aceptan distintos rangos de
lumínico). voltaje de entrada, por favor, mira la documentación de tu
placa. También date cuenta que el LilyPad no tiene pin VIN
Terminales Digitales y acepta solo una entrada regulada.

Las terminales digitales de una placa Arduino pueden ser - 5V. La alimentación regulada utilizada para
utilizadas para entradas o salidas de propósito general a través alimentar el microcontrolador y otros componentes de la
de los comandos de programación pinMode(), digitalRead(), placa. Esta puede venir de VIN a través de un regulador en
y digitalWrite(). Cada terminal tiene una resistencia pull-up placa o ser proporcionada por USB u otra fuente regulada de
que puede activarse o desactivarse utilizando digitalWrite() 5V.
(con un valor de HIGH o LOW, respectivamente) cuando el - 3V3. Una fuente de 3.3 voltios generada por el chip
pin esta configurado como entrada. La corriente máxima por FTDI de la placa.
salida es 40 mA. - GND. Pines de tierra.

- Serial: 0 (RX) y 1 (TX). Utilizado para recibir (RX) Otros Pines:


y transmitir (TX) datos serie TTL. En el Arduino Diacemila,
estas terminales están conectadas a las correspondientes patas - AREF. Referencia de voltaje para las entradas
del circuito integrado conversor FTDI USB a TTL serie. En analógicas. Utilizada con la función analogReference().
el Arduino BT, están conectados a las terminales
correspondientes del módulo Bluetooth WT11. En el Arduino
Mini y el Arduino LilyPad, están destinados para el uso de un
- Reset. Pon esta línea a LOW para resetear el ➢ Sensor GY-521 (MPU-6050)
microcontrolador. Utilizada típicamente para añadir un botón ➢ Software Arduino
de reset a shields que bloquean el de la placa principal. ➢ Placa electrónica ARDUINO UNO
➢ Cables de conexión
Instrumentación virtual - LabVIEW ➢ Software LabVIEW

Labview es un entorno gráfico de programación. El IV. PROCEDIMIENTO


lenguaje utilizado para programar en él se llama “Lenguaje
G, donde la “G” simboliza que es un lenguaje de tipo gráfico. Primeramente, se instala el entorno para conectar el arduino
y poder controlarlo desde Labview. Se debe instalar desde el
VI Package Manager, las librerías de Arduino for Labview y
el toolkit Linx.

Fig. 7. Interfaz de LabVIEW.

Los programas desarrollados en Labview se llaman VI´s Fig. 8. VI Package manager.


(Virtual Instruments), su origen provenía del control de
instrumentos, pero hoy en día su uso se a expandido más allá. Luego, para realizar la comunicación del puerto del
computador con el arduino se utiliza los bloques de Visa
Labview tiene un entorno de programación gráfico, por lo Configure Serial Port, también se usa Linx para leer los datos
que los programas no se escriben, sino que se dibujan, una y para inicializar el proyecto, el proceso se hace mediante los
labor facilitada gracias a que Labview consta de una gran bloques que se muestran en la siguiente figura.
cantidad de bloques prediseñados.

Los programas se dividen en dos partes bien


diferenciadas, una llamada “Panel Frontal”, y otra “Diagrama
de Bloques”.

- Panel Frontal: es la interfaz con el usuario,


la utilizamos para interactuar con el usuario cuando
el programa se está ejecutando. En esta interfaz se
definen los controles (los usamos como entradas,
pueden ser botones, marcadores etc..) e indicadores
(los usamos como salidas, pueden ser gráficas, etc
….).
Fig. 9. Estructura para configurar el arduino con Labview.

- Diagrama de Bloques: es el programa


propiamente dicho, donde se define su Debido a la librería Linx, en la pestaña Makerhub, contiene
funcionalidad, aquí se colocan íconos que realizan la carpeta Linx, se da clic en sensores y luego clic en
una determinada función y se interconectan (el acelerómetro y se muestra un conjunto de sensores, se escoge
código que controla el programa). Suele haber una el MPU-6050 y se escoge READ para leer los valores que se
tercera parte icono/conector que son los medios están sensando. Estos valores los dividimos en giroscopio y
utilizados para conectar un VI con otros VIs. acelerómetro, ya que son los valores que entrega el sensor.
Solamente vamos a utilizar los valores del acelerómetro, ya
En el panel frontal, se encuentra todo tipos de controles o que estos proporcionan información útil para visualizar en
indicadores, donde cada uno de estos elementos tiene este caso.
asignado en el diagrama de bloques una terminal, es decir el
usuario podrá diseñar un proyecto en el panel frontal con
controles y indicadores, donde estos elementos serán las
entradas y salidas que interactúan con la terminal del VI. Se
puede observar en el diagrama de bloques, todos los valores
de los controles e indicadores, como van fluyendo entre ellos
cuando se está ejecutando un programa VI.

III. MATERIALES
➢ Computador
Así mismo, como los leds, creamos una alarma que se active
cuando supere los valores establecidos.

Fig. 10. Datos de aceleración.

En el diagrama de bloques se muestra las gráficas, y los


valores en el tiempo, entonces variando el sensor escogemos Fig. 14. Leds en el diagrama de bloques.
un valor de 30 grados aproximadamente y observamos que
los valores que entrega a estos ángulos son de 8500 y -8500 Finalmente, para iniciar el programa solo damos clic en Run.
para cada eje x,y,z. Ver anexo 3.

V. CONCLUSIONES
Al llevar a cabo la práctica llegamos a las siguientes
conclusiones:

✓ El uso del sensor MPU6050 nos permite obtener las


inclinaciones aplicadas en el sensor en las
direcciones x,y,z.
✓ Se puede concluir que este sensor se puede usar para
Fig. 11. Diagrama de Bloques.
aplicaciones donde se requiera un sistema estable o
equilibrado, por ejemplo, cámaras de video, drones
Entonces, según la figura 10, la configuración nos da un valor etc.
Alto cuando cumple las condiciones y esa señal las enviamos ✓ El software labview es una herramienta muy versátil
al arduino para que se ilumine un led en el protoboard. para generar o crear proyectos de instrumentación ya
que cuenta con muchas herramientas de
procesamiento numérico, digital y de programación,
entre otros.
✓ La manera gráfica de programación de procesos de
labview es una de las mejores para la creación de
proyectos ya que no es necesario escribir códigos de
programación, aunque sí se puede hacer esto.

VI. RECOMENDACIONES
Fig. 12. Estructura para escribir Altos en el Arduino  Se recomienda instalar las librerías y paquetes de
Arduino para Labview previamente para no tener
En la figura 12, utilizamos de igual manera la librería linx inconvenientes al compilar.
para escribir en el arduino desde labview.  Es mejor usar un sensor que sea conocido por las
librerías de Labview para incorporar las funciones
rápidamente como leer los datos y escribir en
arduino.

VII. REFERENCIAS
[1] Olivares Garcés, D. (2018). Estudio e implementación de
algoritmos para la estimación de la posición mediante sistemas
inerciales con Arduino. http://hdl.handle.net/10251/109790
.
[2] VARANIS, Marcus; SILVA, Anderson Langone; BRUNETTO,
Pedro Henrique Ayres and GREGOLIN, Rafael Ferreira.
Instrumentation for mechanical vibrations analysis in the time domain
and frequency domain using the Arduino platform. Rev. Bras. Ensino
Fig. 13. Estructura para crear sonidos. Fís. [online]. 2016, vol.38, n.1 [cited 2019-10-22], 1301. Available
from: http://dx.doi.org/10.1590/S1806-11173812063
[3] https://arduino.cl/que-es-arduino/

[4] https://www.ingmecafenix.com/automatizacion/acelerometro/

[5] http://www.iescamp.es/miarduino/2016/01/21/placa-arduino-
uno/

[6] https://www.ni.com/es-cr/shop/labview/how-do-i-use-labview-to-
teach-engineering-students.html

[7]
https://www.ni.com/academic/students/learnlabview/esa/environment.
htm

VIII. ANEXOS.

BIOGRAFÍAS

Aguirre J. Dicson, nació el 20 de noviembre de 1996, en la ciudad de


SantaRosa. Cursó sus estudios primarios en la escuela Atahualpa. Sus
estudios secundarios los realizó en el Colegio 8 de Noviembre, actualmente
es un estudiante de la Universidad de Cuenca, se encuentra siguiendo la
carrera de Ingeniería Eléctrica.

Andrew I. Quezada Nació en Zamora. Realizó sus estudios en el colegio


Fiscomisional San Francisco donde obtuvo su título de Bachiller en Ciencias.
Actualmente estudia la carrera de ingeniería eléctrica en la Universidad de
Cuenca.

Diego P. Guachichullca Nació en Cuenca. Realizó sus estudios en el colegio


particular Miguel Cordero donde obtuvo su título de Bachiller en Ciencias
físico matemático. Actualmente estudia la carrera de ingeniería eléctrica en
la Universidad de Cuenca.

También podría gustarte