Gps arduino mega

Подключение GPS модуля Skylab SKM53 к Arduino Mega 2560

GeekElectronics » Arduino от А до Я » Подключение GPS модуля Skylab SKM53 к Arduino Mega 2560

Сегодня у меня праздник. Удалось запустить GPS модуль Skylab SKM53 на моей Arduino Mega 2560.

Пару месяцев я с ним провозился и все безрезультатно. На Arduino UNO работает, а на моей Arduino Mega 2560 не хотел. За это время я перебрал кучу сторонних скетчей, написал не меньшую кучу своих,но результат был нулевым.

К сожалению причину неполадки мне выяснить так и не удалось, но вот заставить работать SKM53 с Arduino Mega получилось.

Сегодня я просто начал перебирать дискретные порты по порядку и на портах 50-51 и 52-53 этот GPS модуль заработал и показал мне долгожданные координаты. Ну вот закон подлости – заработало на последних контактах.

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

Теперь займемся подключением самого GPS модуля Skylab SKM53.

  • RXD – цифровой пин 50 Arduino Mega (можно не подключать)
  • TXD – цифровой пин 51 Arduino Mega
  • RST
  • NC
  • GND – GND Arduino Mega
  • VCC — +5 В Arduino Mega

Для работы с GPS нам понадобится установить дополнительную библиотеку TinyGPS.

tinygps.rar (10,6 KiB, 1 335 hits)

Скачайте архив и распакуйте его содержимое в \arduino-1.0\libraries\

Загрузим проверочный скетч, который нам покажет координаты (широта и долгота), скорость (км/ч), количество спутников, высоту над уровнем моря, дату и время (по Гринвичу) – последние параметры будут заменять друг друга в нижних строках экрана каждую секунду:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

TinyGPS gps;
// Дискретные пины, к которым подключен GPS SKM53
SoftwareSerial skm53(51, 50);

bool line=false; // переменная для смены информации в 3 и 4 строках экрана

void setup()
<
/* Инициализируем дисплей: 4 строки по 16 символов */
lcd.begin(16, 4);
// Скорость работы с GPS модулем (для SKM53 9600)
skm53.begin(9600);
//Serial.begin(115200);

// Выводим на экран текст о том, что идет поиск спутников
lcd.setCursor(0, 0);
lcd.print(«Find satellites»);
lcd.setCursor(0, 1);
lcd.print(» Please Wait «);
>

void loop()
<
bool newData = false;

Источник

GPS/GLONASS v1 (Troyka-модуль)

Модуль GPS/GLONASS v1 принимает сигналы спутников глобального позиционирования — GPS, GLONASS и Galileo — и рассчитывает свои географические координаты, скорость перемещения, высоту над уровнем моря и точное локальное время.

Данные передаются на управляющую электронику в текстовом формате NMEA по интерфейсу UART.

Видеообзор

Принцип работы систем спутниковой навигации

Спутники непрерывно передают навигационные сигналы на дециметровых волнах. В сигнал входят метки точного времени и координаты самого спутника.

Навигатор, по задержке прохождения сигнала со спутника рассчитывает точное расстояние до него. Затем повторяет эту операцию для остальных известных спутников. Эти данные сводятся вместе — так получается точное значение координат приёмника.

Для работы навигаторов нужно открытое небо с минимум четырьмя спутниками в прямой видимости. Чтобы система работала по всей планете в каждой орбитальной группировке приходится держать более двух десятков спутников.

GPS-модуль общается с управляющей платой с помощью NMEA-сообщений (от «National Marine Electronics Association») — это стандарт передачи данных оборудования навигации, связи и других информационных сетей.

Подключение и настройка

GPS/GLONASS-модуль общается с управляющей платой по протоколу UART. В зависимости от управляющей платформы выберите вариант подключения GPS-модуля.

HardwareSerial

На управляющей плате Iskra JS и Arduino платах с микроконтроллером ATmega32U4 / ATSAMD21G18 , данные по USB и общение через пины 0 и 1 осуществляется через два раздельных UART. Это даёт возможность подключить GPS-модуль к аппаратному UART на пинах 0 и 1 .

