MPU6050, Diagrama de pines, circuito y conexión con Arduino

MPU6050, definición, usos y proyectos con Arduino

Los juegos 3D, las imágenes 3D y los vídeos 3D son la tecnología de moda hoy en día. Para mejorar la experiencia del usuario final, los fabricantes están introduciendo muchos métodos nuevos. Las principales funciones detrás de la tecnología 3D son la detección de rotación, detección de orientación, detección de movimiento, detección de gestos, así como reconocimiento, etc. Los dispositivos que pueden medir estas funciones son sensores como los giroscopios y acelerómetros. Como el tamaño del producto final es muy pequeño, los sensores incorporados en él también deben cumplir los requisitos de pequeño tamaño. El MPU6050 vino como una respuesta a este desafío. Ya que es el dispositivo más pequeño que tiene integrado en un chip tanto el giroscopio como el acelerómetro. Puede ser fácilmente incorporado en un teléfono inteligente debido a su pequeño tamaño.

AZDelivery 5 x GY-521 Modulo kompatibel mit MPU-6050 Giroscopio 3...
  • ✅ ¡Obtenga cinco GY-521 Modulo MPU-6050 de 3 Ejes de giroscopio y Acelerador a un precio especial...
  • ✅ El acelérometro AZ-Delivery GY-521 MPU-6050 es ideal para la construcción de drones y...
  • ✅ AZ-Delivery GY-521 MPU-6050 se basa en el chip MPU-6050 NEMS, y combina un giroscopio de 3 ejes...

¿Qué es el MPU6050?

MPU6050 es un dispositivo de rastreo de movimiento de 6 ejes basado en MEMS. Tiene un giroscopio y sensores de acelerómetro en el chip junto con un sensor de temperatura. MPU6050 es un dispositivo digital. Este módulo es de tamaño muy pequeño, tiene requisitos de bajo consumo de energía, es muy preciso, tiene alta repetibilidad, alta tolerancia a los golpes, tiene una programabilidad de rendimiento específico para cada aplicación y su precio es barato. El MPU6050 puede ser fácilmente conectado a otros sensores como magnetómetros y microcontroladores.

Es el primer dispositivo de rastreo de movimientos en seis dimensiones del mundo. Fue diseñado para teléfonos inteligentes, tabletas y sensores portátiles de bajo coste y alto rendimiento. Es capaz de procesar algoritmos de nueve ejes, captura el movimiento en los ejes X, Y y Z al mismo tiempo. El MPU6050 se utiliza en diferentes proyectos industriales y dispositivos electrónicos para controlar y detectar el movimiento tridimensional de diferentes objetos. En el post de hoy, echaremos un vistazo a su funcionamiento, pinout, protocolo, su interfaz con Arduino, características, aplicaciones, etc. Empecemos con la introducción básica a MPU6050.

El módulo MPU6050 está compuesto por los siguientes bloques y funciones:

  • Un sensor giroscópico de 3 ejes MEMS con tres ADC de 16 bits y acondicionamiento de señal.
  • Un sensor acelerómetro MEMS de 3 ejes con tres ADC de 16 bits y acondicionamiento de señal.
  • Un motor de procesador de movimiento digital en el chip.
  • Interfaces primarias de comunicación digital 12C.
  • Interfaces auxiliares I2C para la comunicación con sensores externos como el magnetómetro.
  • Reloj interno.
  • Registros de datos para almacenar los datos de los sensores.
  • Memoria FIFO que ayuda a reducir el consumo de energía.
  • Interrupciones programables por el usuario.
  • Un sensor de temperatura de salida digital.
  • Autotest para el giroscopio y el acelerómetro.
  • LDO y Bias.
  • Bomba de carga.
  • Registros de estado.

MPU6050 Pin Out, diagrama de Pins

El MPU6050 está disponible como un pequeño dispositivo de 4×4×0,9 mm. La estructura del MEMS está herméticamente sellada y unida al nivel de las obleas. MPU6050 está disponible como un paquete QFN de 24 pines. La descripción de las clavijas de este módulo es la siguiente:

