物联网AI MicroPython传感器学习 之 GPS户外定位模块

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

HT2828Z3G5L是一款高性能的面向车载组合导航领域的定位G-MOUSE,系统包含同时支持北斗和GPS的高性能卫星接收机芯片。具备全方位功能,能满足专业定位的严格要求。体积小巧,可以装置在汽车内部任何位置,低功耗,能适应个人用户的需要。
该产品采用了新一代AT6558D低功耗芯片,高灵敏度,在城市峡谷、高架下等信号弱的地方,都能快速、准确的定位。可广泛应用开发多种GPS终端产品,如:汽车导航汽年保全系统、车辆监控以及其他卫星定位应用等。
image.png
接口说明

标号名称功能描述
1VBAT/PPS兼容备用电池/时间标准脉冲输出
2VCC系统主电源,供电电压为3.3~5V,工做时消耗电流约25mA
3TXUART/TTL接口,可选RS232_TXD
4RXUART/TTL接口,可选RS232_RXD
5GND接地
6EN电源使能,高电平/悬空模组工作,低电平模组关闭

二、技术参数

  • 行业标准的25_25_4mm高灵敏度GPS天线
  • 采用0.5PPM高精度TCXO
  • 内建RTC晶体及皮法电容更快的热启动
  • 内建LNA,低噪声信号放大器
  • 采用6558D芯片,内置FLASH,支持温启动
  • 1~10Hz定位更新速率
  • 支持AssistNow Online和AssistNow Offline等A-GPS服务
  • GPS、北斗、GLONASS、(WMS,EGNOS,MSAS,GAGAN)混合引擎

三、软件接口

Gnss(uartObj) - 创建全球导航定位传感器驱动对象

  • 函数原型

gnssObj = Gnss(uartObj)

  • 参数说明:
参数类型必选参数?说明
uartObjUART传入UART对象
  • 返回值

若创建Gnss对象成功,返回Gnss对象;若创建Gnss对象创建失败,抛出Exception

  • 示例代码
from machine import UART,Pin    # 驱动库
import gnss                     # gnss定位驱动库

uartObj = UART(1, baudrate=9600,bits = 8,stop = 1, tx=Pin(33), rx=Pin(32))
gnssObj = gnss.GNSS(uartObj) # GNSS设备初始化
print("Testing gnss ...")
  • 输出
Testing gps ...

getLocation() - 获取GPS信息值

  • 函数功能:

解析更新GPS数据

  • 函数原型:

Gnss.getLocation()

  • 参数说明:

  • 返回值:

成功:返回gnss定位信息值,数据类型:字典,含义如下:
longitude(纬度)
latitude(经度)
altitude(海拔)

  • 示例:
from machine import UART,Pin    # 驱动库
import gnss                     # gnss定位驱动库

uartObj = UART(1, baudrate=9600,bits = 8,stop = 1, tx=Pin(33), rx=Pin(32))
gnssObj = gnss.GNSS(uartObj) # GNSS设备初始化
print("Testing gnss ...")

location = gnssObj.getLocation()
print("The gnss infor 纬度-%d 经度-%d 海拔-%d",location.longitude, location.latitude, location.altitude)
  • 输出
Testing gnss ...
The gnss infor 纬度-xx 经度-xx 海拔-xx

四、接口案例

  • 案例代码
from machine import UART,Pin    # 驱动库
import gnss                     # gnss定位驱动库
import utime

uartObj = UART(1, baudrate=9600,bits = 8,stop = 1, tx=Pin(33), rx=Pin(32))
gnssObj = gnss.GNSS(uartObj) # GNSS设备初始化
print("Testing gnss ...")

while True:
    utime.sleep(1)
    location = gnssDev.getLocation()
    print("The gnss infor 纬度-%d 经度-%d 海拔-%d",location.longitude, location.latitude, location.altitude)
  • 输出
Testing gnss ...
The gnss infor 纬度-xx 经度-xx 海拔-xx

五、工作原理

1、电气特性

输入电压宽电压范围:主电源为3.3~5V
工作电流30mA
备用电压1.8~3.6V
温度范围5% to 95% non-condensing
工作温度-40度~100度
存储温度-55度~100度

2、模块性能

标号名称功能描述
1芯片AT65558D(内置FLASH,支持温启动)
2频率BDS/GPS/1.5611-1.57542GHz
3C/A码1.023MHz码流
4可用波特率4800,19200,38400,57600,115200bps(默认9600)
5通道三通道射频,支持GPS+BDS(默认)、BDS+GLONASS、GPS+GLONASS输出
6SWRS11<=1.3
7SWRS22<=1.3
8Log MagS212>=20.0dB
9SmithS11:50欧姆+5%
10灵敏度跟踪:-162dBm,捕捉:-148dBm
11冷启动平均35秒
12冷启动灵敏度-148dBm
13温启动平均10秒
14热启动平均1秒
15热启动灵敏度-156dBm
16AGPS网络辅助星历数据3s(平均)
17定位精度<5m
18授时精度30ns
19方向<0.5Degree
20参照坐标系WGS-84
21速率<0.1m/s
22最大海拔高度50000米
23标准时钟脉冲0.25Hz~1KHz
24最大速度515m/s
25最大加速度<=4G
26更新频率1~10Hz(默认1Hz)
27端口界面UART:232/TTL
28输出语句NMEA 0183 V3.0(GGA,GSA,GSV,RMC,VTG,GLL)协议数据

GPS是全球定位系统(Global Position System)的简称,常见于汽车、手机中。民用GPS的定位精度在10~20米之间,这是为什么用手机的GPS定位,有时候明明在陆地上,却被认为在河里的原因。GPS定位的原理很简单,叫做三角定位法(Triangulation)。原理如下图所示:
image.png
装在无人车上的GPS接收机,首先量测无线电信号到达卫星的传播时间,再将传播时间乘以光速,即可得到当前GPS接收机到达卫星的距离,有了距离,就可以根据几何原理求得位置了。
image.png
若已知GPS接收机到达1号卫星和3号卫星的距离,那么1号和3号卫星根据距离产生两个球体(图中绿色和蓝色的球体),两个球体的相交的部分为圆形,该圆形与地球表面靠近的任何一个点都有可能是当前无人车(GPS接受装置)的位置。
因此仅根据这两个距离信息,还无法确定当前无人车的具体位置。此时通过引入第三个卫星的距离,就能较为准确地确定无人车的位置。这就是三角定位法的原理。

参考文献

[1] GPS模块购买链接

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值