Трехосевой датчик гироскоп как работает. Гироскоп в телефоне: что это и зачем нужно? Что такое гироскоп

Для каждого современного смартфона обычным делом является оснащение различными датчиками. К примеру, в смартфонах датчики отвечают за освещенность, приближение, магнитометрию, ускорение, приближение, измерение расстояния. Кроме того, смартфоны оснащаются акселерометрами и гироскопами. Вот о последнем мы и поговорим, поскольку многих интересует – что такое гироскоп, который зачастую работает в тандеме с акселерометром, а также – как им пользоваться?

Примечательно, что гироскоп был изобретен еще в середине XIX столетия французским ученым Леоном Фуко. С помощью изобретенного им гироскопа Фуко проводил наблюдения суточного вращения Земли. Что касается современных гироскопов, они применяются не только для того, чтобы определить вращение тела. Их основное предназначение – определить угол отклонения определенного тела по отношению к плоскости. Очень часто в смартфонах гироскоп работает в паре с акселерометром, благодаря чему можно отслеживать и фиксировать движение, причем в данном случае это касается трехмерного пространства.

Интересно, что первый смартфон, в спецификациях которого фигурировал гироскоп, стал «яблочный» гаджет iPhone 4. А, поскольку очень часто компания Apple выступает в роли законодателя моды, многие производители мобильных аппаратов подхватили идею и стали также оснащать свои смартфоны гироскопом. Справедливости ради стоит заметить, что применение гироскопа является не просто трендом, когда практическая польза вызывает сомнение. Применение гироскопа на самом деле привнесло пару совершенно новых и интересных возможностей. Как уже было сказано, в смартфонах гироскоп как правило применяется вместе с акселерометром, благодаря чему устройство становится более чувствительным к изменению положения, к примеру, это касается наклона, поворота и прочих даже самых незначительных движений. Такое оснащение с определенным программным обеспечением может обеспечить защиту смартфона во время его падения или удара.

Рентген гироскопа в iPhone 4

Кроме того, чтобы можно было полноценно взаимодействовать с гарнитурой виртуальной реальности гироскоп является просто незаменимой вещью, поскольку с его помощью происходит определение движения смартфона во всех направлениях. Иными словами, для того, чтобы нормально взаимодействовать с виртуальной реальностью, необходимо точное определение человека в пространстве, для чего собственно и нужен гироскоп. И, несмотря на то, что на сегодняшний день даже недорогие аппараты оснащена акселерометром, но для работы с приложениями виртуальной реальности его датчиков недостаточно по причине многих погрешностей и невозможности определения поворотов и движения в горизонтальной плоскости. Для наиболее эффективного погружения в виртуальную реальность требуется как акселерометр, так и гироскоп.

По своей сути, гироскоп в смартфоне является микроэлектромеханическим преобразователем угловых скоростей в электрический сигнал. Иными словами, в способность гироскопа входит расчет изменения угла наклона по отношению к оси в процессе поворота смартфона. Гироскоп относится к такому типу микроэлектромеханических систем (МЭМС), в которых присутствует как механическая, так и электронная часть. Размер такого чипа в среднем достигает нескольких миллиметров или даже меньше.

Между тем, современные мобильные аппараты оснащены гироскопом в основном для того, чтобы улучшить качество игры. Чтобы играть в гонку или другую игру на смартфоне уже не нужны виртуальные джойстики. Управление автомобилем или вертолетом можно осуществлять, просто изменяя положение смартфона в пространстве – наклоняя его вправо или влево, на себя или от себя, а также вперед или назад, держа его горизонтально. Гироскоп также умеет определять скорость, с которой аппарат перемещается. К примеру, для того, чтобы управлять игрой, можно воспользоваться не только поворотом смартфона, но и скоростью поворота. Благодаря этому не только играть, но и управлять смартфоном в целом можно более точно и удобно.

Вдобавок ко всему, гироскоп в смартфоне можно использовать для того, чтобы определить текущее местоположение на местности. С помощью смартфона, в оснащение которого входит гироскоп удобно определять направленность движения. В частности, это можно сделать с помощью GPS-навигации, когда карту можно повернуть в нужную сторону. Это можно сделать, просто повернувшись со смартфоном в руках в нужную сторону по отношению к искомому объекту, например, населенному пункту – карта также повернется в нужную вам сторону. Познавательную статью о том, какая разница между GPS и A-GPS вы найдете на нашем портале.

