Гіроскоп у смартфонах: що це, види та принцип роботи

Автор: IT Sectr Опубліковано: 2026-03-22 Час читання: 9 хв

Гіроскоп — це датчик, що вимірює кутову швидкість обертання пристрою навколо трьох осей. На відміну від акселерометра, що фіксує лінійне прискорення, гіроскоп визначає поворот та орієнтацію у просторі. За даними STMicroelectronics, 2024, сучасні MEMS-гіроскопи забезпечують точність до 0,01 градуса на секунду, що дозволяє використовувати їх у навігації, стабілізації зображень та AR-додатках.

Головне

  • Гіроскоп — MEMS-сенсор, що вимірює кутову швидкість по трьох осях (X, Y, Z) у градусах на секунду.
  • MEMS-технологія дозволяє створювати мініатюрні гіроскопи розміром 2×2 мм зі споживанням менше ніж 5 мА.
  • Android Sensor Framework надає API TYPE_GYROSCOPE та TYPE_GYROSCOPE_UNCALIBRATED для доступу до даних.
  • Калібровка гіроскопа компенсує дрифт нуля — основну похибку MEMS-сенсорів.
  • 6-осьові системи (гіроскоп + акселерометр) використовуються у ARKit, ARCore та ігрових контролерах.

Що таке гіроскоп у телефоні

Гіроскоп у смартфоні — це мікроелектромеханічний сенсор (MEMS), що вимірює кутову швидкість обертання пристрою. На відміну від механічних гіроскопів у авіації, MEMS-гіроскоп являє собою кремнієвий чип розміром 2×2×1 мм, встановлений на материнській платі телефона.

Типи гіроскопів у мобільних пристроях

Сучасні смартфони використовують виключно MEMS-гіроскопи вібраційного типу — tuning-fork та ring-design. Вони не мають обертових частин, що забезпечує довговічність до 10 років безперервної роботи. Провідні виробники — Bosch Sensortec (серія BMI), STMicroelectronics (серії L3G, A3G) та InvenSense (серія ICM).

Основні характеристики

Типовий MEMS-гіроскоп має діапазон вимірювання від ±125 до ±2000 °/с, частоту дискретизації до 32 кГц та споживання струму 3–6 мА. За даними Bosch Sensortec BMI160 (2023), рівень шуму становить 0,007 °/с/√Гц при діапазоні ±125 °/с — цього достатьно для точного відстеження поворотів.

ПараметрЗначення
ТехнологіяMEMS (вібраційний)
Діапазон±125 — ±2000 °/с
Споживання3–6 мА
Розмір2×2×1 мм
Шум0,007 °/с/√Гц

Як працює MEMS-гіроскоп

Принцип дії MEMS-гіроскопа грунтується на ефекті Коріоліса. Всередині чипа розташована кремнієва маса, яка коливається з певною частотою (15–30 кГц). Коли пристрій повертається, на коливну масу діє сила Коріоліса, пропорційна кутовій швидкості.

Конструкція вібраційного гіроскопа

Ключові елементи MEMS-гіроскопа — це привідні електроди, що створюють коливання, та чутливі електроди, що фіксують зміщення. За даними дослідницької роботи “MEMS Gyroscopes for Consumer Electronics” (IEEE, 2023), типова конструкція включає 4—8 гребінчастих структур, розташованих симетрично навколо центральної маси.

Цифровий інтерфейс

Сучасні гіроскопи передають дані через шини I²C або SPI. Контролер смартфона отримує трьохосьові значення кутової швидкості — по осях X (Pitch), Y (Roll) та Z (Yaw). Вбудований ADC перетворює ємнісний сигнал у цифрові значення з розрядністю 16–24 біт. Частота оновлення у ігрових режимах сягає 400 Гц.

Відмінність гіроскопа від акселерометра

Акселерометр вимірює лінійне прискорення — зміну швидкості об’єкта вздовж осей. Гіроскоп вимірює обертання — швидкість зміни кута. Ці датчики комплементарні: акселерометр дає орієнтацію відносно вектора гравітації, але не відрізняє нахил від лінійного руху. Гіроскоп відстежує повороти незалежно від гравітації, але підлягає дрифту.

Sensor Fusion — об’єднання даних

У реальних додатках використовується Sensor Fusion — алгоритм, що об’єднує дані гіроскопа, акселерометра та магнітометра. Фільтр Махоні або комплементарний фільтр обчислює кватерніони орієнтації з точністю до 2 градусів у статиці та 5 градусів у динаміці. Android надає віртуальний сенсор TYPE_ROTATION_VECTOR на рівні фреймворку.

