Arduino MPU6050
тел. +7(499)347-04-82
Описание Arduino MPU6050
Отличный выбор датчика! MPU6050 — это один из самых популярных и доступных инерциальных измерительных модулей для Arduino и других микроконтроллеров.
Описание MPU6050
MPU6050 — это 6-осевой IMU (Inertial Measurement Unit — Инерциальный Измерительный Модуль) от компании InvenSense (ныне TDK). Он объединяет в одном компактном корпусе два ключевых датчика:
- 3-осевой гироскоп: Измеряет угловую скорость вращения вокруг осей X, Y, Z (в градусах/секунду или радианах/секунду).
- 3-осевой акселерометр: Измеряет линейное ускорение по осям X, Y, Z (в g). Также может использоваться для определения угла наклона относительно вектора гравитации.
Главная "фишка" MPU6050 — встроенный цифровой процессор движения (DMP — Digital Motion Processor). Он может выполнять сложные вычисления (например, фильтрацию данных, вычисление углов Эйлера — рыскание, тангаж, крен) прямо на кристалле, значительно разгружая основной микроконтроллер.
Основные сферы применения:
- Стабилизация квадрокоптеров, роботов, платформ.
- Навигация и отслеживание ориентации (VR-очки, трекеры).
- Управление жестами.
- Регистраторы падения (для спорта или техники).
- Интерактивные игрушки и гаджеты.
Технические характеристики
| Параметр | Значение / Описание | | :--- | :--- | | Датчики | 3-осевой гироскоп + 3-осевой акселерометр | | Интерфейс связи | I2C (стандартный адрес 0x68, альтернативный 0x69), вспомогательный I2C для подключения внешних датчиков (например, магнитометра) | | Напряжение питания | 2.3В — 3.4В (для цифровой части) или 5В (через встроенный стабилизатор на модуле) | | Диапазон гироскопа | Программируемый: ±250, ±500, ±1000, ±2000 °/сек | | Диапазон акселерометра | Программируемый: ±2g, ±4g, ±8g, ±16g | | Тактовая частота | До 400 кГц (быстрый режим I2C) | | Встроенные функции | DMP (Digital Motion Processor), ФНЧ (фильтр низких частот), датчик температуры, генератор прерываний | | Ток потребления | ~ 3.5 мА (гироскоп + акселерометр), в режиме сна — несколько мкА | | Корпус | QFN (24-выводной), размер всего кристалла всего 4x4x0.9 мм |
Важное примечание: MPU6050 НЕ ИМЕЕТ встроенного магнитометра (компаса). Для получения полной 9-осевой информации (акселерометр + гироскоп + магнитометр) к его вспомогательному I2C-порту часто подключают чип HMC5883L или QMC5883L.
Парт-номер и совместимые модели
Основной парт-номер чипа:
- MPU-6050 — полное официальное обозначение.
Совместимые и альтернативные модели от TDK (InvenSense):
- MPU6000 — Функциональный аналог MPU6050, но с интерфейсом SPI (и I2C). Часто используется в более профессиональном оборудовании.
- MPU6500 / MPU9250 — Более новые поколения.
- MPU6500 — 6-осевой IMU (аналог 6050) с улучшенными характеристиками (меньший шум, потребление).
- MPU9250 (она же MPU-9150 в одном корпусе) — 9-осевой IMU: акселерометр, гироскоп + встроенный магнитометр (AK8963). Идеальная замена для проектов, где нужен компас.
- MPU6050 + отдельный магнитометр — Классическая связка. Чаще всего используются:
- HMC5883L (от Honeywell)
- QMC5883L (клон HMC5883L, очень распространен на дешевых модулях)
- AK8963 (тот же, что в MPU9250)
Модули для Arduino (наиболее распространены):
Почти все они построены по одному принципу: чип MPU6050 + стабилизатор напряжения + резисторы I2C-шины.
- GY-521 — Самый популярный и дешевый модуль. Содержит MPU6050 и выводы для подключения внешнего магнитометра.
- GY-87 — Модуль, объединяющий на одной плате MPU6050, барометр BMP180 и магнитометр HMC5883L. Отличный "всё-в-одном" для дронов.
- GY-88 — Аналогичен GY-87, но с барометром BMP085.
- MPU6050 Breakout Board — Множество вариаций от разных производителей (Adafruit, SparkFun, китайские noname). Все они совместимы по выводам.
Подключение к Arduino (на примере GY-521)
Схема подключения проста благодаря интерфейсу I2C:
| Вывод модуля GY-521 | Вывод Arduino | | :--- | :--- | | VCC | 5V (или 3.3V, если модуль без стабилизатора) | | GND | GND | | SCL | A5 (на Uno/Nano) или SCL (на платах с отдельными пинами) | | SDA | A4 (на Uno/Nano) или SDA (на платах с отдельными пинами) |
Библиотеки для работы
Для быстрого старта рекомендуются:
- Библиотека
MPU6050_light— Очень простая и удобная для получения углов тангажа, крена и рыскания. Идеальна для начинающих. - Библиотека
Adafruit MPU6050— От известного производителя, хорошая документация. - Оригинальная библиотека
i2cdevlibот Jeff Rowberg — Самая мощная и полная, позволяет использовать весь потенциал DMP. Требует более глубокого изучения.
Вывод: MPU6050 — это проверенный, недорогой и мощный инструмент для добавления инерциальных измерений в ваш проект Arduino. Его популярность обеспечивает огромное количество руководств, примеров кода и готовых решений в интернете. Для большинства задач, связанных с определением ориентации, это оптимальный выбор. Если же вам критично нужен компас, лучше сразу смотреть в сторону модуля GY-87 или чипа MPU9250.