智能小车报告_第1页
智能小车报告_第2页
智能小车报告_第3页
智能小车报告_第4页
智能小车报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、智能小车(红外版)项目报告目录一、 引言-1二、 总体方案-1三、 电路与程序设计-4四、 小车调试方案和调试结果-8五、 遇到的问题和解决方案-9 六、 工程管理方案-10七、 总结和体会-10一、 引言智能,即可以按照预先设定的模式在一个环境中运行,不需要人为的管理。智能小车就是其中一个体现。本文的智能小车设有自动避障和自动循迹的功能。其中避障的实现需要注意当小车与障碍物之间距离小于某一数值时,车通过电动机转向;寻迹的实现则需要通过车底部的光电传感器检测行驶方向是否偏离黑线,再通过电动机调整运行方向。小车系统以STC89C52单片机为系统控制处理器;采用红外传感获取轨道及障碍物的信息,来对

2、小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。二、总体方案本小组设计的智能小车的控制机制是:以STC89C52单片机为控制核心的智能循迹避障小车。采用红外探测法实现信号检测,通过红外发射管和接受管来感知给定黑色轨迹和障碍物,将感知的信号返回给单片机,然后单片机对不同信号进行区分,结合软件编程控制小车前进、后退、左转、右转,从而实现循迹避障功能,即在有轨迹的地方小车能沿轨迹行驶,当遇到障碍时小车能够自动避开。1.实现功能(1)寻迹功能该智能小车在画有黑线的白纸 “路面”上行驶,由于黑线和白纸对光线的反射系数不同,

3、可根据接收到的反射光的强弱来判断 “道路”一黑线。本车用了比较普遍的检测方法红外探测法。红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。(2)避障功能该智能小车利用红外对管获取障碍物的信息,小车在前进时位于小车前方的红外管不断发射红外光,当前方有障碍物时,红外管被反射,并被接收管接收。2.框图Stc89c52循迹红外对管时钟电路复位电路报警电路电机驱动避障红外对管图一3.原理图(图二)4.流程图开始系统初始化中

4、间传感器有信号?小车直走延时一段时间Y左侧传感器有信号?小车右转NY右侧传感器有信号?小车左转NY小车完全脱离轨道结束智能小车寻迹流程图(图三)开始系统初始化正前方传感器有信号?小车直走NY左边传感器有信号?左转NY右边传感器有信号?右转NY后退左转智能小车避障流程图(图四)三、电路与程序设计(1)电路设计(各单元模块功能):1、控制器模块采用STC89C52单片机,直接通过USB线为小车烧录程序做开发,不用购买转换器。作用:智能小车的控制核心,通过对单片机烧录控制程序,控制小车前进、后退、左转、右转,从而实现循迹避障功能,即在有轨迹的地方小车能沿轨迹行驶,当遇到障碍时小车能够自动避开。2.

5、电机驱动模块运用两块LG9110驱动芯片来分别控制左前轮和右前轮。该芯片简单易管理,充分主程序有时间去处理其他更多功能。作用:用驱动芯片做单片机与马达的桥梁,当芯片接收到来自单片机的命令信号时,芯片会做出相应的命令来使马达运作,从而实现控制左转与右转的功能。3、寻迹模块智能小车设计要能实现在黑白轨迹线路上寻迹行驶,小车就要能区分路面上的黑白颜色,采用的是红外光线对黑白颜色反光程度不同的原理。同时也可以根据这种方法来实现避悬崖及其他更多的高级功能。4、避障模块智能小车的避障方法采用红外光线反射原理,可以很好的检测到前方能够反光的白色物体,从而实现能够绕障碍物与防撞的功能。5. 电源模块采用4节1

6、.5V干电池供电,电压达到6V,给单片机、电机和其他芯片供电。作用:给小车提供能源。6. 发光二极管和蜂鸣器采用普通发光二极管和蜂鸣器分别发出光声进行提示。作用:两个发光二极管一直亮着表示小车处于前进状态;发光二极管闪烁和蜂鸣器鸣叫表示小车后退;左边的发光二极管亮而右边的发光二极管灭表示小车左转;右边的发光二极管亮而左边的发光二极管灭表示小车右转。7.8位LED指示灯充分发挥程序状态指示灯、跑马灯、流水灯、花样灯等更多变幻多样的功能。(2)程序设计:程序设计原理:探测障碍物的红外对管和寻迹的两个红外对管引起的电平变化,并将其变化传递给STC89C51单片机,经过一定计算处理,并配合两个直流发电

7、机通过前进、后退 、左转、右转等动作完成寻迹和避障功能。1、主程序模块#include#include#define GPIO2 P1#define GPIO3 P2#define uchar unsigned charvoid delayms(uchar x);/延时子程序void display(); /数码管显示程序void bizhang(); /避障程序void qian(); /前进void hou(); /后退void zuo(); /向左void you(); /向右void stop(); /停止void xunji(); /寻迹子程序void voicecontrol();

8、sbit IB1=P00;sbit IA1=P01;sbit IB2=P02;sbit IA2=P03;sbit D1=P20; /左前方LEDsbit D2=P07; /右前方LEDsbit BE=P06; /蜂鸣器控制位sbit BT=P04; /声音检测位sbit h1=P37; /前方避障红外检测sbit h2=P35; /寻迹左红外检测sbit h3=P36; /寻迹右红外检测sbit s2=P34;uchar runflag=0,flag1,flag2; /标志位uchar num1=0,num2=0,t,k;uchar code DPIO10=0xfc,0x60,0xda,0xf