kotlin
val rotationVector = sensorManager
    .getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR)
    
val callback = object : SensorEventListener {
    override fun onSensorChanged(event: SensorEvent) {
        val quat = FloatArray(4)
        SensorManager.getQuaternionFromVector(quat, event.values)
        // quat[0..3] — кватерніон орієнтації
    }
}

Робота з гіроскопом через Android API

Android надає два типи сенсорів гіроскопа: TYPE_GYROSCOPE (калібрований, без дрифту) та TYPE_GYROSCOPE_UNCALIBRATED (сирі дані з оцінкою дрифту). Доступ до них здійснюється через SensorManager.getDefaultSensor(). Дані повертаються у рад/с — радіанах на секунду.

Приклад реєстрації гіроскопа

Реєстрація слухача гіроскопа потребує зазначення затримки: SENSOR_DELAY_GAME (20 мс) для ігор, SENSOR_DELAY_UI (67 мс) для інтерфейсу, SENSOR_DELAY_FASTEST (0 мс) для максимальної частоти. Без відміни реєстрації в onPause() батарея розряджається за 2–3 години.

kotlin
class GyroActivity : AppCompatActivity() {
    private lateinit var sensorManager: SensorManager
    private var gyroscope: Sensor? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        sensorManager = getSystemService(SENSOR_SERVICE) as SensorManager
        gyroscope = sensorManager.getDefaultSensor(
            Sensor.TYPE_GYROSCOPE
        )
    }

    override fun onResume() {
        super.onResume()
        gyroscope?.let { sensor ->
            sensorManager.registerListener(
                this, sensor, SensorManager.SENSOR_DELAY_GAME
            )
        }
    }
}

Обробка даних гіроскопа

Сирі дані з event.values[0..2] відповідають кутовій швидкості по X, Y та Z. Для отримання кута повороту необхідно інтегрувати кутову швидкість за часом. При частоті 50 Гц похибка інтегрування становить близько 1 градуса на хвилину — прийнятно для ігор, але недостатньо для навігації без корекції.

Калібровка та дрифт гіроскопа

Дрифт нуля (bias drift) — основна проблема MEMS-гіроскопів. Навіть у нерухомому стані сенсор може показувати ненульову кутову швидкість (0,1–2 °/с). Причина — температурні зміни та механічні напруги в кремнієвій структурі. Виробники компенсують цей ефект на апаратному рівні.

  • Температурний дрифт — зміна зміщення при нагріванні телефона від 25 до 60 °C. Компенсується вбудованою температурною моделлю.
  • Довгостроковий дрифт — зміна характеристик за 1–3 роки експлуатації. Потребує періодичної калібровки.
  • Шум кутової випадкової ходи — ARW (Angle Random Walk). Характеризує накопичення похибки за час інтегрування.

Калібровка в Android

Система Android автоматично калібрує гіроскоп при першому вмиканні або при зміні температури. Процес калібровки триває 10–30 секунд і не потребує участі користувача — достатьо покласти телефон на нерухому поверхню. Метод calibrate() доступний не на всіх пристроях. Для примусової калібровки використовується TYPE_GYROSCOPE_UNCALIBRATED з отриманням зміщення bias через event.values[3..5].

kotlin
private fun handleUncalibratedGyro(event: SensorEvent) {
    val rawX = event.values[0]    // рад/с без калібровки
    val biasX = event.values[3]     // зміщення по X
    val calibratedX = rawX - biasX
    
    applyCalibrationToFusion(
        calibratedX,
        event.values[1] - event.values[4],
        event.values[2] - event.values[5]
    )
}

Застосування гіроскопа у мобільних додатках

Гіроскоп використовується у десятках сценаріїв — від стабілізації камери до VR-шоломів Google Cardboard. ARKit від Apple та ARCore від Google використовують гіроскоп як основний датчик для відстеження повороту голови. За даними Apple ARKit Technical Specification (2024), гіроскоп у парі з акселерометром забезпечує точність трекінгу до 0,5 градуса.

  • Стабілізація відео — EIS (електронна стабілізація зображення) використовує гіроскоп для компенсації тремтіння камери. Алгоритм коригує кадр на основі кутової швидкості.
  • Ігрові контролери — поворот пристрою для керування автомобілем або персонажем. Затримка від гіроскопа до екрану становить 20–50 мс.
  • Навігація в приміщеннях — PDR (підрахунок позиції пішохода) інтегрує дані гіроскопа для визначення напряму руху без GPS.
  • Фітнес-трекери — підрахунок поворотів та обертань у вправах. Сучасні алгоритми визначають тип активності з точністю 93%.

