Коротко о GY-521 MPU-6050
GY-521 на MPU-6050 — шестиканальный инерциальный модуль с трёхосевым акселерометром и трёхосевым гироскопом. Он передаёт через I²C данные об ускорении и угловой скорости и подходит для учебных систем стабилизации, контроля наклона, регистрации движения и робототехники.
Ключевые характеристики
- Микросхема
- MPU-6050
- Сенсоры
- 3-осевой акселерометр и 3-осевой гироскоп
- Диапазоны акселерометра
- ±2 g, ±4 g, ±8 g, ±16 g
- Диапазоны гироскопа
- ±250, ±500, ±1000, ±2000 °/с
- Цифровые данные
- 16 бит для каждой оси [1]
- Интерфейс
- I²C до 400 кГц; SPI не поддерживается [1]
- Адрес I²C
- 0x68 или 0x69, в зависимости от уровня AD0 [1]
- Питание модуля
- 3–5 В
- Размеры модуля
- 16 × 20,5 мм
- FIFO
- 1024 байта [1]
Подробное описание и особенности
Какие данные предоставляет модуль
Акселерометр регистрирует ускорение вдоль осей X, Y и Z, включая действие силы тяжести, а гироскоп измеряет угловую скорость вокруг этих осей. Микроконтроллер может объединить оба потока данных, чтобы оценивать наклон и характер движения. Для определения курса относительно магнитного севера необходим отдельный магнитометр.
Выбор диапазона
Меньший диапазон удобен для медленных движений и небольших ускорений, а больший снижает риск насыщения во время резких манёвров или ударных изменений. Диапазоны акселерометра и гироскопа задаются программно, поэтому их следует выбирать под реальную динамику устройства, а не оставлять случайные настройки библиотеки.
Обмен данными и обработка
MPU-6050 работает как ведомое устройство I²C. Контакт AD0 задаёт младший бит адреса, поэтому на одной шине можно разместить два таких сенсора с адресами 0x68 и 0x69.[1] FIFO на 1024 байта позволяет накапливать выборки и читать их пакетами, снижая требования к точному моменту каждого опроса.[1]
В микросхеме есть Digital Motion Processor, однако доступные функции DMP зависят от библиотеки и её прошивки.[1] Для базового проекта достаточно считывать акселерометр и гироскоп, выполнить калибровку смещения и применить соответствующий фильтр в программе контроллера.
Подойдёт / не подойдёт
Подойдёт
- для учебных проектов с Arduino, ESP32, Raspberry Pi и другими контроллерами с I²C;
- для оценки наклона, угловой скорости и изменений движения;
- для балансирующих моделей, роботов, подвижных платформ и интерактивных контроллеров;
- для регистраторов движения и экспериментов с цифровой фильтрацией сигналов.
Не подойдёт
- для прямого определения координат, скорости перемещения или абсолютного курса без других датчиков и алгоритмов;
- для проектов, которым обязательно нужен интерфейс SPI;
- для измерения статического поворота вокруг вертикальной оси без внешней опоры курса;
- как единственный датчик в медицинских, защитных, транспортных или других критических системах.
Примеры применения
Балансирующая модель
Контроллер объединяет показания акселерометра и гироскопа для оценки наклона, после чего отдельный алгоритм управляет драйвером двигателей. GY-521 не заменяет силовой драйвер и систему управления.
Беспроводной регистратор движения
Плата ESP32 MiniKit с логикой 3,3 В и I²C может считывать модуль, обрабатывать выборки и передавать результат через Wi-Fi или Bluetooth.
Электронный индикатор наклона
После калибровки в неподвижном состоянии акселерометр можно использовать для оценки наклона, а гироскоп — для отслеживания быстрых изменений. Такое DIY-устройство не является поверенным измерительным прибором.
Подключение и первый запуск
Обесточьте схему
Сверьте обозначения контактов именно на модуле и определите контакты VCC, GND, SDA, SCL и AD0 до подачи питания.
Подключите питание
Подайте на VCC напряжение в пределах 3–5 В и соедините GND модуля с землёй контроллера. Для первого запуска с контроллером на 3,3 В целесообразно использовать 3,3 В.
Подключите I²C
Соедините SDA и SCL с соответствующими контактами контроллера. Проверьте напряжение подтягивающих резисторов шины: допустимое питание модуля не определяет автоматически безопасный логический уровень сигналов.
Найдите адрес
Запустите I²C-сканер и проверьте 0x68 и 0x69. Не фиксируйте адрес в программе, пока сканер не подтвердит его для собранной схемы.
Настройте и откалибруйте
Выберите диапазоны измерения, оставьте модуль неподвижным для определения смещений и проверьте направления осей. Калибровку следует выполнять после окончательного механического монтажа.
Ограничения и безопасность
Проверяйте логические уровни
Поддержка питания 3–5 В относится ко входу питания модуля. Перед соединением с 5-вольтовым контроллером отдельно проверьте уровни SDA, SCL, AD0 и INT, напряжение подтягивающих резисторов и при необходимости примените согласование уровней.
Данные требуют калибровки
Смещение нуля, механический монтаж, вибрации и температура влияют на результат. Не используйте сырые значения как готовый угол, курс или координаты; проверяйте алгоритм в реальных условиях проекта.
Не для критических функций
MPU-6050 не следует использовать как единственный источник данных в системах, где ошибка может угрожать человеку или привести к опасному отказу.[1]
Монтаж и провода
Закрепляйте плату без изгиба, соблюдайте постоянную ориентацию осей и используйте короткие сигнальные соединения. Не переподключайте модуль под напряжением.
FAQ
Можно ли получить угол наклона непосредственно?
GY-521 передаёт ускорение и угловую скорость. Угол наклона вычисляет контроллер, обычно объединяя данные обоих сенсоров и учитывая калибровочные смещения.
Почему модуль не виден на шине I²C?
Проверьте питание, общую землю, не перепутаны ли SDA и SCL, а также адреса 0x68 и 0x69. Если ответа нет, проверьте подтягивающие резисторы, логические уровни и попробуйте стандартную частоту I²C 100 кГц.
Можно ли подключить два GY-521 к одной шине?
Да. Для одного модуля задайте через AD0 адрес 0x68, для второго — 0x69. Для большего количества одинаковых устройств понадобится отдельное решение для коммутации шины.
Определяет ли MPU-6050 направление на север?
Нет. MPU-6050 не содержит магнитометра. Для абсолютного курса нужен внешний магнитометр или другой независимый источник ориентации.
Поддерживает ли модуль SPI?
Нет. MPU-6050 использует I²C; SPI доступен у родственного MPU-6000, но не у MPU-6050.[1]
Альтернативы и совместимые товары
- Если нужен контроллер с логикой 3,3 В, I²C и беспроводной связью, подойдёт ESP32 MiniKit.
- Если нужны I²C и SPI, а магнитометр не требуется, рассмотрите 6-осевой модуль GY-BMI160. Он имеет другую микросхему, регистры и программные библиотеки.
- Если нужен отдельный магнитометр для девятиосевой системы, рассмотрите IMU963RA с акселерометром, гироскопом и магнитометром. Это не программно совместимая замена GY-521.
Документы и источники
- InvenSense, MPU-6000 and MPU-6050 Product Specification, Revision 3.4 — структура сенсоров, диапазоны, разрядность, I²C, адреса, FIFO, DMP, логические уровни и ограничения применения.