Medición de Aceleración con Arduino PDF

Title Medición de Aceleración con Arduino
Course LENGUAJE DE PROGRAMACION
Institution Universidad Nacional de San Antonio Abad del Cusco
Pages 23
File Size 1.7 MB
File Type PDF
Total Downloads 95
Total Views 130

Summary

la medicion de un acelerometro con arduino...


Description

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO

Contenido 1.

OBJETIVOS.....................................................................................................................1

2.

MATERIAL REQUERIDO.................................................................................................1

3.

SISTEMAS DE MEDIDA INERCIAL.................................................................................2

4.

SISTEMAS DE REFERENCIA Y COORDENADAS..........................................................3 4.1

Sistemas de coordenadas.........................................................................................3

4.2

Acelerómetros...........................................................................................................6

4.3

Giróscopos................................................................................................................7

5.

MPU-6050 SIX-AXIS MEMS MOTIONTRACKING™ DEVICES.......................................8

6.

USANDO EL MPU6050..................................................................................................10 6.1

ESQUEMA DE CONEXIÓN.....................................................................................11

6.2

EL PROGRAMA DE CONTROL..............................................................................12

6.3

MIDIENDO ÁNGULOS DE INCLINACIÓN..............................................................13

7.

COMENTARIOS FINALES.............................................................................................15

8.

ejemplo aplicativo con arduino.......................................................................................16 8.1

Conexiones entre Arduino y el MPU6050................................................................16

8.2

Ej.1: Realizar mediciones del MPU6050:................................................................17

8.3

Ej.2: Escalado de lecturas.......................................................................................19

8.4

Ej.3: Calculando el ángulo de inclinación con el acelerómetro del MPU6050..........21

INGENIERIA MECANICA

1

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO MEDICION DE ACELERACION CON ARDUINO 1.

OBJETIVOS    

2.

Presentar los conceptos básicos de los sistemas de medida inercial o IMUs. Plantear las nociones básicas de sistemas de referencia. Acelerómetros y giróscopos. El MPU6050, Medida inercial de 6 grados de libertad. MATERIAL REQUERIDO.

Ilustración 1 Arduino UNO o equivalente

Ilustración 2 Un módulo MPU6050

INGENIERIA MECANICA

2

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO

3.

SISTEMAS DE MEDIDA INERCIAL Hasta ahora básicamente hemos ido viendo componentes sencillos que nos permitieran crear pequeños prototipos con nuestro Arduino uno. Para entender que es un acelerómetro se tiene que aprender que es un sistema de medida inercial: Los sistemas de medida inercial o IMUs por sus siglas en Ingles (Inercial Measurement Units). No hace mucho tiempo, los giróscopos eran mecánicos y solamente los militares podían permitirse el lujo de usarlos, porque no solo eran complicados y tendían a desajustarse, sino que además su precio era disparatado. Pero hoy con el abaratamiento de los dispositivos electrónicos integrados, los chips digitales con giróscopo y acelerómetros se han vuelto no solo cotidianos, sino además de precio ridículo, gracias a los teléfonos móviles y a toda la industria que se ha desarrollado alrededor. Ya todos nos hemos acostumbrado a que nuestro móvil o Tablet gire la pantalla para adaptarse a nuestra posición bien apaisado bien vertical y naturalmente se hace a base de este tipo de sensores. Vamos a presentar un componente muy frecuente en el mundo Arduino, el MPU650 tanto por su potencia, como por lo extendido de su uso y documentación que lo convierten en una referencia imprescindible para infinidad de proyectos, que van desde drones, quadricópteros y robots 4×4 a multitud de otros inventos. Pero antes de empezar a hablar de los giróscopos y acelerómetros, necesitamos dar un rodeo (Si, lo siento, es necesario) y tendremos que hablar de sistemas de coordenadas, velocidades angulares y otras zarandajas, para fijar algunas ideas básicas, sin las cuales no podremos avanzar.

4.

SISTEMAS DE REFERENCIA Y COORDENADAS Para entender de la función se necesita un sistema de referencia y las medidas que estos estos aparatitos producen en grandes cantidades.

5 .SI ST EMASDECOORDENADAS Para localizar un punto en un sistema de coordenadas, lo primero es definir un sistema de referencia claro y a ser posible común entre los diferentes observadores. El más habitual en nuestra cultura es el llamado sistema cartesiano de referencia.

INGENIERIA MECANICA

3

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO

Ilustración 3 Sistema de coordenadas