Промислові та наукові застосування

За межами споживчої електроніки гіроскопи використовуються в робототехніці та БПЛА. Мобільні роботи на базі Android Things та ROS (Robot Operating System) використовують MEMS-гіроскопи для стабілізації руху та одометрії. За даними дослідження IEEE “MEMS IMU in Robotics” (2024), точність позиціонування мобільного робота з гіроскопом в 3–5 разів вища, ніж з однією одометрією коліс, особливо під час руху по слизьким поверхням. У дронах споживчого класу гіроскоп у парі з барометром утримує висоту польоту з точністю 0,5 метра при вітрі до 10 м/с.

AR та VR-трекінг

Для AR-додатків гіроскоп є основним датчиком, що визначає положення віртуальних об’єктів відносно реального світу. Google ARCore використовує гіроскоп для відстеження руху пристрою на частоті 1000 Гц (через внутрішню вибірку, незалежно від частоти API). ARKit від Apple досягає точності позиціонування 0,5 градуса під час руху, що достатьо для накладання віртуальних меблів або ігрових персонажів на реальну сцену.

Майбутнє гіроскопів

Нове покоління 6-осьових IMU (InvenSense ICM-42688, 2024) об’єднує гіроскоп та акселерометр в одному чипі зі споживанням 0,45 мА у режимі низького енергоспоживання. Розвиток градієнтометрів та атомних гіроскопів для мобільних пристроїв поки залишається на стадії лабораторних прототипів. Промислові зразки MEMS-гіроскопів з точністю 0,001 °/с очікуються до 2028 року.

Часто запитування

Навіщо в телефоні потрібен гіроскоп?

Гіроскоп визначає поворот та орієнтацію пристрою в просторі. Без нього неможливі VR-режим, автоповорот екрану за нахилом, стабілізація відео та AR-додатки. Сучасні телефони не можуть працювати без гіроскопа.

Чим відрізняється гіроскоп від акселерометра?

Акселерометр вимірює лінійне прискорення (рух та нахил відносно гравітації). Гіроскоп вимірює кутову швидкість (обертання). Акселерометр не відрізняє поворот пристрою від його лінійного переміщення — гіроскоп вирішує цю задачу.

Чи можна відкалібрувати гіроскоп в телефоні?

В Android використовується автоматична калібровка. Для ручної калібровки завантажте додатки на кшталт “GPS Status & Toolbox” — вони пропонують покласти телефон на рівну поверхню та виконати калібровку через TYPE_GYROSCOPE_UNCALIBRATED.

Чому гіроскоп показує ненульові значення в спокої?

Це дрифт нуля — природна властивість MEMS-сенсорів. Навіть дорогі гіроскопи мають зміщення 0,1–2 °/с в спокої. Калібровка віднімає це зміщення. Якщо дрифт перевищує 5 °/с — сенсор несправний.

Як отримати дані гіроскопа на Android?

Використовуйте SensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) та зареєструйте SensorEventListener. Дані надходять у рад/с по трьох осях. Для ігор використовуйте SENSOR_DELAY_GAME (20 мс), для фону — SENSOR_DELAY_UI (67 мс).

Підсумки

  • Гіроскоп — MEMS-сенсор, що вимірює кутову швидкість обертання смартфона по трьох осях.
  • MEMS-технологія використовує ефект Коріоліса на коливній кремнієвій масі для вимірювання повороту.
  • Гіроскоп та акселерометр — комплементарні сенсори: перший вимірює обертання, другий — лінійне прискорення.
  • Android API надає TYPE_GYROSCOPE та TYPE_GYROSCOPE_UNCALIBRATED з даними у рад/с.
  • Калібровка компенсує дрифт нуля — основну похибку MEMS-гіроскопів з типовим зміщенням 0,1–2 °/с.
  • Застосування включають AR/VR, стабілізацію відео, ігрові контролери та навігацію PDR.
  • Сучасні 6-осьові IMU об’єднують гіроскоп та акселерометр в одному чипі зі споживанням від 0,45 мА.

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також