Что такое электронный компас. Как работает компас, в том числе в смартфоне или в более простом телефоне. Какие бывают компасы

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

Какие бывают компасы

Что такое компас, мы все помним из курса школьной географии. Но, давайте более глубоко копнем этот вопрос. Люди придумали различные приборы, которые позволяют понять, где находятся полюса. Главное в этом деле понять, где находится север. Далее, зная расположение северного полюса, можно узнать, где находятся остальные направления света. Зачем нам это нужно? Чтобы не заблудиться на местности. К примеру, в лесу, в поле, или находясь на яхте в море.

Например, вы в курсе, как определить полюса в лесу, имея в подручных средствах обычную иголку? Нужно аккуратно положить маленькую иголочку на водную плёнку (на водной глади есть тончайшая плёнка, именно по ней бегают долгоножки), или можно просто положить её на маленький листик растения (или небольшой бумаги).

Сам же лист аккуратно положить на воду в фарфоровой (пластиковой) тарелке (или в луже, если вы в лесу). Итак, один из концов иголки примет направление на север, другой, на юг. Всё очень просто. К чему я это сказал? Данный метод очень может вам помочь, если вы находитесь в незнакомой местности и не знаете направления сторон. У вас нет компаса, но, есть небольшая лужа и обычная иголка! Вам останется только понять, какой именно из концов иголки показывает на север!

Виды компасов

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

Есть очень красивые компасы, носить которые одно удовольствие. Например, купить красивый компас Eyeskey Professional

вы можете здесь . Доставка бесплатна, вариантов много. Тот, что на картинке, я подарил другу на день рождения. Он заядлый рыбак. От компаса он пришёл в восторг.

Электромагнитный

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

Цифровой компас

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

Например, тот, что на скриншоте, является также и барометром. Подробнее о нём по ссылке…

Радиокомпас

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

Спутниковый

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

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

Также, этот компас часто неразрывно связан с навигатором в телефоне. Если у вас в сотовом присутствует навигатор, то, разумеется, есть и компас.

Если же в вашем телефоне отсутствует данная программа, скачать компас бесплатно, можно, с play.google.com . На снимке вы видите Compass Galaxy.

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

Важно: — Я не знаю, какая у вас модель телефона. Но, чтобы работал компас в телефоне, необходимо, чтобы в вашем гаджете была установлена функция магнитного датчика. Если её нет, то, необходимо подключится к геолокации GPS. Или, другими словами, подключить магнитный гироскоп. Разумеется, если это позволяет модель вашего телефона, о чем вы можете узнать из его инструкции. Успехов!

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

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

Встроенные функции:

  1. часы;
  2. календарь;
  3. термометр;
  4. барометр;
  5. высотомер;
  6. компас;
  7. погодный датчик.

А всё вместе дает возможность не только определять координаты своего местонахождения, но и прокладывать верный курс до точки назначения.

Часы и календарь

С этими понятными даже детям счетчиками всё просто. Однажды устанавливаете верные дату и время и отслеживаете текущий момент. Можно выбрать 12- или 24-часовой форматы отображения времени. Нажатие кнопки SET позволяет переходить от времени к дате. А долгое нажатие кнопки SET позволяет войти в режим настроек, в котором можно установить дату/время, а также выбрать привычные единицы измерения.

Термометр

Температура может показываться как в градусах Цельсия, так и в градусах Фаренгейта. Есть также несколько вариантов определения состояния погоды на ближайшее время: ясно, преимущественно облачно, облачно и осадки. Информация обновляется каждые 30 секунд.

Барометр

Значение атмосферного давления, как и время с датой и текущей температурой, отображается на дисплее в стандартном режиме. Информация обновляется раз в 30 секунд. Если нужны точные данные, необходимо нажать и удерживать кнопки SET и ALTI. Атмосферное давление может отображаться как в миллиметрах ртутного столба, так и в Гекто-Паскалях.

Высотомер

Нажатие кнопки ALTI переводит в режим измерения абсолютной высоты (ABS). Данные обновляются каждые 5 секунд. Удержание кнопки ALTI переводит в режим измерения сравнительной высоты (REL), показания при этом сбрасываются на 0. Высоту можно замерять как в метрах, так и в футах.

Компас

Нажатие на кнопку COMP позволяет перейти в режим компаса. Удержание той же кнопки переводит в режим его проверки. О том, как это делать, подробно рассказано в сопроводительной инструкции. При измерении направления следует держать компас вдали от воздействия магнитных полей. Искажения могут происходить из-за других магнитов поблизости, а также из-за железных и стальных предметов.