Чем отличается акселерометр от гироскопа

Между тем, раз уж мы упомянули об акселерометре, не вдаваясь в лишние подробности, коротко отметим, в чем заключается основное отличие акселерометра от гироскопа. Если коснуться основных отличий акселерометра и гироскопа, то стоит упомянуть о принципе их работы. В случае с гироскопом происходит вычисление угла наклона по отношению к земле, в то время как в возможности акселерометра входит подсчет собственного ускорения, также – относительно к земле. Как показывает практика, оба этих аппаратных компонента могут служить как поодиночке – хотя в некоторых случаях недостаточно эффективно – так и дополнять друг друга. Поэтому на сегодня подавляющее большинство смартфонов получают в оснащение как гироскоп, так и акселерометр.

В заключение стоит отметить, что некоторые пользователи предпочитают отключить гироскоп на смартфоне. Обусловлено это тем, что многие программы могут реагировать на изменение положение в пространстве с некоторым запозданием. Например, при просмотре картинок или фотографий, ориентация страницы может меняться при малейшем изменении положения тела, что может нервировать.

Сейчас все смартфоны оснащены как минимум одним датчиком, а чаще всего несколькими. Самыми распространенными стали датчики приближения, освещения и движения. Большинство смартфонов оснащены акселерометром, реагирующим на перемещение устройства в двух или максимум в трех плоскостях. Для полноценного взаимодействия с гарнитурой виртуальной реальности нужен гироскоп, который определяет движения в любом направлении.

Гироскоп в смартфоне – это микроэлектромеханический преобразователь угловых скоростей в электрический сигнал. Другими словами этот датчик рассчитывает изменение угла наклона относительно оси при повороте устройства.

Гироскоп относится к микроэлектромеханическим системам (МЭМС), которые совмещают в себе механическую и электронную часть. Подобные чипы имеют размеры порядка пары миллиметров или меньше.

Обычный гироскоп состоит из инерционного предмета, который быстро вращается вокруг своей оси. Тем самым он сохраняет свое направление, а смещение контролируемого объекта измеряется по изменению положения подвесов. В смартфоны такой волчок явно не поместиться, вместо него используется МЭМС.

Преобразование механического движения в электрический сигнал

В самом простом одноосевом гироскопе есть две подвижные массы, двигающиеся в противоположных направлениях (на картинке изображены синим цветом). Как только прикладывается внешняя угловая скорость, на массу действует сила Кориолиса, которая направлена перпендикулярно их движению (отмечена оранжевым цветом).

Под действием силы Кориолиса происходит смещение масс на величину пропорциональную прикладываемой скорости. Изменение положения масс меняет расстояние между подвижными электродами (роторами) и неподвижными (статорами), что приводит к изменению емкости конденсатора и соответственно напряжения на его обкладках, а это уже электрический сигнал. Вот такие множественные сигналы и распознаются гироскопом MEMS, определяя направление и скорость движения.

Вычисление ориентации смартфона

Микроконтроллер получает сведения о напряжении и преобразует их в угловую скорость в данный момент. Величину угловой скорости можно определять с заданной точностью, например до 0,001 градусов в секунду. Чтобы определить насколько градусов вокруг оси повернули устройство, необходимо мгновенную скорость умножить на время между двумя показаниями датчика. Если использовать трехосевой гироскоп, то получим данные о поворотах относительно всех трех осей, то есть таким образом определить ориентацию смартфона в пространстве.

Здесь стоит отметить, что для получения значений углов, необходимо интегрировать первоначальные уравнения, в которые входят угловые скорости. При каждом интегрировании увеличивается погрешность. Если вычислять положение только при помощи гироскопа, то со временем рассчитываемые значения станут некорректными.

Поэтому в смартфонах для точного определения ориентации в пространстве необходимы данные еще и акселерометра. Этот датчик измеряет линейное ускорение, но не реагирует на повороты. Оба датчика способны полностью описать все виды движения. Основное преимущество гироскопа над акселерометром в том, что он реагирует на движение в любом направлении.