mpu6050 PIN out

  • Pin-1- CLKIN- es la entrada opcional del reloj de referencia externo. Esta clavija se conecta a tierra cuando no está en uso.
  • Pin-2, el Pin-3, el Pin-4, el Pin-5 son los pines NC. Estos pines no están conectados internamente.
  • Pin-6, AUX_DA, es el pin de datos de la serie maestra de I2C. Este pin se usa para conectar sensores externos.
  • Pin-7, AUX_CL, es el reloj serial maestro de I2C. Esta clavija se usa para conectar sensores externos.
  • Pin-8, VLOGIC, es el pin de voltaje de suministro de E/S digital.
  • Pin-9, AD0, es el pin LSB de dirección de esclavo de I2C.
  • Pin-10, REGOUT, es la conexión del condensador del filtro regulador.
  • Pin-11, FSYNC, es la entrada digital de sincronización de cuadro. Esta clavija se conecta a tierra cuando no se usa.
  • Pin-12, INT, es el pin de salida digital de interrupción.
  • Pin-13, VDD, es el pin de voltaje de la fuente de alimentación.
  • Pin-14, Pin-15, Pin-16, Pin-17, son los pines NC. Estos pines no están conectados internamente.
  • Pin-18, GND, es la tierra de la fuente de alimentación.
  • Pin-19 y el Pin-21 son los pines RESV. Estos pines están reservados.
  • Pin-20, CPOUT, es la conexión del condensador de la bomba de carga.
  • Pin-22, es RESV, el pin reservado.
  • Pin-23, SCL, es el reloj de serie I2C.
  • Pin-24, SDA, es el pin de datos en serie de I2C.

Especificaciones del MPU6050

MPU6050 es el primer dispositivo integrado de rastreo de movimiento de 6 ejes del mundo. Algunas de las especificaciones de este módulo se dan a continuación:

  • El MPU6050 tiene un giroscopio de 3 ejes, un acelerómetro de 3 ejes y un procesador de movimiento digital integrado en un solo chip.
  • Funciona con la fuente de alimentación de 3V-5V.
  • MPU6050 utiliza el protocolo I2C para la comunicación y la transferencia de datos.
  • Este módulo tiene incorporado un ADC de 16 bits que proporciona una gran precisión.
  • MPU6050 puede ser interconectado con otros dispositivos IIC como los magnetómetros.
  • MPU6050 también tiene un sensor de temperatura incorporado.
  • El bus de sensores I2C le ayuda a recoger datos directamente de la brújula externa de 3 ejes, que utiliza para proporcionar una salida completa de 9 ejes de MotionFusion.
  • Para los usuarios, la MPU6050 elimina la necesidad de selección, calificación e integración a nivel de sistema de dispositivos discretos.
  • Usando su puerto I2C, los sensores no inerciales como el sensor de presión pueden ser interconectados.
  • MPU6050 consta de tres ADC de 16 bits para digitalizar las salidas del giroscopio 0 y tres ADC de 16 bits para digitalizar las salidas del acelerómetro.
  • Se dispone de una gama de giroscopios y de una gama de acelerómetros programables por el usuario para el seguimiento de precisión de movimientos tanto rápidos como lentos.
  • Se dispone de un búfer FIFO de 1024 bytes en el chip que ayuda a reducir el consumo de energía del módulo.
  • La necesidad de agrupar frecuentemente la salida del sensor se reduce al mínimo con la ayuda del DMP en el chip.
  • El MPU6050 también tiene un oscilador en el chip con una variación de ±1%.
  • El MPU6050 tiene filtros de paso bajo para el giroscopio, el acelerómetro y el sensor de temperatura.
  • El pin de referencia VLOGIC se utiliza para establecer los niveles lógicos de la interfaz I2C.
  • El rango programable por el usuario del giroscopio presente en el MPU6050 es de ±250, ±500, ±1000 y ±2000°/seg.
  • La imagen, el vídeo y la sincronización del GPS son compatibles con la clavija de sincronización externa del giroscopio.
  • Este giroscopio ha mejorado el rendimiento del ruido de baja frecuencia.
  • El giroscopio necesita 3,6mA de corriente para funcionar.
  • El filtro de paso bajo del giroscopio es programable digitalmente.
  • El acelerómetro presente en el MPU6050 opera en 500μA de corriente.
  • El rango programable a escala completa de este acelerómetro es de ±2g, ±4g, ±8g y 16g.
  • El acelerómetro también puede detectar la orientación, la detección de golpecitos.
  • Las interrupciones programables por el usuario están presentes para el acelerómetro.
  • Entre los ejes del acelerómetro y del giroscopio hay una sensibilidad mínima en los ejes cruzados.
  • Para comunicarse con todos los registros se utiliza el modo rápido de 400kHz I2C.
  • El DMP presente en el MPU6050 soporta el procesamiento de movimiento en 3D y los algoritmos de reconocimiento de gestos.
  • Se proporciona una lectura de ráfagas para el procesador del sistema. Después de leer los datos del FIFO, el procesador del sistema entra en modo de suspensión de baja potencia mientras que el MPU recoge más datos.
  • Las interrupciones programables admiten características como el reconocimiento de gestos, el desplazamiento, el zoom, el desplazamiento, la detección de pulsaciones y la detección de shack.
  • El MPU6050 también tiene una entrada de reloj externo opcional de 32,768kHz o 19,2Mhz.

