Коротко про 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, логічні рівні та обмеження застосування.