公告:新满多没有杂乱广告的网站, 请大家收藏!很好记,域名是 新满多 拼音!xinmanduo.com ! 更简洁好记的 ykyh.net

您的当前位置:首页 > 科技小制作 > 正文 -- 手机或者平板访问

DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源

来源:未知 编辑:晚一步 时间:2017-07-17
楼主是一名非专业的电子“发烧友”,经常DIY一些小东西来打发一下业余时间,比如说功放、收音机啊等等电子爱好者经常玩的东东。这些日子又迷上了单片机,做过好几个时钟,做好后发现这些时钟不管怎么调试都存在时间并不十分准确的问题,前些日子受手头PCB大小限制做了一个4位的数码管时钟,一直用着还算不错。但是感觉没有秒显示有点对不住GPS的精准,就去淘了些空PCB,开工DIY6位时钟。

再恶补一下GPS的数据格式,接收到的一帧数据如下图所示:
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:GPS数据格式截图.jpg




我们最关心的时间,日期、经纬度、速度、海拔等信息都在这里了,用逗号分隔,两个逗号之间为空说明没有数据
主要数据解读:
$GPGGA
114839.914 这是标准时间,比北京时间晚8个小时,这里换算成北京时间就是19:48:39点后面的914是毫秒,但GPS输出的毫秒并不怎么准确。
XXXX.2743, N: 纬度信息,N是北纬
XXXXX.5447,E:经度信息, E是东经
1:质量因子 (0=没有定位 1=实时GPS 2=差分GPS)
04 :可使用的卫星数(0~8)
2.4:水平精度(1.0~99.9)
151.0,M:天线高程 (海平面 -9999.9~99999.9单位:m)
3.0,M:(大地椭球面相对海平面的高度-999.9-9999.9,单位:m)
0000 :差分基准站号(0000~1023)实时GPS为0000
$GPRMC
114839.914 这是标准时间,比北京时间晚8个小时,这里换算成北京时间就是19:48:39。
A:成功定位(未能定位这里是V)
XXXX.2743, N: 纬度信息,N是北纬
XXXXX.5447,E:经度信息, E是东经
0.00和空数据:相对位移速度和位移方向(在这里因为是固定使用,速度是0,所以移动方向的数据为空)
041114:日期(数据格式为dd/mm/yy)即2014年11月14日

    从解读的这两组主要数据可以看出,如果只是做简单的时间日期显示,只用最下面的一行$GPRMC就可以了。
    在串口中断里面不停的接收GPS发过来的数据,然后将这些数据保存到一个数组(buf[10])里面,然后取出时间来显示就行了,程序如下:
   void Uart_Receive(void) interrupt 4     //串口中断,用于GPS数据接收
   {
       unsigned char ch,num;
       ES = 0;
       if (RI)                    //如果接收完成则进入
       {
           ch = SBUF;
           if (ch == 'R')  //如果收到字符'$',便开始接收
           {
               rev_start = 1;
               rev_stop  = 0;          //接收停止标志
           }

           if (rev_start == 1)       //标志位为1,开始接收
           {
               buf[num++] = ch;  //字符存到数组中
               if (ch == '.')       //如果接收到换行
               {
                   buf[num] = '\n';
                   rev_start = 0;
                   rev_stop  = 1;      //接收停止标志
                   num = 0;
               }
           }
       }
       RI = 0;     //RI清0,重新接收
       ES = 1;     //串口1中断允许            
   }        

     显示方式选择了比较实用的数码管,用8550三极管来驱动位。选择了4个1.5英寸的显示小时和分钟,2个0.8英寸的用来显示秒,这样看起来比较协调一点。由于晚上拉上窗帘后就收不到GPS信号了,就加了一片实时时钟DS1302,这样在没有GPS信号的时候也能正常使用。

电路图和PCB(使用Altium Designer 绘制)
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:无标题.jpg


DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:pcb.jpg


当显示GPS的时间时,时钟是精确的无须调整;但是当没有GPS信号或没有插入GPS模块时,时间是需要调整的,就加入了一个红外接收头,这样就可以用遥控器调整时间了。

制作PCB使用的方法是热转印。
先把PCB图打印到热转印纸上
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_4927.jpg



裁好一段空覆铜板,用砂纸或钢丝球打磨干净
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_4923.jpg



加热工具是一把老式的电熨斗,当温度达到180度左右时开始转印(激光打印机的碳粉熔化温度大约是180度左右)。
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_4926.jpg




转印好后用三氯化铁腐蚀。做好的PCB涂一层松香酒精溶液防氧化
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_4931.jpg




打孔、焊接好了
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_4945.jpg



DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_4972.jpg




单片机型号是PLCC封装的STC89C52RC,手头没有IC座就将管脚折出来当贴片用。因为需要串口通信晶振频率选择了11.0592mhz
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:nEO_IMG_PCB细节 (3).jpg




这是使用的遥控器
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_4954.jpg




放在窗台上面的GPS模块,其实放在室内也是可以正常使用的,只是初始化速度慢一点。
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:nEO_IMG_GPS模块(4).jpg



硬件做好后开始了漫长的程序调试,用了几个晚上的时间,反复烧写多次后终于达到了自己的设计要求。
这是从网络获取的标准北京时间
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_5053.jpg




这是DIY时钟的当前时间
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:nEO_IMG_IMG_5055.jpg



插入GPS后,自动与卫星同步,时间就想当的准确了
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:nEO_IMG_IMG_5062.jpg



使用5V的电源,没有插入GPS模块时电流100ma左右,功耗大约是0.5W
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:nEO_IMG_电流1.jpg



插入GPS后,电流增加了一倍多,不过1W左右的功耗也不算太大。
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:nEO_IMG_电流2.jpg



数码管倒装,用左上角的小点指示GPS信号的有无。当没有GPS信号时,小点不亮,从DS1302里读出时间来显示;当有GPS信号时,自动与卫星同步并将准确的时间写入DS1302,这样即使GPS信号消失,在一段时间内还是相当的准确的(时间长短与DS1302的精度有关)
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_4988.jpg



为了DIY“作品”的美观,特意从网上订购的半透明亚克力。个人认为还是非常简洁漂亮的。
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_4971.jpg


DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:nEO_IMG_IMG_4999.jpg




再来一张漂亮的效果图
DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享)

图片:IMG_5006.jpg




后记:
     本次DIY以实用为主,没有添加日期、星期、闹钟等功能,因为我需要的只是一个时间精准的钟,DIY爱好者可以根据需要自行添加。如果有疑问可以联系,定当知无不言,让我们共同进步。

公布邮箱后收到了好几个兄弟的邮件,发送太麻烦了。还是上传到这里吧
C程序、原理图及PCB DIY 6位数码管GPS授时时钟,GPS数据格式讲解(开源共享) 6位GPS授时数码管时钟.rar (475 K) 下载次数:434





[ 此帖被aqxgm在2015-01-23 19:36重新编辑 ]
 
手机扫描本二维码

分享创意到朋友圈

网友评论:



Copyright © 2006-2017 新满多 渝ICP备11004546号-1

如有侵犯,请联系我们:Gaocheng365@live.com

Top