1、Harbin Institute of Technology课程设计说明书(论文)设计题目: 超声波避障小车 院 系: 电气工程及自动化 班 级: xxx 设 计 者: xxx 学 号: 指导教师: 设计时间: 2012.08.27-2012.09.07 哈尔滨工业大学课程设计考核表题目: 超声波避障小车学生姓名: xxx 班级: 学号:实验部分考核考核内容 分值 得分基本设计任务的完成情况 40附加设计任务的完成情况 10对教师提问的回答情况 10总结报告评分评分内容 分值 得分内容完整、字数达标 20层次清晰、重点突出、分析透彻 10书写规范、文字流畅 5有独特见解、有一定的创新 5总成绩
2、: 指导教师签字:哈尔滨工业大学课程设计任务书姓 名: 院 (系): 专 业: 班 号任务起至日期: 2012 年 8 月 27 日至 2012 年 9 月 7 日课程设计题目: 超声波避障小车已知技术参数和设计要求:已知技术参数:1. 工作电压:5v2. 工作电流:30mA 典型,50mA 最大3. 工作频率:38.5KHz4. 最大探测距离:1.8 m5. 最小探测距离:3 cm6. 输入触发器:上升沿触发7. 回波脉冲:正 TTL 高电平脉冲宽度8. 下一次测量的延时:20 mS设计要求:实现小车自动避障任务,采用超声波模块实现小车避障功能。工作量:总工作时间为 10 天;完成硬件电路的
3、设计工作;设计程序流程图并编写、调试程序;硬件连接调试,完成设定的功能;最后撰写开题报告和结题报告各一份。工作计划安排:1)2012.8.272012.8.28:任务布置、查阅资料,了解小车避障原理;2)2012.8.292012.8.30:根据要实现的功能及采用的方法设计程序流程并编写程序;3)2012.8.312012.9.3:程序装载、调试运行各种拟实现的功能;4)2012.9.42012.9.5:完成设定要实现的功能,撰写课程设计说明书;5)2012.9.62012.9.7:完成硬件调试、验收。指导教师签字_年 月 日 教研室主任意见:教研室主任签字_年 月 日*注:此任务书由课程设计
4、指导教师填写哈尔滨工业大学课程设计说明书(论文)开题报告1 立项依据1.1 立项目的(1)设计一辆利用超声波传感器来实现避障功能的小车,使小车对其运动方向受到的阻碍作出各种躲避障碍的动作。(2)进一步学习单片机原理及其应用,了解超声波传感器的工作原理。1.2 立项意义在科学探索及紧急抢险中经常要对一些危险或人类不能直接到达的地域进行探测,这就需要用机器人来完成。而机器人在复杂地形行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发也就应运而生。自动避障小车就是基于这一系统开发而成的。随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人自动避障
5、功能的研发有了重大意义。通过对自动避障小车的设计,我们可以将其运用于自动避障小车,以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。1.3 设计要求(1)在车前方没有障碍物时,小车沿直线向前走。(2)在车前方有障碍物时,小车能避开障碍物,避障方法如下:先向左边转 90 度,如果前面没有障碍物,再沿直线向前走;如果前面仍有障碍物,则向右转 180 度,如果前面没有障碍物,则直线行走;如果前面仍有障碍物,则向右 90 度,然后直线行走2 课题设计2.1 设计原理该智能车系统可分为四个主要模块:传感器避障模块,单片机主控核心模块,电机驱动模块,USB 下载模块。鉴于电机
6、驱动模块、USB 下载模块已经由实验室直接提供了,我们对于传感器避障模块和单片机主控核心模块进行了讨论。(1)传感器避障模块。智能车避障系统中的传感器一般分为接触型和非接触型两种,接触型相对比较简单。这里我们使用了超声波传感器进行测量,也即非接触型传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生震动产生的,在碰到杂质获分界面会产生显著反射从而形成反射回波,超声波传感器就是根据超声波在障碍物界面上的反射来判断检测物体的存在以及距离的。超声波频率高,波长短,绕射现象小,方向性好,再加上信息处理简单且价格低廉,所以这里我们使用 28015-PING-v1.6 超声波传感器对
7、小车行进前方路况进行探测以及判断,它能实现从 3cm 到 1.8m 距离的测量,从而识别出范围内的障碍物。我们将其作为传感器避障模块,利用其返回的数据,从而实现小车避障的功能。哈尔滨工业大学课程设计说明书(论文)图 2.1.1 超声波传感器(2)单片机主控核心模块。在这次设计中我们选用已经学过的 MCS-51 单片机为核心作为控制模块。MCS-51 系列单片机是美国 Intel 公司于 1980 年推出的产品,MCS-51 系列单片机的影响及其深远,许多公司都推出了兼容系列单片机,使 MCS-51 内核成为一个 8 位单片机的标准,其典型产品有 8031、8051、8751等等。(3)电机驱动
8、模块。电机驱动模块是由两个伺服电机组成,伺服电机控制原理如下所示:控制电机运动转速的是高电平持续的时间,当高电平持续时间为 1.3ms 时,电机顺时针全速旋转,当高电平持续时间 1.7ms 时,电机逆时针速旋转。图 2.1.2 伺服电机控制时序图2.2 设计内容系统主要原理是:通过超声波避障模块(即感测模块)实时监测路面情况并及时传输给单片机。由单片机主控核心模块根据感测模块给予的信息控制小车两电机转动工作状态。电机驱动模块驱动两电机转动,实现前进或者左、右转。小车的避障流程如下:(1)在车前方没有障碍物时,小车沿直线向前走。(2)在车前方有障碍物时,小车能避开障碍物,避障方法如下:先向左边转
9、 90 度,如果前面没有障碍物,再沿直线向前走;如果前面仍有障碍物,则向右转 180 度,如果前面没有障碍物,则沿直线哈尔滨工业大学课程设计说明书(论文)向前行走;如果前面仍有障碍物,则向右 90 度,然后直线行走根据小车的避障流程画出小车避障程序的程序流程图如下:哈尔滨工业大学课程设计说明书(论文)程序初始化向左旋转 90 度Dis 大于等于 10?Dis 大于等于 10?Dis 大于等于 10?向右旋转 180 度向右旋转 90 度否否否Sig 口初始化前进是是是哈尔滨工业大学课程设计说明书(论文)根据程序流程图编写单片机控制程序(见附录)2.3 设计结果组装出来的避障小车图 2.3.1
10、所示。将编写好的 C 语言程序转换成.hex 文件,将.hex 文件“烧入”单片机中,接通电源,小车向前沿直线行走,把手放在传感器前,小车立即向左旋转 90 度;放开手,小车又沿直线向前走。把手一直放在传感器前面,小车会先向左转 90 度,再右旋转 180 度,再接着向右旋转 90 度,再向左旋转 90 度,然后一直循环通过不同的测试发现下车完全满足设计要求。图 2.3.1哈尔滨工业大学课程设计说明书(论文)结题报告1、课题完成情况介绍将编写好的 C 语言程序转换成.hex 文件,将.hex 文件“烧入”单片机中,接通电源,小车向前沿直线行走,把手放在传感器前,小车立即向左旋转 90 度;放开
11、手,小车又沿直线向前走。把手一直放在传感器前面,小车会先向左转 90 度,再右旋转 180度,再接着向右旋转 90 度,再向左旋转 90 度,然后一直循环通过不同的测试发现下车完全满足设计要求。2、设计中发现的问题及相应的解决情况2.1、发现的问题(1)通电之后,小车不停地旋转,旋转次序与设计的避障旋转次序一致,说明子函数“getx() ”返回的 Dis 的值一直小于 10.(2)小车通电之后,小车在避障功能上完全满足要求,但是前进时,小车却每行进两三厘米就停顿一下,然后再行进两三厘米就停顿。2.2、解决情况(1)出现这个结果的问题是子函数“getx() ”里面的子函数 delay_nus(1
12、),因为delay_nus(1)的实现的延时时间实际上不是 1us,因为 delay_nus()函数里面有这样的语句“i=i/10” ,这样实际上 i 就等于 0;为了解决这个问题我们重新编写了一个延时函数 delay_nus1(1),结果小车正常运行。(2)出现这个问题的原因是程序每循环一次时都应该初始化 Sig 口,我们在程序中加上了“delay_nus(20000);Sig=0;” 结果小车正常运行。3、课程设计的心得体会通过这次课程设计,我对单片机的原理和应用有了更深的理解。在这次课程设计中,我重新学习了一遍张毅刚老师编写的教材单片机原理及应用 ,将以前学习的知识重新看了一遍,加深了我对单片机知识的印象。最重要的是,我知道如何在实际设计中使用单片机,这个是在课本上学不来的。在这次课程设计中我们遇到了很多问题,尤其是在调试程序的时候,虽然我们严格的按照程序流程图的逻辑来编写程序,编译也没有出错,但是把程序“烧入”单片机运行时小车总是不能按照预想的情况运行,经过我们耐心的调试和修改,以及在胡瑞强老师的耐心指导下,我们最终还是成功了。4、参考文献【1】张毅刚.单片机原理及应用.高等教育出版社。