В общем, с таким ручным электронным помощником вы не потеряетесь. Еще раз напомним про запас батареек. Здесь используются "мизинчиковые".

Подарок путешественнику

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

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

  • 7 в 1: часы, календарь, термометр, погодный датчик, компас, высотомер, барометр;
  • инструкция прилагается;
  • ЖК-дисплей;
  • подсветка светодиодным сигналом в течение 5 секунд;
  • сохранение и просмотр истории предыдущих значений;
  • размеры: 6.5 х 2.5 х 10 см;
  • вес: 85 г;
  • период обновления данных: 30 секунд;
  • температурный диапазон: от -10 °C до 50 °C (14-122 °F);
  • диапазон высоты: от -305 м до 9 144 м (-1 000-30 000 футов);
  • диапазон атмосферного давления: от 225 мм рт ст до 788 мм рт ст (301-1 051 гПа);
  • работает от 2 ААА ("мизинчиковых") батареек (нет в комплекте);
  • есть шнурок;
  • бренд: LeFutur;
  • упаковка: фирменная коробка;
  • размеры коробки: 7 х 11 х 3 см.

На сегодняшний день мировая промышленность электронной техники обладает широчайшим спектром и разнообразием различных датчиков. Сегодня предлагаю рассмотреть такой датчик как HMC5883L. Он представляет собой трех осевой магнитометр (оси x, y и z). Как гласит документация на данный датчик, он изготовлен по анизотропной магниторезистивной технологии (Anisotropic Magnetoresistive (AMR) technology). Также согласно документации (даташиту), датчик имеет интерфейс I 2 C и такие настройки как чувствительность к магнитному полю, настройка скорости записи данных в регистры, количество измерений перед записью в регистры данных, режимы ожидания, единичного и непрерывного преобразования. Помимо этих основных настроек (есть и другие не столь важные для нас, возможно, которые использовать и не придется, например идентификационные регистры), датчик имеет отдельный вывод, на который выводится сигнал по завершению преобразования и записи данных в регистр, то есть по обновлению данных - как только датчик закончил измерения и записал данные для считывания в регистры, на выводе DRDY (видимо, это data ready) появляется сигнал. Для удобства этот вывод можно использовать для внешних прерываний микроконтроллера или чего-то подобного. Однако это не всегда нужно и в этом устройстве было решено не задействовать эту функцию.

Вкратце разобрались что это за датчик HMC5883L. Чтобы не мучиться с пайкой мелкого корпуса микросхемы датчика, в продаже имеются модули и в зависимости от модели имеют на себе следующие составляющие - обязательно подтягивающие резисторы для линий I 2 C, конденсаторы по питанию и необходимые в обвязке самой микросхемы датчика и стабилизатор напряжения на 3,3 вольта, в некоторых еще есть обвязка согласования уровней для I 2 C на 3,3 - 5 вольт. Данный датчик может входить в состав модулей, где он является одним из датчиков (в китайских магазинах это девяти осевые модули датчиков гироскопа, акселерометра и магнитометра, а до кучи еще и барометр, данный шедевр обычно могут применять при разработке квадрокоптеров для стабилизации полета).

Модуль HMC5883L (по названию самого датчика магнитометра) на фото ниже:

Основной задачей при разработке схемы было разобраться с работой и особенностями датчика магнитометра HMC5883L для дальнейшего применения в каких-либо проектах, разработка прошивки для экспериментов с этим датчиком, поэтому, возможно, большой функциональности на данном этапе в устройстве не будет - просто индикация угла относительно севера - схема устройства:

