NEO-6M GPS Module

u-blox · u-blox NEO-6M-0-001; UART на переходной плате

Получение координат, скорости и времени по спутниковым сигналам.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает u-blox NEO-6M-0-001; UART на переходной плате

NEO-6M — приёмник GPS поколения u-blox 6. В карточке рассматривается оригинальный NEO-6M-0-001 и вывод его UART через переходную плату. Приёмник работает с GPS L1 C/A и SBAS; ему нельзя приписывать одновременный приём GLONASS, Galileo и BeiDou. Производитель относит NEO-6 к устаревшему поколению и предлагает более новые семейства для новых разработок.

В магазинах название часто относится ко всей плате с антенной, регулятором и резервным элементом питания. Эти элементы не входят в спецификацию самого NEO-6M. Маркировка GY-GPS6MV2 или похожая форма не подтверждает происхождение чипа и допустимый вход VIN. Пример предполагает переходник с прямым доступом к 3,3-вольтовой шине VCC модуля; если доступен только вход регулятора, используйте его паспортное напряжение.

Координаты зависят от обзора неба и отражений. Получение строк NMEA ещё не означает действительное позиционное решение. Это не RTK-приёмник; количество знаков после запятой не является гарантией точности. Антенне нужен обзор неба, а приёмник следует удалить от преобразователей и радиопередатчиков.

NEO-6M GPS Module. Фото: Markus Bärlocher. Оригинал: https://commons.wikimedia.org/wiki/File:GPS_ublox_NEO-M6_Chip.jpg . Лицензия фотографии: CC0 1.0, https://creativecommons.org/publicdomain/zero/1.0/ . Изменения: Изолирована плата вместе с видимой частью нижней антенны; спичка-масштаб и исходный фон исключены. Очищены видимые просветы монтажных отверстий. Пропорциональное масштабирование, размещение на предоставленном фоне и JPEG-сжатие. Геометрия, маркировка и видимые детали не перерисовывались. Цветокоррекция и повышение детализации не применялись. Пример платы с маркировкой u-blox NEO-6M-0-001; изготовитель платы-носителя не подтверждён. Фото не подтверждает допустимое напряжение VCC.

Схема распиновки

Авторская распиновка SLDV LAB: Плата на фото с u-blox NEO-6M-0-001; производитель носителя неизвестен. Компоненты к вам; четырёхконтактный ряд слева, сверху вниз: VCC, RXD, TXD, GND. Для других ревизий и плат требуется отдельная проверка. Напряжение VCC носителя не подтверждено; карта не является инструкцией подачи питания.

VCC на фотографии относится к неизвестной плате-носителю. Подключение 3,3 В в примере относится к прямому выводу питания самого NEO-6M, а не к неподтверждённому входу носителя.

Источники: 1, 2. Авторская карта контактов SLDV LAB; это не инструкция подачи питания на неизвестную плату.

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

Навигационные системы
GPS L1 C/A; SBAS
Поколение
u-blox 6, legacy / EOL
Максимум частоты навигации NEO-6M
5 Гц
Вывод данных
NMEA / UBX по UART
UART по умолчанию
9600, 8N1
Интерфейс
UART
Питание модуля
VCC самого NEO-6M — 2,7–3,6 В; в примере 3,3 В и UART 3,3 В. Вход VIN готовой платы зависит от её регулятора; 5 В на VCC или UART самого модуля недопустимы.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
VCC, контакт 23 самого модуляСтабилизированные 3,3 В через предусмотренную шину переходникаЭто контакт 23 самого NEO-6M, не одноимённый контакт VCC на неизвестной плате. У показанного на фото носителя схема питания не установлена. Перед подачей напряжения на его разъём определить вход регулятора по схеме; не соединять источники и не паять к модулю без навыков.
GND переходникаGND ESP32-DevKitC V4Общая земля; это подключение готовой переходной платы, не полная схема обвязки голого SMD.
TXD, контакт 20 самого модуляGPIO16, RX UART 1Выход GNSS → вход ESP32; логика 3,3 В.
RXD, контакт 21 самого модуляНе подключён к хостуСкетч только читает. GPIO17 назначен TX UART, но физически не подключён; для конфигурации подключить его к RXD после проверки уровня.
Антенный разъём переходникаПодходящая GNSS-антеннаТип, разъём и питание активной антенны зависят от платы; не подключать её к GPIO.

Подходит для ESP32, Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги подключить NEO-6M GPS Module. Уточни маркировку самого модуля, изготовителя переходной платы, вход VIN/VCC, тип антенны, плату хоста и задачу. Раздели питание носителя и самого приёмника. Дай UART-подключение, библиотеку TinyGPSPlus, полный пример чтения с проверкой свежести и валидности координат, диагностику отсутствия NMEA и тест под открытым небом. Не обещай точность по числу знаков и не назначай одинаковый набор GNSS любому поколению. Для M8N проверь версию прошивки до обсуждения Galileo; обновление не требуется для обычного чтения.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Плата и API
ESP32-DevKitC V4; Arduino-ESP32 3.3.0; TinyGPSPlus 1.0.3

Обычный ESP32-WROOM-32; API проверено в закреплённых исходниках.

UART
9600; 8N1; RX GPIO16; TX GPIO17 не подключён

Заводской профиль; продавец или предыдущая программа могли изменить baud.

Заголовок
#include <TinyGPS++.h>

Название библиотеки TinyGPSPlus, файл TinyGPS++.h.

Свежесть решения
gps.location.isValid() && gps.location.age() <= 3000

Возраст в миллисекундах; устаревшие координаты не выдаются за текущие.

Чтение NMEA с диагностикой связи и свежести

cpp
#include <Arduino.h>
#include <TinyGPS++.h>
HardwareSerial gnss(1);
TinyGPSPlus gps;
uint32_t lastReport = 0;
void setup() {
  Serial.begin(115200);
  gnss.begin(9600, SERIAL_8N1, 16, 17);
  Serial.println("GNSS: waiting for NMEA");
}
void loop() {
  while (gnss.available()) gps.encode(gnss.read());
  if (millis() - lastReport >= 2000) {
    lastReport = millis();
    if (gps.charsProcessed() == 0) {
      Serial.println("No UART data: check TX, GND and baud");
    } else if (!gps.location.isValid() || gps.location.age() > 3000) {
      Serial.print("No fresh fix; NMEA bytes: ");
      Serial.print(gps.charsProcessed());
      Serial.print("; checksum errors: ");
      Serial.println(gps.failedChecksum());
    } else {
      Serial.print(gps.location.lat(), 6);
      Serial.print(", ");
      Serial.println(gps.location.lng(), 6);
    }
  }
}

Полный скетч для ESP32-DevKitC V4 с ESP32-WROOM-32, Arduino IDE и Arduino-ESP32 3.3.0. API сверено по исходникам; компиляция и проверка на реальном оборудовании здесь не выполнялись. Подключить антенну по паспорту носителя, вынести приёмник к открытому небу и открыть монитор 115200. Сначала проверить поступление байтов, затем появление свежего fix. Если UART молчит — проверить перекрёстное TX/RX, землю, режим и baud. Если строки идут, а fix нет — проверить антенну и обзор неба; холодный старт может занять минуты в плохих условиях. Шесть знаков координат — формат вывода, а не заявленная точность.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты