概述
GPS+北斗定位借助Arduino的数值显示
- 一、前言
- 二、硬件要求
- 三、参数基础
- 四、原理剖析
- 五、使用方式
- 六、程序概要
- 七、成果展示
- 八、数据解析
- 九、总结
一、前言
较多的导航软件在生活中层出不穷,但是卫星定位同样也适用于轨迹记录、经纬分析、授时系统等,多样的功能使其能够应用于各个不同的场景。
二、硬件要求
本次使用的就是这款ATGM336H模块 ,它是搭载了中科微第四代低功耗GNSS SOC单芯片—AT6558。支持多种卫星导航系统,包括中国的BDS(北斗卫星 导航系统),美国的GPS,俄罗斯的GLONASS,欧盟的GALILEO,日本的QZSS 以及卫星增强系统SBAS(WAAS,EGNOS,GAGAN,MSAS)。
AT6558 是一 款真正意义的六合一多模卫星导航定位芯片,包含32 个跟踪通道,可以同时接收这六个卫星导航系统的GNSS 信号,并且可以直接替换Ublox MAX系列模块。
三、参数基础
支持 A-GNSS
冷启动捕获灵敏度:-148dBm
跟踪灵敏度:-162dBm
定位精度:2.5 米(CEP50,开阔地)
首次定位时间:32 秒
低功耗:连续运行<25mA(@3.3V)
内置天线检测及天线短路保护功能
输出协议:ATGM332D-5N 系列模块通过 UART 作为主要输出通道, 按照NMEA0183 的协议格式输出,具体信息请参照《CASIC 多模卫星导航接收机协议规范》 。
四、原理剖析
该模块主要由ATGM332D-5N搭载诸多的元器件构成,其中不乏预留天线口、uart协议脚、iic协议脚,最终成型的也是vcc和gnd电源脚,rx、tx的协议脚,以及pps脚。
本电路中,3.3v供电即可看到指示灯亮起,伴随芯片运作,整个端口的输入输出联系起来,实现远程收发的时候天线就作用起来了。
五、使用方式
主要以uart的协议,进行数值反馈。
可以在电脑window系统上面的上位机软件,利用usb转ttl,连接到电脑上可以看到相关的定位信息、经纬度、授时信息,更为全面。
同样该协议也适用于开发板的程序应用,包括stm32、arduino、单片机等。
六、程序概要
//ATGM336H接线 vcc接3.3v gnd接gnd tx接0引脚 其余不接
//led灯接线 红接13引脚 黑接gnd
#define GPSSerial Serial
#define DEBUGSerial Serial
int L = 13; //LED指示灯引脚
void setup() //一次循环
{
GPSSerial.begin(9600); //定义波特率9600,刷新
DEBUGSerial.begin(9600); //定义波特率9600,刷新
DEBUGSerial.println("GPS information");//输出换行
DEBUGSerial.println("Please wating...");
pinMode(L, OUTPUT);
}
void loop() //主循环
{
if (GPSSerial.available()) {
DEBUGSerial.write(GPSSerial.read());//如果收到GPS数据则通过Serial输出
}
else{
digitalWrite(L,1);//否则灯亮起
}
}
七、成果展示
八、数据解析
举例第1行
$GNGGA,132506.000,2233.87430,N,11407.13740,E,1,13,1.0,103.3,M,-2.8,M,*5E
$GNGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,*CS
GGA接收机定位数据。GN是GPS+北斗双模式
<1> 132506.000:UTC时间,hhmmss.sss(时分秒.毫秒)格式
<2> 2233.87430:纬度ddmm.mmmm(度分)格式(前导位数不足补0)
<3> N:纬度半球N(北半球)或S(南半球)
<4> 11407.13740:经度dddmm.mmmm(度分)格式(前导位数不足补0)
<5> E:经度半球E(东经)或W(西经)
<6> 1: GPS状态:0=未定位,1=非差分定位,2=差分定位,3=PPS模式
<7> 13:正在使用解算位置的卫星数量(00~24)(前导位数不足补0)
<8> 1.0:HDOP水平精度因子(0.5~99.9)
<9> 103.3:海拔高度(-9999.9~99999.9)
<10> M:高度单位
<11> -2.8:地球椭球面相对于海平面的高度
<12> M:高度单位
<13> :差分修订时间。如果不是差分定位,此项为空
* 5E:校验和,$和之间(不包括 $和)所有字符的异或结果
- 模块使用NMEA-0183协议的报文,其余行详细说明见《CASIC多模卫星导航接收机协议规范》
九、总结
1、本次仅测试模块在arduino的正常接收,实际应用中ATGM336H注意应在高海拔和户外测试,数值更加精确
2、如果需要最为简单、直观的数据查看,依旧推荐usb转ttl连接至电脑上,使用上位机查看。
最后
以上就是乐观树叶为你收集整理的GPS+北斗定位借助Arduino的数值显示的全部内容,希望文章能够帮你解决GPS+北斗定位借助Arduino的数值显示所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复