Para definir un punto en un espacio de 3 dimensiones como este que percibimos ( Aunque no faltan físicos diciendo que hay 11 ) necesitamos 3 números, que pueden ser la proyección del punto en tres ejes ortogonales (Forma pija de decir perpendiculares entre sí). De este modo, una vez definida la unidad de medida, la posición de cualquier punto del espacio queda definido mediante las 3 coordenadas que llamamos x, y, z, con respecto a nuestro sistema de referencia. Con un único punto, de 3 coordenadas en el espacio, podemos fijar por ejemplo su centro de gravedad, pero resulta evidente de que necesitamos además especificar otros parámetros para saber si el avión vuela boca arriba o boca abajo, o si tiene un Angulo ascendente o descendente. Por eso para reflejar la situación y orientación de un avión o barco necesitamos más información: Los ángulos que cada uno de los ejes del aparato marca con respecto a la nuestra referencia. Estos ángulos de desviación respecto los ejes de referencia se llaman en ingles Yaw(z), Pitch(x) y Roll(y), y en castellano corresponden a Guiñada, Cabeceo y Balanceo. Suponed un barco proa a las olas que va subiendo y bajando de proa al ritmo. Este movimiento es el cabeceo, pero con olas laterales harán que el barco se balancee lateralmente siguiendo su ritmo. La guiñada es el ángulo que se desvía la dirección del barco con respecto al curso deseado (llamado de derrota según creo recordar) causado por olas y viento y que debe ser corregido.

INGENIERIA MECANICA

4

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO

Ilustración 4 Ejemplo de Roll, Pitch y Yaw

Por eso para definir la posición de un avión necesitamos tres coordenadas para fijar la posición y 3 ángulos que definan la orientación del avión con respecto a los ejes del sistema de referencia. La posición de un barco en ruta se puede fijar con dos coordenadas, llamadas latitud y longitud con respecto a una referencia arbitraria, que en este caso son dos ángulos, y es lo que nos ofrecen los sistemas GPS de los que hablaremos dentro de no mucho. 

Esta forma de referenciar la posición mediante ángulos en lugar de distancias cartesianas se llaman coordenadas angulares o polares.

Ilustración 5 Coordenadas Polares o angulares

Podemos fijar la localización de un barco que flota mediante su posición GPS, latitud y longitud porque lleva implícito que la altura sobre el globo es cero (Flota). Pero en el caso INGENIERIA MECANICA

5

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO de un avión para situarlo se requiere, además, la altitud a la que vuela que es la tercera coordenada. Pero en los sistemas móviles, como barcos aviones y robots en equilibrio, no basta con saber la posición en el espacio, sino que queremos saber las fuerzas que actúan sobre nuestra nave, porque si no las controlamos será relativamente sencillo que el tema acabe en compañías de seguros revisando muy despacio la letra pequeña de las pólizas. Para controlar esas fuerzas se requieren sensores que nos den información temprana de cualquier fuerza que actúe sobre nuestra nave, para corregirla si se puede y estabilizarla. Y hay dos tipos de sensores que se usan para esto: Acelerómetros y Giróscopos. ¿Por qué dos? Pues porque hay dos tipos de fuerzas que puede sentir una nave, las de empuje lateral por el viento racheado por ejemplo, y una fuerza centrífuga, si por cualquier causa una diferencia de los vientos entre las alas provoca un giro del avión ( O pisar un bordillo con solo una rueda en un robot móvil) El principio de funcionamiento de giróscopos y acelerómetros se funda en otro viejo terror de los malos estudiantes: La primera ley de Newton o ley de la inercia. Establece que todo objeto en movimiento tiene a mantener su estado ( Inercia) hasta que una fuerza externa lo perturbe. Es la fuerza que nos pega al asiento cuando un avión acelera, o que nos impulsa hacia adelante cuando un coche frena. Aquí empiezan las cosas raras: A un sistema de referencia que no está sometido a



ninguna fuerza externa se le llama un sistema de referencia inercial. Si aplicamos una fuerza externa (Como una frenada en el coche en que viajamos) nuestro sistema de referencia, el coche, deja de ser inercial por definición y percibimos unas fuerza opuestas a las aplicadas que tienden a mantener nuestro movimiento previo. Para detectar este tipo de fuerzas usamos los acelerómetros.

6 .ACELERÓMETROS Un acelerómetro detecta las fuerzas de inercia que empujan al sensor y las descomponen en las tres direcciones principales de referencia.

Ilustración 6 Funcionamiento de un acelerómetro

INGENIERIA MECANICA

