避障小车设计书单片机课程设计毕业毕业设计

上传人:ni****g 文档编号:485243929 上传时间:2023-11-18 格式:DOC 页数:12 大小:514KB
返回 下载 相关 举报
避障小车设计书单片机课程设计毕业毕业设计_第1页
第1页 / 共12页
避障小车设计书单片机课程设计毕业毕业设计_第2页
第2页 / 共12页
避障小车设计书单片机课程设计毕业毕业设计_第3页
第3页 / 共12页
避障小车设计书单片机课程设计毕业毕业设计_第4页
第4页 / 共12页
避障小车设计书单片机课程设计毕业毕业设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《避障小车设计书单片机课程设计毕业毕业设计》由会员分享,可在线阅读,更多相关《避障小车设计书单片机课程设计毕业毕业设计(12页珍藏版)》请在金锄头文库上搜索。

1、课程设计说明书(论文)设计题目: 超声波避障小车 院 系: 电气工程与自动化 班 级: xxx 设 计 者: xxx 学 号:指导教师:课程设计考核表题目: 超声波避障小车学生: xxx 班级: 学号:实验部分考核考核容分值得分基本设计任务的完成情况40附加设计任务的完成情况10对教师提问的回答情况10总结报告评分评分容分值得分容完整、字数达标20层次清晰、重点突出、分析透彻10书写规、文字流畅5有独特见解、有一定的创新5总成绩: 指导教师签字:工业大学课程设计任务书 姓 名: 院 (系): 专 业: 班 号任务起至日期: 2012 年 8 月 27 日至 2012 年 9 月7 日课程设计题

2、目: 超声波避障小车已知技术参数和设计要求:已知技术参数:1. 工作电压:5v2. 工作电流:30mA 典型,50mA 最大3. 工作频率:38.5KHz4. 最大探测距离:1.8 m5. 最小探测距离:3 cm6. 输入触发器:上升沿触发7. 回波脉冲:正TTL高电平脉冲宽度8. 下一次测量的延时:20 mS设计要求: 实现小车自动避障任务,采用超声波模块实现小车避障功能。工作量: 总工作时间为10天; 完成硬件电路的设计工作;设计程序流程图并编写、调试程序;硬件连接调试,完成设定的功能;最后撰写开题报告和结题报告各一份。工作计划安排: 1)2012.8.272012.8.28:任务布置、查

3、阅资料,了解小车避障原理;2)2012.8.292012.8.30:根据要实现的功能与采用的方法设计程序流程并编写程序;3)2012.8.312012.9.3:程序装载、调试运行各种拟实现的功能;4)2012.9.42012.9.5:完成设定要实现的功能,撰写课程设计说明书;5)2012.9.62012.9.7:完成硬件调试、验收。 指导教师签字_ 年 月 日 教研室主任意见: 教研室主任签字_ 年 月 日*注:此任务书由课程设计指导教师填写 / 开题报告1 立项依据1.1 立项目的(1)设计一辆利用超声波传感器来实现避障功能的小车,使小车对其运动方向受到的阻碍作出各种躲避障碍的动作。(2)进

4、一步学习单片机原理与其应用,了解超声波传感器的工作原理。1.2 立项意义在科学探索与紧急抢险中经常要对一些危险或人类不能直接到达的地域进行探测,这就需要用机器人来完成。而机器人在复杂地形行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发也就应运而生。自动避障小车就是基于这一系统开发而成的。随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人自动避障功能的研发有了重大意义。通过对自动避障小车的设计,我们可以将其运用于自动避障小车,以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。1.3 设计要求(1)在车前方没有

5、障碍物时,小车沿直线向前走。(2)在车前方有障碍物时,小车能避开障碍物,避障方法如下:先向左边转90度,如果前面没有障碍物,再沿直线向前走;如果前面仍有障碍物,则向右转180度,如果前面没有障碍物,则直线行走;如果前面仍有障碍物,则向右90度,然后直线行走2 课题设计2.1 设计原理该智能车系统可分为四个主要模块:传感器避障模块,单片机主控核心模块,电机驱动模块,USB下载模块。鉴于电机驱动模块、USB下载模块已经由实验室直接提供了,我们对于传感器避障模块和单片机主控核心模块进行了讨论。(1)传感器避障模块。智能车避障系统中的传感器一般分为接触型和非接触型两种,接触型相对比较简单。这里我们使用

6、了超声波传感器进行测量,也即非接触型传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生震动产生的,在碰到杂质获分界面会产生显著反射从而形成反射回波,超声波传感器就是根据超声波在障碍物界面上的反射来判断检测物体的存在以与距离的。超声波频率高,波长短,绕射现象小,方向性好,再加上信息处理简单且价格低廉,所以这里我们使用28015-PING-v1.6超声波传感器对小车行进前方路况进行探测以与判断,它能实现从3cm到1.8m距离的测量,从而识别出围的障碍物。我们将其作为传感器避障模块,利用其返回的数据,从而实现小车避障的功能。图2.1.1超声波传感器(2)单片机主控核心模块。在