По традиции схема построена на микроконтроллере Atmega8. Данный микроконтроллер можно использовать как в корпусе DIP-28, так и в СМД исполнении в корпусе TQFP-32. Резистор R3 необходим для предотвращения самопроизвольного перезапускания микроконтроллера в случае появления случайных помех на выводе PC6. Резистор R3 подтягивает плюс питания к этому выводу, надежно создавая потенциал на нем. Для индикации используется жидко кристаллический (ЖК или LCD) дисплей SC1602. Он имеет 2 строки символов по шестнадцать штук в каждой из них. ЖК дисплей подключается к микроконтроллеру по четырех битной системе. Переменный резистор R2 необходим для регулировки контраста символов на дисплее. Вращением движка этого резистора добиваемся наиболее четких для нас показаний на экране. Подсветка ЖК дисплея организована через вывод "А" и "К" на плате дисплея. Подсветка включается через резистор, ограничивающий ток - R1. Чем больше номинал, тем более тускло будет подсвечиваться дисплей. Однако пренебрегать этим резистором не стоит во избежание порчи подсветки. Датчик питается от напряжения 3,3 вольта, а микроконтроллер от 5 вольт, поэтому при передачи данных по интерфейсу I2C используется микросхема согласования уровней PCA9517. При покупке модуля с датчиком магнитометром необходимо обратить внимание на наличие уже имеющейся схемы согласования уровней, при ее наличии PCA9517 можно убрать. Заменить PCA9517 можно на любой другой аналог или каскад, выполняющий такие же функции. Резисторы R4 - R7 подтягивают плюс питания к линиям данных интерфейса I2C. Это необходимо для корректной работы протокола. Мощность всех резисторов постоянного сопротивления составляет 0,25 Вт.

Питается вся схема от простого модуля питания на силовом трансформаторе. Переменное напряжение выпрямляется четырьмя диодами VD1 - VD4 марки 1N4007, пульсации сглаживаются конденсаторами C1 и C2. Номинал конденсатора C2 можно увеличить до 1000 - 4700 мкФ. Четыре выпрямительных диода можно заменить одним диодным мостом. Трансформатор применен марки BV EI 382 1189 - преобразует 220 вольт переменного тока в 9 вольт переменного тока. Мощность трансформатора составляет 4,5 Вт, этого вполне достаточно и еще с запасом. Такой трансформатор можно заменить любым другим силовым трансформатором, подходящим для Вас. Либо данный питающий модуль схемы заменить на импульсный источник напряжения, можно собрать схему обратноходового преобразователя либо применить иже готовый блок питания от телефона, например - все это дело вкусов и потребностей. Выпрямленное напряжение с трансформатора стабилизируется на микросхеме линейного стабилизатора L7805 , ее можно заменить на отечественный аналог пяти вольтового линейного стабилизатора КР142ЕН5А, либо применить другу микросхему стабилизатора напряжения в соответствии с подключением ее в схеме (например LM317 или импульсные стабилизаторы LM2576 , LM2596, MC34063 и так далее). Далее переняв тенденции китайских инженеров был опробован стабилизатор напряжения на 3,3 вольта на микросхеме xc6206p332mr. Такой стабилизатор изготавливается на заводе в корпусе SOT-23 - то есть уже миниатюрный размер, это один из плюсов. Падение напряжения на таком стабилизаторе составляет 0,25 вольта, а собственное потребление всего 1 мкА. Весьма неплохо. Но пригоден стабилизатор напряжения только для низковольтных схем, его максимальное входное напряжение составляет 6 вольт. Не так уж и много, а нам много и не нужно по большому счету. Такой стабилизатор напряжение китайские разработчики применяют много где в различных схемах, узнать его можно по маркировка на корпусе - 662к. Напряжение 3,3 вольта используется для питания датчика магнитометра HMC5883L в соответствии с даташитом.

По традиции схема собиралась на макетной плате:

В первой строке выводятся данные об угле относительно севера. Снизу по порядку координаты x, y, z. Знак "q" означает, что число отрицательное. Датчик выдает именно координаты осей, а по их значениям можно уже высчитать угол или градус.

Карта регистров датчика HMC5883L имеет следующий вид и состав:

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

// инициализация, конфигурация void Init_5883 (void) { i2c_start_cond(); // запуск i2c i2c_send_byte(HMC5883_W); // передача адреса устройства, режим записи i2c_send_byte(0x00); // передача адреса памяти i2c_send_byte(0b00010000); // Configuration Register A, 1 сэмпл, 15 Гц i2c_send_byte(0b00100000); // Configuration Register B, +-0,88 Ga - 00000000 (по умолчанию 00100000 +-1,3 Ga) i2c_send_byte(0b00000000); // Mode Register, режим постоянного измерения i2c_stop_cond(); // остановка i2c }

