用户工具

站点工具


ocrobot:alpha:gps:main

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
ocrobot:alpha:gps:main [2018/03/14 06:27] 弘毅ocrobot:alpha:gps:main [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
 +====== ALPHA GPS模块 ======
 +独家呈现的I2C接口的GPS模块,并且具有可自定义的I2C地址,免除I2C总线地址冲突之麻烦。
 +===== 特点 =====
 +  * I2C总线接口,全模块化设计。
 +  * 实际使用不占用串口,串口依旧可以用于调试
 +  * 内部解码算法,协处理器机制,不会消耗系统资源
 +===== 参数 =====
 +<WRAP center round box 100%>
 +主芯片:UBX-G7020-KT
  
 +接收频段:1575.42MHZ
 +
 +接收通道:56CH
 +
 +S11 SWR:<=1.3
 +
 +S22 SWR:<+1.3
 +
 +S21 LOG MAG:>=20.0db
 +
 +S11 SMITH:50Ω+—5%
 +
 +**
 +定位性能**
 +
 +水平位置精度:<2.5m[Autonomous][50%]  <2m[SBAS]
 +
 +(CEP,50%,24时静态,信号强度 -130 dbm,大约6个可用卫星)
 +
 +速率:<0.1 m/s      方向:< 0.5 Degrees
 +
 +授时精度:30ns       参照坐标系:WGS-84
 +
 +最大海拔高度:50000m  最大速度:500m/s
 +
 +加速度:<=4g
 +
 +**电性能:**
 +
 +跟踪灵敏度:-162dbm
 +
 +捕获灵敏度:-160dbm
 +
 +冷启动灵敏度:-148dbm
 +
 +热启动灵敏度:-148 dbm
 +
 +热启动灵敏度:-156dbm
 +
 +冷启动时间:29s
 +
 +温启动时间:28s
 +
 +热启动时间:1s
 +
 +AGPS[网络辅助星历数据]:3s
 +
 +数据速率(UART/TTL):9600dps(默认)[可通过软件配置:4800,19200,38400,57600,115200,230400,460800,921600]
 +
 +工作温度:-40℃ TO +85℃
 +
 +</WRAP>
 +
 +===== 参考图片 =====
 +{{:ocrobot:alpha:gps:gps未焊接侧面435.png?nolink|}}
 +{{:ocrobot:alpha:gps:gps未焊接正面435.png?nolink|}}
 +<WRAP center round tip 100%>
 +===== 关于Arduino开发板使用 =====
 +Arduino开发板无法直接堆叠ALPHA模块,GPS模块上丝印的5V、GND、SCL、SDA这四个管脚,连接到Arduino开发板的对应管脚后即可正常使用。
 +
 +</WRAP>
 +
 +===== 关于输出数据与应用问题 =====
 +ALPHA GPS模块输出的数据是标准的WGS84坐标系坐标。这个坐标在国际上是通用的。中国大陆例外。
 +
 +如果要配合电子地图使用,推荐使用google map,这样子坐标上去位置基本都是对的。
 +
 +如果是百度地图、搜狗地图、高德地图等等,都不是标准的WGS84坐标系,都需要换算。
 +
 +===== 示例程序 =====
 +需要OCROBOT_APLHA_GPS_Module 库
 +
 +github:https://github.com/534659123/OCROBOT_APLHA_GPS_Module
 +
 +{{ :ocrobot:alpha:gps:ocrobot_aplha_gps_module.zip |下载GPS库}}
 +
 +
 +<code cpp>
 +#include <Wire.h>
 +#include <OCROBOT_I2C_GPS.h>                                                                                                                                                                                    
 +GPS GPS(0x02);
 +
 +byte hh,mm,ss,ms;
 +byte y,m,d;
 +uint16_t delayTime = 1000;
 +void setup() {
 +  Wire.begin();
 +  Serial.begin(9600);
 +}
 +void loop() {
 +  /*显示时间*/
 +  GPS.UtcDate(y,m,d);
 +  GPS.UtcTime(hh,mm,ss,ms);
 +
 +  Serial.print("DATE:");
 +  Serial.print("20");
 +  Serial.print(y);
 +  Serial.print("/");
 +  Serial.print(m);
 +  Serial.print("/");
 +  Serial.println(d);
 +
 +  Serial.print("Time:");
 +  Serial.print(hh);
 +  Serial.print(":");
 +  Serial.print(mm);
 +  Serial.print(":");
 +  Serial.print(ss);
 +  Serial.print(":");
 +  Serial.println(ms);
 +
 +  /*显示纬度经度*/  
 +  Serial.print(GPS.LatitudeDirection());  //纬度 WGS84坐标系
 +  Serial.print(":");
 +  Serial.println(GPS.Latitude(),4);
 +
 +  Serial.print(GPS.LongitudeDirection()); //经度 WGS84坐标系
 +  Serial.print(":");
 +  Serial.println(GPS.Longitude(),4);
 +
 +  /*定位状态与有效卫星*/
 +  Serial.print("Pos:");
 +  Serial.println(GPS.Positioning()); //定位状态 0:无定位  1:SPS 模式定位  2:差分、SPS模式定位 3 :PPS 模式定位
 +  
 +  Serial.print("Sat:");
 +  Serial.println(GPS.Satellite()); //有效卫星数量
 +
 +  /*水平定位精度与椭球高度*/
 +
 +  Serial.print("HDOP:");
 +  Serial.println(GPS.HDOP()); //水平精度 单位米
 +
 +  Serial.print("MSL:");
 +  Serial.println(GPS.MSL()); //椭球高,单位米
 +
 +  /*航向与速度*/
 +  Serial.print("Course:");
 +  Serial.println(GPS.Course()); // 航向 单位度
 +
 +  Serial.print("Speed:");
 +  Serial.print(GPS.Speed()); //速度,单位千米/小时
 +  Serial.println("km/h");
 +
 +  /*海平面高*/
 +  Serial.print("SeaLevel:");
 +  Serial.println(GPS.SeaLevel()); // 海平面高,单位米
 +
 +}
 +</code>
 +
 +
 +
 +=====修改设备地址=====
 +本设备默认地址为**2** 十六进制:**0x02**,如需自定义I2C地址,首先准备如下程序 【在默认地址模式下,使用下面的程序更新自定义地址】
 +
 +<code cpp>
 +#include <Wire.h>
 +/***********/
 +byte I2CAddr = 10;   //需要修改的地址,请自行修改 (取值范围1-127)
 +/***********/
 +void setup() {
 +  Wire.begin();        // 初始化I2C接口
 +  Serial.begin(9600);
 +
 +  Wire.beginTransmission(2); //设备默认地址 本设备GPS模块 = 2
 +  Wire.write(200);              // 修改地址的操作码
 +  Wire.write(I2CAddr);     //向I2C设备写入新地址
 +  Wire.endTransmission();    // stop transmitting
 +  
 +Serial.println("OK");    //串口显示OK则完成写入,拨动模块开关并重新上电即可
 +}
 +
 +void loop() {
 +}
 +</code>
 +
 +自行修改程序中需要写入的地址,程序显示OK后,拨动开关,断电后即可。
 +==== 拨动开关示意图 ====
 +{{:ocrobot:alpha:gps:拨动开关435默认地址.png?nolink|}}
 +{{:ocrobot:alpha:gps:拨动开关435更改地址.png?nolink|}}
 +
 +
 +
 +
 +
 +
 +===== 下载 =====
 +**原理图:**
 +{{ :ocrobot:alpha:gps:alpha_gps_r1.pdf |ALPHA GPS R1}}