Список поддерживаемых плат:

При подключении удобно использовать Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов.

SoftwareSerial

Некоторые платы Arduino, например, Uno, прошиваются через пины 0 и 1 . Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с GPS-модулем. Решение проблемы — программный UART. Подключите пины TX и RX GPS-модуля к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.

Для примера подключим управляющие пины GPS-модуля TX и RX — на 4 и 5 контакты управляющей платы.

При подключении удобно использовать Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов.

HardwareSerial Mega

На платах форм-фактора Arduino Mega 2560 аппаратный UART, который отвечает за передачу данных через пины 1 и 0 , отвечает также за передачу по USB. Это означает невозможность использовать одновременно UART для коммуникации с GPS-модулем и отладки по USB.

Но на платах такого форм-фактора есть ещё дополнительно 3 аппаратных UART:

Список поддерживаемых плат:

Подключим GPS-модуль к объекту Serial1 на пины 18 и 19 на примере платы Arduino Mega 2560.

Примеры работы

Рассмотрим примеры работы GPS-модуля в зависимости от управляющей платформы.

Пример для Arduino HardwareSerial

В качестве примера выведем в Serial данные с GPS-модуля. Распарсим строки в отдельные переменные и сохраним их. Для этого скачайте и установите библиотеку TroykaGPS.

Пример для Arduino SoftwareSerial

В отличии от аппаратного UART (HardwareSerial), за работу программного UART (SoftwareSerial) отвечает микроконтроллер, который назначает другие пины в режим работы RX и TX , соответственно и данные которые приходят от модуля GPS обрабатывает сам микроконтроллер во время программы. По умолчанию скорость общения GPS-модуля равна 115200 , что значительно выше чем позволяет библиотека SoftwareSerial. В итоге часть информации которая приходит с GPS-модуля будет утеряна.

Решение понизить скорость общения GPS-модуля с управляющей платой. Из описание команд управления GPS-модулем найдём NMEA-команду понижение скорости до 9600 бод.

Данную команду придётся выполнять при каждом новом включении GPS-модуля. В качестве примера выведем в Serial данные с GPS-модуля. Распарсим строки в отдельные переменные и сохраним их. Для этого скачайте и установите библиотеку TroykaGPS

Пример кода для Iskra JS

Выведем данные о координатах, высоте над уровнем моря, количестве видимых спутников и точном времени в консоль Web IDE.

Каждую секунду в консоль будет выводится информация от модуля.

Элементы платы

Модуль NL3333

NL3333 – навигационный приемник НАВИА, выполненный в оригинальном форм-факторе 8.7×9.5 мм на базе чипсета MediaTek MT3333.

Приемник использует весь спектр GNSS систем: GPS, GLONASS и Galileo. NL3333 отличается высокой чувствительностью, малым энергопотреблением и быстрым временем первой фиксации (TTFF). Связь с модулем осуществляется через UART, данные выводятся по протоколу NMEA.

Контакты подключения трёхпроводных шлейфов

На модуле выведены две группы Troyka-контактов.

Источник

GPS/GLONASS-приёмник v2 (Troyka-модуль): инструкция по подключению и примеры использования

Модуль GPS/GLONASS v2 принимает сигналы спутников глобального позиционирования — GPS, GLONASS и Galileo — и рассчитывает свои географические координаты, скорость перемещения, высоту над уровнем моря и точное локальное время.

Данные передаются на управляющую электронику в текстовом формате NMEA по интерфейсу UART.

Предыдущие версии

Первая ревизия модуля. Она отличается чипом NL3333, вместо Neoway G7.

Видеообзор

Принцип работы систем спутниковой навигации

Спутники непрерывно передают навигационные сигналы на дециметровых волнах. В сигнал входят метки точного времени и координаты самого спутника.

Навигатор, по задержке прохождения сигнала со спутника рассчитывает точное расстояние до него. Затем повторяет эту операцию для остальных известных спутников. Эти данные сводятся вместе — так получается точное значение координат приёмника.