9、2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6; /数码管段码2、延时子程序void delayms(uchar x)uchar a,b,c;for(a=0;ax;a+)for(b=0;b100;b+)for(c=0;c100;c+);3、数码管显示子程序void display()uchar i,j;t=D1;i=num2/10; /秒的十位j=num2%10; /秒的个位switch(i)case 0:GPIO2=0x00;break;case 1:GPIO2=0x01;break;case 2:GPIO2=0x02;break;case 3:GPIO2=0x04;brea

10、k;case 4:GPIO2=0x08;break;case 5:GPIO2=0x10;break;case 6:GPIO2=0x20;break;case 7:GPIO2=0x40;break;case 8:GPIO2=0x80;break;default:break;GPIO3=DPIOj;D1=t;4、寻迹子程序void xunji()if(h2=1&h3=1) /左、右红外都为1时,表示在跑道上,前进 qian(); if(h2=0&h3=0) /不在跑道上,后退hou();delayms(5);you();if(h2=1&h3=0) /偏离跑道向左转zuo();if(h2=0& h3

11、=1)/偏离跑道向右转you(); void voicecontrol()if(BT=0)/声音检测while(BT=0);/直到没有声音if(runflag=0) /判断运动标志位runflag=1;stop();delayms(100);while(BT);else runflag=0;qian();5、避障子程序void bizhang() if(h1=0) /前方遇到障碍物delayms(1);if(h1=0)hou(); /先后退,右转,前进,左转,前进,左转,前进,右转/前进,实delayms(30);/现躲避障碍物并沿原方向前进you();delayms(15);qian();d

12、elayms(40);zuo();delayms(15);qian();delayms(80);zuo();delayms(15);qian();delayms(40);you();delayms(15);qian();四小车的调试方案和调试结果(1)各模块调试方案和结果:1、控制器模块:打开小车开关,观察小车在初始程序下是否工作正常。通过测试,控制器模块工作正常。2、电机驱动模块:烧录电机控制程序,观察两个电机正反转是否正常。通过测试,电机驱动模块工作正常。3、电源模块:安装电池,打开小车开关,观察小车电源灯是否亮。电源灯亮,电源模块工作正常。4、发光二极管、蜂鸣器和静态数码管:打开小车开关

13、,观察发光二极管和蜂鸣器在初始程序下是否工作正常。通过测试,控制器模块工作正常。(2)系统功能调试方案和结果: 在keil软件上编写程序之后,生成.hex文件,并将它烧录到单片机内,打开开关,使小车在白底黑色跑道上行驶,若小车放在白色区域任意位置,能自动找到黑色跑道,并按照跑道行进。小车在椭圆型、S型、六边形等轨道都可以实现寻迹。向前运行的机器人能发现前方白色障碍,先倒车再转弯绕过障碍物。如不能则再次修改程序、检查电路,直至发现错误或测试成功。五遇到的问题和解决方案(1)硬件制作:1、在最初焊接元器件的时候,没注意到各电阻的阻值有差异,之后用万用表将各阻值电阻测量好并按照图纸焊;2、组装完小车

14、之后进行初步测试时,我们发现打开开关后,灯未亮,发动机未工作,初步认为是芯片出了问题,第一次更换的芯片也存在问题,由于没及时排除这个因素,出现了后面一系列的差错,甚至将电动机的线接反,经最终老师们的指导,重新换了一块芯片,小车能正常运转。(2)程序编写: 由于该程序的编写编译需要用到kiel软件,而我们小组所有成员之前都没有接触过这个软件,所以最大的问题就是我们完全不会使用这个软件,还好之前我们学过C语言。我们小组查找各种资料视频,从头开始学习keil软件,一起讨论,也咨询懂的同学,加上有一点C语言编程基础,慢慢的写出了程序。(3)功能调试:1、功能调试的时候发现我们的小车不会转弯,遇到障碍物

15、后会倒退,就是不转弯,继续往前走,遇到障碍物又往后退,周而复始。通过测试发现,是因为我们下面的发光二极管损坏了,不能接收信号,之后更换二极管后能够接收信号。2、更换二极管后虽然能够接收信号,但是发现转弯的时候小车转动的方向与理想情况相反,经过思考,发现是因为发动机的M1和M2口接反了,调换之后小车能够正常寻迹。六、工程管理方案 (1)人力资源配置:组长A:主要负责小车芯片部分电路焊接与调整,调试,负责编程以实现小车各项功能,小车MV拍摄,制作视频并进行后期加工。组员B:主要负责机械组装小车,查找相关资料,轨道的制作,调试,撰写终期检查报告,负责编程以实现小车各项功能,以及协助小车MV拍摄。组员

16、C:主要负责传感器部分电路焊接与调整,调试,撰写终期检查报告,轨道的制作,负责编程以实现小车各项功能,以及协助小车MV拍摄。 (2)项目进度计划:小组成员首先完成了主板和各部件的焊接以及机械组装,之后通过网络以及各种书籍去学习了解keil软件、电动机、LED灯、蜂鸣器等部分的工作原理,学习完之后开始进行编写程序,然后借助烧录软件把程序烧录到小车,最后进行小车的调试及错误更改。七、总结与体会 本学期我们小组的任务是实现智能小车寻迹避障的功能。这个过程非常有趣,在动手操作的同时也学到了单片机以及keil软件的相关知识。通过此次的设计制作,使我们深刻认识到了动手能力和理论知识的重要性,而理论与实践的结合更是重中之重。当然,我们也深刻地认识到我们的不足,由于自身理论知识的欠缺和动手能力的不佳在工作中频频受阻,走了好多弯路,虽然在制作过程中不可避免地遇到很多问题,但是最后还是在老师以及同学的帮助下圆满解决了这些问题,实现了整个系统设计与最后调试,相关指标达到预期的要求,圆满地完成了本次设计任务。在今

温馨提示

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

评论

0/150

提交评论