机器人创新实践报告_第1页
机器人创新实践报告_第2页
机器人创新实践报告_第3页
机器人创新实践报告_第4页
机器人创新实践报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程设计报告书 题目: 智能机器人创新实践 学 院 专 业 学生姓名 学生学号 指导教师 课程编号 课程学分 起始日期 2016.04-2016.06 教师评语教师签名:日期:成绩评定备注目录1 设计原理42 方案论证42.1 巡线模块设计42.2巡线模块设计43 设计方案53.1小车的总体结构设计53.1.1结构元件的选择53.1.2小车结构图53.1.3电路驱动部分电路原理图63.1.4小车的成品外观图73.2巡线功能介绍83.2.1反射型光电探测器RPR22083.2.2寻迹电路图分析93.2.3寻迹元件在小车的具体实现103.2.4电源部分103.3小车三路巡迹算法113.

2、3.1.直线寻迹图113.3.2左转弯巡迹图113.3.3右转弯巡迹图123.4巡线与电机驱动程序124 结果与分析16智能巡线小车1 设计原理 由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断实际的“道路”情况,使小车在白色地板上循黑线行走。通常采取的方法是红外探测法。   红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红

3、外光为依据来确定黑线的位置和小车的行走路线 2 方案论证2.1 巡线模块设计采用一体反射式红外对管,所谓一体就是发射管和接受管固定在一起,反射式的工作原理就是接收管接收到的信号是发射管发出的红外光经过反射物的反射后得到的,所以使用红外对管进行循迹时必须是白色地板加黑色引导条。 这次设计中由于是近距离探测,故采用红外对管来完成数据采集。由于红外光波比可见光长,因此受可见光的影响较小。同时红外线系统还具有以下优点:尺寸小、质量轻,便于安装。反射式光电检测器就是其中的一种器件,它具有体积小、灵敏度高、线性好等特点,外围电路简单,安装起来方便,电源要求不高。用它作为近距离传感器是最理想的,电

4、路设计简单、性能稳定可靠。 1.2.2 供电方案设计与比较 2.2巡线模块设计方案一: 采用两个电源供电,将电动机驱动电源以及其周边电路与单片机电源分别供电,由于单片机的电压较低,而电机需要的电压较高,容易使单片机电压过高而损坏,使用两个电池供电,可以提高系统稳定性,但是多一组电池,增加了小车的质量,同时也增加了小车的惯性,降低了灵敏度。 方案二:采用单一电源供电。电源直接给单片机供电,通过单片机的IO口连接到电动机上,这样输出的电压稳定,同时也减轻了小车的质量,使小车更加灵活。但是加高的电压提高了损坏单片机的风险。 从安全性考虑,我们选择方案一。 3 设计方案3.1小车的总体结构设计3.1.

5、1结构元件的选择轮胎,减速箱,电机,万向滑轮,黄色底盘,pcb敷铜板,亚克力板,螺丝,卡簧,固定片等。3.1.2小车结构图3.1.3电路驱动部分电路原理图3.1.4小车的成品外观图3.2巡线功能介绍3.2.1反射型光电探测器RPR220 RPR220是一种一体化反射型光电探测器。其探测器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电二极管。主要应用在游戏机,复印机和办公自动化等设备中。本巡线小车就是用该元件作为检测元件,即是通过检测黑线有没有来达到控制小车巡线的目的的。3.2.2寻迹电路图分析 (1) 没有检测到黑线,则H4发光到白纸光反射到H4接收端,H4接收端导通,导通T1

6、接地等于0。(2)有检测到黑线,则H4发光到黑线光全部被吸收,H4接收端,没有收到任何信号,因为H4不导通(截止),T1等于vcc。3.2.3寻迹元件在小车的具体实现3.2.4电源部分3.3小车三路巡迹算法3.3.1.直线寻迹图 3.3.2左转弯巡迹图3.3.3右转弯巡迹图3.4巡线与电机驱动程序#include <REGX52.H> /包含51单片机相关的头文件sbit LeftLed=P20; /定义前方左侧指示灯端口sbit RightLed=P07; /定义前方右侧指示灯端口sbit FontLled=P10;sbit LeftIR=P35; /定义前方左侧红外探头端口sb

7、it RightIR=P36; /定义前方右侧红外探头端口sbit FontIR=P37; /定义前方正前方红外探头端口sbit M1A=P00; /定义左侧电机驱动A端sbit M1B=P01; /定义左侧电机驱动B端sbit M2A=P02; /定义右侧电机驱动A端sbit M2B=P03; /定义右侧电机驱动B端sbit B1=P04; /定义语音识识别传感器端口sbit SB1=P06; /定义蜂鸣器端口void tingzhi() M1A=0; /将M1电机A端初始化为0 M1B=0; /将M1电机B端初始化为0 M2A=0; /将M2电机A端初始化为0 M2B=0;void qia

8、njin() M1A=1; M1B=0; M2A=1; M2B=0;void houtui() M1A=0; M1B=1; M2A=0; M2B=1;void zuozhuan() M1A=0; M1B=1; M2A=1; M2B=0;void youzhuan() M1A=1; M1B=0; M2A=0; M2B=1;void delay_nus(unsigned int i) /延时:i>=12 ,i的最小延时单12 us i=i/10; while(-i); void delay_nms(unsigned int n) /延时n ms n=n+1; while(-n) delay_

9、nus(900); /延时 1ms,同时进行补偿 void ControlCar(unsigned char ConType) /定义电机控制子程序 tingzhi(); switch(ConType) /判断用户设定电机形式 case 1: /前进 /判断用户是否选择形式1 qianjin(); break; case 2: /后退 /判断用户是否选择形式2 houtui(); /M2电机反转 break; case 3: /左转 /判断用户是否选择形式3 zuozhuan(); /M2电机正转break; case 4: /右转 /判断用户是否选择形式4 youzhuan(); /M1电机

10、正转 /M2电机反转break; case 8: /停止 /判断用户是否选择形式8 tingzhi();break; /退出当前选择 void main() /主程序入口 bit RunFlag=0; /定义小车运行标志位 /RunShow=0; /初始化显示状态 ControlCar(8); /初始化小车运行状态 while(1) /程序主循环 Start: LeftLed=LeftIR; /前方左侧指示灯指示出前方左侧红外探头状态 RightLed=RightIR; /前方右侧指示灯指示出前方右侧红外探头状态 FontLled= FontIR; SB1=LeftIR; if(LeftIR = 0 && RightIR = 0) /三个红外检测到黑线,就前进 ControlCar(1); /左侧没有信号时,开始向右转一定的角度 delay_nms (10); goto NextRun; if(LeftIR = 0 && RightIR = 1) ControlCar(3); /右侧没有信号时,开始向左转一定的角度 delay_nms (10); goto NextRun; if(Lef

温馨提示

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

评论

0/150

提交评论