6

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO Cuando un acelerómetro es sometido a una fuerza lateral en una dirección, el sensor interno (Ilustración 6) tiende a retrasarse en la dirección contraria a la fuerza que actúa y al detectar en que paredes choca y con qué intensidad, podemos calcular la dirección en intensidad de la fuerza aplicada. Hoy no se construyen ya acelerómetros mecánicos con bolitas como antaño, sino que se construyen como dispositivos electrónicos integrados y basándose en el efecto piezoeléctrico, que provoca pequeñas corrientes inducidas cuando la inercia deforma ligeramente cristales diseñados para ello. 



También encontrareis referencias a estos sistemas como MEMS o Micro Electro Mechanical Systems, porque se construyen como un hibrido de semiconductores y sistemas micro mecánicos con partes semi móviles para detectar las inercias y las aceleraciones. Un acelerómetro, detecta la aceleración lateral ) que una fuerza externa provoca en el sensor y mezclando la información de los tres ejes determina mediante calculo, la dirección de la fuerza que se le aplica.

7 .GI RÓSCOPOS A diferencia de los acelerómetros que detectan las fuerzas de inercia y la descomponen en las tres direcciones básicas, los giróscopos detectan la rotación del sensor que no podríamos detectar fácilmente mediante acelerómetros. Los giróscopos modernos detectan las fuerzas centrífugas que el giro provoca alrededor de los tres ejes principales, y devolverán 0 cuando no exista giro. Un giro continuo, a velocidad angular constante, provocará una medida continua en el giróscopo. Es fácil de verlo en un solo eje, como una rueda que gira y la velocidad de giro se puede medir en las familiares revoluciones por segundo o (Para que no sea fácil y marcarnos un pegote), en grados por segundo (º / seg) en el mundo de los giróscopos.

Ilustración 7 Como funciona un Giroscopio

INGENIERIA MECANICA

7

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO Lo que hace un giróscopo es detectar esas fuerzas centrífugas y convertirlas en velocidad de giro alrededor de los tres ejes principales de referencia y por cálculo, los ángulos de inclinación con respecto a los ejes de referencia, para conocer la orientación de nuestra nave o vehículo.

Ilustración 8 Medición de giroscopio en los 3 ejes

Así pues y como resumen, el acelerómetro mide las fuerzas laterales instantáneas a las que se somete el sensor en las tres direcciones de referencia x, y, z, mientras que el giróscopo mide la velocidad angular a la que está girando en cada momento el sensor.

8.

MPU-6050 SIX-AXIS MEMS MOTIONTRACKING™ DEVICES Un chip que integre un acelerómetro de 3 ejes y un giróscopo de 3 ejes se suele decir que es un IMU de 6 grados de libertad y nos permite, mediante cálculo, conocer toda la información necesaria para determinar la orientación y aceleraciones a las que está sometido y actuar en consecuencia.

 





En Física e Ingeniería, un sistema tiene tantos grados de libertad como variables debemos especificar para definir con precisión su situación en un momento dado. La posición en el espacio de un punto o nave tiene tres grados de libertad o 3dof (Degrees of freedom) porque se requieren 3 variables para determinarla, pero podrían ser 3 coordenadas cartesianas o 3 ángulos o dos ángulos y una altitud, pero al final 3. La información que un Sistema de medida inercial típico nos entrega son 6 valores, 3 aceleraciones y 3 giros por lo que a los técnicos les gusta decir (También les va lo de fardar con los coleguis) que es un sistema de 6 grados de libertad 0 6 dof. También podemos usarlo para construir un robot de dos ruedas que se estabilice automáticamente y mantenga un equilibrio inestable sobre esas dos únicas ruedas en todo momento (Ya hablaremos).

INGENIERIA MECANICA

8

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO

Pero ojo, no sirve para conocer la posición de nuestro equipo, para eso están los GPS y de eso ya hablaremos en algún momento futuro.









Como cualquier fuerza externa producirá tanto aceleraciones locales como giros, los IMUs como el MP650, incorporan un procesador interno que combina ambas informaciones para gestionar con el menor esfuerzo todas las informaciones relativas a la situación instantánea Estos procesadores reciben el nombre de IMUs por las siglas en ingles Inercial Measurement Unit (O unidad de medida inercial) y encontrareis que es frecuente que la documentación escrita se refiera a estos sensores así. Y en muchos de ellos también se incluye un magnetómetro que se puede usar como brújula. Tradicionalmente como el coste de estos sensores era alto, se podían encontrar acelerómetros de 1,2 o 3 grados de libertad. Es decir que podían detectar las aceleraciones pero solo en una cierta dirección o en 2 de las tres posibles y lo mismo ocurría con los giróscopos. Pero el desarrollo de la tecnología ha posibilitado construir IMUs integrados de 6 grados de libertad (3 Giros + 3 Acelerómetros) a precios ridículos por lo que ni se os ocurra comprar un IMU que no tenga los 6 grados de libertad al menos.

