Skip to main content

SeeedStudio XIAO L76K GNSS 模块入门指南

介绍​

SeeedStudio XIAO L76K GNSS 模块是一款与所有 XIAO 开发板兼容的多 GNSS(全球导航卫星系统)模块,支持 GPS、北斗(BDS)、GLONASS 和 QZSS 系统,允许多系统组合或单系统独立定位。它还支持 AGNSS 功能,内置低噪声放大器和声表面滤波器,提供快速、准确、高性能的良好定位体验。

该模块配备高性能有源 GNSS 天线,旨在覆盖 GPS L1 C/A、北斗 B1 和 GLONASS L1 频段。设计还包含一个微小的亮绿色 LED,用于指示定位时的 1PPS 输出。

特性​

  • 增强接收: 内置低噪声放大器和声表面波滤波器,提高灵敏度并降低噪声
  • 高精度: 32/72 通道,-162dBm 跟踪,-160dBm 重新捕获灵敏度
  • 节能高效: 41mA 跟踪/捕获,360µA 待机
  • 多 GNSS 系统: 采用 Quectel L76K,支持 GPS、北斗、GLONASS 和 QZSS
  • 陶瓷天线: 增强信号接收,优于传统天线。

规格参数​

项目详细信息
GNSS 频段GPS L1 C/A: 1575.42MHz
GLONASS L1: 1602MHz
北斗 B1: 1561.098MHz
通道32 跟踪通道/72 捕获通道
TTFF(首次定位时间)冷启动:30s(无 AGNSS),5.5s(有 GNSS)
热启动:5.5s(无 AGNSS),2s(有 AGNSS)
灵敏度自动捕获:-148dBm
跟踪:-162dBm
重新捕获:-160dBm
精度位置:2.0m CEP
速度:0.1m/s
加速度:0.1m/s²
时间:30ns
UART 接口波特率:9600~115200bps(默认 9600bps)
更新频率:1Hz(默认),5Hz(最大)
协议:NMEA 0183,CASIC 专有协议
天线类型:有源天线
工作频率:1559–1606MHz
同轴电缆:RF1.13 长度=10cm
电缆连接器:U.FL 插头 RA
电流消耗(含有源天线)自动捕获:41mA
跟踪:41mA
待机:360uA
尺寸18mm x 21mm

硬件概述​

在开始之前,我们可以参考以下图片来了解 SeeedStudio XIAO L76K GNSS 模块的引脚设计,以便于我们理解该模块的功能。

入门指南​

硬件准备​

为了充分体验 L76K GNSS 模块的功能,我们建议将其与我们 XIAO 系列的主板配对使用。以下任何一款 XIAO 型号都与 L76K GNSS 模块兼容。

Seeed Studio XIAO SAMD21Seeed Studio XIAO RP2040Seeed Studio XIAO nRF52840 (Sense)Seeed Studio XIAO ESP32C3Seeed Studio XIAO ESP32S3 (Sense)

在XIAO主板上使用此模块之前,您需要在模块上安装排针插座,并将有源GNSS天线插入模块。连接到XIAO时,请特别注意模块的安装方向,请不要反向插入,否则很可能烧毁模块或XIAO。

caution

请特别注意模块的安装方向,请不要反向插入,否则很可能烧毁模块或XIAO。

软件准备​

要使用SeeedStudio XIAO的L76K GNSS模块,我们需要对XIAO系列进行编程。推荐的编程工具是Arduino IDE,您需要为XIAO配置Arduino环境并添加板载包。

tip

如果这是您第一次使用Arduino,我们强烈建议您参考Arduino入门指南。

步骤1. 根据您的操作系统下载并安装稳定版本的Arduino IDE​

步骤2. 启动Arduino应用程序​

步骤3. 为您使用的XIAO配置Arduino IDE​

  • 如果您想在后续例程中使用Seeed Studio XIAO SAMD21,请参考**此教程**完成添加。

  • 如果您想在后续例程中使用Seeed Studio XIAO RP2040,请参考**此教程**完成添加。

  • 如果您想在后续例程中使用Seeed Studio XIAO nRF52840,请参考**此教程**完成添加。

  • 如果您想在后续例程中使用Seeed Studio XIAO ESP32C3,请参考**此教程**完成添加。

  • 如果您想在后续例程中使用Seeed Studio XIAO ESP32S3,请参考**此教程**完成添加。

步骤4. 将TinyGPSPlus库添加到Arduino​

