Трехосевые электронные компасы



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

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

Для автоматической регулировки от значительных изменений магнитных полей существует алгоритм DOE(DynamicOffsetEstimation), он устраняет необходимость в повторяющейся ручной регулировке.

Характеристика исследуемого датчика

Для проведения эксперимента было выбрано устройство (HuaweiMediaPadX1), на котором установлен магнитометр MAG3110 семейства Xtrinsicкомпании Freescale.

XtrinsicMAG3110 – трехосевой малогабаритный магнитометр с малым энергопотреблением для измерения геомагнитных полей земли. Магнитометр XtrinsicMAG3110 (рис. 5) включает три датчика магнитного поля, ориентированных по осям X (направлена на геомагнитный север), Y (направлена на восток, перпендикулярно оси XZ (направлена вверх)и интегральную схему для организации обработки сигналов, обмена по интерфейсу I²C (последовательная асимметричная шина для связи между интегральными схемами внутри электронных приборов) и реализации других функциональных возможностей. Для упрощения синхронизации магнитометра с внешними устройствами используется сигнал прерывания INT1, который является индикатором наличия новой порции данных на его выходе. Данная функциональность повышает эффективность мобильных устройств, значительно увеличивая срок жизни батарей.

Самотестирование
Z-ось
X-ось
Y-ось
MUX
АЦП
ЦОС и контроллер
Тактовый генератор
Компенсацио-нная логика
Источник опорного напряжения и регулятор
SDA
SCL
INT1
Vdd
VddIO
I²C
мультиплексор
Датчик ЭМП

Рисунок 5. Структурная схема магнитометра MAG3110

Основные технические характеристики магнитометра MAG3110:

· Динамический диапазон: +/- 1,000 мкТл;

· Высокое разрешение в полном динамическом диапазоне;

· Максимальная частота выборки 80 Гц;

· Интерфейс I²C с частотой 400 кГц;

· Напряжение питания: 1,95 – 3,6 В;

· Наличие драйвера для ОС;

· Механизм прерываний для синхронизации данных;

· Ультра малогабаритный 2х2х0.8 мм 10-ти выводной DFN корпус;

· Диапазон рабочих температур: от -45 до +85 °C.

Разработка программы для вывода данных

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

Необходимо было выбрать для какой платформы будет разработано программное обеспечение. Выбор был сделан в пользу Androidпо следующим причинам: Во-первых, потому, что в отличие от iOS (iphoneOperatingsystem), дляandroidне сложно внедрить свое ПО в смартфон. Во-вторых, через программный код к нужному датчику, в других известных мобильных операционных системах, сложно внедриться. В-третьих, для создания ПО на androidв интернете много мануалов и разной полезной информации, чем не может «похвастаться» ни одна из других операционных систем.

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

К обязательным инструментам относится AndroidSDK – набор средств программирования, который содержит инструменты, необходимые для создания, компиляции и сборки мобильного приложения.

Рассмотрим кратко наиболее важные инструменты, входящие в состав AndroidSDK:

· DebugMonitor– самостоятельный инструмент, предоставляющий графический интерфейс к нескольким инструментам, предназначенным для анализа и откладки Androidприложений.

· AndroidEmulator (emulator) – виртуальное мобильное устройство, которое создается и работает на компьютере разработчика, используется для разработки и тестирования мобильных приложений без привлечения реальных устройств.

· AndroidDebugBridge (adb) – гибкий инструмент, позволяющий управлять состоянием эмулятора или реального Android устройства, подключенного к компьютеру. Также может использоваться для установки Android приложения (.apkфайл) на реальное устройство.

· SDKManager– инструмент, позволяющий загрузить компоненты AndroidSDK. Показывает пакеты AndroidSDKи их статус: установлен (Installed), не установлен (NotInstalled), доступны обновления (Updateavailable) – рис. 6.

Рисунок 6.Главное окно AndroidSDKManager

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

AndroidStudio – среда разработки под Android, основанная на IntellijIDEA. Она представляет интегрированные инструменты для разработки и отладки. Дополнительно ко всем возможностям, ожидаемым от Intellij, в AndroidStudio реализованы:

· Поддержка сборки приложения, основанной на Gradle;

· Специфичный для Androidрефакторинг (переработка кода) и быстрое исправление дефектов;

· Lintинструменты для поиска проблем с производительностью, с юзабилити, с совместимостью версий и других;

· Возможности ProGuard (утилита для сокращения и оптимизации кода, подписи приложений);

· Встроенная поддержка облачной платформы Google.

Для вывода магнитометрических данных разработано приложение «Магнитометр-1» в программе AndroidStudio на языке Java. В процессе создания приложения основной сложностью стал вывод значений показаний датчика магнитометра на ПК. Эта задача была успешно решена.

Приложение имеет узкую направленность, а именно: получение доступа к датчику (geomagneticfieldsensor), вывод значения датчика на экран (рис. 7), запись значений на определенном отрезке времени (рис. 8) и сохранение показаний в файловую систему смартфона (рис. 9).

Рисунок 7.Показание датчика магнитометра

При запуске приложенияактивируется очень простой интерфейс, где нет ничего лишнего. По центру экрана выведено значение магнитного поля (B), полученного по формуле . На главном экране есть красная кнопка с плюсом внутри, при нажатии на эту кнопку внутри нее вместо плюса появляется квадрат, это означает, что начинается запись данных, считываемых с датчика (geomagneticfieldsensor), с интервалом в 3-6 миллисекунд.

Рисунок 8.Запись значений показания магнитометра

Запись данных будет продолжаться до тех пор, пока, красная кнопка с квадратом внутри нее, не будет нажата вновь. После того как кнопку нажали повторно, программа информирует о том, что запись файла закончена. По центру экрана появляется окно «имя файла». Остается лишь дать имя файлу и нажать кнопку «ок». После этого файл сохраняется в корневую систему устройства с расширением «.csv». Откуда его легко можно переместить на компьютер при помощи USBинтерфейса. Далее можно открыть файл при помощи программы MicrosoftExсel, и проанализировать полученные данные. Для дальнейшей обработки файла ему было присвоено имя «diplom.csv».

Рисунок 9. Сохранение показаний в файловую систему смартфона

Для лучшего понимания принципа работы приложения «магнитометр-1», на (рис. 10), представлен его алгоритм. На которой подробно описана каждая операция.

Зарегистрировать значение датчика ЭМП от операционной системы Android

Рисунок 10.Алгоритм работы программы «магнитометр».

Вывод по главе

Вторая глава посвящена разработке и анализу ГСЧ на основе магнитометров. Рассмотрен принцип работы магнитометра и описана классификация существующих магнитометров. Представлена характеристика исследуемого датчика и осуществлена разработка программного обеспечения для операционной системы Android.


Дата добавления: 2018-06-01; просмотров: 895; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!