Ilustración 9 MPU-6050



En esta sesión vamos a presentar una de esas virguerías integradas,) puede llevarnos a engaño, pero no os equivoquéis, el MPU-6050 es un IMU integrado que, de 6 grados de libertad diseñado para ser barata e incluida en teléfonos móviles y tabletas, pero con unas especificaciones que harían palidecer de envidia a cualquiera de los espías de no hace tantos años

INGENIERIA MECANICA

9

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO En el mercado podéis encontrar chips como este a saco, así que ¿ Que tienes que buscar en un sensor IMU? En primer lugar el rango de operación. Para los acelerómetros se mide en Gs. Recordad de los olvidados y poco añorados días de colegio que G es la aceleración de la gravedad en la superficie de la tierra y cualquier aceleración se puede medir por comparación. Para los cuadricópteros una IMU capaz de medir unos pocos Gs pueden ser suficientes porque no es un Ferrari, pero si hacéis pruebas de impacto o de choque de coches, vais a necesitar medir 50 o 60 Gs. Para los giros necesitas conocer la mayor velocidad angular que puede medir y se suele dar en grados por segundo (º / seg) y para que no sea fácil suelen hablar de mili Voltios por grado y por segundo. Que normalmente significa que un giróscopo de 30 mV / ° / s te dará una medida de 300mV en la salida a analógica cuando rote a 10º / seg. Y mejor lo dejamos aquí porque a mí ya no me alcanza más para seguir hablando de esto. El integrado que vamos a usar, el MPU650 es una pieza bastante sofisticada de hardware y software que cubre un abanico bastante amplio de situaciones y además a un precio mínimo que es lo que nos gusta: Bueno Bonito y Barato. Si buscáis en Internet os encontrareis con facilidad con la data sheet de este chip y con suerte entenderéis lo mismo que yo, o sea nada, pero es cantidad de molón y vale la pena que echéis una ojeada.

Ilustración 10 acelerómetro GY 521

Nosotros vamos a usar para las próximas sesiones una breakout Board, o sea, una placa con el chip integrado y pines, que deberemos soldar, para comunicarnos con él a través del BUS I2C, que son bastante fáciles de encontrar por poca tela, como la que veis aquí abajo. En la próxima sesión veremos cómo conectarlos a nuestros Arduinos y como leerlos, pero por hoy os dejo descansar que ya he abusado bastante de vuestra paciencia. 9.

USANDO EL MPU6050 En la sesión anterior dimos un repasito a cuatro ideas claves de las que era preciso asegúranos que las teníamos claras, y así poder empezar a hablar directamente INGENIERIA MECANICA

10

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO de acelerómetros y giróscopos, y una vez sentadas las bases ya podemos empezar con la parte divertida. Es importante que entendáis que los IMUs son unas piezas de hardware bastante sofisticadas y que el MPU650 que vamos a utilizar es un chip de 6 dof o grados de libertad porque incluye un acelerómetro de 3 ejes y un giróscopo de 3 ejes. Aunque lo que miden lo sensores internos son aceleraciones lineales y angulares el procesador interno del IMU es capaz de realizar cálculos sobre la marcha para darnos informaciones más útiles como los ángulos de inclinación con respecto a los 3 ejes principales. Por eso todos los tutoriales que veáis por ahí os dirán que conseguir los datos en bruto del MPU650 es la parte fácil, procesarlos y reaccionar es otra historia que se puede complicar un poco más. Pero como siempre se dice un viaje de 1000 km empieza con un sencillo paso, así que vamos a darlo. Empecemos viendo cómo se conecta a nuestro Arduino. Para estas sesiones vamos a utilizar una Breakout board bastante típica llamada GY-201, que incluye un MPU650 y un regulador de tensión, con lo que podemos alimentar a tanto 3.3V como a 5V

1 0 .ESQUEMADECONEXI ÓN

EL MPU650 viene con interface I2C por lo que la conexión es trivial y podéis hacerla poco más o menos así:

Ilustración 11 Conexión del acelerómetro con el Arduino

Basta con conectar los pines de alimentación y montar los pines necesarios para el control del bus I2C. Cuando el IMU dispone de alguna medida se lo informa a nuestro Arduino mediante una interrupción y por eso conectamos el pin INT a nuestra primera interrupción en el pin 2.

INGENIERIA MECANICA

11

ARDUINO

UNIVERSIDAD SAN ANTONIO ABAD DEL CUSCO Si vas a usar un Arduino Mega la conexión es ligeramente diferente como se muestra aquí:

Ilustración 12 Conexión del acelerómetro con e...


Similar Free PDFs