最近一直再忙着写毕业论文和找工作,所以文章的更新频率相应的比较低。等我毕业答辩结束,我会将我的毕业论文细分给大家分享出来,如果最近大家有什么感兴趣的可以私信我。
需求
我们在平时的开发中,卫星定位模块是我们非常常用的一种模块,比如无人机的定位、智能手表的定位和机器人的定位等。开发中往往将定位模块和一些支持远距离传输的通信模块共同使用,像NB-IOT这类远距离无线通信技术。而通常不使用WiFi和蓝牙这类短距离无线通信技术。我们通常是将定位模块和MCU通过串口连接,实时的检测位置信息并发送到MCU上,MCU再对这些位置信息进行相应的使用。
介绍
定位卫星
日常的智能硬件的开发中,往往卫星多、频点多、信号质量好,那么定位效果就越好。目前使用的卫星导航主要有中国北斗(BDS)、美国 GPS、俄罗斯GLONASS、欧盟 Galileo 及日本准天顶(QZSS)这 5 套卫星导航系统的总计 16 个频点。
GPS
GPS的空间部分是由24 颗工作卫星组成,它位于距地表20 200km的上空,均匀分布在6 个轨道面上(每个轨道面4 颗),轨道倾角为55°。此外,还有4 颗有源备份卫星在轨运行。卫星的分布使得在全球任何地方、任何时间都可观测到4 颗以上的卫星,并能保持良好定位解算精度的几何图象。这就提供了在时间上连续的全球导航能力。GPS 卫星产生两组电码,一组称为C/A 码,一组称为P 码(Procise Code 10123MHz),P 码因频率较高,不易受干扰,定位精度高,因此受美国军方管制,并设有密码,一般民间无法解读,主要为美国军方服务。C/A 码人为采取措施而刻意降低精度后,主要开放给民间使用。
中国“北斗”卫星导航系统
卫星数量:3颗卫星组成,2颗为工作卫星,1颗为备用卫星;用途为军民两用。前两颗卫星分别于2000年和2003年发射成功。2012年12月27日,北斗卫星导航系统正式运行。
俄罗斯GLONASS卫星导航系统
卫星数量:24颗卫星组成; 精度:10米左右; 用途:军民两用;
欧洲“伽利略”卫星导航系统
卫星数量:共由30颗中高度圆轨道卫星组成,其中27颗为工作卫星,3颗为候补。轨道高度为24126公里,位于3个倾角为56度的轨道平面内,最高精度小于1米,主要为民用。
日本准天顶卫星系统
卫星数量:以三颗人造卫星透过时间转移完成全球定位系统区域性功能的卫星扩增系统。
常用的定位模块介绍
本文中进行测试和使用的卫星定位模块是EVB_Air551G。
EVB_Air551G 是基于 Air551G 模块的天线一体化模组,这是一款双频、高性能、高集成 度的多模卫星定位导航模块。体积小、功耗低,可用于车载导航、智能穿戴、无人机等 GNSS 定位的应用中。支持北斗三代/GPS/GLONASS/GALILEO/QZSS/SBAS 等卫星定位系统,支持 L1/L5 两个频段同时定位,支持多系统联合定位和单系统独立定位。
我们在平时的开发中经常会遇到接线正确,却没有卫星信号的情况,这类问题绝大多数都是因为,使用者是在室内进行测试的,定位模块的局限是只有在室外才能正常运行,在室内的卫星信号就会很差。
本文主要使用此模块进行卫星定位的测试。
使用
接线
首先是接线,因为常用的定位模块都是通过串口的方式进行传输数据,所以接线一般也比较类似。
定位模块引脚名称 | 描述 |
---|---|
VCC | 供电电源,电压输入范围常是 3.3V-5.5V |
TXD | 串口数据输出,连接到开发板的RXD |
RXD | 串口数据输入,连接到开发板的TXD |
GND | 接地 |
卫星测试
我们将卫星定位模块和USB转TTL相连,使用NaviTrack进行卫星测试。
我们通过这个经纬度就可以算出大概位置,比如上图这个就可确定定位模块所在位置为中国河南。
串口数据
我们要想使用定位的数据,当然不可能像测试一样,用电脑的上位机看定位的数据,而往往是通过串口将数据发送到MCU上,之后查看数据或者对数据进行解析并使用。
图中就是定位模块通过串口发送出来的数据。