Зачем нужен гироскоп в смартфоне

Повышенное внимание этому датчику оказывается последние пару лет, когда активно начали развиваться игры и приложения виртуальной реальности. Для взаимодействия пользователя с виртуальной реальностью программе необходимо точно определить положение человека в пространстве. Сейчас даже в самых бюджетных смартфонах установлен акселерометр, но его показания сопровождаются шумами, и датчик не реагирует на повороты и движения в горизонтальной плоскости. Следовательно, для полного погружения в виртуальную реальность в смартфоне обязательно должен быть гироскоп и акселерометр.

Как узнать есть ли в смартфоне гироскоп

Обычно в характеристиках смартфона указано, какие в нем есть датчики. Если же вы сомневаетесь в правдивости информации, то помогут специальные программы. Например, Sensor Box for Android показывает информацию о всех встроенных датчиках. Гироскоп в нем обозначен как Gyroscope. Есть и другие способы, которые мы

Гироскоп в телефоне впервые появился с выходом iPhone 4. Таким образом, в мобильные устройства снова внедрили дополнительные аппаратные средства. Теперь смартфоны умеют не только определять свое географическое местоположение, ориентацию в пространстве и автоматически разворачивать фотографии для удобного просмотра. Благодаря очередному нововведению устройства также научились фиксировать вращение (например, если пользователь находится на офисном стуле, который может поворачиваться в разные стороны). В результате функциональные возможности смартфонов расширились еще больше.

Что такое гироскоп?

Акселерометр может измерять линейное ускорение относительно системы координат. Это используется для определения ориентации телефона. В результате этого нововведения в свое время появилось множество новых полезных функций. В зависимости от ориентации телефона пользовательский интерфейс (UI) может автоматически поворачиваться в портретном или ландшафтном режиме. Благодаря этому появились новые возможности для создания мобильных игр.

В наше время сложно представить себе гоночную игру для смартфона, которая не поддерживает акселерометр. Каждый раз, когда автомобиль нужно было повернуть, приходилось нажимать определенную кнопку на сенсорном экране. Калибровка акселерометра вывела игровой процесс на новый уровень, ведь теперь мы можем выполнять повороты за счет наклонов мобильного устройства. Благодаря этому нововведению было создано множество популярных игр.

Но зачем телефону нужен гироскоп, если уже есть акселерометр? На самом деле акселерометр измеряет только линейное ускорение устройства, тогда как гироскоп определяет его ориентацию. Фактически он может фиксировать свое движение в пространстве, включая вертикальное и горизонтальное вращение.

Тем, кто интересуется, что такое гироскоп в смартфоне, будет интересно узнать о его практическом применении. Чтобы понять принцип действия этого устройства, нужно представить себе игру Counter-Strike, которую перенесли на мобильную платформу. В таких играх мы должны двигаться во всех направлениях. Без поддержки гироскопа нам нужно было бы провести пальцем по сенсорному экрану, чтобы получить возможность двигаться в правильном направлении. В результате через некоторое время пользователь пришел бы к выводу, что управление игрой реализовано неудачно.

С внедрением гироскопа игровой процесс стал более приятным. Теперь пользователь может просто передвигать телефон в пространстве для управления игрой. Гироскоп определит ваше движение, и умная система поймет, что вы хотите сделать. Теперь игроку не нужно использовать свои пальцы для управления ходьбой и прицеливанием. Вместо этого появляется возможность сосредоточиться на стрельбе за счет прикосновений к сенсорному экрану.

Для управления подобными играми можно использовать акселерометр и встроенный компас, но в таком случае очень сильно страдает точность и плавность. Благодаря гироскопу появилась возможность сделать управление играми максимально приближенным к игровым консолям и ПК. Что касается аппаратных средств, то в мобильных телефонах используются устройства на основе MEMS (микроэлектромеханических систем). Далее в качестве примеров будут рассмотрены популярные телефоны с гироскопом.

