【基于单片机的导盲避障手杖系统的设计8200字】_第1页
【基于单片机的导盲避障手杖系统的设计8200字】_第2页
【基于单片机的导盲避障手杖系统的设计8200字】_第3页
【基于单片机的导盲避障手杖系统的设计8200字】_第4页
【基于单片机的导盲避障手杖系统的设计8200字】_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录 1 11.2.超声波测距技术的发展现状 2 32系统设计与整体方案2.1系统的基本原理 42.2系统方案的总体设计 43硬件设计3.1单片机选择 63.2超声波测距模块 73.3GPS定位模块 93.4震动模块 3.6系统接线设计 4程序设计4.1手杖主程序流程 4.2超声波测距的实现 4.3GPS定位的实现 4.4系统总体调试 为了使盲人的出行更加便利,本文介绍了一个将搭载有超声波测距系统的STM32单片机安装在盲人手杖上,使两者功能相互结合的导盲避障系统。该系统由STM32开发板,超声波测距模块,警示灯模块,GPS定位模块,震动模块组成。此设计利用超声波测距模块对四周障碍物进行定位,定位后发出信号给手杖的震动模块,通过震动模块发出震动提醒使用者有障碍物,然后使用者通过手杖和超声波测距模块及震动模块共同作用确定障碍物的位置的功能。经调试,手杖可以通过超声波测距模块实现对附近障碍物的识别并示警。关键词:GPS系统,STM32单片机,超声波测距1绪论1.1选题背景自二十世纪以来,科技飞速发展,在医疗方面也是同样如此。即使如此也不能保证所有的人都没有病,或者在得病后能够得到及时的救治。失明不是大病,但是失明的人在日常生活中却有各种各样的不便之处。根据世界卫生组织在2018年发布的数据来看,全球已有3600万人失明;据不完全统计,截止2019年我国已有1700万盲人,而且盲人的数量还在不断增加。所以我国作为世界上失明人口最多的国家,盲人作为社会中的弱势群体,他们的生活状况需要社会的广泛关注。现在社会上用来辅助盲人出行和生活的方法最多的是给盲人配置一只导盲就发生了公交车司机因为公司规定不允许宠物上车而拒绝一位盲人和他的导盲如今随着科技发展,已经有些比较好的智能手杖在网上进行销售了,但是他们大多数都是在手杖上附加上收音机,MP3;最好的也就只增加了GPS定位超声波是科学家们于19世纪末发现压电效应后利用该技术原理产生的。脉冲波探伤仪被第一次创造了出来,带领着超声波检测技术进入新的历史阶段。2004年提出超声波发射信号的激励脉冲宽度与其发射功率间存在特定关系。2008年,提出利用两种不同频率的超声波信号同时进行测距,将双频测距与脉单发超声波模块以减小随机误差。2015年,提出了一种新的超声波测距方法,文设置二发三收的超声波传感器布局,减小测距盲区,并通过比较各方位测距数据合理规划机器人路径算法,实现机器人自主避障1。本研究的内容是手杖利用超声波测距技术探测周围环境中有没有障碍物,有障碍物时手杖上的震动模块发出震动。基于上述条件做出设计,使手杖能够按照设计思路一样发挥作用。想要实现本设计的所有功能,方法其实是有很多的,并且还涉及到选取合适的模块,但是在对比了几种可探测障碍物的技术后,决定使用超声波探测技术,它是最常用最方便的技术。为了确定使用手杖的盲人的位置可以使用GPS定位模块;为了在发现周围有障碍物时提醒使用者,可以使用震动模块;为了使用者在光线不足的情况下被其他人注意到,可以使用光线感应设备和红蓝警示灯。为了使设备运转起来,使用干电池供电。第4页2系统设计与整体方案想要实现手杖的探测障碍物的功能,就要在超声波测距模块做文章,再给手杖上的STM32接通电源后,开启超声波探测模块来检测周围有没有障碍物,如果有障碍物就使震动模块发出震动来提醒使用者。2.2系统方案的总体设计在本次设计中,选择的主体为市场上常见的手杖作为载体,之后把超声波测距模块、GPS定位模块、警示灯模块、震动模块和供电模块附加在手杖上。有了这些模块之后,将其按正确的线路连接在STM32单片机上即可得到总体的设计。图1系统结构图在载体的设计完成后各个模块与整体的设计思路也就基本完成了。我们可以把手杖分为4大模块,分别为供电模块、信号接受模块、信号处理模块和信号输出模块。供电模块是电池,本次设计供电电路采用二节正常的5号电池作为电源,直接将该两节电池串联接通至手杖的各个模块上,稳定后的电压通过连接各个元器件的VCC端口进行输出供电;信号接收模块包括GPS定位信息的接收和超声波探测到障碍物信息的接收;信号处理模块就是STM32单片机;信号输出模块是震动器和红蓝警示灯。3硬件设计关于此次设计有可能用到的单片机器件,不是随意一个单片机硬件就可以使用的,需要按照以下原则进行筛选:第一是单片机的芯片必须要有在处理较大量数据时顺畅运行的能力,因为如果本次设计所要实现的功能所产生的数据信息量接近或大于单片机的芯片所能处理的最大信息处理量,就可能使单片机运行速度变迟缓,让单片机无法及时的对反馈信息做出反应,甚至可能导致单片机因数据太多而死机使本设计的任务无第二是考虑个人的操作水平和对单片机的熟悉程度,在确保单片机可以正常运行本设计的任务的前提下,尽量选择使用过的或者使用简单、容易掌握的单片机,这样才可以更方便、更容易、更快速的完成并设计。第三是想要控制单片机实现本设计的任务,必须要有一个大众的、好的开发工具才行,不仅方便开发程序,而且方便查找并解决在编写程序过程中出现的错误,这样在后续的程序编写、修改或者给本设计添加更多功能时不会陷入尴尬之有了以上的几个条件后,经过筛选最终选择了STM32F103RCT6单片机。STM32F103RCT6单片机的优点很多,他操作相对简单,功能比较全面,工作速度也快,这样就不用担心手杖在运行中接收到信息会来不及读取并根据信息做出相应的反应。除此之外STM32系列的所有单片机都有着数量众多的用户群体,而且这些用户群体里的大多数人都对STM32系列的单片机做出了好评。不仅是因为STM32系列的单片机有着数量庞大的用户群体,还因为STM32系列单片机都有着高性能低功耗的美名,这就使得STM32系列单片机与其他类型的单片机相比它不但能够处理更多更复杂的信息,而且还因为有众多用户去开发STM32系列单片机使得我们可以在单片机的功能开发上有着更多的选择和更多可参考的实例。从而使本设计在完成任务时更加方便快捷。PA10734L IN811 BIN212PWMB1427RXAIN11625K2FMPOWERCAIN217 3.2超声波测距模块将该功能用于手杖行进中的障碍躲避,即该模块的测量距离功能可以帮助手杖检测前方是否有物体。如果有的话就引导使用者进行躲避。该模块的测距区间大约是2-450cm。图4US-100反面实物图本模块共有两个不同的接□,分别为5pin接口和模式选择跳线接□。5pin接□2.54mm的弯排针,弯排针从左到右的定义依次为:第一个pin引脚是接VCC电源(供电范围2.4V-5.5V);第二个pin引脚是当为UART模式时,接外部电路UART的TX端,当为电平触发模式时,接外部电路的Trig端;第三个pin引脚是当为UART模式时,接外部电路UART的RX端,当为电平触发模式时,接外部电路的Echo端;第四个引脚和第五个引脚都是接外部电路的地。模式选择跳线接□位于5pin接□的上方,模式选择跳线接□的间距为2.54mm,当插上跳线帽时为UART(串□)模式,拔掉跳线帽为电平触发模式。帽表示工作在UART模式.拔掉跳线帽表示工作在电平触发模式。5pin供电及通信接口:图5模式选择跳线接口(左)和5pin接□(右)示意图GPS系统,又称为全球定位系统(英语:GlobalPositioningSystem,通常简称GPS),或称全球卫星定位系统,是美国国防部研制和维护的中距离圆型轨道卫星导航系统。它可以为地球表面绝大部分地区(98%)提供准确的定位、测速和高精度的标准时间。全球定位系统可满足位于全球地面任何一处或近地空间的军事用户连续且精确地确定三维位置、三维运动和时间的需求。GPS系统拥有如下多种优点:使用低频讯号,纵使天候不佳仍能保持相当的讯号穿透性;高达98%的全球覆盖率;高精度三维定速定时;快速、省时、高效率;应用广泛、多本设计中采用的实时定位模块是ATK-S1216F8-BDGPS/北斗模块进行操作,实物如图5所示4NCNC6NC3232NC4言言言该模块默认输出的GPS/北斗定位数据采用NMEA-0183协议,控制协议为在本设计中,定位问题也是相当关键的一个部分,当使用者在户外行动时发生意外或迷路的情况,必需要及时的、精准的定位到需要被救援的使用者的位置,只有确定了该定位,才能让施救人员对被施救者进行及时的救援。本设计的GPS模块采用了NMEA-0183协议,根据接收到的ASCII码来确定位置信息。在NMEA-0183协议中使用的命令如表1所示序号命令说明最大帧长1卫星定位信息2卫星PRN数据3可视卫星信息4推荐定位信息5地面速度信息6地理定位信息7UTC时间和日期由ASCII码来传递GPS定位信息,称之为帧,帧长即代表某项信息的最大长度。第11页由表1可知,卫星定位信息的命令为$GPGGA。推荐定位信息的命令为其实这两个数据所传递的信息在大体上是没有太大区别的,只不过是较少的gps定位信息,但是依旧可以用来输出经纬度等定位信息,因此这两种数而GPS模块通过接收到的$GPRMC信息或者$GPGGA信息,可以很清楚地得到信号发出时的时间,以及信号发出是地点的经纬度,而GPS定位系统采用系只是世界通用但在不同的国家有可能会使用自己国家独有的坐标系因而不同地图采用的地图坐标是不尽相同的。因此在得到GPS传出的信息后,应对经纬度进行换算,得到适合的坐标。ATK-S1216F8-BDGPS/北斗模块与单片机连接最少只需要连接4跟线即可:VCC,GND,TXD,RXD。其中VCC和GND是模块的供电线路,而本模块的TXD和RXD只需要连接单片机的TXD和RXD即可。模块单片机模块图8ATK-S1216F8-BDGPS/北斗模块与单片机连接示意图在上图中,ATK-S1216F8-BDGPS/北斗模块的PPS与单片机的GPIO连接北斗模块的正常使用。马达发出震动以此来提醒使用者。本次设计中使用的是DJ0827型号的微型震动DJ0827微型震动马达是通过两根铜导线来连接马达和电源的,该器件的启动电压为1.5V,额定电流为0.05A。3.5红蓝警示灯模块在一些光线不足的环境中,为了让其他人注意到使用者,需要手杖上加上LED红蓝警示灯,本次设计中使用的是37ARB16C型号LED灯,为了使LED灯在光线不足的环境下自动开启,设计中需要光敏电阻来控制LED灯,光敏电阻选择型号为SG6528B-V,其成本低和体积小的优点是本设计需要的。LED灯和光敏电阻都只有两个引脚,用于电流的输入和输出。第13页GGNDPA1PA13V3Echo超声波模块GNDGND震动马达图11系统接线图本设计的所有模块之间的接线如上图所示。第14页4程序设计开始获取定位重新定位NYN碍物?Y图12手杖程序流程图第15页启动系统,初始化各个模块,启动GPS定位,获取定位信息,再在OLED超声波测距的主要实现过程是通过发出超声波和接收超声波的时间差来确以上的高电平,以此来使超声波模块发出声波。所以我们先要初始化GPIO,使能总线和端□,由于Trig用作输出电平,而Echo用作读取电平,所以将Trig脚初始化定时器,需要定时器来计时。将Trig置为高电平维持10微秒,即让变为高电平,然后重载并开启定时器,等待Echo变为低电平,同时定时器停止NYYN在GPS通电之后,GPS模块实时传输信息给stm32单片机,其中包括了很多和我们毫无关系的信息,而我们需要的只是经纬度和时间。为了方便使用,我们首先需要通过控制GPS模块的软件让gps只给单片机传输有用的定位信息包括GPRMC(时间,日期,位置)和GPGLL(经度,纬度,UTC时间),这些是定位位置所需的最有用的信息。得到的数据虽然不是混乱的,但是也不能让人一目了然。所以需要把它们变为容易让人看懂的数据。程序流程如下图所示开始开始间超声波测距模块的调试:将超声波测距模块连接单片机,启动单片机后,使超声波测距模块由远及近的接近障碍物,若到达安全距离时与单片机连接的微型震动马达发出震动,这说明没有问题。GPS定位模块的调试:在将GPS定位模块与单片机正确连接使用之前,需要使用GNSSViewer软件对GPS模块进行调试。通过ALIENTEKSTM32开发板板载的USB转串口将ATK-S1216F8-BDGPS/北斗模块连接到电脑,并给GPS/北斗模块供电。打开GNSSViewer软件之后,出现如下图的界面:OGPSGLONASSNSD\百度网盘\【正点原子】北斗GPS模块ATK-1218-BD【正点原子】北斗GPS.…Beidou☑EASTNORTHW×在上述界面进行调试之前,我们需要先选择正确的连接GPS模块的串口端□号和点击连接/断开按钮使软件和ATK-S1216F8-BDGPS/北斗模块进行连接。如果连接正确图11的界面会出现与定位相关的卫星号等信息。在确认连接无误后就可以进行调试了,首先需要输入验证代码,然后在选择合适的波特率等一系列参数,设置完所有参数后会发现,ATK-S1216F8-BDGPS/北斗模块会向外输出SGMGGA,110517.000,2318.1179,N,11319.5990,E,1,11,1.8,112.9,M,-5.4SCMCL,2318.1179,N,11319.6990,E,110517.SCMCSA,A,3,07,23,30,11,09,17,28,,,,2.6,1.SCNGSA,A,3,202,203,205,208,,,22,2.6,SGPGSV,4,1,13.11,75,173,31,07,59,317,45,08,50,019,24,01,50,SGPGSV,4,2,13,30,28,321,41,09,25,231,40,27,21,040,34,23,16SGPGSV,4,3,13.16,15,084,07,22,08,132,18,28,07,297,39,17,05,$BDG3V,3,1,09.208,80,317,31,207,73,100,25,210.73,548,25,20$BDGSV,3,2,09,201,51,126,,202,44,239,43,205,24,255,36,SGNRMC,110517.000,A,2318.1179,N,11319.6990,E,000.0,072.4,280SGNTTG,072.4,T,,M,000.0,N,00SGNZDA,110517.000,28,03,2016SGMGGA,110518.000,2318.1179,N,11319.6990,E,1,11,1.8,112.9,M,-5.SCNGLL,2318.1179,N,11319.6990,E,110518.SCNCSA,A,3,07,23,30,11,09,17,28,,,,2.6,1.SCMGSA,A,3,202,203,205,208,,,,2,,,,2.6,SCNRMC,110518.000,A,2318.1179,K,11313.6990,E,000.0,072.4,230SGNVTG,072.4,T,,M,000.0,N,00SGNZDA,110518.000,28,03,2016SGNGGA,110519.000,2318.1179,N,11319.6990,E,1,11,1.8,112.9,M,-5.4,SGNGLL,2318.1179,N,11319.0990,E,110519.000,五,A*41$GNGSA,A,3,07.23,30,11,09,17,28,,,.$GNGSA,A,3,202,203,205,208,,,,,,最后进行编译,编译成功后,将代码下载到STM32单片机上。然后进入下一步,打开串口调试助手,等待GPS/北斗模块成功定位,定位完成后就可以在串口调试助手界面得知当前地点的全球通用经纬度,之后我们把全球通用经纬度划算成为中国所用的坐标即可。我使用的US-100超声波传感器的可探测距离为2cm-450cm,再结合一般人的一步的距离,在前方障碍距离手杖100cm时启动避障震动提醒时最合理的。完成以上调试后,把各个模块按照正确的顺序连接在一起,接通电源检查手杖的各个模块是否正常运行。如果没问题,就进行整体调试,确定硬件电路方案设计无误,可以使每个模块都正常运行。系统的整体调试步骤:1.为整个系统接通电源,各指示灯正常亮起,各模块正常运行。如有特殊情况发生,按照单模块调试方法进行调整,直到完成各个模块的正常运行。2.连接单片机与GPS定位模块,刷新LCD屏等待显示经纬度,显示经纬度后与地图经纬度相比较,测试模块定位信息是否准确。3.先烧录超声波避障模块的程序到单片机进行验证,让手杖在空旷环境进行避障功能的实验,当手杖遇到障碍时能跟据障碍的距离和方位提醒使用者进行躲避行为,避障模块正常。所有模块正常连接后,接通电源,所有模块都正常工作,首先进行超声波测距模块检测,检测结果如下表所示:实际距离测试距离是否震动否否否否否是是是通过多次测试得到的实验数据可以得出结果:超声波测距模块使用正常,可以准确的检测出障碍物和使用者之间的距离,而且在小于安全距离时发出震动。对GPS定位模块进行调试,在启动单片机时,GPS启动并开始接受定位信息,数据如下表:经度纬度东经113.000621北纬28.139311东经113.00085北纬28.139423东经113.001155北纬28.13953东经113.00116北纬28.13953东经113.001276北纬28.139264东经113.001339北纬28.139132东经113.001487北纬28.138901经过多次测试可知:GPS定位模块工作正常,可以精准的显示出经纬度。本次毕业设计其实就是为了实现一些功能,选择对应的模块将他们通过单片机整合起来,组装成可以检测到障碍物并做出提醒。这些模块分别是GPS定位系统模块,超声波避障模块,单片机模块,电源模块,LCD液晶显示屏。GPS定位系统模块:GPS全球定位系统对目标所在地点进行定位,并把定位后的信息通过协议发送给单片机。超声波避障模块:通过超声波模块的测距功能进一步进行衍生,将其用于检测手杖前方是否有障碍物,有则检测相距多远,并使手杖在距离障碍物很近时发出主动提醒。电源模块:本次设计最初采用的是普通电池为整个系统供电,但其长时间运行可能会因为供电不足产生影响,所以用电源线代替。单片机模块:单片机模块是另一个重中之重,正是因为有了STM32单片机作为系统的核心,整个系统才能正常运行。因为有了这些不可缺少的功能,才能够使得设计更加的完善,而设计前的调试是必不可少的,这就是发现问题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论