首先,您需要在Arduino IDE中搜索并下载最新版本的TinyGPSPlus库。

应用演示​

示例1:读取和显示GNSS数据​

硬件和软件准备就绪后,我们开始上传第一个示例程序。L76K GNSS模块在上电后每1秒通过串口打印GNSS信息。在此示例中,我们将使用TinyGPSPlus库来解析从模块接收的NMEA语句,并将包括纬度、经度和时间在内的结果打印到Arduino IDE的串口监视器。

以下是源代码:

#include <TinyGPSPlus.h>
#include <SoftwareSerial.h>
/*
This sample sketch demonstrates how to use L76K GNSS Module on SeeedStudio XIAO.
*/
static const int RXPin = D7, TXPin = D6;
static const uint32_t GPSBaud = 9600;

// The TinyGPSPlus object
TinyGPSPlus gps;

// The serial connection to the GNSS module
SoftwareSerial ss(RXPin, TXPin);

void setup() {
Serial.begin(115200);
#ifdef ARDUINO_SEEED_XIAO_RP2040
pinMode(D2,OUTPUT);
digitalWrite(D2,1);
pinMode(D0,OUTPUT);
digitalWrite(D0,1);
#endif
ss.begin(GPSBaud);

Serial.println(F("DeviceExample.ino"));
Serial.println(F("A simple demonstration of TinyGPSPlus with L76K GNSS Module"));
Serial.print(F("Testing TinyGPSPlus library v. "));
Serial.println(TinyGPSPlus::libraryVersion());
Serial.println(F("by Mikal Hart"));
Serial.println();
}

void loop() {
// This sketch displays information every time a new sentence is correctly encoded.
while (ss.available() > 0)
if (gps.encode(ss.read()))
displayInfo();

if (millis() > 5000 && gps.charsProcessed() < 10) {
Serial.println(F("No GPS detected: check wiring."));
while (true);
}
}

void displayInfo() {
Serial.print(F("Location: "));
if (gps.location.isValid()) {
Serial.print(gps.location.lat(), 6);
Serial.print(F(","));
Serial.print(gps.location.lng(), 6);
} else {
Serial.print(F("INVALID"));
}

Serial.print(F(" Date/Time: "));
if (gps.date.isValid()) {
Serial.print(gps.date.month());
Serial.print(F("/"));
Serial.print(gps.date.day());
Serial.print(F("/"));
Serial.print(gps.date.year());
} else {
Serial.print(F("INVALID"));
}

Serial.print(F(" "));
if (gps.time.isValid()) {
if (gps.time.hour() < 10) Serial.print(F("0"));
Serial.print(gps.time.hour());
Serial.print(F(":"));
if (gps.time.minute() < 10) Serial.print(F("0"));
Serial.print(gps.time.minute());
Serial.print(F(":"));
if (gps.time.second() < 10) Serial.print(F("0"));
Serial.print(gps.time.second());
Serial.print(F("."));
if (gps.time.centisecond() < 10) Serial.print(F("0"));
Serial.print(gps.time.centisecond());
} else {
Serial.print(F("INVALID"));
}

Serial.println();
}

只需选择您正在使用的 XIAO 和 XIAO 所在的端口号,编译并上传即可。

确保 L76K GNSS 模块放置在室外能够接收到良好 GNSS 信号的地方。将代码上传到您的 XIAO 并等待几分钟,您应该能在串口监视器上看到显示的信息。

此代码使用 TinyGPSPlus 库通过串行连接从 L76K GNSS 模块读取数据,并在串口监视器上显示有效的位置信息和日期/时间。

资源​

故障排除​

Details

可充电电池能为 XIAO 供电吗? 不能,在这种情况下,可充电电池仅用于实时时钟(RTC)和维持 L76K GNSS 模块的热启动状态。它不能用作 XIAO 或 GNSS 模块一般操作的主要电源。

为什么 GNSS 信息不在串口监视器上显示?

确保 L76K GNSS 模块放置在室外,能够接收到良好的 GNSS 信号。

Details

为什么设备插入 XIAO RP2040 时绿灯持续亮着? 要解决这个问题,您需要将 D0 和 D2 拉高。定位绿灯的持续亮起表明设备已进入异常工作状态。

pinMode(D2,OUTPUT);
digitalWrite(D2,1);
pinMode(D0,OUTPUT);
digitalWrite(D0,1);

技术支持与产品讨论​

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...