Компания Apple впервые представила новое изобретение за счет его внедрения в iPhone 4. Когда эта фирма установила акселерометр на своем телефоне первого поколения, он сразу же приобрел всемирную известность. В результате был установлен новый тренд, и каждый производитель смартфонов стремился внедрить это нововведение на своих устройствах. Затем история повторилась, потому что гироскоп тоже стал объектом зависти среди конкурентов. Пользователи мобильных устройств были в восторге, когда Стив Джобс продемонстрировал возможности iPhone 4. В результате в магазине приложений появилось множество интересных игр с задействованным гироскопом.

Телефон Nexus S - это совместный продукт компаний Google и Samsung. Он стал первым устройством на базе Android, получившим гироскоп. Благодаря добавлению некоторых действительно продвинутых функций, таких как NFC, телефон составил серьезную конкуренцию iPhone 4. Поддержка API-интерфейса гироскопа была добавлена в Android 2.3 Gingerbread, благодаря чему разработчики получили возможность создавать интересные игры и приложения.

Список устройств Андроид, оснащенных этим нововведением, стремительно расширялся, благодаря чему многие пользователи смогли оценить его возможности. Вскоре после Nexus гироскоп установили на телефоне LG Optimus 2X. Кроме того, это устройство прославилось как первый в мире смартфон с двухъядерным процессором (1 GHz NVIDIA Tegra 2 AP20H Dual Core Processor).

Прежде чем приступить к рассмотрению модуля гироскопа и акселерометра, думаю, будет не лишним коротко разобраться что это такое. Гироскоп представляет собой устройство, реагирующее на изменение углов ориентации контролируемого тела. В классическом представлении это какой-то инерционный предмет, который быстро вращается на подвесах. Как результат вращающийся предмет всегда будет сохранять свое направление, а по положению подвесов можно определить угол отклонения. На самом же деле электронные гироскопы построены по другой схеме и устроены немного сложнее (вращающийся волчок впихнуть в микросхему было бы не просто). Акселерометр - это устройство, которое измеряет проекцию кажущегося ускорения, то есть разницы между истинным ускорением объекта и гравитационным ускорением. На простом примере такая система представляет собой некоторую массу, закрепленную на подвесе, обладающим упругостью (пружина для хорошего примера). Так вот если такую систему повернуть под каким-то углом, или бросить, или предать линейное ускорение, то упругий подвес отреагирует на движение под действием массы и отклонится и вот по этому отклонению определяется ускорение. Таким образом, гироскоп реагирует на изменение в пространстве независимо от направление движения, с помощью акселерометра же может измерять линейные ускорения предмета, а так же и искусственно рассчитываемое расположение предмета в пространстве. Каждое устройство имеет свои достоинства и недостатки.

Микросхема MPU6050 содержит на борту как акселерометр, так и гироскоп, а помимо этого еще и температурный сенсор. MPU6050 является главным элементом модуля GY-531. Помимо этой микросхемы на плате модуля расположена необходимая обвязка MPU6050, в том числе подтягивающие резисторы интерфейса I 2 C, а также стабилизатор напряжения на 3,3 вольта с малым падением напряжения (при питании уже в 3,3 вольта на выходе стабилизатора будет 3 ровно вольта) с фильтрующими конденсаторами. Ну и бонусом на плате распаян SMD светодиод с ограничивающим резистором как индикатор питающего напряжения. Размер платы модуля GY-521 10 х 20 мм.

Схема модуля представлена ниже (номиналы могут немного отличаться в разных версиях модуля):

Характеристики MPU6050 :

  • напряжения питания 2,375 - 3,46 вольт
  • потребляемый ток до 4 мА
  • интерфейс передачи данных - I2C
  • максимальная скорость I2C - 400 кГц
  • вход для других датчиков I2C
  • внутренний генератор на 8 МГц (вне модуля возможность подключить внешний кварцевый резонатор на 32,768 кГц или 19,2 МГц)

Нужно отметить возможность MPU6050 работать в мастер режиме I2C для AUX выводов, к которым можно подключить еще один внешний датчик (например магнитометр). Честно говоря, я не понимаю для чего это вообще нужно, если проще подключать дополнительные датчики к общей шине I2C микроконтроллера.

