文档详情

迷宫电脑鼠的设计报告

枫**
实名认证
店铺
DOC
871.50KB
约32页
文档ID:448843574
迷宫电脑鼠的设计报告_第1页
1/32

综合课程设计报告题目: 迷宫电脑鼠的设计 二级学院 计算机科学与工程学院 专 业 计算机科学与技术 班 级 学生姓名 学号 指导教师 时 间 2015 01 17 目 录目 录 I摘 要 II1、课程设计的目的及要求 11.1 课程设计目的 11.2课程设计要求 12、题目分析 12.1 功能分析 12.2 性能需求分析 12.3 算法分析 13、系统设计 23.1系统整体设计 23.2硬件设计 3硬件结构设计 3传感器组设计 4电机驱动电路设计 73.3软件设计 8电脑鼠正常行走程序设计 8电脑鼠找终点程序设计 11程序设计 124 总结 274.1 所遇问题及解决办法 274.2 心得体会 28摘 要“电脑鼠”是使用单片机微控制器,传感器和机电运动部件构成的一种智能行走装置。

一只电脑鼠是具有机电知识整合的基本构架,本身就像是一个智能的机器人要在指定的迷宫中比赛,就像是一个人置身竞赛中一样,必须要靠自己的判断力,敏捷动作及正确探查周边坏境一般来说一只电脑鼠具备有以下两个基本能力:拥有稳定且快速的行走能力;正确判断能力1、课程设计的目的及要求1.1 课程设计目的(1)了解并熟悉电子元器件焊接技术与方法2)了解并熟悉电子元器件工作原理和功能特性3)掌握单片机对编码电机的控制与红外发射与接收的控制4)熟练运用keil软件进行单片机的C语言编程1.2课程设计要求走有一定弯度、曲折度、路线单一的迷宫2、题目分析2.1 功能分析(1)迷宫电脑鼠能够在迷宫中随意穿行由于迷宫中有很多挡板,要使电脑鼠能够在迷宫中随意穿行,就要让电脑鼠遇到挡板的时候能够转弯找到一条可通行的路,所以就要用到用来检测挡板的传感器还要电脑鼠能够左转、右转和前进,所以必须要写出这四个功能函数,不然电脑鼠就不能在迷宫中行走2.2 性能需求分析1、迷宫电脑鼠外形合理,符合8×8迷宫场地需求2、迷宫电脑鼠运行稳定,能够正常在迷宫中随意穿行2.3 算法分析此次迷宫电脑鼠主要用到了这几个算法:左手法则、右手法则和车头方向、转弯算法、修正算法。

转弯算法:当遇到障碍物向左转90度或者右转90度或者向后转修正算法:当在迷宫中走偏后能够自动修正方向左手法则:小车在搜过程中有两个以上的搜索方向时,优先选择向左转,其次是向前行进,最后才考虑向右转弯右手法则:小车在搜过程中有两个以上的搜索方向时,优先选择向右转,其次是向前行进,最后才考虑向左转弯车头方向:迷宫机器鼠的车头有绝对方向和相对方向之分绝对方向:以小车刚开始运行的时候车头面向的方向作为“上”,其它方向类推相对方向:顾名思义,相对于当前小车所朝向的方向的方向机器鼠转弯时要修整方向为绝对方向用数字0,1,2,3分别表示上,右,下,左,修正公式为:转弯后的绝对方向=(转弯前的绝对方向+转弯数值)% 4,如图所示绝对方向转弯前的方向转弯方向转弯后的方向0(上方)向左(+3)向左(0+3)%4 = 30(上方)向右(+1)向右(0+1)%4 = 10(上方)向后(+2)向后(0+2)%4 = 21(右方)向左(+3)向上(1+3)%4 = 01(右方)向右(+1)向下(1+1)%4 = 21(右方)向后(+2)向左(1+2)%4 = 32(下方)向左(+3)向右(2+3)%4 = 12(下方)向右(+1)向左(2+1)%4 = 32(下方)向后(+2)向上(2+2)%4 = 03(左方)向左(+3)向下(3+3) %4 = 23(左方)向右(+1)向上(3+1)%4 = 03(左方)向后(+2)向右(3+2) %4 = 13、系统设计3.1系统整体设计系统的功能函数:延时函数功能:延时电机驱动函数功能:启动和停止左右电机电机初始化函数功能:初始化电机中断函数功能:T0、T1用来计数左右电机的脉冲数;T2用来产生红外信号系统初始化函数功能:初始化整个系统红外传感器函数功能:当遇到障碍物时点亮LED灯转弯函数1功能:左转和右转任意角度转弯函数2功能:左转90度,右转90度,向后转前进一步函数功能:电脑鼠在迷宫前进一个方格距离主程序流程图:3.2硬件设计硬件电路部分主要由单片机最小系统电路、传感器电路、电机驱动电路构成。

