编辑:[db:作者] 时间:2024-08-25 06:16:18
虽然功能大略,可由此衍生出来的运用可就不少了,比如车载导航仪,不只能见告我们现在在哪,还能见告我们怎么去想去的地方;又如某个车队要理解车辆的位置,那就给每个车子装个GPS和无线收发设备,实时理解车辆信息。
图12.1 GPS 记录器的显示界面
除此之外,还有些另类的运用:比如 GPS授时,所谓授时,便是见告我们现在几点钟了。虽然这有点大材小用的意思,不过这韶光是相称准确的,可以精确到毫秒级,可以作为许多运用的标准时钟。再有便是本日我们要DIY的这个“GPS 记录器”(见图12.1)了,大略来说,便是把我们所经由的位置记录下来的装置。有人要问了,这有什么用呢?假如有驴友旅行过程中创造一段非常俊秀的路径,路上湖光山色,风景奇丽,他就可以利用这个装置将路径记录下来和朋友们分享;如果探险家外出探险,也可以利用这个装置将路径记录下来,探险结束后按原路安全返回。这,便是路径回溯功能。
接下来让我们理解一下必备的根本知识。
GPS事理简介GPS运用已经非常遍及,现在很多手机都集成了GPS导航的功能,但是光有导航仪或者是GPS吸收器是弗成的,它还得有天上挂着的24颗卫星作为旗子暗记的来源。这24颗卫星就像草莓表面的籽一样均匀地分布在地球上空,基本上在环球任意地方都能吸收到GPS卫星的旗子暗记。吸收器根据卫星发送的含有报文的旗子暗记来打算处于哪个位置。除此之外,我们不能将卫星发射上去之后就不管了,以是,地球上还有地面中央对这些卫星进行监控和数据改动。以是,完全的GPS系统包括 GPS卫星、用户吸收端、地面监控中央。
图12.2 解析流程
GPS 吸收端与通信协议上面讲的GPS系统包含3部分,但是我们平时能打仗到的只有吸收端。别看现在市情上各种牌子的导航仪和吸收器数不胜数,但上面用的GPS吸收处理的芯片,环球就只有几家公司有能力设计。个中,SiRF的芯片霸占了民用市场七八成的份额,而目前用的比较多的是2004年发布的SiRFstar III,也便是所谓的“第3代”芯片。
接下来便是让其他产品能“听懂”从GPS芯片发出的数据是什么意思了,这时就须要有个通信协议。目前大部分GPS模块采取的是NMEA0138协议。这个协议涵盖了许多方面,GPS只是用到个中的一部分。
NMEA 协议简介NMEA 是由美国全国海洋电子协会(The National Marine Electronics Association)制订的一套通信协议,是目前GPS最常见的通信协议。
以笔者的这个GPS 模块为例,它将吸收到的GPS卫星旗子暗记解码之后,通过串口以NMEA格式输出,而用到的语句只有4个:$GPGGA、$GPGSA、$GPGSV、$GPRMC,个中美元符号($)代表前缀,表示语句开始;GP 代表工具,代表用在 GPS 上;后面的GGA、GSA、GSV、RMC等是语句类型;每条语句的各个数据字段用半角逗号(,)分开;结尾为XX,XX 是全体语句的校验和,以考验收到的语句是否精确,代表回车和换行,表示该条语句结束。
我们所要做的便是将其吸收下来,解析出我们要的数据,再进行下一步的运用。
数据解析和保存有了从模块那里收到的数据,接下来便是解析出里面有用的数据了。图12.2所示为大略的解析流程。
由于利用的是单片机,以是最大略的保存数据的方案便是利用SPI接口的Flash。其余由于NMEA语句是为了便于传输,采取字符形式,以是“身材”比较大,基本上每次的数据量在300~500字节,由于Flash容量限定,不能将原始的NMEA 语句直接保存,以是我们自己定义了一个存储格式,将个中有用的数据摘出来以二进制的格式保存,这样每次的数据顺利地缩小了。在实际运用中,每个点的数据只须要32字节。
如何浏览路径说到这里,就必须请入迷器——Google Earth了。这是谷歌出的一款可以看卫星图的软件,可惜的是目前的6.0 版还不能直接支持 NMEA 协议。不过 Google Earth 支持其余一种措辞,那便是KML。其全称是Keyhole Markup Language,基于XML,同样,它包含了很多繁芜和高等的内容,在此不再赘述,我们只须要用到个中一部分——在Google Earth 中画路径。
下面是一个最大略的KML示例:
Path from GPS Logger V2
Path Name
这个KML文件被Google Earth读取后会天生:
大略来说,它见告Google Earth,天生一个文档,名字为Path from GPS Logger V2,个中有一个路径,名字叫Path Name,路径的是“连线”的模式,颜色为黄色(ff00ffff),线宽5像素,而详细经纬度信息则包含在标签中,继而Google Earth会根据个中的经纬度信息绘制出一条折线。
以是,只要将之前保存的每个点的数据,依次添补到标签中,则天生的KML被Google Earth读取之后显示的便是我们记录的路径。
至此,我们低廉甜头记录器所须要理解的背景都全部知道了,接下来便是制作的过程了。
紧张功能目标直接显示当前日期和韶光、经纬度、海拔、速率、方向等信息,显示卫星旗子暗记强度、卫星数目、分布情形等。
将位置信息记录到存储器中,并显示当前空间利用情形。板载的Flash可用保存50994个记录点,按每秒一次计,可连续记录14小时。当空间满了之后,可以将数据转存至TF卡之后重新记录。可实时浏览存储器中的数据,也可将存储器中的记录导出,或者转换成 Google Earth可以识别的KML格式。
图12.3 GPS 记录器的模块框图
GPS 记录器的设计GPS记录器的模块框图如图12.3所示。数据通信方面,GPS模块通过串口与MCU通信,TF卡和SPI Flash则分别挂载在两个硬件SPI上,LCD通过并行办法与MCU连接。供电方面,采取锂电池(自带过充过放保护电路)供电,由于GPS内置了LDO(低压差线性稳压器),以是直接与电池连接;其余一起则经3.3V LDO输出给MCU、LCD、Flash和TF卡供电;同时,用STM32自带的ADC模数转换测出锂电池的电压,以此估算剩余电池电量。图12.4为根据框图设计出的PCB事理图。
图12.4 GPS 记录器的PCB 事理图
绘制 PCB根据液晶显示屏的尺寸,确定了主控板的大小。元器件不多,以是PCB尺寸只有显示屏的1/2旁边。制作完成的PCB图与实物如图12.5所示。
表12.1 制作所需原材料和元器件
图12.5 制作完成的PCB图与实物
图12.6 焊接完元器件的PCB
图12.7 GPS 模块通过支架来安装,电池也加以改换
焊接元器件和PCB调试笔者的习气是焊接完一部分急速检测该部分是否能正常事情,这样可以尽早创造问题并快速判断出问题源。
在焊接之前,目测一下板子是否有断路或短路的情形,然后用万用表丈量电源正负极之间是否短路。
首先焊接电源部分,将USB座、LDO稳压管和充电芯片及阻容元件焊上,然后供电,丈量输出是否为3.3V,有条件的话,还可以接在示波器上看看输出的电压是否纯净。
在LDO输出和整版的供电之间,笔者增加了一个0的电阻,这个电阻可作为跳线利用,断开后可以检测芯片部分是否有短路等情形,调试完成后可直接短接导通。
电源部分完成后,接下来焊接单片机和外围的晶体振荡器、复位电路,组成最小系统。要判断单片机是否能运行起来,可以将板上的两个LED也装上,然后编写一个测试程序,循环点亮和熄灭,如果成功,则表明单片机基本正常。
末了焊接Flash芯片、TF卡座、按键等。
至此,原来的空PCB已经比较像一块电路板了,如图12.6所示。
一样平常来说,利用陶瓷天线的GPS模块须要只管即便使天线面向天空,这样才能尽可能地吸收旗子暗记,以是安装GPS模块的时候设计了一个支架,使得模块天线与吸收器成45角,平时手持的时候刚好面向天空,纵然平放或立着放都能部分面向天空,如图12.7所示。其余,还为模块换了一个备用电池。
全部元件组装完成后的样子如图12.8所示。装上电池和后盖,如图12.9所示,硬件装置至此就完成了。
软件设计思路与调试由于功能大略,软件不须要繁芜的构造,流程如图12.10所示。开机初始化完成后,系统便进入无限主循环中,循环检讨GPS是否吸收完毕,是否有按键按下。
图12.8 全部元器件组装完毕的样子
图12.9 装上电池和后盖
GPS吸收和解析利用了中断,当吸收完成后,设置标志位,主循环检测到数据吸收完成,便将数据显示在LCD上,如果设置须要记录,则再记录到SPI Flash中。
如果“菜单”按键被按下,则转到菜单函数;如果“显示模式”按键被按下,则切换显示模式;如果“记录”按键被按下,则切换是否记录到SPI Flash中。
图12.10 软件流程框图
操作办法和界面记录器上部有4个按钮,用场分别为“菜单/退出”、“上一个/显示模式”、“下一个/记录模式”、“确定”。
常规显示时屏幕分为3个区域,顶部显示电池电量、卫星信息、韶光等,中间用大字体显示当前经纬度,下半屏则根据显示模式分别显示卫星信息、速率航向和记录信息3种模式。按“显示模式”按键可以在3种模式中循环切换,如图12.11所示。
图12.11 显示屏下半部具备3种显示模式
图12.12 将数据存储到 TF 卡中
按“记录模式”键可以切换记录开始和停滞模式。按“菜单”键可进入功能菜单。选择“菜单→转储→TF卡(KML)”可将存储器中的数据以KML文件的格式转存到TF卡中,如图12.12所示。选择“菜单→转储→TF卡(转储)”可将存储器中的数据以原始二进制格式存到TF卡中。
转储之后,在TF卡的GPS目录中就会有已经天生好的KML 文件,如果装了 Google Earth,就会涌现如图12.13所示的图标。
图12.13 存储在TF卡中的KML文件
直接双击之后会自动打开 Google Earth,黄色的连线便是我们记录下的路径,如图12.14所示。
图12.14 GPS记录器记录下的路径可在 Google Earth 中显示
选择“菜单→浏览记录”可以实时浏览存储器中记录的路径和记录点的信息,并能直不雅观地理解存储器空间利用情形,如图12.15所示。选择“菜单→擦除空间”,可将数据擦除,连续记录,如图12.16所示。
后记实在市场上早已有产品化的GPS记录器,而且本钱更低、功能更强,但是DIY的乐趣在于更深地理解个中的事理,以及发挥自己的想象力,根据自己的须要定制。比如,还是这套硬件,通过修正软件,还能实现GPS测面积的功能。
图12.15 实时浏览存储器中记录的路径和记录点的信息
图12.16 擦除记录
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/rsq/152896.html
上一篇:1款汉子的包FINO超薄贴身数码包背上特帅女孩子留心到了吗?
下一篇:返回列表
Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码
声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com