Функции MPU6050 :

  • трех осевой MEMS гироскоп с 16 битным АЦП
  • трех осевой MEMS акселерометр с 16 битным АЦП
  • Digital Motion Processor (DMP)
  • slave I 2 C для подключения к микроконтроллеру
  • master I 2 C для подключения к микросхеме дополнительного датчика
  • регистры данных датчиков
  • прерывания
  • температурный сенсор
  • самопроверка гироскопа и акселерометра
  • регистр идентификации устройства

Внешний вид модуля GY-521:

В комплекте идут штыревые соединения угловые и прямые. Припаян был прямой штыревой разъем.

Данные измерений датчиков можно считывать как из регистров хранения, так и пользоваться функциями FIFO. Имеется отдельный регистр под названием Who am I, значение, записанное в этом регистре постоянно и его можно только считать, можно использовать как идентификатор устройства, значение в регистре 104 или 0х68. Отдельным выводом является выход прерываний, который настраивается регистрами настройки под определенные события.

Датчики гироскопа и акселерометра изготовлены как MEMS (микроэлектромеханическая система) - внешнее воздействие на датчик сначала изменяет состояние механической части, затем изменение состояния механической части приводит к изменению сигнала электрической части. Одним словом в одном корпусе собрана не только электроника, но и механика. В микросхеме MPU6050 содержится сразу два MEMS датчика, производитель утверждает, что их взаимное воздействие друг на друга сведено к минимуму. Ну что же, совсем не плохо за цену готового модуля порядка 2 уе. Между прочим эти модули можно приобрести на торговых площадках aliexpress или ebay.

Разберемся как можно использовать датчики акселерометра и гироскопа. Температурный датчик трогать даже не будем - данные о температуре прочитали, перевели в человеческие значения и наслаждаемся. Гироскоп выдает значения мгновенной угловой скорости с разрешением, заданным в настройках, например 2000 градусов в секунду. Если прошить микроконтроллер и смотреть на получаемые данные, то увидим только нули. Если начать крутить датчик, то получим мгновенные значения угловой скорости. Заметьте, что скорость мы получаем в градусах в секунду, а это значит, что линейные скорости не влияют на эти показания - показания будут изменяться только при повороте датчика в пространстве. Далее с помощью этих данных можно получить ориентацию объекта в пространстве. Для этого нужно получить мгновенное значение угловой скорости и умножить его на промежуток времени между опросами датчика гироскопа. Пример разрешение 2000 градусов в секунду, промежуток между опросами датчика 0,1 секунда, значение мгновенной скорости 300, значит 300*0,1=30 - за это время ось гироскопа была повернута на 30 градусов. Далее каждое полученное значение нужно сложить с предыдущим. Если ось двигалась в одном направлении - значение 30 градусов, если в другом, то -30, таким образом, при возвращении датчика в исходное положение всегда (в идеале) будет 0, при отклонении от исходного положения, при выполнении вышеописанных действий, получим угол отклонения. Обрабатывая углы трех осей гироскопа можно получить ориентацию объекта в пространстве.

Таким образом, при интегрировании состояния угла положения, также интегрируется и погрешность - при длительном использовании можно получить уже абсолютно неправильные значения. Поэтому часто гироскоп используют в паре с акселерометром, образуя в простом варианте альфа-бета фильтр или комплементарный фильтр.

С акселерометром все проще. Измеряя ускорения трех осей датчика можно получить данные, преобразуя их с помощью геометрии, по которым можно также получить ориентацию объекта в пространстве. Помимо этого акселерометр измеряет линейные ускорения, то есть ориентация объекта может искажаться при движении датчика в линейных направлениях. Также с помощью акселерометра можно определять движение объекта или его столкновение. Например детектировать падение объекта или толчок о преграду, чтобы обходить это.

Данные от акселерометра получаем всегда достаточно точные, то есть нуль всегда остается нулем ни при каких воздействиях (имеется ввиду не зависит ни от времени, ни от характера воздействия), однако недостаток кроется в том, что данные идут шумом в некотором диапазоне данных, то есть до десятых долей градуса точно измерять угол не получится. Зато исходя из экспериментальных данных, точность до целых значений градуса держится вполне стабильно. Не забываем про влияние линейных ускорений.

