Трехосевые электронные компасы
Трехосевые электронные компасы впервые нашли себе применение в сотовых телефонах. AsahiKaseiбыла первой компанией – производителем 3-осевых геомагнитных датчиков, применяемых для эффективной коррекции наклона сотовых телефонов и надежного определения геомагнитного направления без необходимости удерживать телефон в горизонтальном положении.
Малый размер датчика Холла вместе с другими присущими ему преимущественными характеристиками способствует его встраиванию в корпус сотового телефона. Датчик Холла обеспечивает линейность, достаточную чувствительность, динамический диапазон для ручных устройств с функциями детектирования геомагнитного поля. В некоторых применениях другие типы магнитных датчиков обеспечивают более высокую чувствительность, что используется для более точных измерений относительно слабого магнитного поля Земли. Но сотовые телефоны часто подвержены воздействию сильных магнитных полей и возмущений, которые могут легко насытить высокочувствительный датчик, который вдобавок может быть весьма чувствителен к шумам. В связи с этим датчик Холла является оптимальным решением для эффективных измерений геомагнитного поля и компенсацией внешних полей и возмущений.
Для автоматической регулировки от значительных изменений магнитных полей существует алгоритм DOE(DynamicOffsetEstimation), он устраняет необходимость в повторяющейся ручной регулировке.
|
|
Характеристика исследуемого датчика
Для проведения эксперимента было выбрано устройство (HuaweiMediaPadX1), на котором установлен магнитометр MAG3110 семейства Xtrinsicкомпании Freescale.
XtrinsicMAG3110 – трехосевой малогабаритный магнитометр с малым энергопотреблением для измерения геомагнитных полей земли. Магнитометр XtrinsicMAG3110 (рис. 5) включает три датчика магнитного поля, ориентированных по осям X (направлена на геомагнитный север), Y (направлена на восток, перпендикулярно оси X)и Z (направлена вверх)и интегральную схему для организации обработки сигналов, обмена по интерфейсу 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!