当前位置:   article > 正文

STM32F1实现GPS户外导航+语音播报(1、功能篇)_stm32 gps

stm32 gps

前言:

        编者能力有限,实物于2023年四月份开始做,需要在5月上旬完成,中间还有很多杂七杂八的事情需要处理,能在规定的时间完成属实不易,算法上有待改进。原计划抽时间6月份把文章整理出来以供参考和阅读,却一拖再拖弄到了现在,这篇文章会分为功能篇代码篇问题篇来还原制作的所有过程,分别讲述机器人的功能、机器人如何制作、机器人制作工程中遇到的问题以及编者制作时遗留的问题等等。如果该篇文章反响好的话我会尽快更新剩余两篇的,反之则抽时间更新吧,还希望大家能够多多支持。

一、硬件部分

1、机器人硬件

       ① TB6612四路电机驱动

       ② 3S电池

       ③四个510霍尔编码器电机

       ④ATK-IMU901模块(正点原子十轴陀螺仪)

       ⑤ATK-1218-BD模块(GPS与北斗双模)

       ⑥2.8寸LCD屏幕(便于读取各类参数)

       ⑦STM32F103ZET6开发板

       ⑧ASRPRO最小系统板(可以不用,仅用来播报语音)

2、机器人主控芯片

        机器人选用的芯片为STM32F103ZET6。这款芯片在F1系列算是性能靠前的了,拥有144个IO口以及8个定时器,512KBFlash等等,这里就不一一介绍了。实际做完后发现,只要是有8个定时器的F1系列的芯片都能做出来,这里是板子上刚好有一个2.8寸屏幕接口便于观察一系列数据(直插即可根本不用接线),想节省成本的小伙伴可以考虑STM32F103RCT6系统板。

3、核心思想

        由于没有用到物联网相关的芯片,所以只能靠ATK-1218-BD反馈的经纬度坐标来实现导航这一功能。假定机器人现在的坐标为A,目的地坐标为B,A->B的过程我们可以认为是数轴上的1---2,直接靠两点实现导航是不可取的中间分析过程太为复杂。我们不妨对这个数轴进行细分,细分为1-1.1-1.2-...-1.9-2.0,我先导航到过程中的某一点,再由这一点导航到下一个点,如此循环下去就可以把很长的一段路程分为一小段一小段的短路程(为什么这么做会在第三篇文章进行详细的说明),这样处理起来会让机器人的导航过程更为精准和简便。具体过程就是靠ATK-1218-BD去打点(获取中间路段的坐标点和起始、终点的坐标点)储存在FLASH或者一个数组中,由ATK-IMU901反馈的偏航角数据来往下一个目的地逼近(由于硬件的原因只能靠逼近的方式来确认是否到达了下一个目的地地点),最终导航到目的地。

4、实物及效果展示

功能展示

         第一篇文章到这里就结束了,如果对文章感兴趣的话请多多支持,你们的支持是我更新最大的动力,后续文章会抽时间更新的。

第二篇文章链接:

STM32F1实现GPS户外导航+语音播报(2、代码篇上)-CSDN博客

不会使用IMU901的读者可参考这篇文章:

正点原子IMU901/IMU601陀螺仪如何进行正方向判断(标准库代码)-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/423598
推荐阅读
相关标签
  

闽ICP备14008679号