7、这次设计中我们选用已经学过的MCS-51单片机为核心作为控制模块。MCS-51系列单片机是美国Intel公司于1980年推出的产品,MCS-51系列单片机的影响与其深远,许多公司都推出了兼容系列单片机,使MCS-51核成为一个8位单片机的标准,其典型产品有8031、8051、8751等等。(3)电机驱动模块。电机驱动模块是由两个伺服电机组成,伺服电机控制原理如下所示:控制电机运动转速的是高电平持续的时间,当高电平持续时间为1.3ms时,电机顺时针全速旋转,当高电平持续时间1.7ms时,电机逆时针速旋转。图2.1.2伺服电机控制时序图2.2设计容系统主要原理是:通过超声波避障模块(即感测模块)实

8、时监测路面情况并与时传输给单片机。由单片机主控核心模块根据感测模块给予的信息控制小车两电机转动工作状态。电机驱动模块驱动两电机转动,实现前进或者左、右转。小车的避障流程如下:(1)在车前方没有障碍物时,小车沿直线向前走。(2)在车前方有障碍物时,小车能避开障碍物,避障方法如下:先向左边转90度,如果前面没有障碍物,再沿直线向前走;如果前面仍有障碍物,则向右转180度,如果前面没有障碍物,则沿直线向前行走;如果前面仍有障碍物,则向右90度,然后直线行走根据小车的避障流程画出小车避障程序的程序流程图如下:程序初始化向左旋转90度Dis大于等于10?Dis大于等于10?Dis大于等于10?向右旋转1

9、80度向右旋转90度否否否Sig口初始化前进是是是根据程序流程图编写单片机控制程序(见附录)2.3设计结果组装出来的避障小车图2.3.1所示。将编写好的C语言程序转换成.hex文件,将.hex文件“烧入”单片机中,接通电源,小车向前沿直线行走,把手放在传感器前,小车立即向左旋转90度;放开手,小车又沿直线向前走。把手一直放在传感器前面,小车会先向左转90度,再右旋转180度,再接着向右旋转90度,再向左旋转90度,然后一直循环通过不同的测试发现下车完全满足设计要求。图2.3.1结题报告1、课题完成情况介绍将编写好的C语言程序转换成.hex文件,将.hex文件“烧入”单片机中,接通电源,小车向前

10、沿直线行走,把手放在传感器前,小车立即向左旋转90度;放开手,小车又沿直线向前走。把手一直放在传感器前面,小车会先向左转90度,再右旋转180度,再接着向右旋转90度,再向左旋转90度,然后一直循环通过不同的测试发现下车完全满足设计要求。2、设计中发现的问题与相应的解决情况2.1、发现的问题(1)通电之后,小车不停地旋转,旋转次序与设计的避障旋转次序一致,说明子函数“getx()”返回的Dis 的值一直小于10.(2)小车通电之后,小车在避障功能上完全满足要求,但是前进时,小车却每行进两三厘米就停顿一下,然后再行进两三厘米就停顿。2.2、解决情况(1)出现这个结果的问题是子函数“getx()”

11、里面的子函数delay_nus(1),因为delay_nus(1)的实现的延时时间实际上不是1us,因为delay_nus()函数里面有这样的语句“i=i/10”,这样实际上i就等于0;为了解决这个问题我们重新编写了一个延时函数delay_nus1(1),结果小车正常运行。(2)出现这个问题的原因是程序每循环一次时都应该初始化Sig口,我们在程序中加上了“delay_nus(20000);Sig=0;” 结果小车正常运行。3、课程设计的心得体会通过这次课程设计,我对单片机的原理和应用有了更深的理解。在这次课程设计中,我重新学习了一遍毅刚老师编写的教材单片机原理与应用,将以前学习的知识重新看了一

12、遍,加深了我对单片机知识的印象。最重要的是,我知道如何在实际设计中使用单片机,这个是在课本上学不来的。在这次课程设计中我们遇到了很多问题,尤其是在调试程序的时候,虽然我们严格的按照程序流程图的逻辑来编写程序,编译也没有出错,但是把程序“烧入”单片机运行时小车总是不能按照预想的情况运行,经过我们耐心的调试和修改,以与在胡瑞强老师的耐心指导下,我们最终还是成功了。4、参考文献1毅刚.单片机原理与应用.高等教育。附录#include int dis,ltime,htime,time;/dis代表距离,time代表时间sbit SIG=P34;/P34控制和读取传感器IO口状态sbit left=P1

13、0;/左轮sbit right=P11;/右轮/延时程序void delay(int i)/用于延时i微秒i=i/10-14;/这里减去14因为通过debug得到精确时间while(i-);void delay1(int i)/用于产生脉冲,激发超声波while(i-);/初始化void init()TMOD=0x01;/T0方式1TH0=0;TL0=0;/计时器清零ET0=1;/定时器0中断允许EA=1;/总中断允许TR0=0;/定时器0先不开始计时/行车程序void xingjin(int l,int r)/方便下面程序的编写left=1;/给左轮提供长度为l微秒的脉冲delay(l);left=0;right=1; /给右轮提供长度为r微秒的脉冲delay(r);right=0;delay(18000);void left_90()/原地左转90度,两轮均为顺时针inti=30;while(i)xingjin(1300,1300);i-;void right_90()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号