Как подключить GPS модуль к Arduino. Какие возможности дает использование GPS модуля с Arduino. Как добиться сантиметровой точности позиционирования с помощью GPS модуля. Какие преимущества дает многочастотный прием GPS сигналов. Как использовать GPS модуль для автоматизации сельского хозяйства.
GPS модуль для Arduino: обзор возможностей и характеристик
GPS модули позволяют определять точные координаты, скорость и направление движения объектов. Подключив GPS модуль к Arduino, можно реализовать множество интересных проектов, связанных с навигацией и позиционированием. Рассмотрим основные возможности и характеристики GPS модулей для Arduino:
- Определение географических координат (широта, долгота) с точностью до нескольких метров
- Измерение высоты над уровнем моря
- Определение текущей скорости движения
- Определение направления движения (курса)
- Получение точного времени со спутников
- Работа с несколькими спутниковыми системами (GPS, ГЛОНАСС, Galileo, BeiDou)
- Частота обновления данных до 10 Гц
- Холодный старт за 25-30 секунд
Современные GPS модули для Arduino, такие как NEO-6M или NEO-M8N, обеспечивают точность позиционирования 2-3 метра. Для еще более точного определения координат используются RTK-системы с сантиметровой точностью.
Подключение GPS модуля к Arduino
Подключение GPS модуля к Arduino выполняется достаточно просто. Большинство модулей взаимодействуют с Arduino по последовательному интерфейсу UART. Типовая схема подключения выглядит следующим образом:
- VCC модуля к 3.3В или 5В Arduino (зависит от модели модуля)
- GND модуля к GND Arduino
- TX модуля к RX Arduino (пин 0)
- RX модуля к TX Arduino (пин 1)
Для работы с GPS модулем потребуется установить библиотеку TinyGPS++ в Arduino IDE. Эта библиотека позволяет легко получать и обрабатывать данные с GPS приемника.
Многочастотный прием для повышения точности позиционирования
Для повышения точности определения координат используются многочастотные GPS приемники. Они принимают сигналы спутников на нескольких частотах одновременно. Это дает следующие преимущества:
- Улучшенная точность позиционирования (до нескольких сантиметров)
- Более быстрый захват спутников и определение координат
- Лучшая работа в городских условиях с помехами
- Возможность работы в режиме RTK для сантиметровой точности
Например, новейший модуль u-blox ZED-F9P обеспечивает многочастотный прием сигналов GPS, ГЛОНАСС, Galileo и BeiDou. Это позволяет добиться точности позиционирования 1 см в режиме RTK.
Применение GPS модулей для точного земледелия
GPS модули нашли широкое применение в сельском хозяйстве для технологий точного земледелия. С их помощью можно автоматизировать многие процессы:
- Параллельное вождение сельхозтехники для точной обработки полей
- Автопилотирование тракторов и комбайнов
- Точное внесение удобрений и средств защиты растений
- Картирование урожайности полей
- Мониторинг состояния сельхозугодий
Использование GPS навигации в сельском хозяйстве позволяет повысить эффективность обработки земли, сократить расход топлива и материалов, увеличить урожайность. Точность позиционирования в несколько сантиметров критически важна для таких задач.
Режим RTK для сантиметровой точности позиционирования
Режим RTK (Real Time Kinematic) позволяет достичь сантиметровой точности определения координат. Как это работает:
- Используется базовая станция с точно известными координатами
- Базовая станция передает поправки на подвижный GPS приемник (ровер)
- Ровер использует эти поправки для уточнения своих координат
- Достигается точность позиционирования 1-2 см
RTK-системы широко применяются в геодезии, строительстве, сельском хозяйстве и других отраслях, где требуется высокоточное позиционирование. Современные GPS модули, такие как u-blox ZED-F9P, имеют встроенную поддержку RTK режима.
Использование нескольких GPS модулей для определения ориентации
Интересной возможностью является использование нескольких GPS модулей для определения не только координат, но и точной ориентации объекта в пространстве. Принцип работы такой системы:
- На объекте устанавливается 2 или 3 GPS приемника на некотором расстоянии друг от друга
- По разнице координат приемников вычисляется ориентация объекта
- Можно определить курс, крен и тангаж с высокой точностью
Такой подход позволяет создать высокоточную инерциальную навигационную систему без использования дорогих инерциальных датчиков. Это находит применение в беспилотных летательных аппаратах, автономных автомобилях, морских судах.
Перспективы развития спутниковой навигации
Технологии спутниковой навигации продолжают активно развиваться. Основные тенденции:
- Повышение точности позиционирования (до миллиметрового уровня)
- Увеличение количества спутников и навигационных систем
- Развитие многочастотных приемников
- Интеграция с инерциальными системами навигации
- Миниатюризация приемников
- Снижение энергопотребления
В ближайшие годы ожидается массовое внедрение сантиметровой точности позиционирования в потребительские устройства. Это откроет новые возможности для навигационных сервисов, беспилотного транспорта, дополненной реальности и других перспективных технологий.
Пример 38. GPS модуль Ublox NEO-6M [База знаний]
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
TinyGPSPlus gps;
#define S_RX 4 // Вывод RX
#define S_TX 3 // Вывод TX
SoftwareSerial SoftSerial(S_RX, S_TX);
void setup(void) {
Serial.begin(9600);
SoftSerial.begin(9600);
}
void loop() {
while (SoftSerial.available() > 0) {
if (gps.encode(SoftSerial.read())) {
if (gps.location.isValid()) {
Serial.print(«Latitude = «);
Serial.println(gps.location.lat(), 6);
Serial.print(«Longitude = «);
Serial.println(gps.location.lng(), 6);
}
else
Serial.println(«Location Invalid»);
if (gps.altitude.isValid()) {
Serial.print(«Altitude = «);
Serial.print(gps.altitude.meters());
Serial.println(» meters»);
}
else
Serial.println(«Altitude Invalid»);
if (gps.speed.isValid()) {
Serial.print(«Speed = «);
Serial.print(gps.speed.kmph());
Serial.println(» kmph»);
}
else
Serial.println(«Speed Invalid»);
if (gps.time.isValid()) {
Serial.print(«Time (GMT) : «);
if(gps.time.hour() < 10) Serial.print(«0»);
Serial.print(gps.time.hour());
Serial.print(«:»);
if(gps.time.minute() < 10) Serial.print(«0»);
Serial.print(gps.time.minute());
Serial.print(«:»);
if(gps.time.second() < 10) Serial.print(«0»);
Serial.println(gps.time.second());
}
else
Serial.println(«Time Invalid»);
if (gps.date.isValid()) {
Serial.print(«Date : «);
if(gps.date.day() < 10) Serial.print(«0»);
Serial.print(gps.date.day());
Serial.print(«/»);
if(gps.date.month() < 10) Serial.print(«0»);
Serial.print(gps.date.month());
Serial.print(«/»);
Serial.println(gps.date.year());
}
else
Serial.println(«Date Invalid»);
if (gps.satellites.isValid()) {
Serial.print(«Satellites = «);
Serial.println(gps.satellites.value());
}
else
Serial.println(«Satellites Invalid»);
}
}
}
NEO 6M GPS модуль подключение к Ардуино
GPS модуль NEO-6MV2.
Как определить свои координаты, узнать скорость и направление движения.
Сколько километров до точки назначения. Найти стороны света используя компас.
Всё это можно узнать, подключив GPS модуль NEO-6M к Ардуино.
Посмотрев это видео вы узнаете как получать.
Свои координаты, скорость движения, дату и время, количество спутников, направление частей света.
Узнаем сколько километров до пункта назначения, а конкретно до моей дачи и в каком направлении двигаться. И всё это без подключения к интернету, то есть абсолютно бесплатно.
Я расскажу, как подключить GPS модуль NEO-6M. Это конечно не самый лучший датчик, но он довольно точен и главное не дорогой.
Сначала мы просто проверим, работает ли он.
А в конце видео я расскажу с какими проблемами мне пришлось столкнуться и как я их решил.
Сначала выведем данные в программу U-CENTER
Для этого вам надо скачать программу от разработчика чипа U-BLOX на котором и создан этот модуль.
Вот ссылка на их сайт
Программа u-center
Эта программа визуально показывает ваши координаты и месторасположение на карте, какие спутники найдены, определение частей света, часы, скорость и качество приёма сигналов от спутников. И многое другое.
Здесь так же можно, настраивать датчик, прошивать и сбрасывать до заводских настроек.
Я особо не вникал в эту программу, и если у вас появится интерес, то я могу изучить её и сделать про неё дополнительное видео.
Вам не обязательно устанавливать программу. Можно сразу подключить к Ардуино и получать все данные. Но для общего понимания лучше посмотреть, хотя бы на этом видео.
GPS модуль можно подключить с помощью переходника USB-UART или с помощью обычной Ардуино.
Я подключу вторым способом. Для этого сначала надо загрузить в Ардуино пустой скетч.
Затем подключить модуль так.
Контакты TX на датчике соединить с TX на Ардуино, а контакты RX на датчике соединить с RX на Ардуино.
То есть прямое подключение.
Теперь в программе выбираем порт на котором подключена Ардуино и выбираем скорость 9600 бод.
В эту программу также можно загружать данные из модуля и смотреть маршрут вашего передвижения.
Схема подключения, она очень простая, и на ней осталось много пустого места, но я надеюсь, что в следующих видео эта пустота будет заполнена.
Для работы нам понадобится библиотека SoftwareSerial.
В Ардуино реализована аппаратная поддержка интерфейса последовательной передачи данных через выводы 0 и 1 (которые также используются для связи с компьютером по USB). А так как мы хотим смотреть в мониторе порта, что у нас происходит в модуле, то нам надо подключить его к программному порту UART.
Вот это как раз и обеспечивает эта библиотека. Позволяя почти любые цифровые выводы работать как последовательный порт.
Теперь смотрим, что же должно получиться. Загружаем скетч из архива. Ссылка на который будет как всегда в описании.
Я вывел ряд параметров которые как мне показалось будут вам интересны.
Здесь можно указать координаты места назначения и модуль будет показывать расстояние и направление на него. Я указал координаты своей дачи. Напишите как далеко вы находитесь от этих координат.
Посмотрим, кто живёт дальше всех, а кто ближе.
Так же я вывел
- количество спутников,
- Точность по горизонту,
- Широта и долгота,
- Дата и время,
- Высота над уровнем моря,
- Направление движения (компас),
- Скорость в километрах,
- Направление,
- Расстояние до дачи,
- Направление к даче,
Чтобы значения не бегали очень быстро, я сделал интервал в 1 секунду. Это обычный delay().
Теперь надо сказать, что такое холодный запуск.
При первом включении датчик должен найти спутники и спозиционировать себя на местности. У этого датчика он довольно медленный. Правда других датчиков у меня не было, может у всех так.
Теперь я прокручу поиск координат, а то это процесс оказался очень долгим.
Вот сколько времени понадобилось чтобы модуль нашёл спутники. Правда он лежит у меня на подоконники и если бы он был на улице, процесс прошёл бы гораздо быстрее. Но что есть то есть.
14 минут.
Вы видите, как несколько скриншотов после того как модуль нашёл спутники. Данные постоянно прыгали, потому, что датчик хоть и видел 4 или 5 спутников, но показания не всегда были лучше.
А вот карта движения. Здесь я линейкой измерил расстояние. Расхождение из-за того что я не точно установил точки начала и конца.
Но эти плавающие данные возможно были из-за того, что модуль находится в помещении, а на улице приём будет лучше. В следующих видео я подключу к нему SD карту и посмотрю как он будет сохранять маршрут.
Так как я только купил этот модуль, то планирую ещё протестировать его.
В следующих видео, я покажу как- подключить к датчику LCD индикатор для вывода значений на экран.
- Подключу датчик к ESP8266 и создам страницу с данными. Выведу на карту свою геопозицию.
- Подключу SD карту для сохранения маршрута, и потом считаю значения и выведу пройденный маршрут на GOOGLE карту.
- Есть ещё несколько интересных задумок, пока не скажу, так что подписывайтесь и не пропустите новые видео.
Теперь коротко про работу скетча.
Для работы понадобится вот такая библиотека и обязательно с плюсами. Это более новая библиотека и она лучше. Пока я тестировал этот датчик, то проверил несколько библиотек, но мне больше всего понравилась именно эта.
Про SoftwareSerial я уже рассказывал. Про пины D10 и D11, вроде тоже говорил.
Главное, не забудьте, что если будете пробовать примеры из этой библиотеки, не забудьте установить скорость 9600, иначе у вас ничего не будет работать.
Сюда нужно вставить координаты места назначения в формате Широта и долгота. Остальное я вроде написал по русски.
В архиве будет лежать ещё один скетч. Он позволяет получать необработанные данные, которые потом можно конвертировать другие форматы или загружать на сайты, которых очень много в интернете и которые из этих данных могут строить маршруты.
Ну, а теперь как и обещал рассказываю с какими проблемами я столкнулся и как удалось их решить.
Пришлось поискать на зарубежных форумах.
1. Библиотека. Есть несколько библиотек. Я их все попробовал, но больше всего мне понравилась TinyGPS++.h . Именно с плюсами. Потому, что есть просто TinyGPS.
2. Второе, это вывод информации, а точнее его отсутствие. При первом подключении даже не мигал светодиод. Потом я прочитал, что светодиод начинает мигать только после того как модуль найдёт спутники. А то я уже думал что у меня не рабочий датчик.
Оказалось, что аккумулятор на плате полностью разряжен, и для работы ему надо подзарядиться. Первые признаки жизни появились примерно минут через 30 — 40.
Сначала появилась дата. А потом, примерно через минут через 15 появились координаты.
Так, что если вы включили и у вас в течении часа ничего нет, ото не переживайте, возможно ещё не всё так плохо.
3. Приём в комнате. Если у вас не находит спутники, то поднесите к окну. У меня в комнате ловит 1 спутник и то не всегда. Около окна 6 спутников.
4. Подключение к UART аппаратная или программная. Проверьте правильность соединения RX-TX, TX-RX. То есть в перехлёст. Если вы используете SoftwareSerial.h то вам доступны почти все цифровые входы. Без библиотеки толь стандартные RX TX, пмны 0 и 1
5. Скорость вывода. Во всех примерах стоит скорость 4800 бод. При такой скорости не работает. Нужно установить 9600 бод.
6. Время в формате UTC. То есть не соответствует вашему региону. В следующих видео, когда буду выводить на экран, будем учиться изменять на свой регион для установки истинного времени.
Вот вроде и всё. Больше проблем не видел. Датчик работает хорошо. Ну если не считать, что координаты он начинает определять минут через 10. Повторюсь, на улице я его пока не тестировал.
Точная навигация с помощью ГНСС-модуля ZED-F9P от u-blox
Любая система глобального позиционирования предназначена для обеспечения измерения расстояния, времени и определения местоположения. Она позволяет в любом месте Земли (исключая приполярные области), а также в космическом пространстве вблизи планеты определить местоположение и скорость объектов. Первая такая система разработана, реализована и эксплуатируется Министерством обороны США.
Для решения задач точной навигации и геопозиционирования компания u-blox выпустила модуль ZED-F9P с многоканальным ГНСС-приемником [1–3]. Модуль поддерживает работу со всеми существующими на данный момент навигационными спутниковыми системами. С каждой системой модуль взаимодействует одновременно на двух рабочих частотах, что способствует повышению точности позиционирования. Модуль обеспечивает многополосный режим приема с быстрым временем сходимости и высокой производительностью. Он имеет высокую частоту обновления для высокодинамичных приложений и точность позиционирования несколько сантиметров в режиме RTK.
Структурная схема модуля приведена на рис. 1.
Рис. 1. Структурная схема модуля ZED-F9P
Сигнал, принимаемый антенной, разделяется диплексором на два канала обработки, в каждом из которых содержится полосовой фильтр (ПФ) на ПАВ, малошумящий усилитель (МШУ) и блок обработки радиосигналов. В блоке обработки радиосигналов осуществляется усиление сигналов и преобразование их в цифровую форму. Выходной сигнал этого блока через цифровой фильтр промежуточной частоты (ЦФ ПЧ) поступает в блок цифровой обработки, в котором осуществляется обработка сигналов ГНСС.
Основное отличие модуля ZED-F9P от модулей NEO-M8 заключается в том, что в новом модуле обеспечивается одновременная работа с системами спутниковой навигации GPS, GLONASS, GALILEO и BEIDOU. В модуле NEO-M8 поддерживается работа со всеми перечисленными системами навигации, но не одновременно.
Многодиапазонный приемник ZED-F9P обеспечивает точность определения координат до нескольких сантиметров. Основные особенности модуля:
- параллельный прием сигналов GPS, GLONASS, GALILEO и BEIDOU;
- многодиапазонный режим RTK с быстрым временем сходимости и высокой производительностью;
- высокая частота обновления;
- точность несколько сантиметров в режиме RTK;
- простая интеграция для быстрого выхода на рынок.
В качестве базы может использоваться:
- пользовательская собственная база с GSM-модемом или УКВ-радиомодемом для передачи поправок;
- принадлежащая третьему лицу, управляющему базой или сетью базовых станций (соединение происходит с помощью NTRIP-протокола) и предоставляющему данные роверу через GSM/GPRS-модем.
В таблице 1 приведены некоторые параметры модулей NEO-M8 [4] и ZED-F9P [1–3], которые позволяют сравнить их между собой.
Напряжение питания модуля 2,7–3,3 В, максимальный ток потребления 130 мА при работе одновременно со всеми навигационными системами.
Высокая точность позиционирования достигнута путем объединения сигналов глобальных навигационных спутниковых систем (ГНСС), таких как GPS, GLONASS, GALILEO и BEIDOU, с использованием технологии кинематики реального времени (RTK).
Как следует из таблицы 1, точность позиционирования модуля ZED-F9P в режиме RTK составляет 10 см, а у модуля NEO-M8 равна 2 м. На рис. 2 приведена зависимость точности определения курса с помощью модуля ZED-F9P от протяженности базовой линии.
Параметр | Значение | ||
Приемник | GPS, GLONASS | GPS+GLONASS+GALILEO+BEIDOU | |
| NEO-M8N | NEO-M8M | ZED-F9P |
Холодный старт, с | 26 | 27 | 24 |
Горячий старт, с | 1,5 | 1,5 | 2 |
Старт с A-ГНСС, с | 2 | 4 | 2 |
Чувствительность | |||
Слежение и навигация, дБм | –167 | –164 | –167 |
Перезахват, дБм | –160 | –159 | –160 |
Горячий старт, дБм | –156 | –156 | –157 |
Холодный старт, дБм | –148 | –148 | –148 |
Точность позиционирования (CEP 50%, 24 часа, статика), м | 2,5 | 1,5 | |
Точность позиционирования в режиме RTK, м | Режим RTK отсутствует | 0,01 | |
Частота метки времени, Гц | 0,25–10 (конфигурируется), 1 по умолчанию | <10 | |
Частота обновления навигационных данных | |||
GLONASS/GPS режим, Гц | 5 | 10 | 5 |
ГЛОНАСС- или GPS-режимы, Гц | 10 | 18 | 10 |
Точность определения скорости, м/с | 0,05 | ||
Точность определения курса, градусов | 0,3 | ||
Эксплуатационные ограничения | |||
Динамическое ускорение, g | <4 | ||
Высота, м | 50 000 | ||
Скорость, м/с | 500 | ||
Интерфейс | USB V2.0 Full Speed 12 Мбит/с | ||
UART | UART1 и UART2 | ||
DDC-порт (для связи с GSM/3G-модулями) | DDC-порт (для связи с GSM/3G-модулями)/Slave I2C | ||
SPI-порт (конфигурируется) |
| ||
Протокол | NMEA 0.183 version 4.0, UBX (binary), RTCM* 2.3 | NMEA 0.183 version 4.10, UBX (binary), RTCM* 3.3 | |
Диапазон рабочих температур, °С | –40…+85
| ||
Корпус | LLC-24 | LGA-54 | |
Габаритные размеры, мм | 16×12,2×2,4 | 22×17×2,4 |
Примечание. *RTCM — открытый формат, доступный для передачи поправок между любыми ГНСС-приемниками.
Рис. 2. Зависимость точности определения курса от протяженности базовой линии
Модуль ZED-F9P автоматически выбирает диапазоны принимаемых частот, чтобы обеспечить наибольшее количество видимых спутников (рис. 3). Чем больше спутников видит модуль, тем выше его производительность и тем меньше время сходимости с более высокой частотой фиксации RTK. Например, при приеме сигналов одновременно всех четырех систем навигации время сходимости не превышает 10 с, а при работе только с сигналами GPS — 30 с.
Рис. 3. Использование сигналов различных навигационных систем модулем ZED-F9P
В таблице 2 приведены значения частот различных систем спутниковой навигации, которые принимает модуль ZED-F9P.
Параметр | GPS | GLONASS | GALILEO | BEIDOU |
Частота навигационных сигналов | L1C/A (1575,42 МГц) | L1OF (1602 МГц +k×562,5 кГц, k = –7,…, 5, 6) | E1-B/C (1575,42 МГц) | B1I (1561,098 МГц) |
L2C (1227,6 МГц) | L2OF (1246 МГц + k×437,5 кГц, k = –7,…, 5, 6) | E5b (1207,14 Гц) | B2I (1207,14 МГц) |
Для уверенного определения координат в точке приема особенно важно максимизировать количество сигналов от различных спутников в городских районах с плотной застройкой. На рис. 4 приведены зависимости глобальной видимости спутников в типичных городских условиях в различные годы.
Рис. 4. Зависимости глобальной видимости спутников в типичных городских условиях в различные годы
Как следует из рис. 3 и 4, платформа u-blox F9 позволяет получить необходимую на данный момент видимость спутников даже в городских условиях.
Модуль обеспечивает простую интеграцию RTK:
- содержит интегрированный RTK;
- не требуется установка стороннего ПО на хост;
- на хосте не требуются наличие вычислительных ресурсов и дополнительной памяти;
- не требуется лицензионный сбор для работы хоста.
Функция «Перемещаемая база» позволяет определять курс и ориентацию движущегося объекта. Установив два приемника на подвижном объекте по оси Х (рис. 5), можно получить данные о направлении движения и крене. При установке трех приемников можно получить полную информацию о курсе, крене и наклоне. Зависимость точности определения курса от протяженности базы приведена на рис. 2.
Рис. 5. Информация об ориентации движущегося объекта при использовании функции «Перемещаемая база»
При перемещении подвижной базовой станции модуль обеспечивает определение точного взаимного положения между ровером и базой. Это позволяет, например, БПЛА взлететь и вернуться на мобильную платформу или использовать функцию «следуй за мной» (рис. 6).
Рис. 6. Использование модуля ZED-F9P для определения взаимного местоположения БПЛА и подвижной базы, установленной на автомобиле
Другим примером определения точного относительного положения может служить контроль дорожного движения (рис. 7) с помощью базовой станции, установленной стационарно, и двух модулей, размещенных на автомобиле.
Рис. 7. Использование модулей ZED-F9P для контроля дорожного движения
Компания u-blox провела серию испытаний модуля ZED-F9P в г. Тампере (Финляндия) и его пригородах [5].
Рис. 8. Результат определения местоположения различными навигационными приемниками
На рис. 8 показан результат определения местоположения на открытой местности (фрагмент фотографии этой местности в пригороде Тампере приведен на рис. 9) при использовании трех различных приемников:
- ZED-F9P;
- NEO-M8P;
- Truth system.
Рис. 9. Фрагмент фотографии местности сверху
Точность определения координат на открытой местности у этих приемников практически одинакова, и различий в положении трасс на карте не видно (рис. 8). Голубым цветом обозначена трасса, полученная с помощью ZED-F9P, а трасса, сформированная двумя другими приемниками, — синим. На рис. 9 видно, что рядом с дорогой есть только ряд деревьев с одной стороны и отсутствует высотная застройка. Испытания проводились с использованием местной базовой станции с относительно короткой базовой линией (<1 км).
При аналогичных испытаниях в г. Тампере в районе с низкоэтажной застройкой при длине базовой линии 20 км получены аналогичные результаты на плоскости. А ошибки определения высоты оказались различными. На рис. 10 приведены зависимости погрешности определения высоты для приемников NEO-M8P (одна полоса приема RTK) и ZED-F9P (несколько полос приема RTK).
Рис. 10. Зависимости погрешностей определения высоты приемниками NEO-M8P и ZED-F9P
Как следует из рис. 10, погрешность определения высоты однополосным приемником NEO-M8P может достигать 9 м, в то время как у многополосного приемника ZED-F9P она не превышает 1 м. Мы видим, что снижения точности для ZED-F9P из-за блокировки сигналов спутников малы и относительно недолговечны. Когда ZED-F9P переходит в холостой режим (отсутствуют либо значительно ослаблены сигналы спутников), он быстро возвращается к максимальной точности определения высоты. Таким образом, многодиапазонный RTK превосходит однополосный RTK в сложных условиях приема как по точности определения высоты, так и по скорости сходимости результатов.
Доступность спутников и высокая точность позиционирования жизненно важны для многих приложений, чтобы обеспечить непрерывную работу и хорошую производительность системы позиционирования. Модуль ZED-F9P предусматривает высокую доступность, малое время сходимости (менее 10 с) и быструю повторную сходимость.
В [5] приведены результаты испытаний точности позиционирования в динамическом режиме при размещении двух одинаковых приемников на борту автомобиля. Один из приемников являлся базой, а второй — ровером. Оба приемника были подключены к патч-антеннам ANN-MB, базовая длина могла изменяться в пределах 0–1 м. Испытания проводились в пригородах Тампере.
В первом тесте две антенны были разнесены на расстояние 1 м. Оба приемника работали в режиме GPS + GLONASS. Хотя ZED-F9P может одновременно поддерживать работу со всеми системами глобального позиционирования, эти две системы были выбраны для корректного сравнения параметров модулей ZED-F9P и NEO-M8P.
Базовая станция ZED-F9P работала в режиме RTK с использованием внешних поправок RTCM. Это обеспечило точность определения координат ровером 10 см, в то время как при использовании модуля NEO-M8P точность определения составила 2,47 м.
Точность определялась путем сравнения с результатами опорной системы позиционирования с пост-обработкой Applanix, использующей приемник GNSS и датчики IMU (Inertial Measurement Unit — инерционное измерительное устройство). Для приема была применена геодезическая антенна Trimble LV59.
Потребность в масштабируемой высокоточной технологии быстро растет, о чем свидетельствует, например, автомобилестроение, в котором все шире используются технологии следующего поколения HUD (Head-Up Display — приборная панель на ветровом стекле) и V2X (V2C, V2D, V2G, V2P, V2V и V2I, DSRC, Cellular и др.). Еще большая потребность в данной технологии существует в робототехнике для таких приложений, как БПЛА, беспилотный транспорт, газонокосилки-роботы, и для многих других. Однако из-за сложности реализации, производительности и ограничений по стоимости существующие высокоточные решения не могут удовлетворить требованиям этих рынков.
Применение модулей u-blox ZED-F9 позволяет реализовывать эти задачи. Модули могут использоваться в коммерческих БПЛА, робототехнике, беспилотной навигации автомобилей и тяжелых машин (сельскохозяйственные машины для точного земледелия, карьерные самосвалы и др.), промышленной навигации и отслеживании транспортных средств, для точного определения курса (спутниковые антенны, стрелы подъемных кранов и др.).
Например, комплексные технологии производства сельскохозяйственной продукции, получившие название «точное земледелие» (Precision Farming), которые стали активно развиваться за рубежом еще в конце 1990-х годов, признаны мировой сельскохозяйственной наукой как весьма эффективные передовые технологии, переводящие агробизнес на более высокий качественный уровень. Эти технологии являются инструментом, обеспечивающим решение трех основных задач, обусловливающих успех в условиях современного рынка, — наличие своевременной объективной информации, способность принять правильные управляющие решения и возможность реализовать эти решения на практике.
Использовать космические навигационные системы можно после установки на сельскохозяйственную технику приемника, постоянно получающего сигналы о местоположении навигационных спутников и расстояниях до них. На базе GPS-приемников разработаны системы параллельного вождения и автопилоты для управления движением тракторов и комбайнов.
При параллельном вождении прибор рассчитывает каждый следующий проход по полю так, чтобы он был параллелен предыдущему. С помощью такого вождения можно делать параллельные прямые и кривые, а также круговые и спиральные ряды. Если на поле есть препятствие (например, островок с деревьями), то прибор приостановит параллельное вождение и объедет его, а затем продолжит делать ряд. Можно усложнить задачу, задав зону разворота по краям полей. Тогда прибор рассчитает поворот и будет ориентировать, когда и как поворачивать. При установке такой системы на трактор механизатор наблюдает за показаниями прибора внутри кабины и следит только за тем, чтобы на поле не встречались камни и другие крупные препятствия.
Основная сложность во внедрении системы навигации состоит в потребности обучения механизаторов. С другой стороны, система параллельного вождения — удобная вещь. Если система параллельного вождения предполагает активное участие механизатора в управлении машиной, то автопилот позволяет автоматизировать процесс управления. Автопилоты бывают двух уровней: полностью автоматическая система, когда вмешательство механизатора не требуется, и система вспомогательного управления (подруливающее устройство). При работе с подруливающим устройством механизатору нужно следить за препятствиями на пути и брать управление на себя в конце ряда, когда нужно развернуться.
Такая система управления позволяет сохранять в памяти координаты рядов и при необходимости повторить проход по ним, что особенно актуально при повторных обработках посевов и внесении удобрений после их всходов. Для подобных задач приемники с точностью позиционирования 1–2 м применять нельзя. Требуется точность позиционирования порядка нескольких сантиметров. А именно такой точностью и обладают модули ZED-F9P.
При решении геодезических задач модули серии ZED-F9 позволяют значительно снизить стоимость оборудования, необходимого для геодезической съемки. Стоимость предлагаемого на рынке оборудования для этих целей может составлять от нескольких тысяч до нескольких десятков тысяч долларов. Применение модулей ZED-F9P позволяет снизить его стоимость до нескольких сотен долларов.
Кроме модуля ZED-F9P, компания u-blox выпускает еще несколько модулей серии F9 [6]:
- ZED-F9H — многочастотный модуль для угловых измерений [6]. Работает только в паре с ZED-F9P. Формирует данные о направлении движения (т. е. курс) с точностью до 0,3°.
- ZED-F9R — многочастотный модуль с функцией счисления пути (Dead Reckoning).
- ZED-F9K — аналогичен по параметрам модулю ZED-F9R, но предназначен для реализации очень больших проектов (от 50 тыс. шт.).
Для отладки приложений с использованием модуля ZED-F9P компания u-blox выпускает отладочную плату C099-F9P (рис. 11), которая содержит сам модуль ZED-F9P, интерфейс для подключения МК Arduino и модуль беспроводной связи ODIN-W2 [7].
Рис. 11. Внешний вид отладочной платы C099-F9P
Структура отладочной платы C099-F9P приведена на рис. 12. Автономный модуль ODIN-W2, расположенный на отладочной плате, поддерживает несколько стандартов беспроводной связи. Он разработан специально как шлюз для приложений Internet-of-Things [8]. Модуль включает встроенный стек Bluetooth, стек и драйверы Wi-Fi, IP-стек и приложение для беспроводной передачи данных с управлением процессом передачи с помощью АТ-команд. Приемопередатчик модуля обеспечивает передачу и прием сигналов Bluetooth v4.0 (BR/EDR + Low Energy) и Wi-Fi в двух диапазонах — 2,4 и 5 ГГц. Модуль поддерживает топологию сетей «точка-точка» и «точка-многоточка» с возможностью параллельной работы соединений Bluetooth и Wi-Fi. Оригинальные режимы Wireless Multidrop и Extended Data Mode позволяют управлять множеством параллельных беспроводных соединений. Встроенный протокол Point-to-Point (PPP) помогает хост-контроллеру через интерфейс UART управлять беспроводными IP-подключениями. Дополнительные интерфейсы, такие как SPI, I2C, CAN и ADC, могут быть использованы с помощью специальных программных библиотек Arm Mbed development tool. Модули ODIN-W2 предназначены для профессионального использования и рассчитаны на эксплуатацию в промышленном температурном диапазоне. Для модулей имеется обширный набор радиочастотных сертификатов, подтверждающих возможность их легальной эксплуатации на территории любых регионов по всему миру.
Рис. 12. Структура отладочной платы C099-F9P
Отладочная плата предназначена для оценки параметров модулей ZED-F9P в наиболее общих случаях применения. Набор функций отладочной платы предусматривает использование двух плат C099-F9P, работающих как Rover и Base. Платы поддерживают связь между собой с помощью Wi-Fi. Связь со смартфонами поддерживается с использованием беспроводного интерфейса Bluetooth. Для связи с ПК предусмотрен интерфейс USB.
Бесплатное программное обеспечение U-Center [9] для оценки параметров приемников u-blox ГНСС позволяет зарегистрировать данные и визуализировать их в режиме реального времени (рис. 13).
Рис. 13. Окно программы U-Center
Программное обеспечение U-Center поддерживает все приемники u-blox и позволяет проводить сравнительный анализ производительности приемников GNSS, которые выводят сообщения NMEA.
ПО U-Center дает возможность визуализировать структурированные и графические данные в реальном времени:
- спутниковый обзор;
- обзор навигации;
- компас, спидометр, часы, высотомер;
- график просмотра любых двух параметров по выбору;
- функция записи и воспроизведения данных.
Прикладное программное обеспечение для ПК обеспечивает функцию обновления прошивки для приемников u-blox, протокол RTCM и поддержку NTRIP, представление карт, поддержку сервера Google Earth, карту отклонений, текстовые консоли, статистику и многое другое.
U-Center предоставляет удобные средства для настройки GNSS приемников, возможность сохранить индивидуальные настройки конфигурации во флэш-памяти GNSS-приемника, восстановление заводских настроек при необходимости. Более подробно о ПО U-Center можно узнать в [9].
В заключение следует отметить, что встраиваемые модули серии F9 компании u-blox позволяют:
- обеспечить в режиме RTK точность позиционирования в несколько сантиметров при использовании одной из систем ГНСС GPS, GLONASS, GALILEO, BEIDOU или их комбинации;
- реализовать многополосный режим RTK;
- обеспечить высокую производительность и быструю сходимость результатов RTK;
- создавать недорогие и эффективные системы управления беспилотными летательными аппаратами и транспортными средствами, роботами, сельскохозяйственными машинами и другими устройствами;
- программировать модули с помощью многофункционального бесплатного программного обеспечения.
Более подробную информацию о модулях ZED-F9P можно получить в компании «МикроЭМ» [10] — официальном дистрибьюторе компании u-blox.
Cписок сравнения: Каталог
Наладка лампового усилителяС самого детства у меня произошло знакомство с разного рода винтажной техникой, построенной на старых добрых радиолампах. Спустя годы это вылилось в отдельную ветку моих увлечений, и я занялся сборкой лампового усилителя. Вдоволь наигравшись с →FPV OSD + GPS без використання польотного контролераПісля конструювання свого першого радіокерованого літаючого крила появилося бажання встановити систему FPV. З камерою літати стало цікавіше, але бракувало навігаційної інформації, хотілось дізнатися на якій висоті та з якою швидкістю прямує крило. Виникла →Индикаторы на китайских светодиодахВ статье проанализирована возможность проектирования и изготовления в домашних условиях больших цифровых индикаторов любой сложности и размера на базе дешёвых (100 штук за 30 грн) сверхъярких китайских светодиодов. В частности, рассмотрен вопрос →Дистанционное включение компьютера без проводовДовольно часто мне приходится отлучатся от компьютера, более того планируется переезд, а домашний компьютер оставлю родителям. В то же время на жестком диске останется много файлов и программ, которые могут понадобится мне в любой момент. Задача →Міряємо кут нахилу за допомогою акселерометруВ попередніх частинах нашої розповіді про аналоговий акселерометр ADXL335 ми навчилися позбавлятися шумів на його виходах — фільтрувати сигнал, а також шукати початок відліку сигналу — визначати нульові → |
Найдено 10 товар(ов) Сортировать: Наименование от А до ЯНаименование от Я до Аот дешевых к дорогимот дорогих к дешевымРейтинг — возрастаниеРейтинг — убывание
|
NEO-8M, Модуль GPS
Характеристики:
Питание:
-напряжение, В
номинальное 4,2В
диапазон 3–5В
Скорость UART 9600–115200 бод
Горячий старт: 1,5с
Холодный старт: 27с
Точность 2.0 м (CEP 50%, 24 часа, статика)
Частота обновления навигационных данных:
а) ГЛОНАСС/GPS режим :10 Гц
б) ГЛОНАС или GPS режимы: 18 Гц
Имеет USB интерфейс.
Температура, ℃ –40…+85 °С
Размеры 25,1 х 39,1 мм
Подключаем модуль NEO-M8N к Arduino Uno или Nano:
С использованием библиотеки SoftwareSerial.h
GND — GND
TX — 2
RX – 3
VCC – 5В
PPS – Цифровой пин
Подключаем модуль NEO-M8N к Arduino Mega 2560:
NEO-M8N — Arduino Mega
С использованием библиотеки SoftwareSerial.h
GND — GND
TX — 10
RX – 11
VCC – 5В
PPS – Цифровой пин
Библиотеку для NEO-M8N SoftwareSerial.h можно установить из панели Arduino IDE (версия 1.6.5 и выше) на вкладке Эскиз / Include Library / Manage Libraries
Без использования библиотеки SoftwareSerial.h
GND — GND
TX – RX1(18)
RX – TX1(19)
VCC – 5В
PPS – Цифровой пин
Подключение аналогичное модулю NEO – 6MV2
Прошивка подключения
Ublox M8N, настройка и проверка функционирования
Полезные ссылки:
Datasheet
https://www.u-blox.com/en/docs/UBX-15031086
Программа для проверки работоспособности:
https://www.u-blox.com/en/product/u-center
Библиотека TinyGPS++
https://github.com/mikalhart/TinyGPSPlus/archive/v1.0.2b.zip
Ссылка на прошивку и статью NEO-6MV2
http://blog.naver.com/PostView.nhn?blogId=hjwoo1130&logNo=220824793040
Модули GPSArduino — какой из них использовать? Сравнение и Arduino Tutorial
Введение в GPS и модули GPSВы, вероятно, знакомы с GPS как с системой, которая дает вам информацию о направлении через ваш телефон, машину или в предпочитаемом вами приложении для карт. Однако задумывались ли вы, что в него входит и как эти модули дают вам точное положение в любое время и в любом месте?
Когда были запущены спутники GPS?
GPS восходит к концу 70-х годов.
Как работают модули GPS?
Спутниковые технологии.
МодулиGPS содержат крошечные процессоры и антенны, которые напрямую получают данные, отправленные со спутников, через выделенные радиочастотные частоты. Оттуда он будет получать отметки времени от каждого видимого спутника вместе с другими данными. Если антенна модуля может обнаружить 4 или более спутников, она может точно рассчитать свое положение и время.
Модули Arduino GPS?
Сегодня я представлю и сравню три модуля GPS; NEO-6M, Grove — GPS-модуль и Grove — GPS (Air530).Эти модули GPS совместимы с Arduino и Raspberry Pi, что упрощает вам тестирование.
Сегодняшний гид будет охватывать:
- На что следует обратить внимание перед покупкой модуля GPS
- Особенности: NEO-6M, Grove — GPS-модуль и Grove — GPS (Air530)
- Ublox NEO-6M GPS-модуль против Grove — GPS-модуль против Grove — GPS (Air530)
- Проекты Arduino GPS
На что следует обратить внимание перед покупкой модуля GPS
На что следует обратить внимание | Обоснование |
---|---|
Размер | Размер имеет значение, поскольку он может повлиять на такие вещи, как время блокировки и точность, если антенна не подходит Если ваш проект требует, чтобы она была карманного размера, размер также имеет значение |
Частота обновления | Частота обновления относится к тому, как часто модуль GPS пересчитывает и сообщает свое положение. 1 Гц достаточно, и норма для большинства модулей GPS |
Скорость передачи | Относится к тому, насколько быстро данные передаются по последовательной линии Более высокая скорость передачи позволяет быстрее отправлять данные GPS |
Чувствительность навигации | Цифра дБм показывает, насколько модуль GPS способен захватывать частоту. Более высокий дБм указывает на то, что модуль может делать ставки. r прием сигналов саталита |
Требования к питанию | Модули GPS могут потреблять значительное количество энергии Среднее значение составляет 30 мА при 3.3V |
Количество каналов | Количество каналов, которые запускает модуль, повлияет на время первого исправления Больше частот, которые вы можете проверить сразу, чтобы сократить время исправления 12-14 каналов работают нормально для отслеживание, если вы не против подождать немного дольше |
Антенны | Каждая антенна предназначена для приема сигнала GPS L1 с частотой 1,5752 ГГц Положение и конструкция антенны имеют решающее значение для оптимальной работы GPS |
Точность | Меньшее расстояние, на которое оно может снизиться = Более высокая точность Обычно вы можете определить ваше местоположение в течение 30 секунд, вплоть до +/- 10 м Большинство модулей могут снизить его до +/- 3 м |
Итак, теперь, когда мы знаем, что мы ищем в модуле GPS, давайте взглянем на несколько модулей GPS, представленных сейчас на рынке:
GPS-модули Arduino
Ublox GPS: модуль GPS NEO-6MСчитающийся одним из наиболее популярных модулей GPS на рынке, модуль NEO-6M представляет собой семейство автономных приемников GPS из серии модулей NEO-6.
На основании списка соображений:
Размер: 23 мм x 30 мм
Частота обновления: 1 Гц, 5 Гц максимум
Требования к питанию:
- Напряжение источника питания: 3 В — 5 В
Скорость передачи: 9600
Чувствительность: -161 дБм
Количество каналов : 50
Время до первого запуска:
- Холодный старт: 27 с
- Теплый старт: 27 с
- Горячий старт: 1 с
- Вспомогательные пуски: <3 с
Антенны: Включает внешнюю патч-антенну
Точность:
- 2.Точность горизонтального положения GPS на 5 м
Области применения продукта:
- Мобильные устройства с батарейным питанием
- GPS-трекер
- GPS-навигатор
The Grove — GPS-модуль — это версия Seeed-приемника GPS, который является экономичным и программируемым в полевых условиях. Он оснащен SIM28 и конфигурацией последовательной связи.
Размер: 40 мм x 20 мм x 13 мм
Частота обновления: 1 Гц, макс.10 Гц
Требования к питанию: 3.3 / 5В
Скорость передачи: 9600 — 115 200
Чувствительность: -160 дБм
Количество каналов: 22 отслеживания // 66 каналов сбора данных
Время до первого запуска:
- Холодный запуск с EASY: 13 с
- Теплый запуск с EASY: 1-2 с
- Горячий запуск: <1 с
* Easy — это самовоспроизводящаяся защита орбиты
Антенны: Антенна в комплекте
Точность: 2.Точность горизонтального положения GPS на 5 м
Приложения продукта:
- GPS-трекер
- GPS-навигация
- Измерение расстояния
Другие характеристики продукта:
- Низкое энергопотребление
- Настраиваемая скорость передачи
- Интерфейс, совместимый с Grove
Далее у нас есть Grove — GPS (Air530). Это высокопроизводительный многорежимный модуль спутникового позиционирования и навигации с высокой степенью интеграции.Он поддерживает GPS / Beidou / Glonass / Galileo / QZSS / SBAS, что делает его подходящим для приложений позиционирования GNSS, таких как автомобильная навигация, умная одежда и дрон.
Если ваш GPS плохо работает в городских условиях или на открытом воздухе при наличии только одного или нескольких спутниковых модулей, вам обязательно стоит проверить этот модуль GPS. Между тем, этот модуль способен принимать более 6 спутников одновременно и отлично работать даже при очень плохом сигнале.
Этот GPS использует интегрированную конструкцию RF baseband, которая объединяет DC / DC, LDO, LNA, RF front-end, обработку основной полосы, 32-битный чип на основе RISC, RAM, FLASH-память, RTC и функции управления питанием.
Размер: 40 мм x 20 мм x 13 мм
Частота обновления:
Требования к питанию: 3,3 / 5 В
Скорость передачи: —
Чувствительность: —
Количество каналов:
Время до первого запуска:
- Холодный старт: 30 секунд
- Теплый старт: 4 секунды
Антенны: Антенна в комплекте
Точность: 2.5 м Точность горизонтального позиционирования
Приложения продукта:
- GPS-трекер
- GPS-навигация
- Измерение расстояния
Другие характеристики продукта:
- Высокоинтегрированный многомодовый спутниковый позиционер и навигация
- Интерфейс, совместимый с Grove
GPS-модуль Ublox NEO-6M против Grove — GPS-модуль против Grove — GPS (Air530)
При сравнении рядом:
На что следует обратить внимание | NEO-6M | Grove — модуль GPS | Grove — GPS (Air530) | |
---|---|---|---|---|
Размер | 23 мм x 30 мм | 40 мм x 20 мм x 13 мм | 40 мм x 20 мм x 13 мм | |
Частота обновления | 1 Гц, макс. 5 Гц | 1 Гц, макс. 10 Гц | — | |
Скорость передачи | По умолчанию 9600, макс. | -161 дБм | -160 дБм | — |
Требования к питанию | 3 В — 5 В | 3.3 / 5В | 3,3 / 5В | |
Количество каналов | 22 слежения, 50 каналов | 22 слежения, 66 каналов | — | |
Время до первого запуска | Холодный старт: 27 с Теплый старт: 27 с Горячий старт: 1 с | Холодный старт: 13 с Теплый старт: 1-2 с Горячий старт: <1 с | Холодный старт: 30 секунд Теплый старт: 4 секунды | |
Антенны | Внешняя патч-антенна | Антенна в комплекте | Антенна в комплекте | |
Точность | 2.Точность горизонтального позиционирования GPS на 5 м | Точность горизонтального положения GPS на 2,5 м | Точность горизонтального позиционирования 2,5 м |
Лучшее энергопотребление:
Grove — GPS (Air530) имеет сверхнизкое энергопотребление — всего 31 мкА, режим низкого энергопотребления — 0,85 мА, что делает Air530 лучшим GPS с меньшим энергопотреблением.
Масштабируемость:
Благодаря более высокой максимальной частоте обновления, модуль Grove GPS может использоваться для проектов, в которых задействованы объекты, перемещающиеся с большей скоростью.Кроме того, открываются дополнительные каналы и для других приложений.
Grove-GPS (Air 530) имеет многорежимное спутниковое позиционирование и навигацию и поддерживает более 6 спутников одновременно.
Точность :
Обладая точностью горизонтального позиционирования 2,5 м, высокой точностью позиционирования 3,5 м, точностью скорости 0,1 м / с и точностью передачи времени 30 нс, Grove -GPS (Air530) может быстро и точно позиционировать даже под состояние плохого сигнала.
Сопряжение ваших модулей GPS с: Seeeduino, Собственная плата Arduino Seeed:
Seeduino V4.2 — это Seeed-версия Arduino, которую можно использовать для сопряжения с вашими модулями GPS.
Базовый экран предназначен для облегчения подключения модуля Grove GPS.
Конфигурация оборудования :
- Подключите Grove-GPS к порту D2 Grove Base Shield
- Подключите Grove — Base Shield к Seeeduino
- Подключите Seeeduino к ПК через USB-кабель
Для программного обеспечения и других конфигураций вы можете перейти здесь
Raspberry Pi
Если у вас еще нет raspberry pi, вы можете подумать о приобретении недорогого RPI Zero вместе с Grove Base Hat для сопряжения с модулем Grove GPS.
Если у вас уже есть Raspberry Pi 2 / 3B / 3B + / 4 / Zero, вы можете просто соединить его с Grove Base Hat.
Здесь можно найти конфигурацию аппаратного и программного обеспечения
Проекты Arduino GPS
Теперь, когда вы только что выбрали свой модуль GPS, вот несколько проектов, которые вы можете выполнить с помощью модуля Arduino и GPS.
Система слежения за транспортными средствами
С помощью модуля GPS вместе с Arduino вы можете легко установить систему слежения за транспортными средствами в своем автомобиле.В случае угона вашей машины или если вы забыли, где ее припарковали, вы можете легко отслеживать свою машину с помощью мобильного телефона с помощью этого проекта.
Что вам нужно?
Заинтересованы? Вы можете ознакомиться с полным руководством Muchika на Arduino Project Hub.
Светодиодный велосипедный спидометр
Ссылка: JeremyCook
Хотите узнать, насколько быстро вы едете? С помощью этого самодельного велосипедного спидометра, использующего технологию GPS для определения скорости, вы можете определить, насколько быстро вы едете! Он также оснащен светодиодным индикатором RGB, который указывает гонщику скорость.
Что вам нужно?
Заинтересованы? Вы можете ознакомиться с полным руководством Джереми С. Кука на Arduino Project Hub.
Персональный помощник по GPS
Ссылка: Мохамед Фадига
Этот проект представляет собой устройство, которое позволяет вам контролировать людей и предметы и постоянно сообщать вам их местонахождение и значения датчиков, прикрепленных к нему.
Одна из функций позволяет вам устанавливать предельные значения для датчиков, и когда они превышаются, вам отправляется SMS-уведомление.Вы также можете установить ограничения из некоторых мест, где вам будут выдаваться предупреждения, когда устройство покидает зону.
Также можно связаться с устройством с помощью SMS, чтобы получить информацию о нем.
Что вам нужно?
Заинтересованы? Вы можете ознакомиться с полным руководством Мохамеда Фадиги на Arduino Project Hub.
Следите за нами и ставьте лайки:
Теги: модули arduino gps, GPS, руководство модуля gps, модули gps, GROVE, Grove Base Hat, щит базы Grove, модуль gps Grove, руководство Grove, neo-6, seeeduino, seeeduino v4.2, ублокс, ублокс нео-6мПродолжить чтение
Учебное пособие поArduino GPS: Как использовать модуль GPS с Arduino | Arrow.com
До появления спутников связи люди перемещались, используя звезды, карты и даже наземные средства навигации LORAN (не путать с LoRaWAN ). Когда Sputnik начал путешествовать по земному шару и излучать радиосигналы, инженеры поняли, что они могут использовать несколько спутниковых сигналов для триангуляции положения человека на Земле.На основе этого осознания и после огромного объема работы Соединенные Штаты разработали систему спутникового позиционирования, которую мы теперь знаем как глобальную систему позиционирования или GPS.
Эта система, наряду с ее более поздними международными аналогами, превратилась из экзотической в повсеместную и недорогую технологию, доступную в обычном сотовом телефоне. Для тех, кто хочет использовать эту технологию в своих проектах, модули GPS доступны сами по себе, без экрана или программного обеспечения для картографии.
Вы можете настроить модуль GPS для передачи данных о местоположении и времени на плату Arduino через последовательное соединение, и эти устройства легко настроить. Доступно несколько библиотек, которые помогут вам превратить эти необработанные данные в полезную информацию, и в этой статье будут описаны несколько экспериментов, которые помогут вам начать работу с этой технологией.
Материалы проекта Arduino Uno GPS:— Плата Arduino (мы использовали Uno )
— GPS модуль и антенна u-blox NEO-6
— последовательный кабель USB-TTL
— WS2812B Светодиод «NeoPixel» RGB и перемычки
— Программное обеспечение, как указано в этой статье
Начало работы: как проверить, работает ли модуль GPSПодпись: Программное обеспечение U-blox.Обратите внимание на зеленый значок подключения в верхнем левом углу экрана
Мы сосредоточились на использовании модуля GPS с Arduino, но вам следует начать с проверки правильности работы GPS.
1. Подключите антенну к GPS-прибору.
2. Припаяйте контакты заголовка к модулю GPS по мере необходимости.
3. Подключите кабель USB-TTL к компьютеру.
4. Подключите питание и заземление кабеля к источнику питания и заземлению USB-модуля.
5.Подключите кабель TTL Rx к GPS Tx, а TTL Tx к GPS Rx.
Чтобы убедиться, что вы получаете какой-то сигнал, откройте com-порт с помощью Arduino IDE (установите его, если у вас его нет) и установите для него скорость передачи данных GPS (мы использовали 9600). Вы, вероятно, не поймете вывод данных, но если GPS принимает или выдает последовательный сигнал, вы увидите своего рода индикацию «доказательства жизни». Чтобы дополнительно проверить работоспособность вашего GPS, выполните следующие действия:
1. Загрузите программу u-blox .
2. Подключитесь через TTL и выберите соответствующий com-порт, как в Arduino IDE.
3. Подключитесь с помощью значка штекера в верхнем левом углу интерфейса.
Теперь вы можете четко просматривать данные о местоположении, информацию о спутниках и приблизительную позицию на карте.
Если вы хотите проверить точность, введите данные в строку поиска Google Maps в числовом формате: широта, долгота. Вы получите показания в нескольких футах от вашего текущего местоположения, возможно, даже в помещении.
GPS-модуль для подключения к Arduino
Затем выполните следующие действия, чтобы подключить модуль GPS к плате Arduino:
1. Загрузите библиотеку TinyGPSPlus с GitHub, затем добавьте ее в виде библиотеки .zip в свою среду разработки Arduino.
2. Откройте «DeviceExample» под примерами и измените скорость GPSBaud на подходящую для вашего устройства (протестированное устройство — 9600).
3. Отправьте этот код на плату Arduino.
4. Подключите контакт VCC GPS к контакту GPS + 5V от Arduino, а GND к GND.
5. Подключите Rx к контакту 3 Arduino, а Tx — к контакту 4 Arduino.
6. Откройте последовательный порт на скорости 115200 бод, и вы должны увидеть координаты широты и долготы, а затем дату и всемирное координированное время (UTC), которое вам нужно будет скорректировать в соответствии с вашим местоположением.
7. Чтобы подтвердить настройку, подтвердите свое местоположение с помощью карт Google.
Использование Arduino GPS в качестве спидометра
Подпись: Arduino GPS остановился на столе.
С платой Arduino вы можете использовать свой GPS-модуль для выхода за рамки считывания координат; вы даже можете настроить свое устройство на реагирование на его условия. Библиотека TinyGPS делает доступными различных значений времени и положения .
Для этого эксперимента мы будем использовать его способность выводить скорость в километрах в час, чтобы изменить цвет светодиода WS2812D RGB в зависимости от скорости его движения.
— Красный будет обозначать остановку движения (значение скорости 0)
— желтый указывает на скорость до 5 километров в час.
— Зеленый предназначен для любой скорости, превышающей 5 километров в час.
Вы можете изменять или расширять эти значения по мере необходимости, но, как написано, они соответствуют значениям, которые вы можете легко достичь пешком. Выполните следующие действия, чтобы настроить демонстрацию скоростного фонаря:
1. Установите библиотеку Adafruit NeoPixel .
2. Загрузите и установите Speed-RGB.ino из этого каталога.
3. Подключите цифровой вход одиночного светильника RGB к контакту 5 Arduino, земля к земле, а контакт + 5V к + 5V на плате Arduino.Если это мешает подаче 5 В на ваш модуль GPS, вы можете вместо этого подключить его к источнику 3,3 В на Arduino.
Подпись: Остановка, медленная ходьба, более быстрая ходьба / бег. Обратите внимание на размытость, которая увеличивается со скоростью
Установите эскиз на плату Arduino, затем переместите его, чтобы увидеть, получаете ли вы слабую обратную связь. Код также включает последовательные выходы, поэтому, если он не работает должным образом, вы можете открыть монитор последовательного порта, чтобы помочь определить проблему.Если вы не хотите возиться с RGB-светодиодом, одна альтернативная программа называется «GPS-Builtin-Blink.ino», и она доступна в том же репозитории, что и процедура RGB. Он использует светодиод, встроенный в большинство плат Arduino, но он показывает, только если вы остановились или двигаетесь.
Несмотря на то, что первый шаг — это увлекательный шаг, демонстрация скоростного фонаря дает только представление о том, что могут делать платы Arduino в сочетании с модулем GPS. Примечательно, что хотя TinyGPSPlus кажется очень функциональной библиотекой, у вас есть множество других доступных программных опций, а также различное оборудование в соответствии с вашими потребностями.
Портативный GPS-трекер с Arduino — Maker Portal
###################################################################### ############ # # Отображение данных GPS, полученных Arduino # - использование картографии для визуализации точек широты и долготы # # от Джошуа Хриско | Maker Portal LLC (c) 2021 г. # ########################################################################## # # импорт csv импортировать numpy как np импортировать cartopy.crs как ccrs % matplotlib импортировать matplotlib.pyplot как plt импортировать cartopy.io.img_tiles как cimgt с cartopy.mpl.импорт тикера LongitudeFormatter, LatitudeFormatter import io, time из urllib.request import urlopen, Request из PIL импорта изображения plt.ion () def image_spoof (self, tile): # эта функция притворяется не скриптом Python url = self._image_url (tile) # получаем url API карты улиц req = Request (url) # начать запрос req.add_header ('User-agent', 'Anaconda 3') # добавить пользовательский агент в запрос fh = urlopen (req) im_data = io.BytesIO (fh.read ()) # получить изображение fh.close () # закрыть url img = Изображение.open (im_data) # открыть изображение с помощью PIL img = img.convert (self.desired_tile_form) # установить формат изображения return img, self.tileextent (tile), 'lower' # переформатировать для картографии ############################### # парсим координаты GPS ############################### # arduino_data = [] с open ('GPSLOG.CSV', 'r') как dat_file: reader = csv.reader (файл_данных) для строки в читателе: arduino_data.append (строка) header = arduino_data [0] # текст заголовка date, time_vec, lats, lons = [], [], [], [] для строки в arduino_data [1:]: Дата.добавить (строка [0]) time_vec.append (строка [1]) lats.append (float (строка [2])) lons.append (float (строка [3])) ############################################################# # Форматирование графика картографии ############################################################# # cimgt.GoogleTiles.get_image = image_spoof # переформатировать веб-запрос для подделки карты улиц osm_img = cimgt.GoogleTiles () # поддельная, загруженная карта улиц fig = plt.figure (figsize = (14,12), facecolor = '# FCFCFC') # открыть рисунок в matplotlib ax1 = plt.axes (projection = osm_img.crs) # проект с использованием системы координат (CRS) карты улиц ax1.set_title ('Карта GPS-трекера Arduino', fontsize = 16) lat_zoom = 0.001 # уменьшение масштаба за пределы латов lon_zoom = 0.005 # уменьшение масштаба за пределы долготы extension = [np.min (lons) -lon_zoom, np.max (lons) + lon_zoom, np.min (lats) -lat_zoom, np.max (lats) + lat_zoom] # границы просмотра карты ax1.set_extent (extension) # установить экстенты ax1.set_xticks (np.linspace (extension [0], extract [1], 7), crs = ccrs.PlateCarree ()) # установить индикаторы долготы ax1.set_yticks (np.linspace (extension [2], extract [3], 7) [1:], crs = ccrs.PlateCarree ()) # установить индикаторы широты lon_formatter = LongitudeFormatter (number_format = '0.1f ', degree_symbol =' ', dateline_direction_label = True) # форматирование lons lat_formatter = LatitudeFormatter (number_format = '0.1f', degree_symbol = '') # формат латы ax1.xaxis.set_major_formatter (lon_formatter) # установить lons ax1.yaxis.set_major_formatter (lat_formatter) # установить лат ax1.xaxis.set_tick_params (размер метки = 14) ax1.yaxis.set_tick_params (labelize = 14) scale = np.ceil (-np.sqrt (2) * np.log (np.divide ((extension [1] -extent [0]) / 2.0,350.0))) # эмпирическое решение для масштабирования на основе увеличения scale = (scale <20) и scale или шкала 19 # не может быть больше 19 ax1.add_image (osm_img, int (scale + 1)) # добавить OSM со спецификацией масштабирования ############################################################# # Постройте точки GPS ############################################################# # для ii в диапазоне (0, len (lons), 10): ax1.plot (lons [ii], lats [ii], markersize = 10, marker = 'o', linestyle = '', color = '# b30909', transform = ccrs.PlateCarree (), label = 'GPS Point') # точки графика transform = ccrs.PlateCarree () ._ as_mpl_transform (ax1) # установить преобразование для аннотаций plt.pause (0.001) # пауза между точечными графиками
Границы | Синхронизация времени для беспроводных датчиков с использованием недорогого модуля GPS и Arduino
1.Введение
Беспроводные датчики крайне необходимы для полевых измерений в гражданской инфраструктуре, чтобы избежать дорогостоящей, трудоемкой и трудоемкой установки проводных датчиков. Можно найти обширный обзор истории развития беспроводных датчиков (Lynch and Loh, 2006). Хотя беспроводные датчики имеют свои преимущества, они создают техническую проблему при переходе от проводного к беспроводному, то есть синхронизацию времени между датчиками. Синхронизация времени для беспроводных датчиков важна, особенно при использовании датчиков с высокой частотой дискретизации, таких как датчики ускорения или датчики динамической деформации, для правильного получения форм колебаний или форм колебаний (Krishnamurthy et al., 2008; Abdaoui et al., 2017).
Возможные методы временной синхронизации, о которых известно, что доступны (не ограничиваясь ими): (1) методы на основе пакетов временной синхронизации, (2) метод на основе радиовещания наземного времени и (3) метод на основе модулей GPS.
Первый подход был одной из важных тем в исследовательском сообществе информатики (Sundararaman et al., 2005; Sadler and Swami, 2006; Lasassmeh and Conrad, 2010). Известными алгоритмами синхронизации времени являются эталонная синхронизация широковещательной передачи (RBS) (Elson et al., 2002; Sim et al., 2010), протокол синхронизации времени для сенсорных сетей (TPSN) (Kumar and Srivastava, 2003) и протокол синхронизации времени наводнения (FTSP) (Maróti et al., 2004).
Сообщалось, что ошибки синхронизации времени RBS, FTSP и TPSN находятся в пределах 20 мкс. Однако при топологии на основе корня или дерева их совокупные ошибки могут составлять до 5 мс за период 6 с (Krishnamurthy et al., 2008). Чтобы преодолеть такое накопление, были введены протоколы синхронизации времени на основе консенсуса (Olfati-Saber et al., 2007; Maggs et al., 2012). По сравнению с синхронизацией времени на основе корня или дерева, синхронизация времени на основе консенсуса не требует единой временной привязки.
В сообществе исследователей гражданского строительства примечательной разработкой с проверенной возможностью синхронизации времени является система HW / SW на основе imote2, разработанная проектом SHM в Иллинойсе (http://www.shm.cs.illinois.edu), в котором реализована FTSP. для синхронизации часов с точностью 80 мкс и разработал метод передискретизации для синхронизации данных (Nagayama and Spencer, 2007; Nagayama et al., 2007). В результате их исследования были сформированы Embedor Technologies (http://embedortech.com) и разработаны интеллектуальные датчики Xnode с операционной системой реального времени (FreeRTOS) на микроконтроллере NXP LPC4357 (Spencer et al., 2017). Спецификация производительности синхронизации времени пока недоступна, но разумно ожидать такой же точности 80 мкс или выше, поскольку ОС реального времени снижает неопределенность таймингов выполнения задач.
Второй подход использует радиосигналы, посылаемые радиостанциями временного вещания, разбросанными по всему миру (Ikram et al., 2010). Этот подход потребляет меньше энергии, чем модули GPS, и не ограничивается диапазоном прямой видимости, но точность составляет около нескольких десятков миллисекунд, что может быть недостаточно для узлов датчиков ускорения.
Третий подход заключается в использовании источника точного времени модуля GPS, который является побочным продуктом технологии GPS. Известно, что модули GPS могут выполнять синхронизацию времени с разрешением 100 нс и менее (Сазонов и др., 2010). Модули GPS обычно используются для синхронизации времени в проводных сетях Ethernet с использованием протокола сетевого времени (NTP) или протокола точного времени (PTP) (Volgyesi et al., 2017). В проекте SHM в штате Иллинойс модуль GPS использовался на узле шлюза для синхронизации времени листовых узлов в подсети (Kim et al., 2016). Это исследование аналогично содержанию этого документа с точки зрения использования модуля GPS и его сигналов PPS, но только на узлах шлюза, а не на каждом узле. В этой статье используется кварцевый осциллятор, управляемый печью (OCXO), чтобы избежать проблем, связанных с колебаниями тактовой частоты, и добиться исключительной точности отметки времени. Прямое использование модуля GPS на каждом листовом узле в значительной степени игнорировалось исследовательскими сообществами из-за относительно высокого энергопотребления и стоимости.Однако для краткосрочной кампании по измерению вибрации в гражданской инфраструктуре этот подход может быть разумным вариантом, поскольку с энергопотреблением можно справиться с помощью аккумуляторной батареи большой емкости и недорогого модуля GPS, розничная цена которого составляет около 40 долларов США. (по состоянию на 2018 год), в который стоит инвестировать, а не в дорогие и трудоемкие проводные сенсорные системы. Однако метод, основанный на модуле GPS, имеет явное ограничение, заключающееся в том, что для приема сигналов GPS требуется беспрепятственный обзор неба. Однако это требование часто выполняется для многих полевых измерений гражданской инфраструктуры.
Синхронизация времени с использованием модуля GPS на каждом узле дает возможность очень эффективной по времени кампании полевых измерений на рабочем мосту в условиях ограниченного времени доступа и площади. Поскольку предлагаемая синхронизация времени происходит независимо, без отправки / получения пакетов синхронизации времени между узлами, этот подход не требует формирования и проверки беспроводной сети перед началом измерения. Для протяженных мостов создание и проверка беспроводной сети может быть сложной задачей и потребовать много времени из-за больших расстояний или стальных препятствий.Этот подход обеспечивает стратегию определения места и измерения, при которой узел датчика запускается для измерения сразу после размещения в указанном месте. Правильность работы сенсорного узла может быть подтверждена графиками в реальном времени на экране узла. Повторяя стратегию размещения и измерения для всех узлов датчиков, процесс установки может быть очень эффективным по времени.
В этом исследовании был предложен новый автономный метод синхронизации времени с использованием недорогого модуля GPS на каждом узле. Был проведен анализ ошибок предложенного метода временной отметки, после чего были проведены четыре эксперимента для проверки предложенного метода временной синхронизации.
2. Теория
2.1. GPS: источник точного времени
Приемник GPS, по-видимому, оценивает текущее положение приемника по широте, долготе и высоте на Земле. Однако на заднем плане приемник GPS фактически пытается оценить не только три переменных положения, но также переменную для временного сдвига между внутренним источником часов приемника и атомными часами спутников GPS. После успешной оценки приемник GPS имеет чрезвычайно точные внутренние часы, синхронизированные с атомными часами спутников GPS.Этот источник точного времени можно использовать для синхронизации времени беспроводных датчиков, установленных в любом месте с хорошим обзором неба.
Каждый спутник GPS имеет атомные часы, и все атомные часы в спутниках GPS периодически синхронизируются управляющим сегментом GPS, который отслеживает ошибки часов и обновляет их для поддержания точности системы GPS. Каждый спутник GPS передает свое собственное уникальное PRN (псевдослучайное число), которое идентифицирует сам спутник в точном начале каждой миллисекунды.Приемнику GPS на поверхности Земли требуется не менее четырех PRN для определения своего местоположения. Более подробную информацию о теории и работе GPS можно найти (Guochang, 2003; Kaplan and Hegarty, 2005).
На рисунке 1 показаны контакты ввода / вывода модуля Adafruit Ultimate GPS v3. Вывод RX - это то место, где модуль получает команды конфигурации от микропроцессорного блока (MPU): Arduino Mega 2560 в этом исследовании. Вывод TX предназначен для вывода предложений NMEA (Национальная ассоциация морской электроники) из модуля в MPU.Предложения NMEA являются стандартным форматом для GPS для вывода результатов о местоположении приемника и точном времени, как показано на рисунке 2. Вывод PPS (Pulse Per Second) - это квадратная волна, выходящая в точном начале каждой секунды, как показано на рисунке 3. Прямоугольная волна имеет высокий сигнал в течение первых 100 мсек после точного начала каждой секунды и повторяется каждую секунду. Предложения NMEA принимаются примерно в середине двух соседних сигналов PPS, которые предоставляют информацию об абсолютном времени, показывающую год, месяц, день, час, минуту и секунду текущего времени.Комбинируя информацию об абсолютном времени из предложений NMEA и точную относительную синхронизацию сигналов PPS, можно получить очень точный источник времени для отметок времени.
Рисунок 1 . Недорогой модуль GPS: Adafruit Ultimate GPS v3.
Рисунок 2 . Примеры предложений NMEA.
Рисунок 3 . Форма сигнала импульса в секунду (PPS).
2.2. Arduino: платформа электронного прототипирования с открытым исходным кодом
Arduino (http: // www.arduino.cc) - это платформа для прототипирования электроники с открытым исходным кодом, предоставляющая несколько вариантов плат от простейшей Arduino UNO до улучшенной Arduino Mega 2560 и Интернета вещей YUN. Arduino Mega 2560 показана на рисунке 4. Arduino имеет преимущества перед другими платформами с точки зрения простоты использования для новичков. Arduino не требует специального оборудования для программирования, а просто USB-порт на ПК. Arduino стоит дешево (плата Arduino Mega 2560 на 2018 год стоит около 43 долларов США). Arduino доступен с простыми в использовании инструкциями, похожими на рецепты, о том, что покупать, что подключать к Arduino и как программировать Arduino для огромных деталей и устройств, включая датчики и исполнительные механизмы, а также компьютерные устройства ввода-вывода, такие как Ethernet, Wi-Fi, и SD-память.Arduino имеет большое сообщество пользователей, в котором люди свободно делятся своими разработками, что способствует широкому использованию и быстрому росту Arduino. Недорогой модуль GPS, используемый в этом исследовании (40 долларов США по состоянию на 2018 год), также имеет инструкцию, похожую на рецепт. Arudino позволяет инженерам, не занимающимся электроникой, создавать собственные сенсорные системы путем сборки сенсоров, сбора данных и беспроводной связи для удовлетворения своих особых потребностей.
Рисунок 4 . Arduino Mega2560: макетная плата для электроники в семействе продуктов Arduino.
В основеArduino Mega 2560 лежит микропроцессорный блок (MPU) Atmel ATmega2560. MPU концептуально представляет собой небольшой компьютер на одной микросхеме с небольшим пространством для программирования, объемом памяти и специальными аппаратными компонентами, позволяющими подключаться к другим микросхемам интегральных схем (IC) для различных задач. ATmega2560 имеет 256 КБ флэш-памяти для программирования, 8 КБ SRAM для ОЗУ, 16 аналоговых входных контактов, 54 цифровых входа / выхода с тактовой частотой 16 МГц. Микропроцессор ATmega2560 имеет ограниченные вычислительные возможности по сравнению с современными ПК, но достаточно эффективен во многих электронных приложениях, таких как синхронизированные по времени датчики ускорения, используемые в этом исследовании.
Три полезных аппаратных компонента ATmega2560 для этого исследования: выводы RX / TX UART (универсальный асинхронный приемник-передатчик), четыре 16-битных таймера / счетчика и их входные блоки захвата. Контакты UART RX / TX используются для связи с модулем GPS. MPU ATmega2560 отправляет команды управления модулю GPS через вывод TX и принимает предложения NMEA через вывод RX.
16-битный таймер / счетчик - это внутренняя память ATmega2560 для хранения значения, которое начинается с нуля и увеличивается на единицу за одно колебание кварцевого генератора (XO), подключенного к ATmega2560.Поскольку Arduino Mega 2560 имеет кварцевый генератор с частотой 16 МГц, теоретически значение увеличивается на 16 × 10 6 в секунду. Однако существует максимальное значение, которое необходимо сохранить для таймера / счетчика 2 16 - 1, что является типичным значением для 16-битного таймера. Когда он достигает максимума, он сбрасывается и снова начинается с нуля. При считывании значения таймера / счетчика в разное время становится доступной относительная временная информация.
Каждый 16-битный таймер / счетчик имеет блок ввода ввода, который имеет собственную внутреннюю память для хранения значения таймера / счетчика, когда импульсный сигнал поступает на вывод ввода ввода.При подключении выходного контакта PPS модуля GPS к входному контакту захвата таймера / счетчика становится доступным измерение относительной синхронизации сигнала PPS.
3. Предлагаемый метод временной отметки
На рис. 5 в упрощенном виде показан предлагаемый метод установки временных меток. t P I ( k ) и t P I ( k + l ) обозначают два идеальных времени P достигая k -й и ( k + l ) -й секунды соответственно.Здесь t P I ( k + l ) - t P I (8 k l сек.) = ( k сек.) = сек. Как обсуждалось в предыдущем разделе, т P I ( k ) и t P I ( k + л) идентифицированы из предложений NMEA, которые поступили непосредственно перед прибытием сигналов PPS.Кроме того, C P A ( k ) и C P A ( k + l значения счетчика) захвачены по прибытии двух сигналов PPS через входной блок захвата, подключенный к выходному контакту PPS модуля GPS. C D A ( м ) обозначает значение таймера / счетчика, считываемое во время м -го измерения.(м) оценивается линейной интерполяцией по двум точкам ( t P I ( k ), C P A 830 ( )) и ( t P I ( k + l ), C P A (+ ) k для C D A ( м ), как показано в уравнении (1).(m) = tPI (k) + CDA (m) −CPA (k) CPA (k + l) −CPA (k) × l (с) (1)
Рисунок 5 . Предлагаемый метод отметки времени.
Процедура предлагаемого метода отметки времени резюмируется следующим образом.
1. Считайте значение таймера / счетчика входного блока захвата, захваченное при поступлении k -го сигнала PPS, и сохраните его в C P A ( k ).
2. Определите время t P I ( k ) на 1 секунду позже времени, указанного в предложении NMEA, полученном непосредственно перед k -ым PPS.(м) линейной интерполяцией по двум точкам ( t P I ( k ), C P A 30 () k и ( t P I (k + l), C P A (k + l)) для C D D A ( м ), как показано в уравнении (1).
4. Анализ ошибок предлагаемого метода отметки времени
Ошибка предложенного метода временной отметки по уравнению (1) исследована аналитически. Идеальный GPS-приемник выдает сигнал PPS точно в начале каждой секунды. Однако фактическое время сигнала PPS на k -й секунде t P A ( k ) может отличаться от идеального времени t P I ( k ) по временной ошибке ε t P ( k ), как показано на рисунке 6 и в уравнении (2).ε t P ( k ) предполагается случайной величиной, имеющей среднее значение μ t P = 0 и стандартное отклонение σ t П . Согласно таблице данных модуля GPS, использованного в исследовании, известно, что σ t P обычно составляет 10 нс (GlobalTop Technology Inc, 2012).
tPA (k) = tPI (k) + εtP (k) (2)Значение таймера / счетчика Arduino - это целое число и прерывистая ступенчатая функция времени, как показано на рисунке 6.Точное значение таймера / счетчика, соответствующее t P A ( k ), должно быть представлено в реальном значении C P I ( k ) в идеале, но в виде целого числа C P A ( k ), что приводит к ошибке таймера / счетчика ε C P ( k ) как показано на Рисунке 6 и в уравнении (3).
CPA (k) = CPI (k) + εCP (k) (3), где ε C P ( k ) предполагается случайной величиной, имеющей равномерное распределение на [0, 1).
Рисунок 6 . Анализ ошибок по предлагаемому методу временных меток.
Для ( k + l ) -го временного шага идеальное и фактическое время PPS, а также значения таймера / счетчика имеют следующие отношения.
tPA (k + l) = tPI (k + l) + εtP (k + l) (4) CPA (k + l) = CPI (k + l) + εCP (k + l) (5)где t P I ( k + l ) - t P A ( l )ε C P ( k ) и ε C P ( k + l ) считаются независимыми и одинаково распределенными . ) случайные величины, и поэтому ε t P ( k ) и ε t P ( k + l ).
Значение таймера / счетчика m -го сбора данных в идеале должно быть представлено в виде реального значения C D I ( m ), но в виде целого числа C D A ( м ), что приводит к ошибке таймера / счетчика ε C D ( м ) следующим образом.(m) = εtP (k) (1 − A) + εtP (k + l) A + εCP (k) (1 − A) + εCP (k + l) A − εCD (m) Fclk
, где - константа в диапазоне (0, 1), как определено в Приложении.
Одно из предположений анализа состоит в том, что тактовая частота F clk MPU является постоянной. Хорошо известно, что тактовая частота колеблется при изменении температуры окружающей среды, что требует постобработки для уменьшения ошибки синхронизации времени (Li et al., 2016). Однако в этом исследовании эта проблема была решена с помощью кварцевого генератора, управляемого печью (OCXO), который представляет собой XO в миниатюрной печи с регулируемой температурой.в сочетании с двумя неопределенностями прогнозировалось 42,0 нс. Это значение сравнивалось с экспериментальной оценкой в разделе 6.3.
5. Методика и реализация повторной выборки
В беспроводных сенсорных узлах сложно запускать и повторять выборку данных в точное время одновременно между всеми сенсорными узлами из-за отклонений тактовых частот XO при изменении температуры окружающей среды. В качестве альтернативы, может быть проще разрешить узлам беспроводных датчиков иметь разное время запуска с отклонениями в интервалах выборки, но повторно дискретизировать данные в регулярные моменты времени из данных с точной меткой времени.Техника повторной выборки была предложена Нагаямой и Спенсером (2007), а на рисунке 7 показан иллюстративный пример до и после повторной выборки. На рисунке 7A выборка данных начинается в разное время среди узлов датчиков, и интервалы выборки данных могут иметь отклонения из-за интервалов XO. Но повторная выборка может быть выполнена, чтобы иметь точки данных в обычные моменты времени, начиная с точного начала секунды, повторяющиеся с точным исходным интервалом времени выборки. Более подробную информацию о технике передискретизации можно найти у Нагаямы и Спенсера (2007).
Рисунок 7 . Повторная выборка для данных с отметкой времени: (A) до повторной выборки с нерегулярным временем начала и (B) после повторной выборки.
Реализация предложенного метода временной отметки связана с проблемами ограниченного ресурса микропроцессора ATmega2560, а также с высокой сложностью программирования. Первой задачей было одновременное выполнение синтаксического анализа предложений NMEA и считывания данных с акселерометра MEMS. Если ATmega2560 не считывает измеренное значение ускорения с датчика вовремя, оно будет перезаписано следующим измеренным значением на датчике.Однако оказалось, что анализ предложений NMEA занимает много времени, вызывая такую перезапись данных. Эта проблема была решена путем синтаксического анализа предложений NMEA только один раз во время загрузки ATmega2560 и увеличения T P I ( k ) на 1 секунду при каждом поступлении PPS. Вторая проблема заключалась в том, что считывание данных с акселерометра вместе с измерениями с метками времени выполнялось в режиме многозадачности по уравнению (1). В предлагаемом методе временной отметки t ^ (m) может быть осуществлена только после поступления t P I ( k + l ).Это означает, что все измерения между т P I ( k ) и т P I ( k + ) необходимо л сохраняется и имеет отметку времени после поступления t P I ( k + l ) в виде блока данных за последние l секунд. Это включает относительно сложные операции по управлению данными, а также длительное время работы.Чтобы упростить это, термин l / ( C P A ( k + l ) - C P A )) в уравнении (1), которое имеет значение, обратное тактовой частоте, эквивалентно оценивается как p / ( C P A ( k ) - C P A ( k - p )), где C P A ( k - p значение счетчика) - это значение счетчика при поступлении ППС на т р я ( к - р ).(м) для м = 0, 1, 2, · · ·, а выходными данными были данные с передискретизацией y sync ( q ) на обычных временных метках t sync ( q ) для q = 0, 1, 2, · · ·. Эффективная стратегия повторной выборки использовалась путем линейной интерполяции только для двух последних измерений.
Алгоритм 1 : Псевдокод реализованной передискретизации.
В этом исследовании ATmega2560 был запрограммирован на передачу t P I (0), C P A ( 3 ) D A ( м ) и y ( м ) для k, m = 0, 1, 2, · · ·, через порт UART TX, подключенный к Raspberry Pi и код Python в Raspberry Pi, получающем данные UART, использовались для выполнения меток времени и повторной выборки.
Эта реализация предполагает, что узлы датчиков имеют разное время запуска. После завершения кампании измерений идентифицируются повторно выбранные временные метки, общие для всех узлов датчиков. Затем данные, соответствующие общим отметкам времени в каждом узле, копируются в один файл данных для завершения сбора данных с синхронизацией по времени. Этот процесс можно выполнить по беспроводной сети, если таковая имеется.
6. Эксперименты
Проведено четыре эксперимента.Первые два эксперимента должны были подтвердить два фундаментальных предположения предлагаемого метода, что (1) модули GPS успешно работают стабильно для вывода предложений NMEA и сигналов PPS во время работы беспроводных датчиков, и (2) сигналы PPS имеют высокую точность. Третий эксперимент проводился как попытка измерить ошибку отметки времени. Последний эксперимент проводился для модального анализа только на выходе с четырьмя датчиками ускорения, в котором предложенный метод временной отметки и их модальные параметры сравнивались с проводным аналогом.
6.1. Эксперимент №1: Долговременная стабильность GPS-модуля
За работой модуля GPS наблюдали в течение недели с использованием Arduino Mega 2560, подключенного к модулю GPS, как показано на рисунке 8. Контакты UART TX / RX модулей GPS были подключены к контактам RX / TX Arduino. Mega 2560, а выходной контакт PPS был подключен к входному блоку захвата Arduino. Антенна модуля GPS была установлена таким образом, что он видел только южную половину неба, чтобы создать ограниченную видимость, которая может возникнуть при полевых измерениях.Arduino был подключен к ПК через USB-кабель, и предложения NMEA от модуля GPS были записаны на ПК.
Рисунок 8 . Экспериментальная установка для долгосрочной стабильности работы модуля GPS.
На рис. 9 показаны различные выходные данные, содержащиеся в предложениях NMEA. Количество спутников, видимых модулю GPS, варьировалось в основном от 4 до 13. Было пять случаев, когда количество спутников упало до 0, что могло произойти из-за ограниченной видимости.Понижение точности по горизонтали (HDOP) указывает величину неопределенности в отношении фиксации положения и времени. Большой HDOP указывает на большие ошибки в оценках местоположения и времени, когда количество видимых в данный момент спутников уменьшается или спутники плотно расположены в определенной области неба, а не рассредоточены по всему небу. Было ясно показано, что измеренное HDOP обратно пропорционально количеству спутников. В случаях, когда не было видимых спутников, GPS не мог определить местоположение и время, что приводило к перезагрузке модуля.Затем модуль GPS возобновил правильную работу примерно через 40–60 с, как показано на Δ T и ΔCPA1,1. Это наблюдение указывает на важность наличия прямой видимости на небе для успешной работы отметки времени с помощью GPS. Однако с данной половинной видимостью в небе модуль GPS работал успешно всю неделю, либо работал, либо возобновлял работу после нескольких простоев. Таким образом, модуль GPS показал относительно устойчивую и надежную работу в течение периода испытаний даже в условиях ограниченной видимости.
Рисунок 9 . Долговременная эксплуатационная надежность GPS-модуля.
6.2. Эксперимент № 2: Точность сигналов PPS
На рисунке 10 показаны определения временных ошибок в сигналах PPS, поступающих от нескольких модулей GPS. εtPi (k) обозначает временную ошибку сигнала PPS от i -го модуля GPS на k -й секунде. Для прямого измерения εtPi (k) требуется точный источник часов, например атомные часы. Однако в этом исследовании косвенный способ измерения его точности был выполнен путем измерения относительной разницы таймер / счетчик сигналов PPS, поступающих от одного модуля GPS или нескольких модулей GPS, как показано в уравнениях (8) - (9).
ΔCPAi, i (k) = CPAi (k + 1) −CPAi (k) (8) ΔCPAi, j (k) = CPAi (k) −CPAj (k), i ≠ j (9), где CPAi (k + 1) и CPAi (k) - значения таймера / счетчика GPS-модуля i на шагах времени ( k + 1) и k , соответственно. . CPAj (k) - значение таймера / счетчика GPS-модуля j на временном шаге k . Для идеальных безошибочных модулей GPS ΔCPAi, i (k) и ΔCPAi, j (k), i ≠ j , близки к F clk и нулю соответственно.
Рисунок 10 . Ошибки сигналов PPS в нескольких модулях GPS.
На рисунке 11 показана экспериментальная установка. Четыре модуля GPS были прикреплены к модифицированному Arduino Mega 2560, где кварцевый генератор был заменен на 10 МГц OCXO, стоимость которого по состоянию на 2018 год составляла 37 долларов США. Это было сделано для минимизации неточности измерений из-за колебаний тактовой частоты XO при температуре окружающей среды. изменение.
Рисунок 11 . Экспериментальная установка для измерения точности сигналов PPS.
Четыре сигнальных контакта PPS были подключены к четырем 16-битным таймерам / счетчикам Arduino для захвата значения таймера / счетчика всякий раз, когда приходит сигнал PPS. На рисунке 12 показаны ΔCPA1,1 (k), ΔCPA2,2 (k) и их распределения. Среднее значение было 9 999 927. Это было очень близко к номинальной частоте OCXO 10 МГц. Как показано на рисунке 12, максимальное отклонение составило 2 тактовых отсчета, что соответствует 200 нс (1 тактовый отсчет соответствует 100 нс = 1/10 МГц). На рисунке 13 показаны ΔCPA1,2 (k), ΔCPA1,3 (k) и их распределения.Было обнаружено, что максимальные различия варьировались от -4 до 2 тактов, что соответствует от -400 до +200 нс. Эти наблюдения показали многообещающую точность сигналов PPS.
Рисунок 12 . Точность сигналов PPS от одного модуля GPS: (вверху) ΔCPA1,1, (посередине) ΔCPA2,2 и (внизу) распределение ΔCPAi, i отклонение для i = 1, 2, 3 , 4.
Рисунок 13 . Точность сигналов PPS между двумя модулями GPS: (вверху) ΔCPA1,2, (посередине) ΔCPA1,3 и (внизу) распределение отклонения ΔCPA1, j для j = 2, 3, 4.
6.3. Эксперимент № 3: точность предлагаемого метода для триггерных сигналов
Этот эксперимент был попыткой косвенным образом измерить точность предложенного метода отметки времени. Были построены два идентичных Arduino с временными метками, каждый из которых использовал модуль GPS и OCXO, и общие триггерные сигналы, генерируемые функциональным генератором, подавались на два Arduinos, как показано на рисунке 14. Функциональный генератор генерировал триггерный сигнал каждую секунду в течение 30 часов. Отметки времени, сделанные для общего сигнала запуска, сравнивались, чтобы оценить ошибку предложенного метода отметок времени.оказалось равным 40,8 нс. Стоит отметить, что это значение хорошо согласуется с прогнозируемым максимумом 42,0 нс по уравнению (7) с ошибкой 3%.
Рисунок 15 . Распределение разницы отметок времени для общих сигналов запуска.
6.4. Эксперимент №4: модальный анализ только для вывода
Модальный анализ только на выходе был проведен на конструкции пола лаборатории (рис. 16) с использованием четырех беспроводных датчиков ускорения, построенных с использованием предложенного метода временной отметки и метода повторной выборки.
Рисунок 16 . Конструкция пола лаборатории.
В каждом беспроводном датчике ускорения используется акселерометр ADXL362 MEMS, как показано на рисунке 17. Плата, совместимая с Arduino Mega 2560, была разработана для интеграции датчика ADXL362, модуля GPS и MPU ATmega2560 на одной печатной плате. Датчик ADXL362 был подключен к MPU Atmel ATmega2560 через SPI (последовательный периферийный интерфейс). Плата, совместимая с Arduino Mega 2560, находилась на вершине Raspberry Pi 3 Model B (RPI), питаемой и передаваемой через контакты GPIO (General Purpose Input / Output) RPI.Антенна GPS была подключена к модулю GPS, а аккумуляторная батарея USB была подключена для питания RPI. Батарейный блок на 20 Ач с напряжением 3,85 В был способен поддерживать более 10 часов работы системы, потребляя примерно 700 мА. Для проводного аналога использовались четыре акселерометра серво-типа QA700 с системой сбора данных Data-Physics Signal Mobilizer.
Рисунок 17 . Беспроводной и проводной датчик: (вверху справа) проводной акселерометр QA700 и (внизу посередине) беспроводной датчик ADXL362 MEMS.
Реакция ускорения при вибрации окружающей среды при ходьбе человека была измерена в течение 10 минут с использованием частоты дискретизации 100 Гц для беспроводных и проводных датчиков, как показано на рисунке 18. Управляемая ковариацией SSI (стохастическая подпространственная идентификация) (Peeters and De Roeck, 2001) использовался для модального анализа только для вывода. Результаты показаны в Таблице 1 и на Рисунке 19. Таблица 1 показывает, что обе частоты очень близки друг к другу. Максимальная погрешность по частоте составила -0,09%. На рисунке 19 показано, что первые четыре формы колебаний хорошо согласуются друг с другом, подтверждая успешную работу предложенного метода временной отметки и методики повторной выборки.
Рисунок 18 . Положения датчиков.
Таблица 1 . Собственные частоты от беспроводных и проводных систем.
Рисунок 19 . Формы колебаний от беспроводных датчиков и проводных датчиков: (A) Mode B11, (B) Mode B12, (C) Mode B21 и (D) Mode B22.
Фазовый угол перекрестной спектральной плотности двух сигналов ускорения может использоваться для оценки ошибки временной синхронизации в сигналах.Наклон фазового угла пропорционален ошибке временной синхронизации и может быть преобразован в оценку ошибки временной синхронизации в секундах (Nagayama and Spencer, 2007). Этот подход требует, чтобы два сигнала измерялись от общих опорных часов. Однако в этом исследовании проводная и беспроводная системы были полностью независимыми измерительными системами без общих опорных часов. Вместо этого на рисунке 20 была показана кросс-спектральная плотность двух беспроводных ускорений из позиции №2 и №3.Как показано на рисунке 20, линейного тренда не наблюдалось, что указывает на отсутствие явной ошибки синхронизации времени между узлами. Датчики в положениях №2 и №3 были выбраны, поскольку они имели умеренные амплитуды формы колебаний, отличные от нуля. Колебания фазового угла ниже 3 Гц и выше 18 Гц могут быть связаны с небольшой величиной сигналов, вызывающей низкое отношение сигнал / шум.
Рисунок 20 . Перекрестная спектральная плотность с использованием датчиков №2 и №3.
7. Заключение
Метод временной синхронизации для беспроводных датчиков ускорения, очень оптимальный для полевых измерений, был предложен с использованием точной временной отметки, основанной на технологии GPS, и метода повторной выборки, работающего независимо на каждом узле.Аналитические и экспериментальные исследования показали следующее.
• Было обнаружено, что модуль GPS работает надежно или возобновляет работу в течение всех семи дней периода испытаний, даже несмотря на то, что видимость в небе была только наполовину. Однако, чтобы свести к минимуму время простоя, рекомендуется обеспечить как можно более четкую видимость неба.
• Сигналы PPS оказались точными с максимальными относительными временными ошибками 300 нс для двух соседних сигналов PPS от одного модуля и 400 нс для двух сигналов PPS от двух разных модулей GPS.
• Аналитическое исследование предложенного метода временной отметки позволило получить выражение стандартного отклонения ошибки временной отметки. Выражение выявило два источника неопределенностей: один связан с ошибками сигнала PPS, а другой - с величиной тактового сигнала. Выражение предсказало максимальное стандартное отклонение ошибки отметки времени равным 42,0 нс.
• Ошибка отметки времени была измерена путем сравнения двух отметок времени, сделанных двумя идентичными отметками времени Arduinos для общих сигналов запуска.Стандартное отклонение предложенного метода временной отметки оценивается в 40,2 нс, что хорошо согласуется с аналитическим прогнозом 42,0 нс с ошибкой 3%.
• Модальный анализ только на выходе был проведен на конструкции пола лаборатории с использованием беспроводных датчиков ускорения, оснащенных предлагаемым методом временной отметки и методом повторной выборки. Выявленные собственные частоты и формы колебаний хорошо согласуются с таковыми от проводных датчиков ускорения.
• Фазовый угол двух беспроводных ускорений показал, что явной ошибки синхронизации времени не наблюдалось, что указывает на успешную синхронизацию времени с помощью предложенного метода.
Заявление о доступе к данным
Данные исследования, подтверждающие эту публикацию, находятся в открытом доступе в институциональном репозитории Университета Эксетера по адресу https://dio.org/10.24378/exe.1063
Авторские взносы
KK: разработка алгоритмов, разработка HW, экспериментальная проверка; DH: разработка алгоритма; С.К .: Разработка HW.
Финансирование
Эта работа была поддержана грантом Национального исследовательского фонда Кореи, финансируемым правительством Кореи NRF-2009-352-D00291.
Заявление о конфликте интересов
Авторы заявляют, что исследование проводилось при отсутствии каких-либо коммерческих или финансовых отношений, которые могут быть истолкованы как потенциальный конфликт интересов.
Список литературы
Абдауи, А., Эль Фули, Т. М., и Ахмед, М. Х. (2017). Влияние ошибки синхронизации времени на определение формы колебаний и обнаружение / локализацию повреждений в WSN для мониторинга состояния конструкций. J. Netw. Comput. Прил. 83, 181–189. DOI: 10.1016 / j.jnca.2017.01.004
CrossRef Полный текст | Google Scholar
Элсон, Дж., Гирод, Л., и Эстрин, Д. (2002). «Детализированная сетевая синхронизация времени с использованием эталонных широковещательных рассылок», в Пятый симпозиум по проектированию и внедрению операционных систем (OSDI) (Нью-Йорк, Нью-Йорк), 147–163.
Google Scholar
GlobalTop Technology Inc (2012 г.). FGPMMOPA6H Лист данных автономного модуля GPS .
Guochang, X.(2003). Теория, алгоритмы и приложения GPS . Берлин; Гейдельберг: Springer.
Google Scholar
Икрам В., Стоянов И. и Торнхилл Н. Ф. (2010). «На пути к радиоуправляемой синхронизированной по времени беспроводной сети Ensor: работа в стадии разработки», в материалах материалов 15-й Международной конференции IEEE по новейшим технологиям и автоматизации производства, ETFA 2010 (Бильбао).
Google Scholar
Каплан Э. и Хегарти К.(2005). Понимание GPS: принципы и приложения . Артек Хаус.
Ким, Р. Э., Ли, Дж., Спенсер, Б. Ф. Дж., Нагаяма, Т., и Мечитов, К. А. (2016). Синхронизированное зондирование для беспроводного мониторинга больших конструкций. Smart Struct. Syst. 18, 885–909. DOI: 10.12989 / sss.2016.18.5.88
CrossRef Полный текст | Google Scholar
Кришнамурти В., Фаулер К. и Сазонов Е. (2008). Влияние временной синхронизации беспроводных датчиков на модальный анализ конструкций. Smart Mater. Struct. 17, 55018–55113. DOI: 10.1088 / 0964-1726 / 17/5/055018
CrossRef Полный текст | Google Scholar
Кумар Р. и Шривастава М. Б. (2003). Протокол синхронизации по времени для категорий сенсорных сетей и дескрипторов субъектов. Работа .
Google Scholar
Ласассмех, С. М., Конрад, Дж. М. (2010). «Синхронизация времени в беспроводных сенсорных сетях: обзор», в Proceedings of the IEEE SoutheastCon 2010 (SoutheastCon) (Concord, NC), 242–245.
Google Scholar
Ли Дж., Мечитов К. А., Ким Р. Э. и Спенсер Б. Ф. (2016). Эффективная синхронизация времени для мониторинга состояния конструкций с помощью беспроводных интеллектуальных сенсорных сетей. Struct. Контроль за состоянием здоровья. 23, 470–486. DOI: 10.1002 / stc.1782
CrossRef Полный текст | Google Scholar
Линч, Дж. П., и Ло, К. Дж. (2006). Сводный обзор беспроводных датчиков и сенсорных сетей для мониторинга состояния конструкций. Ударный вибратор.Дайджест 38, 91–128. DOI: 10.1177 / 0583102406061499
CrossRef Полный текст | Google Scholar
Мэггс, М. К., О'Киф, С. Г., и Тиль, Д. В. (2012). Синхронизация согласованных часов для беспроводных сенсорных сетей. IEEE Sens. J. 12, 2269–2277. DOI: 10.1109 / JSEN.2011.2182045
CrossRef Полный текст | Google Scholar
Мароти, М., Куси, Б., Саймон, Г., и Ледеци, К. (2004). «Протокол синхронизации времени лавинной рассылки», Труды 2-й Международной конференции по встроенным сетевым сенсорным системам - SenSys '04 (Балтимор, Мэриленд), 39–49.
Google Scholar
Нагаяма Т., Сим С., Миямори Ю. и Спенсер Б. Дж. (2007). Проблемы мониторинга состояния конструкций с использованием интеллектуальных датчиков. Smart Struct. Syst. 3, 299–320. DOI: 10.12989 / sss.2007.3.3.299
CrossRef Полный текст | Google Scholar
Нагаяма Т. и Спенсер Б. Ф. (2007). Структурный мониторинг состояния с использованием интеллектуальных датчиков , Отчет № Урбана-Шампейн: NSEL.
Олфати-Сабер, Р., Факс, Дж. А.и Мюррей Р. М. (2007). Консенсус и сотрудничество в сетевых многоагентных системах. Proc. IEEE 95, 215–233. DOI: 10.1109 / JPROC.2006.887293
CrossRef Полный текст | Google Scholar
Петерс Б. и Де Рок Г. (2001). Стохастическая системная идентификация для оперативного модального анализа: обзор. J. Dyn. Syst. Измер. Контроль 123: 659. DOI: 10.1115 / 1.1410370
CrossRef Полный текст | Google Scholar
Сэдлер Б. и Свами А.(2006). «Синхронизация в сенсорных сетях: обзор», в Milcom 2006 (Вашингтон, округ Колумбия: IEEE), 1–6. DOI: 10.1109 / MILCOM.2006.302459
CrossRef Полный текст | Google Scholar
Сазонов Э., Кришнамурти В., Шиллинг Р. (2010). Беспроводная интеллектуальная сеть датчиков и исполнительных механизмов - масштабируемая платформа для синхронизированных по времени приложений мониторинга состояния конструкций. Struct. Мониторинг здоровья. 9, 465–476. DOI: 10.1177 / 14750370003
CrossRef Полный текст | Google Scholar
Сим, С.Х., Спенсер Б. Ф., Чжан М. и Се Х. (2010). Автоматический децентрализованный модальный анализ с использованием интеллектуальных датчиков. Struct. Контроль за состоянием здоровья. 17, 872–894. DOI: 10.1002 / stc.348
CrossRef Полный текст | Google Scholar
Спенсер Б. Ф., Парк Дж. У., Мечитов К. А., Джо Х. и Ага Г. (2017). Беспроводные интеллектуальные датчики нового поколения для создания устойчивой гражданской инфраструктуры. Proc. Англ. 171, 5–13. DOI: 10.1016 / j.proeng.2017.01.304
CrossRef Полный текст | Google Scholar
Сундарараман, Б., Буй У., Кшемкаляни А. Д. (2005). Синхронизация часов для беспроводных сенсорных сетей: обзор. Ad Hoc Netw. 3, 281–323. DOI: 10.1016 / j.adhoc.2005.01.002
CrossRef Полный текст | Google Scholar
Volgyesi, P., Dubey, A., Krentz, T., Madari, I., Metelko, M., and Karsai, G. (2017). «Службы синхронизации времени для недорогих приложений туманных вычислений», в Труды 28-го Международного симпозиума по быстрому созданию прототипов систем: сокращение пути от спецификации к прототипу (Сеул), 57–63.
Google Scholar
A. Приложение: Выражение ошибки отметки времени предлагаемого метода
Разница во времени между t P A ( k + l ) и t P A 9307 ( k) выражается как tPA (k + l) −tPA (k) = {tPI (k + l) + εtP (k + l)} - {tPI (k) + εtP (k)} = {tPI (k + l) −tPI ( k)} + {εtP (k + l) −εtP (k)} = l + εtP (k + l) −εtP (k) (A1)
Разница между значениями таймера / счетчика C P I ( k + l ) и C P I k8378 ( выражается через тактовую частоту F clk MPU следующим образом.
CPI (k + l) −CPI (k) = Fclk (tPA (k + l) −tPA (k)) = Fclk (l + εtP (k + l) −εtP (k)) ≜Fclk ′ × l (A2 )Истинная отметка времени м -го сбора данных C D I ( м )
ttrue (m) = tPA (k) + CDI (m) −CPI (k) CPI (k + l) −CPI (k) × (tPA (k + l) −tPA (k)) = tPA (k) + CDI (m) −CPI (k) CPI (k + l) −CPI (k) ︸≜A × (l + εtP (k + l) −εtP (k)) (A3)Обратите внимание, что член A выше является константой в диапазоне [0, 1) (см. Рисунок 6).(m) = tPI (k) + CDA (m) −CPA (k) CPA (k + l) −CPA (k) ︸≜B × l (A4)
Член B в приведенном выше уравнении выражается как
B = (CDI (m) + εCD (m)) - (CPI (k) + εCP (k)) (CPI (k + l) + εCP (k + l)) - (CPI (k) + εCP (k )) = (CDI (m) −CPI (k)) + (εCD (m) −εCP (k)) (CPI (k + l) −CPI (k)) (1 + εCP (k + l) −εCP (k) CPI (k + l) - CPI (k))Используя определения A и Fclk ′ и приближение 11 + x≃1-x для малых x ,
B≃ (A + εCD (m) −εCP (k) F ′ clkl) × (1 − εCP (k + l) −εCP (k) F ′ clkl)Расширяя приведенное выше уравнение и игнорируя член 2-го порядка (1F′clkl) 2, можно пренебречь w. (m) = εtP (k) (1 − A) + εtP (k + 1) A + εCP (k) (1 − A) + εCP (k + 1) A − εCD (m) Fclk (A6)
gps_module_with_enclosure__sku_tel0094_-DFRobot
- ДОМ
- СООБЩЕСТВО
- ФОРУМ
- БЛОГ
- ОБРАЗОВАНИЕ
- Контроллер
- DFR0010 Arduino Nano 328
- DFR0136 Сервоконтроллер Flyduino-A 12
- DFR0225 Romeo V2-Все в одном контроллере R3
- Arduino_Common_Controller_Selection_Guide
- DFR0182 Беспроводной геймпад V2.0
- DFR0100 Комплект для начинающих DFRduino для Arduino V3
- DFR0267 Блуно
- DFR0282 Жук
- DFR0283 Мечтательный клен V1.0
- DFR0296 Блуно Нано
- DFR0302 MiniQ 2WD Plus
- DFR0304 Беспроводной геймпад BLE V2
- DFR0305 RoMeo BLE
- DFR0351 Romeo BLE mini V2.0
- DFR0306 Блуно Мега 1280
- DFR0321 Узел Wido-WIFI IoT
- DFR0323 Блуно Мега 2560
- DFR0329 Блуно М3
- DFR0339 Жук Блуно
- DFR0343 Контроллер с низким энергопотреблением UHex
- DFR0355 SIM808 с материнской платой Leonardo
- DFR0392 DFRduino M0 материнская плата, совместимая с Arduino
- DFR0398 Контроллер роботов Romeo BLE Quad
- DFR0416 Bluno M0 Материнская плата
- DFR0575 Жук ESP32
- DFR0133 X-Доска
- DFR0162 X-Board V2
- DFR0428 3.5-дюймовый сенсорный TFT-экран для Raspberry Pi
- DFR0494 Raspberry Pi ШАПКА ИБП
- DFR0514 DFR0603 IIC 16X2 RGB LCD KeyPad HAT V1.0
- DFR0524 5.5 HDMI OLED-дисплей с емкостным сенсорным экраном V2.0
- DFR0550 5-дюймовый TFT-дисплей с сенсорным экраном V1.0
- DFR0591 модуль дисплея raspberry pi e-ink V1.0
- DFR0592 Драйвер двигателя постоянного тока HAT
- DFR0604 HAT расширения ввода-вывода для Pi zero V1.0
- DFR0566 Шляпа расширения ввода-вывода для Raspberry Pi
- DFR0528 Шляпа ИБП для Raspberry Pi Zero
- DFR0331 Romeo для контроллера Edison
- DFR0453 DFRobot CurieNano - мини-плата Genuino Arduino 101
- TEL0110 CurieCore Intel® Curie Neuron Module
- DFR0478 Микроконтроллер FireBeetle ESP32 IOT (V3.0) с поддержкой Wi-Fi и Bluetooth
- DFR0483 FireBeetle Covers-Gravity I O Expansion Shield
- FireBeetle Covers-24 × 8 светодиодная матрица
- TEL0121 FireBeetle Covers-LoRa Radio 433 МГц
- TEL0122 FireBeetle Covers-LoRa Radio 915 МГц
- TEL0125 FireBeetle охватывает LoRa Radio 868MHz
- DFR0489 FireBeetle ESP8266 Микроконтроллер IOT
- DFR0492 FireBeetle Board-328P с BLE4.1
- DFR0498 FireBeetle Covers-Camera & Audio Media Board
- DFR0507 FireBeetle Covers-OLED12864 Дисплей
- DFR0508 FireBeetle Covers-Двигатель постоянного тока и шаговый драйвер
- DFR0511 FireBeetle Covers-ePaper Черно-белый дисплейный модуль
- DFR0531 FireBeetle Covers-ePaper Черно-белый и красный дисплейный модуль
- DFR0536 Плата расширения геймпада с микробитами
- DFR0548 Плата расширения микробитового драйвера
- ROB0148 micro: Maqueen для micro: bit
- ROB0150 Microbit Круглая плата расширения для светодиодов RGB
- MBT0005 micro IO-BOX
- SEN0159 Датчик CO2
- DFR0049 DFRobot Датчик газа
- TOY0058 Датчик атмосферного давления
- SEN0220 Инфракрасный датчик CO2 0-50000ppm
- SEN0219 Гравитационный аналоговый инфракрасный датчик CO2 для Arduino
- SEN0226 Датчик барометра Gravity I2C BMP280
- SEN0231 Датчик гравитации HCHO
- SEN0251 Gravity BMP280 Датчики атмосферного давления
- SEN0132 Датчик угарного газа MQ7
- SEN0032 Трехосный акселерометр - ADXL345
- DFR0143 Трехосевой акселерометр MMA7361
- Трехосный акселерометр серии FXLN83XX
- SEN0072 CMPS09 - Магнитный компас с компенсацией наклона
- SEN0073 9 степеней свободы - бритва IMU
- DFR0188 Flymaple V1.1
- SEN0224 Трехосевой акселерометр Gravity I2C - LIS2DH
- SEN0140 Датчик IMU с 10 степенями свободы, версия 2.0
- SEN0250 Gravity BMI160 6-осевой инерционный датчик движения
- SEN0253 Gravity BNO055 + BMP280 интеллектуальный 10DOF AHRS
- SEN0001 URM37 V5.0 Ультразвуковой датчик
- SEN0002 URM04 V2.0
- SEN0004 SRF01 Ультразвуковой датчик
- SEN0005 SRF02 Ультразвуковой датчик
- SEN0006 SRF05 Ультразвуковой датчик
- SEN0007 SRF08 Ультразвуковой датчик
- SEN0008 SRF10 Ультразвуковой датчик
- SEN0149 URM06-RS485 Ультразвуковой
- SEN0150 URM06-UART Ультразвуковой
- SEN0151 URM06-PULSE Ультразвуковой
- SEN0152 URM06-ANALOG Ультразвуковой
- SEN0153 Ультразвуковой датчик URM07-UART
- SEN0246 URM08-RS485 Водонепроницаемый гидролокатор-дальномер
- SEN0304 Ультразвуковой датчик URM09 (Gravity-I2C) (V1.0)
- SEN0304 URM09 Ультразвуковой датчик (Gravity-I2C) (V1.0)
- SEN0300 Водонепроницаемый ультразвуковой датчик ULS
- SEN0301 Водонепроницаемый ультразвуковой датчик ULA
- SEN0307 URM09 Аналог ультразвукового датчика силы тяжести
- SEN0311 A02YYUW Водонепроницаемый ультразвуковой датчик
- SEN0312 ME007YS Водонепроницаемый ультразвуковой датчик
- SEN0313 A01NYUB Водонепроницаемый ультразвуковой датчик
- DFR0066 SHT1x Датчик влажности и температуры
- DFR0067 DHT11 Датчик температуры и влажности
- SEN0137 DHT22 Модуль температуры и влажности
- DFR0023 Линейный датчик температуры DFRobot LM35
- DFR0024 Gravity DS18B20 Датчик температуры, совместимый с Arduino V2
- DFR0024 Gravity DS18B20 Датчик температуры, совместимый с Arduino V2
- SEN0114 Датчик влажности
- Датчик температуры TOY0045 TMP100
- TOY0054 SI7021 Датчик температуры и влажности
- SEN0206 Датчик инфракрасного термометра MLX
- SEN0227 SHT20 Водонепроницаемый датчик температуры и влажности I2C
- SEN0236 Gravity I2C BME280 Датчик окружающей среды Температура, влажность, барометр
- SEN0248 Gravity I2C BME680 Датчик окружающей среды VOC, температура, влажность, барометр
- DFR0558 Цифровой высокотемпературный датчик силы тяжести типа К
- SEN0308 Водонепроницаемый емкостный датчик влажности почвы
- SEN0019 Регулируемый переключатель инфракрасного датчика
- SEN0042 DFRobot Инфракрасный датчик прорыва
- SEN0143 SHARP GP2Y0A41SK0F ИК-датчик рейнджера 4-30 см
- SEN0013 Sharp GP2Y0A02YK ИК-датчик рейнджера 150 см
- SEN0014 Sharp GP2Y0A21 Датчик расстояния 10-80 см
- SEN0085 Sharp GP2Y0A710K Датчик расстояния 100-550 см
- Модуль цифрового ИК-приемника DFR0094
- DFR0095 Модуль цифрового ИК-передатчика
- SEN0018 Цифровой инфракрасный датчик движения
- DFR0107 ИК-комплект
- SEN0264 TS01 ИК-датчик температуры (4-20 мА)
- SEN0169 Аналоговый pH-метр Pro
- DFR0300-H Gravity: аналоговый датчик электропроводности (K = 10)
- DFR0300 Гравитационный аналоговый датчик электропроводности V2 K = 1
- SEN0165 Аналоговый измеритель ОВП
- SEN0161-V2 Комплект гравитационного аналогового датчика pH V2
- SEN0161 PH метр
- SEN0237 Гравитационный аналоговый датчик растворенного кислорода
- SEN0204 Бесконтактный датчик уровня жидкости XKC-Y25-T12V
- SEN0205 Датчик уровня жидкости-FS-IR02
- SEN0244 Gravity Analog TDS Sensor Meter для Arduino
- SEN0249 Комплект измерителя pH с аналоговым наконечником копья силы тяжести для применения в почве и пищевых продуктах
- SEN0121 Датчик пара
- SEN0097 Датчик освещенности
- DFR0026 Датчик внешней освещенности DFRobot
- TOY0044 УФ-датчик
- SEN0172 LX1972 датчик внешней освещенности
- SEN0043 Датчик внешней освещенности TEMT6000
- SEN0175 УФ-датчик v1.0-ML8511
- SEN0228 Gravity I2C VEML7700 Датчик внешней освещенности
- SEN0101 Датчик цвета TCS3200
- DFR0022 Датчик оттенков серого DFRobot
- Датчик отслеживания линии SEN0017 для Arduino V4
- SEN0147 Интеллектуальный датчик оттенков серого
- SEN0212 TCS34725 Датчик цвета I2C для Arduino
- SEN0245 Gravity VL53L0X Лазерный дальномер ToF
- SEN0259 TF Mini LiDAR ToF Laser Range Sensor
- SEN0214 Датчик тока 20A
- SEN0262 Гравитационный аналоговый преобразователь тока в напряжение для приложений 4 ~ 20 мА
- SEN0291 Gravity: Цифровой ваттметр I2C
- DFR0027 Цифровой датчик вибрации DFRobot V2
- DFR0028 DFRobot Датчик наклона
- DFR0029 Цифровая кнопка DFRobot
- DFR0030 DFRobot емкостный датчик касания
- Модуль цифрового зуммера DFR0032
- DFR0033 Цифровой магнитный датчик
- DFR0034 Аналоговый звуковой датчик
- SEN0038 Колесные энкодеры для DFRobot 3PA и 4WD Rovers
- DFR0051 Аналоговый делитель напряжения
- DFR0052 Аналоговый пьезодисковый датчик вибрации
- DFR0076 Датчик пламени
- DFR0053 Аналоговый датчик положения ползуна
- DFR0054 Аналоговый датчик вращения V1
- DFR0058 Аналоговый датчик вращения V2
- Модуль джойстика DFR0061 для Arduino
- DFR0075 AD Клавиатурный модуль
- Модуль вентилятора DFR0332
- SEN0177 PM2.5 лазерный датчик пыли
- Модуль датчика веса SEN0160
- SEN0170 Тип напряжения датчика скорости ветра 0-5 В
- TOY0048 Высокоточный двухосевой датчик инклинометра, совместимый с Arduino Gadgeteer
- SEN0187 RGB и датчик жестов
- SEN0186 Метеостанция с анемометром Флюгер Дождь ведро
- SEN0192 Датчик микроволн
- SEN0185 датчик Холла
- FIT0449 DFRobot Speaker v1.0
- Датчик частоты сердечных сокращений SEN0203
- DFR0423 Самоблокирующийся переключатель
- SEN0213 Датчик монитора сердечного ритма
- SEN0221 Датчик угла Холла силы тяжести
- Датчик переключателя проводимости SEN0223
- SEN0230 Инкрементальный фотоэлектрический датчик угла поворота - 400P R
- SEN0235 Модуль поворотного энкодера EC11
- SEN0240 Аналоговый датчик ЭМГ от OYMotion
- SEN0232 Гравитационный аналоговый измеритель уровня звука
- SEN0233 Монитор качества воздуха PM 2.5, формальдегид, датчик температуры и влажности
- DFR0515 FireBeetle Covers-OSD Модуль наложения символов
- SEN0257 Датчик гравитационного давления воды
- SEN0289 Gravity: Цифровой датчик встряхивания
- SEN0290 Gravity: Датчик молнии
- DFR0271 GMR Плата
- ROB0003 Pirate 4WD Мобильная платформа
- Мобильная платформа ROB0005 Turtle 2WD
- ROB0025 NEW A4WD Мобильный робот с кодировщиком
- ROB0050 4WD MiniQ Полный комплект
- ROB0111 4WD MiniQ Cherokey
- ROB0036 Комплект роботизированной руки с 6 степенями свободы
- Комплект наклонно-поворотного устройства FIT0045 DF05BB
- ROB0102 Мобильная платформа Cherokey 4WD
- ROB0117 Базовый комплект для Cherokey 4WD
- ROB0022 4WD Мобильная платформа
- ROB0118 Базовый комплект для Turtle 2WD
- Робот-комплект ROB0080 Hexapod
- ROB0112 Мобильная платформа Devastator Tank
- ROB0114 Мобильная платформа Devastator Tank
- ROB0124 Мобильная платформа HCR с всенаправленными колесами
- ROB0128 Devastator Tank Мобильная платформа Металлический мотор-редуктор постоянного тока
- ROB0137 Explorer MAX Робот
- ROB0139 Робот FlameWheel
- DFR0270 Accessory Shield для Arduino
- DFR0019 Щит для прототипирования для Arduino
- DFR0265 IO Expansion Shield для Arduino V7
- DFR0210 Пчелиный щит
- DFR0165 Mega IO Expansion Shield V2.3
- DFR0312 Плата расширения Raspberry Pi GPIO
- DFR0311 Raspberry Pi встречает Arduino Shield
- DFR0327 Arduino Shield для Raspberry Pi 2B и 3B
- DFR0371 Экран расширения ввода-вывода для Bluno M3
- DFR0356 Щит Bluno Beetle
- DFR0412 Gravity IO Expansion Shield для DFRduino M0
- DFR0375 Cookie I O Expansion Shield V2
- DFR0334 GPIO Shield для Arduino V1.0
- DFR0502 Gravity IO Expansion & Motor Driver Shield V1.1
- DFR0518 Micro Mate - мини-плата расширения для микробита
- DFR0578 Gravity I O Expansion Shield для OpenMV Cam M7
- DFR0577 Gravity I O Expansion Shield для Pyboard
- DFR0626 MCP23017 Модуль расширения с IIC на 16 цифровых IO
- DFR0287 LCD12864 Экран
- DFR0009 Экран ЖК-клавиатуры для Arduino
- DFR0063 I2C TWI LCD1602 Модуль, совместимый с Gadgeteer
- Модуль DFR0154 I2C TWI LCD2004, совместимый с Arduino Gadgeteer
- Светодиодная матрица DFR0202 RGB
- DFR0090 3-проводной светодиодный модуль
- TOY0005 OLED 2828 цветной дисплейный модуль.Совместимость с NET Gadgeteer
- Модуль дисплея TOY0006 OLED 9664 RGB
- Модуль дисплея TOY0007 OLED 2864
- FIT0328 2.7 OLED 12864 дисплейный модуль
- DFR0091 3-проводной последовательный ЖК-модуль, совместимый с Arduino
- DFR0347 2.8 TFT Touch Shield с 4 МБ флэш-памяти для Arduino и mbed
- DFR0348 3.5 TFT Touch Shield с 4 МБ флэш-памяти для Arduino и mbed
- DFR0374 Экран LCD клавиатуры V2.0
- DFR0382 Экран со светодиодной клавиатурой V1.0
- DFR0387 TELEMATICS 3.5 TFT сенсорный ЖК-экран
- DFR0459 Светодиодная матрица RGB 8x8
- DFR0460 Светодиодная матрица RGB 64x32 - шаг 4 мм / Гибкая светодиодная матрица 64x32 - Шаг 4 мм / Гибкая светодиодная матрица 64x32 - Шаг 5 мм
- DFR0461 Гибкая светодиодная матрица 8x8 RGB Gravity
- DFR0462 Гибкая светодиодная матрица 8x32 RGB Gravity
- DFR0463 Gravity Гибкая светодиодная матрица 16x16 RGB
- DFR0471 Светодиодная матрица RGB 32x16 - шаг 6 мм
- DFR0472 Светодиодная матрица RGB 32x32 - шаг 4 мм
- DFR0464 Gravity I2C 16x2 ЖК-дисплей Arduino с подсветкой RGB
- DFR0499 Светодиодная матрица RGB 64x64 - шаг 3 мм
- DFR0506 7-дюймовый дисплей HDMI с емкостным сенсорным экраном
- DFR0555 \ DF0556 \ DFR0557 Gravity I2C LCD1602 Модуль ЖК-дисплея Arduino
- DFR0529 2.2-дюймовый ЖК-дисплей TFT V1.0 (интерфейс SPI)
- DFR0605 Gravity: Цифровой светодиодный модуль RGB
- FIT0352 Цифровая светодиодная водонепроницаемая лента с RGB-подсветкой 60LED м * 3 м
- DFR0645-G DFR0645-R 4-цифровой светодиодный сегментный модуль дисплея
- Артикул DFR0646-G DFR0646-R 8-цифровой светодиодный сегментный модуль дисплея
- DFR0597 Гибкая светодиодная матрица RGB 7x71
- DFR0231 Модуль NFC для Arduino
- Модуль радиоданных TEL0005 APC220
- TEL0023 BLUETOOH BEE
- TEL0026 DF-BluetoothV3 Bluetooth-модуль
- Модуль беспроводного программирования TEL0037 для Arduino
- TEL0044 DFRduino GPS Shield-LEA-5H
- TEL0047 WiFi Shield V2.1 для Arduino
- TEL0051 GPS GPRS GSM модуль V2.0
- TEL0067 Wi-Fi Bee V1.0
- TEL0073 BLE-Link
- TEL0075 RF Shield 315 МГц
- TEL0078 WIFI Shield V3 PCB Антенна
- TEL0079 WIFI Shield V3 RPSMA
- TEL0084 BLEmicro
- TEL0086 DF-маяк EVB
- TEL0087 USBBLE-LINK Bluno Адаптер для беспроводного программирования
- TEL0080 UHF RFID МОДУЛЬ-USB
- TEL0081 УВЧ RFID МОДУЛЬ-RS485
- TEL0082 UHF RFID МОДУЛЬ-UART
- TEL0083-A GPS-приемник для Arduino Model A
- TEL0092 WiFi Bee-ESP8266 Wirelss модуль
- Модуль GPS TEL0094 с корпусом
- TEL0097 SIM808 GPS GPRS GSM Shield
- DFR0342 W5500 Ethernet с материнской платой POE
- DFR0015 Xbee Shield для Arduino без Xbee
- TEL0107 WiFiBee-MT7681 Беспроводное программирование Arduino WiFi
- TEL0089 SIM800C GSM GPRS Shield V2.0
- Модуль приемника RF TEL0112 Gravity 315MHZ
- TEL0113 Gravity UART A6 GSM и GPRS модуль
- TEL0118 Gravity UART OBLOQ IoT-модуль
- Модуль TEL0120 DFRobot BLE4.1
- Bluetooth-адаптер TEL0002
- Модуль аудиоприемника Bluetooth TEL0108
- TEL0124 SIM7600CE-T 4G (LTE) Shield V1.0
- DFR0505 SIM7000C Arduino NB-IoT LTE GPRS Expansion Shield
- DFR0013 IIC в GPIO Shield V2.0
- Плата привода двигателя датчика DFR0057 - Версия 2.2
- DFR0062 Адаптер WiiChuck
- DFR0233 Узел датчика RS485 V1.0
- DFR0259 Arduino RS485 щит
- DFR0370 Экран CAN-BUS V2
- DFR0627 IIC для двойного модуля UART
- TEL0070 Multi USB RS232 RS485 TTL преобразователь
- DFR0064 386AMP модуль аудиоусилителя
- DFR0273 Экран синтеза речи
- DFR0299 DFPlayer Mini
- TOY0008 DFRduino Плеер MP3
- SEN0197 Диктофон-ISD1820
- DFR0420 Аудиозащитный экран для DFRduino M0
- DFR0534 Голосовой модуль
- SD2403 Модуль часов реального времени SKU TOY0020
- TOY0021 SD2405 Модуль часов реального времени
- DFR0151 Модуль Gravity I2C DS1307 RTC
- DFR0469 Модуль Gravity I2C SD2405 RTC
- DFR0316 MCP3424 18-битный канал АЦП-4 с усилителем с программируемым усилением
- DFR0552 Gravity 12-битный модуль I2C DAC
- DFR0553 Gravity I2C ADS1115 16-битный модуль АЦП, совместимый с Arduino и Raspberry Pi
- DFR0117 Модуль хранения данных Gravity I2C EEPROM
- Модуль SD DFR0071
- Плата привода двигателя датчика DFR0057 - Версия 2.2
- DFR0360 XSP - Программист Arduino
- DFR0411 Двигатель постоянного тока Gravity 130
- DFR0438 Яркий светодиодный модуль
- DFR0439 Светодиодные гирлянды красочные
- DFR0440 Модуль микровибрации
- DFR0448 Светодиодные гирлянды, теплый белый цвет
- Встроенный термопринтер DFR0503 - последовательный TTL
- DFR0504 Гравитационный изолятор аналогового сигнала
- DFR0520 Двойной цифровой потенциометр 100K
- DFR0565 Гравитационный цифровой изолятор сигналов
- DFR0563 Гравитация 3.Датчик уровня топлива литиевой батареи 7V
- DFR0576 Гравитационный цифровой мультиплексор I2C с 1 по 8
- DFR0117 Модуль хранения данных Gravity I2C EEPROM
- DRI0001 Моторный щит Arduino L293
- DRI0002 MD1.3 2A Двухмоторный контроллер
- DRI0009 Моторный щит Arduino L298N
- DRI0021 Драйвер двигателя постоянного тока Veyron 2x25A Brush
- DRI0017 2A Моторный щит для Arduino Twin
- Драйвер двигателя постоянного тока DRI0018 2x15A Lite
- Микродвигатель постоянного тока FIT0450 с энкодером-SJ01
- FIT0458 Микродвигатель постоянного тока с энкодером-SJ02
- DFR0399 Микро-металлический мотор-редуктор постоянного тока 75 1 Вт Драйвер
- DRI0039 Quad Motor Driver Shield для Arduino
- DRI0040 Двойной 1.Драйвер двигателя 5A - HR8833
- DRI0044 2x1.2A Драйвер двигателя постоянного тока TB6612FNG
- Драйвер двигателя постоянного тока DFR0513 PPM 2x3A
- DFR0523 Гравитационный цифровой перистальтический насос
- DRI0027 Digital Servo Shield для Arduino
- DRI0029 24-канальный сервопривод Veyron
- SER0044 DSS-M15S 270 ° 15KG Металлический сервопривод DF с аналоговой обратной связью
- DRI0023 Экран шагового двигателя для Arduino DRV8825
- DRI0035 TMC260 Щиток драйвера шагового двигателя
- DFR0105 Силовой щит
- DFR0205 Силовой модуль
- DFR0457 Контроллер мощности Gravity MOSFET
- DFR0564 Зарядное устройство USB для 7.Литий-полимерная батарея 4 В
- DFR0535 Менеджер солнечной энергии
- DFR0559 Солнечная система управления мощностью 5 В для подсолнечника
- DFR0559 Менеджер солнечной энергии 5 В
- DFR0580 Solar Power Manager для свинцово-кислотных аккумуляторов 12 В
- DFR0222 Реле X-Board
- Релейный модуль DFR0017, совместимый с Arduino
- DFR0289 Релейный контроллер RLY-8-POE
- DFR0290 RLY-8-RS485 8-релейный контроллер
- DFR0144 Релейный экран для Arduino V2.1
- DFR0473 Gravity Digital Relay Module Совместимость с Arduino и Raspberry Pi
- KIT0003 EcoDuino - Комплект для автомобильных заводов
- KIT0071 MiniQ Discovery Kit
- KIT0098 Пакет компонентов подключаемого модуля Breadboard
- Артикул DFR0748 Цветок Китти
- SEN0305 Гравитация: HUSKYLENS - простой в использовании датчик машинного зрения с искусственным интеллектом
- Подключение датчика к Raspberry Pi
- DFR0677 ШЛЯПА ONPOWER UPS для Raspberry Pi
| НАРОМ
GPS-модуль U-blox NEO-6M-0-001, подключенный к Arduino Uno с двумя программными последовательными портами (Rx в D4 и Tx в D3).
Существует множество небольших коммерческих GPS-модулей, подходящих для использования в CanSat с программированием Arduino. В качестве примера мы здесь объясняем, как относительно легко можно использовать GPS-модуль U-blox NEO-6M-0-001 с комплектом Arduino Uno и CanSat.
Для облегчения использования U-blox NEO-6M-0-001 его можно заказать на откидной плате как GY-GPS6MV2 с антенной.
Как заставить модуль GPS работать с Arduino Uno
Необходимые соединения между Arduino Uno и GPS-модулем: земля, напряжение питания (3.3V), Tx и Rx.
Как видно из таблицы слева, Tx на модуле должен быть подключен к порту Rx на Arduino, а порт Rx на GPS-модуле должен быть подключен к порту Tx на Arduino. Поскольку мы используем последовательные порты Rx / Tx для радио- и USB-связи и регистрации данных, мы вместо этого используем программные последовательные порты. На Arduino Uno мы используем цифровой порт 3 как программный последовательный Tx-порт, а цифровой порт 4 как программный последовательный Rx-порт. См. Рисунок вверху справа.
Как включить заархивированную библиотеку в Arduino
Выполните следующие шаги, чтобы GPS-модуль работал с координатами, высотой и количеством спутников, выводимыми на серийный монитор:
- Загрузите и включите заархивированную папку «TinyGpsPlus» в библиотеку Arduino на своем ПК.См. Рисунок справа. Используйте следующую ссылку, чтобы загрузить необходимую библиотеку: TinyGPSPlus.
- Скопируйте текст из этого текстового документа: tiny_gps_1 в пустой скетч Arduino и скомпилируйте его, чтобы убедиться, что библиотека включена правильно.
- Подключите Arduino Uno с помощью кабеля USB к компьютеру и загрузите эскиз в Arduino Uno.
- Отключите Arduino Uno от вашего ПК.
- Подключаем GPS-модуль к Arduino Uno:
- Снова подключите Arduino Uno к компьютеру.Если соединения правильные, модуль GPS должен теперь показывать мигающий красный диод.
- Откройте монитор последовательного порта и просмотрите данные от модуля GPS, как показано на рисунке справа внизу. GPS и Arduino должны работать в течение нескольких минут, прежде чем GPS сможет подключиться к достаточному количеству спутников (обычно 4), необходимых для выдачи GPS-положения.
Последовательный выход монитора от модуля GPS.
Если все работает по назначению: просмотрите строки в программе Arduino, которую вы сейчас используете.Есть несколько закомментированных строк. Эти линии имеют возможности вывода, которые можно легко включить в вывод вашего последовательного монитора.
Пример вывода серийного монитора с помощью программы «полная версия». Щелкните, чтобы увеличить версию.
Более сложную версию с контрольной суммой и т. Д. Можно найти здесь: gps_full_version. Пример вывода на монитор последовательного порта с использованием этой полной версии программы показан на рисунке слева. Щелкните, чтобы увеличить версию.
Вы можете найти дополнительную информацию о TinyGpsPlus и других программах Arduino по этой ссылке, которая послужила источником вдохновения для этого раздела.
Комплект CanSat в сочетании с модулем GPS.
Комбинация датчиков из комплекта CanSat и модуля GPS. Вывод на последовательный монитор. Щелкните, чтобы увеличить версию.
Чтобы получить выходной сигнал как от датчиков набора Arduino, так и от GPS, программы Arduino должны быть объединены, а GPS можно припаять к экрану, как показано на рисунке слева. Здесь можно найти относительно простую программу Arduino, которая сочетает в себе датчики комплектов GPS и CanSat, и выводит ее на последовательный монитор, как показано на рисунке справа.Щелкните, чтобы увеличить версию.
Координаты GPS в Google Планета Земля
К счастью, довольно легко показать трек GPS в Google Планета Земля. Мы создали файл-пример, который вы можете найти здесь и редактировать вместе с вашими данными. Google Планета Земля использует формат файла XML с расширением KML. Вы можете поместить свои данные GPS между скобками / разделом
Adafruit Ultimate GPS Logger Arduino Shield - включает модуль GPS
Совершенно новый и лучший, чем когда-либо, Adafruit заменил свой комплект щитов Adafruit GPS на этот собранный щит, который поставляется с модулем Ultimate GPS. Этот экран GPS отлично работает с UNO или Leonardo Arduinos и предназначен для записи данных на SD-карту.Или вы можете оставить SD-карту и использовать GPS для проекта геокэшинга, или, может быть, музыкальный проигрыватель, который меняет мелодии в зависимости от того, где вы находитесь в городе.
- Чувствительность -165 дБм, обновления 10 Гц, 66 каналов
- Модуль с низким энергопотреблением - потребляемый ток всего 20 мА, половина от большинства GPS-навигаторов
- Собранный и протестированный щит для Arduino Uno / Duemilanove / Diecimila / Leonardo (не для использования с Mega / ADK / Due)
- Слот для карты MicroSD для записи данных на съемную карту
- Батарея RTC в комплекте, срок службы до 7 лет
- Встроенная запись данных на флеш-память
- Вывод PPS при исправлении
- Внутренняя патч-антенна + u.Разъем FL для внешней активной антенны
- Power, Pin # 13 и индикатор состояния Fix
- Большой участок прототипирования
Каждый заказ поставляется с одним собранным и протестированным экраном, штекером с разъемом 0,1 дюйма и круглой монетой 12 мм. Требуется небольшая пайка, чтобы прикрепить разъем к экрану, чтобы подключить его к Arduino. сложите щит сверху, не забудьте взять набор штабелируемых заголовков, чтобы использовать вместо них. Карта MicroSD тоже не входит в комплект, но у нас есть их в магазине!
Если ваш проект будет внутри корпуса, вы Вам понравится этот экран, так как он имеет внешнюю антенну.Просто подключите внешнюю активную антенну GPS через кабель uFL / SMA к экрану, и модуль автоматически переключится на использование антенны. Затем вы можете разместить антенну в любом месте.
Мы думаем, что это Ultimate GPS Shield, и мы также думаем, что вы согласитесь! Для получения дополнительных сведений, руководств и примеров кода ознакомьтесь с нашим подробным руководством