Для работы навигаторов нужно открытое небо с минимум четырьмя спутниками в прямой видимости. Чтобы система работала по всей планете в каждой орбитальной группировке приходится держать более двух десятков спутников.

GPS-модуль общается с управляющей платой с помощью NMEA-сообщений (от «National Marine Electronics Association») — это стандарт передачи данных оборудования навигации, связи и других информационных сетей.

Подключение и настройка

GPS/GLONASS-модуль общается с управляющей платой по протоколу UART. В зависимости от управляющей платформы выберите вариант подключения GPS-модуля.

HardwareSerial

На управляющей плате Iskra JS и Arduino платах с микроконтроллером ATmega32U4 / ATSAMD21G18 , данные по USB и общение через пины 0 и 1 осуществляется через два раздельных UART. Это даёт возможность подключить GPS-модуль к аппаратному UART на пинах 0 и 1 .

Список поддерживаемых плат:

При подключении удобно использовать Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов.

SoftwareSerial

Некоторые платы Arduino, например, Uno, прошиваются через пины 0 и 1 . Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с GPS-модулем. Решение проблемы — программный UART. Подключите пины TX и RX GPS-модуля к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.

Для примера подключим управляющие пины GPS-модуля TX и RX — на 4 и 5 контакты управляющей платы.

При подключении удобно использовать Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов.

HardwareSerial Mega

На платах форм-фактора Arduino Mega 2560 аппаратный UART, который отвечает за передачу данных через пины 1 и 0 , отвечает также за передачу по USB. Это означает невозможность использовать одновременно UART для коммуникации с GPS-модулем и отладки по USB.

Но на платах такого форм-фактора есть ещё дополнительно 3 аппаратных UART:

Список поддерживаемых плат:

Подключим GPS-модуль к объекту Serial1 на пины 18 и 19 на примере платы Arduino Mega 2560.

Примеры работы

Рассмотрим примеры работы GPS-модуля в зависимости от управляющей платформы.

Пример для Arduino HardwareSerial

В качестве примера выведем в Serial данные с GPS-модуля. Распарсим строки в отдельные переменные и сохраним их. Для этого скачайте и установите библиотеку TroykaGPS.

Пример для Arduino SoftwareSerial

В отличии от аппаратного UART (HardwareSerial), за работу программного UART (SoftwareSerial) отвечает микроконтроллер, который назначает другие пины в режим работы RX и TX , соответственно и данные которые приходят от модуля GPS обрабатывает сам микроконтроллер во время программы. По умолчанию скорость общения GPS-модуля равна 115200 , что значительно выше чем позволяет библиотека SoftwareSerial. В итоге часть информации которая приходит с GPS-модуля будет утеряна.

Решение понизить скорость общения GPS-модуля с управляющей платой. Из описание команд управления GPS-модулем найдём NMEA-команду понижение скорости до 9600 бод.

Данную команду придётся выполнять при каждом новом включении GPS-модуля. В качестве примера выведем в Serial данные с GPS-модуля. Распарсим строки в отдельные переменные и сохраним их. Для этого скачайте и установите библиотеку TroykaGPS

Пример кода для Iskra JS

Выведем данные о координатах, высоте над уровнем моря, количестве видимых спутников и точном времени в консоль Web IDE.

Каждую секунду в консоль будет выводится информация от модуля.

Элементы платы

Модуль Neoway G7

Чипсет Neoway — навигационный приемник НАВИА, выполненный в оригинальном форм-факторе 8.7×9.5 мм на базе чипсета MediaTek MT3333.

Приемник использует весь спектр GNSS систем: GPS, GLONASS и Galileo. Neoway G7 отличается высокой чувствительностью, малым энергопотреблением и быстрым временем первой фиксации (TTFF). Связь с модулем осуществляется через UART, данные выводятся по протоколу NMEA.

Контакты подключения трёхпроводных шлейфов

На модуле выведены две группы Troyka-контактов.

Источник

Adblock
detector