Если датчик приобрели, можно переходить к рассмотрению внутренностей модуля, а именно главного элемента - микросхемы MPU6050. Информация хранится в регистрах микросхемы, которых более 100 (!). И вот тут то и кроется огромный подводный камень. производитель не утрудился расписать в документации всю информацию, а привел лишь информацию о самом необходимом. На самом деле не известно даже сколько же всего там регистров, доступных для чтения или записи или того и другого. Также информации на некоторые регистры попросту нет, кроме его названия. Ну что же, придется экспериментально определять влияния значений, записанных в некоторые регистры.

В конце статьи вы можете скачать исходный код примера использования данного модуля. Внутри вы найдете информацию о том как считывать данные датчиков модуля, а также инициализацию устройства или просто первоначальную настройку регистров для начала работы с модулем GY-521.

Интерфейс I 2 C работает по стандартной схеме. Адрес микросхемы может быть двух значений (без бита чтения / записи) в зависимости от состояния вывода AD0 - b1101000, если AD0 соединен с землей и b1101001, если AD0 соединен с источником питания. Соответственно плюс бит чтения или записи.

Микросхема содержит Digital Motion Processor (DMP), он необходим для того, чтобы обрабатывать данные, получаемые из датчиков гироскопа и акселерометра. Все это делается для того, чтобы повысить точность получаемых данных, так как при обработке данных на микроконтроллере точность может пострадать из-за снижения скорости их обработки. Как правило, алгоритмы обработки движения должны работать с достаточно высокой частотой, обычно 200 Гц, как утверждает документация.

Что касается регистров, то их достаточно большое количество, необходимая информация находится в карте регистров на MPU6050, документ прилагается к статье. Помимо этого прилагается исходник с настройками этих регистров.

Для демонстрации работы модуля была собрана схема:

Здесь использован микроконтроллер Atmega8, данные выводятся на ЖК дисплей 2004А (4 строки по 20 символов). На экран выводится следующая информация, полученная и преобразованная от микросхемы MPU6050 модуля: 1. значения по трем осям акселерометра, 2. значения по трем осям гироскопа, 3. температура, 4. углы отклонения по данным акселерометра (рассчитаны ресурсами микроконтроллера), 5. поворот по оси Z по данным гироскопа (также путем подсчета микроконтроллером). В первом и втором пункте данные имеют мгновенный характер - то есть именно то, что считывается из регистров хранения, это значит, что для гироскопа это скорость, в состоянии покоя все значения будут равны нулю.

Помимо этого, имеется 6 светодиодов, которые загораются в зависимости от положения датчика по оси Y акселерометра.

Модуль датчиков содержит уже стабилизатор на 3,3 вольта, поэтому его можно подключать как к 5 вольта, так и к 3,3 вольтам. Микроконтроллер запитывается от напряжения 3,3 вольта, чтобы не делать согласование уровней I 2 C.

Собранное устройство на макетной плате:

Для программирования микроконтроллера конфигурация фьюз битов (Atmega8):

Область применения таких датчиков достаточно широка. Данный модуль часто применяют для стабилизации полета квадрокоптера по причине совместного использования гироскопа и акселерометра. Кроме этого модуль можно использовать для координации различных устройств - от просто детектора движения до системы ориентации различных роботов или управления движениями каким-либо устройствами. Область подобных сенсорных устройств достаточно новая и интересная для изучения и применения в любительской технике.

В заключении хотелось бы отметить, что данные модуль - это недорогое и достаточно хорошее решение при необходимости использования гироскопа и / или акселерометра, большое количество настроек датчиков позволит настроить их под любые устройства, малые размеры модуля без труда позволят встраивать его в большинство схем.

К статье прилагается прошивка микроконтроллера, исходный код , документация на MPU6050 и видео работы датчика в схеме.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
MOD1 Модуль GU-521 1 На базе MPU6050 В блокнот
IC1 МК AVR 8-бит

ATmega8

1 В блокнот
VR1 Линейный регулятор

L7805AB

1 В блокнот
VR2 Линейный регулятор

AMS1117-3.3

1 В блокнот
HG1 LCD-дисплей 2004A 1 В блокнот
C1 470 мкФ 1 В блокнот
C2, C3, C5 Конденсатор 100 нФ 3 В блокнот
C4 Электролитический конденсатор 220 мкФ 1 В блокнот
C6 Электролитический конденсатор 10 мкФ 1