Conectando el MPU6050 con Arduino

El MPU6050 se comunica con la placa Arduino a través del protocolo I2C. El MPU6050 está conectado a Arduino como se muestra en el siguiente diagrama. Si tu módulo MPU6050 tiene una clavija de 5V, entonces puedes conectarlo a la clavija de 5V de Arduino. Si no, tendrás que conectarlo al pin de 3.3V. A continuación, el GND del Arduino se conecta al GND del MPU6050.

como conectar mpu6050 con arduino

El programa que vamos a ejecutar aquí también aprovecha el pin de interrupción de Arduino. Conecta el pin 2 digital de tu Arduino (pin de interrupción 0) al pin etiquetado como INT en el MPU6050.

A continuación, tenemos que configurar las líneas I2C. Para ello, conecta el pin etiquetado como SDA en el MPU6050 al pin 4 analógico (SDA) de Arduino, y el pin etiquetado como SCL en la MPU6050 al pin 5 analógico (SCL) de Arduino. Acabas de cablear el MPU 6050 de Arduino.

Cargando el código y probando el MPU6050 con Arduino

Para probar el MPU6050 con Arduino, primero descarga la biblioteca de Arduino para el MPU6050, desarrollada por Jeff Rowberg. Puedes encontrar la biblioteca en este enlace. A continuación, tienes que descomprimir/extraer esta biblioteca, tomar la carpeta llamada «MPU6050», y pegarla dentro de la carpeta «biblioteca» de Arduino. Para ello, ve a la ubicación donde has instalado Arduino (Arduino –> bibliotecas) y pégalo dentro de la carpeta «bibliotecas». También puede que tengas que hacer lo mismo para instalar la biblioteca de I2Cdev si no la tienes ya para tu Arduino. Haz el mismo procedimiento de arriba para instalarla. Puedes encontrar el archivo aquí.

Si lo has hecho correctamente, cuando abras el IDE de Arduino, podrás ver «MPU6050» en Archivo –> Ejemplos. A continuación, abre el programa de ejemplo desde Archivo –> Ejemplos –> MPU6050 –> Ejemplos –> MPU6050_DMP6.

codigo MPU6050

A continuación, tienes que subir o cargar este código a tu Arduino. Después de subir el código, abre el monitor de serie y establece la velocidad de baudios como 115200. A continuación, comprueba si ves algo como «Iniciando dispositivos I2C…» en el monitor de serie. Si no lo ves, simplemente pulsa el botón de reinicio. Ahora, verás una línea que dice: «Envía cualquier carácter para comenzar la programación y demostración de DMP». Simplemente escribe cualquier carácter en el monitor serial y envíalo, y deberías empezar a ver los valores de guiñada, cabeceo y balanceo que vienen del MPU6050.
imagen

arduino monitor serial MPU6050

DMP son las siglas de Digital Motion Processing. El MPU6050 tiene un procesador de movimiento incorporado. Procesa los valores del acelerómetro y el giroscopio para darnos valores 3D precisos.

Además, tendrás que esperar unos 10 segundos antes de obtener valores precisos del MPU6050 de Arduino, después de lo cual los valores comenzarán a estabilizarse.

Última actualización el 2023-05-17 / Enlaces de afiliados / Imágenes de la API para Afiliados

Pin It on Pinterest

Shares