// прочитать регистры данных и получить значения void Read_5883 () { i2c_start_cond(); // запуск i2c i2c_send_byte(HMC5883_W); // передача адреса устройства, режим записи i2c_send_byte(0x03); // передача адреса памяти i2c_stop_cond(); // остановка i2c i2c_start_cond(); // запуск i2c i2c_send_byte(HMC5883_R); // передача адреса устройства, режим чтения xh = i2c_get_byte(0); // читаем данные xl = i2c_get_byte(0); zh = i2c_get_byte(0); zl = i2c_get_byte(0); yh = i2c_get_byte(0); yl = i2c_get_byte(1); i2c_stop_cond(); // остановка i2c } if (xh< 0) {xh=-(xh+1); xl=-(xl+1);} if (yh< 0) {yh=-(yh+1); yl=-(yl+1);} if (zh< 0) {zh=-(zh+1); xl=-(zl+1);} x = (xh << 8) + xl; // склеиваем старший и младший байты y = (yh << 8) + yl; z = (zh << 8) + zl;

Остальные регистры за ненадобностью использоваться не будут.

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

Float Angle = atan2((double)yy,(double)xx)* 180 / 3.14159265 + 180; /* или так Angle = 1000*atan2(y , x); // вычисление угла в радианах Angle = Angle*572957795; // перевод радиан в градусы (град=рад*180/3,14) Angle = Angle/10000000000; Angle = Angle+180; // */

Однако мало просто читать данные из датчика и переводить значения в необходимые для нас пр помощи математики. Данные могут искажаться многими причинами - наличие электромагнитных полей от сети, наличие рядом металлов или магнитов и прочее. В программе прошивки реализована калибровка по самой распространенной погрешности, смещающий значения всех осей (или не всех иногда) - Hard iron. Такая погрешность может не присутствовать в каком-нибудь лесу и то не факт. Калибровка по такой погрешности устраняется просто - нужно вычислить смещение по осям и отнять его. В результате получим ровные значения угла (из-за такой погрешности показания угла также смещаются и соответственно при вращении истинность значений под вопросом). Для получения значения смещения необходимо взять средне арифметическое значение от минимума и максимума по осям (минимальное значение всегда отрицательное, при сложении получим, например так: -500 + 400 = -100, делим на 2 и получаем значение смещения). Дело в том, что точки на координатах при вращении датчика вокруг оси должны в идеале образовывать ровный круг с центром в точке схождения всех осей, то есть нуле.

В итоге получилось такое устройство: индикация угла относительно севера и значения координат трех осей на ЖК дисплее, а также калибровка показаний угла. Никаких рюшечек на дисплее не предусматривалось. Чтобы запустить калибровку, необходимо нажать на кнопку S2, и, удерживая ее, не спеша по вращать датчик на 360 градусов, можно несколько раз. Отпустить кнопку. Теперь показания будут компенсироваться по данным, полученным во время калибровки. При повторном нажатии на кнопку S2 калибровка запустится заново, затерев нулями значения минимумов и максимумов, полученных ранее. Просто сбросить калибровку можно нажатием кнопки сброса - S1.

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

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

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 МК AVR 8-бит

ATmega8

1 В блокнот
IC2 Датчик магнитометр HMC5883L 1 В блокнот
IC3 ИС I2C интерфейса

PCA9517

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

L7805AB

1 В блокнот
VR2 Линейный регулятор CX6206P332MR 1 В блокнот
VD1-VD4 Выпрямительный диод

1N4007

4 В блокнот
R1 Резистор

22 Ом

1 В блокнот
R2 Подстроечный резистор 10 кОм 1 В блокнот
R3-R7 Резистор

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

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

Классический компас - купить частичку истории.

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

В этой статье мы будем строить компас с помощью цифрового специализированного магнитометра TinyShield, а также круглого светодиодного индикатора. Сразу предупредим, что перед началом прошивки и использования устройства, соответствующие драйверы должны быть установлены для обнаружения com-порты. Эти драйверы должны быть установлены перед загрузкой кодов от codebender плагина. Но можно просто использовать codebender плагин непосредственно в программе TinyDuino .

Схема цифрового компаса

Магнитометр, который используется для компаса, типа Honeywell HMC5883L 3-осевой компас. Прочитайте о нём подробнее в даташите .

После того, как TinyDuino будет запрограммирован, вы можете удалить экран USB. При каждом включении или перезагрузки процессора, необходимо откалибровать его. Для калибровки, просто поверните его на 360 градусов по каждой оси. Теперь имеем полностью функциональный цифровой компас, который занимает размер меньше, чем кубический сантиметр пространства! А HCM5883L чип настолько чувствителен, что ферромагнитные материалы, намагниченные или нет, находясь в пределах радиуса 5 см будут вызывать возмущения и помехи в работе. Прошивка находится

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