如图所示,是硬件电路部分结构框图单片机传感器组5传感器组4传感器组3传感器组2传感器组138KHz载波发生器3-8译码选择器显示器蜂鸣器电机1电机2驱动电路1驱动电路2操作按键1、微控制器微控制器是电脑鼠的核心,可以选择单片机,若RAM需求量大或者算法复杂或者性能要求高时,需要使用ARM等高性能的微处理器2、传感器传感器的作用是用来感知环境,探测电脑鼠的左、前、右是否有路可走本设计中采用的是红外线方式,发射和接收分别受微控制器控制由硬件电路部分结构框图可知,在电脑鼠的前、左、右、左前、右前方共有5组,其中左、右、前三组传感器是用于探测电脑鼠在当前迷宫格左、右、前三个方向上是否有支路的,左前、右前两组传感器呈45度安装,用于电脑鼠行进过程中进行姿态矫正,防止电脑鼠走偏而撞到迷宫墙3、显示器显示器是用来显示当前位置等相关信息的,是电脑鼠的可选部分4、电源电源用来为单片机供电,选择哪种电池,这也将影响电路的设计5、蜂鸣器当电脑鼠到底终点、或是返回到起点,可以用蜂鸣器来提示,是电脑鼠的可选部分1)传感器的选择电脑鼠有5组传感器这5组传感器分别安装于电脑鼠的左、左前、前、右前、右5个不同的方向,其中左、右、前三组传感器是用于探测电脑鼠在当前迷宫格左右前三个方向上是否有支路的,左前、右前两组传感器呈45度安装,用于电脑鼠行进过程中进行姿态矫正,防止走偏而撞到迷宫墙。

如图所示,是用于电脑鼠环境感知的传感器组电路传感器组电路由红外发射LED和红外一体化接收头HS0038构成,红外LED由前面载波发生器产生的CLOCK信号驱动产生38KHz红外调制光RP1为可调电阻,通过调节RP1来调节红外LED发光强度,从而调整传感器组检测迷宫墙障碍物的距离,RP1电阻越大,检测距离越近,电阻越小,检测距离越远irT1用于控制该组传感器是否工作,连接到3-8译码选择电路红外调制光经障碍物反射由HS0038红外一体化接收头接收,进行放大滤波、解调等处理后由irR1输出,单片机通过识别irR1位的高低电平来判断传感器前面是否有障碍物这里只给出了一组传感器,另外四组传感器也与该组传感器相同的电脑鼠通过对这五组传感器信息的融合,实现环境感知功能2)74HC138译码器74HC138译码器可接受3位二进制加权地址输入(A0, A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)74HC138特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高1、74HC138的引脚如图所示:2、74HC138的译码/真值表如下表所示:译码/真值表应用:例如A0A1A2地址为000时,74HC138输出Y0有效,从而使第一组传感器工作,而其他组传感器处于没有工作的状态。

这样就可以实现单片机的3个引脚控制5个或者更多的传感器组如图所示,是硬件电路部分3-8译码选择器电路3)载波发生器传感器组是由38KHz的红外一体化接收头和红外发射管构成的障碍感测器为了能够让传感器组正常工作,红外发射管需要一个38KHz的方波来驱动,使红外发射管发射出调制频率与接收头接收频率匹配的红外光如图所示,是产生38KHz方波的载波发生器电路4)传感器的调试(主要写每组传感器如何进行调试1、左右两边的传感器检测是否有墙壁2、左前和右前45°角的两组传感器用于电脑鼠在行走过程中的微调3、传感器上标的1、2、3、4、5对应led的1、2、3、4、5(里面往前数)4、传感器的测距是通过条对应的可调电阻来实现的,可调电阻顺时针转动调近,逆时针调远传感器的测试距离如图所示,是用来驱动电脑鼠伺服电机的驱动电路由于单片机I/O口电流输出能力有限,不能直接驱动电机转动为了能让单片机控制电机运转,需要使用电机驱动电路,将单片机I/O口弱电流放大到足以驱动电机的电流1、L9110器件的管脚图如图所示2、 管脚定义如下:3、通过L9110驱动芯片IA、IB输入的逻辑值的组合,不同高低电平的输入输出,控制电机正转、反转、停转。

L9110的逻辑关系表如下表所示:L9110逻辑关系IAIBOAOBHLHL正转LHLH反转LLLL停止HHLL停止3.3软件设计电脑鼠正常行走包括直走、左转弯、右转弯和向后转弯四个功能函数这四个功能函数中要用到T0、T1定时/计数器;所以函数中首先初始化T0、T1T0初始化:打开总开关EA=1;开T0中断ET0=1;设定T0模式2,8位自动重装值定时计数器TMOD&=0xf6; TMOD|=0x06; 设定T0计数初值,定义中断脉冲数TH0=256-ICP;TL0=256-ICP; //启动T0计数TR0=1;T1初始化也是一样的为了使左右电机的转速尽可能相同,我们可以设定一个值,在这个值内,如果T0的脉冲数Count0大于T1的脉冲数Count1,就停止左电机,转动右电机;当Count0Count1时,停止右电机,反转左电机;当Count0Count1时,停止右电机,正转左电机;当Count0

在直走函数中,当Count0>Count1时,停止右电机,正转左电机;当Count0

下载提示
相似文档
正为您匹配相似的精品文档