首页 智能避障小车论文

智能避障小车论文

举报
开通vip

智能避障小车论文“神戎”杯山东大学信息学院光电设计大赛基于光电导航的智能移动测量小车简介竞赛说明:设计一辆具有光电导航功能的智能车,要求从线路的指定点出发,沿轨道上铺设的“8”字形导航条走完全程。在行走过程中,利用光电技术测量、记录沿途所通过隧道的数目、各段隧道的长度及沿途路边树木的棵数。目录引言………………………………………….………………...…...4总体方案………………………………………..............………...52.1需求分析……………………………………………………………52.2总体分析…………………………...

智能避障小车论文
“神戎”杯山东大学信息学院光电设计大赛基于光电导航的智能移动测量小车简介竞赛说明:设计一辆具有光电导航功能的智能车,要求从线路的指定点出发,沿轨道上铺设的“8”字形导航条走完全程。在行走过程中,利用光电技术测量、 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 沿途所通过隧道的数目、各段隧道的长度及沿途路边树木的棵数。目录引言………………………………………….………………...…...4总体 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ………………………………………..............………...52.1需求分析……………………………………………………………52.2总体分析……………………………………………………………52.3方案确定……………………………………………………………5第3章硬件方案……………………………………………...…………73.1车体设计……………………………………………………………..73.2主控制器模块………………………………………………………..73.3电源模块……………………………………………………………..73.4电机驱动模块………………………………………………………..73.5电机模块……………………………………………………………..83.6循迹模块……………………………………………………………..83.7测量显示……………………………………………………………..83.7最终方案……………………………………………………………..8第4章硬件实现及单元电路设计………………………….……….94.1主控模块……………………………………………………………..94.2电源设计……………………………………………………………..94.3驱动电路…………………………………………………………….94.2循迹设计……………………………………………………………..104.2测量显示…………………………………………………………….10第5章系统软件设计方案………………………………..…….…….11第6章系统的安装及调试…………………………………......….….126.1安装步骤……………………………………………………………..126.2电路的调试…………………………………………………………...12心得与总结……………………………….…………….……….12经费预算…………………………………………………………14附录…………………………………………………………………………15第一章引言随着汽车工业的快速发展,关于汽车的研究也越来越受到人们的关注。智能汽车概念的提出给汽车产业带来机遇也带了挑战。汽车的智能化必将是未来汽车产业发展的趋势,在这样的背景下,我们开展了基于超声波和红外线的智能小车的避障研究。针对一种基于红外传感器的循迹小车,通过对整体方案、电路、算法、调试、车辆参数的介绍,详尽地阐述小车通过传感器系统感知外界环境和自身状态,在复杂的环境中自主移动并完成相应的任务。红外传感器以其独有的特征而被青睐。该智能小车系统涉及直流电机控制技术、路径识别、传感技术、电子设计、程序设计等多个学科,磨练我们的知识融合和实践动手能力的培养。摘要:智能作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探用途。本设计中智能小车采用STC89C52单片机作为 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 和控制的核心,实现智能小车的智能控制。驱动电机采用直流减速电机。关键词智能小车;单片机;红外线;循迹第二章总体方案本章主要简要地介绍系统总体方案的选定和总体设计思路,在后面的章节中将整个系统分为机械结构、控制模块、控制算法等三部分对智能车控制系统进行深入的介绍分析。2.1需求分析设计一种基于红外循迹的小车移动平台,借助红外传感器的使用满足在一定的复杂的环境中自主循迹任务,使小车可以按轨道行走。2.2总体设计通过学习和研究相关技术资料了解到,红外模块是系统的关键模块之一,方案的好坏,直接关系到最终性能的优劣,因此确定模块的方法是决定系统总体方案的关键。循迹模块采用红外传感器的优点是价格相对便宜,在满足系统的要求下具有较高的精度,能很好的循迹。2.3方案确定系统采用STC89C52单片机作为核心控制单元用于智能车系统的控制,小车车头正中间红外传感器检测前方障碍物,用于判断是否需要转弯。系统总体的设计方框图如图1所示。测速模块电源模块测树木模块电机驱动模块STC89C52主控模块循迹模块显示模块根据系统方案设计,系统包括以下模块:STC89C52主控模块、L9110电机驱动模块、电源模块、循迹模块、显示模块、测速测树木模块等。各模块的作用如下:STC89C52主控模块,作为整个智能小车的“大脑”,将发送采集红外等传感器的信号,根据控制算法做出控制决策,驱动直流电机等等完成对智能车的控制。电源模块,为整个系统提供合适而又稳定的电源;电机驱动模块,驱动直流电机完成智能车的加减速控制和转向控制;红外循迹模块,则能够达到循迹功能。显示模块,将测量结果显示。测速测树木模块,准确测量树木数量,隧道长度。第三章硬件方案根据总体方案设计,对硬件结构的要求是:简单而高效,在不断的尝试后确定了以下的设计方案:3.1.1车体设计买现成的车模。经过反复考虑论证,我们制定了买左右两轮分别驱动,后万向轮转向的车模方案。即左右轮分别用两个转速和力矩基本完全相同的直流减速电机进行驱动,后装一个万向轮。这样,当两个直流电机转向相反同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现小车坐标不变的90度和180度的转弯。主控制器模块采用STC89C52单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。3.1.3电源模块采用7.2V锂电池做电源,后为单片机,传感器供电。经过实验验证小车工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。3.1.4电机驱动模块采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,是一种广泛采用的PWM调速技术。现市面上有很多此种芯片,我选用L9110,一片L9110可以分别控制一个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。电机模块本系统为智能电动车,对于电动车来说,其驱动轮的驱动电机的选择就显得十分重要。所以我采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生大扭力。能够较好的满足系统的要求。3.1.6循迹模块采用红外传感器负责循迹功能的实现。考虑到本系统需要检测线路,为了使用方便、系统稳定性、便于操作和调试。3.1.7测量显示模块用红外对管进行速度及距离测量,以及数目测量,用1602显示屏进行结果显示3.2最终方案经过反复论证,我们最终确定了如下方案:车模用两驱车模采用STC89C52单片机作为主控制器。考虑到89C52单片机运行速度比较慢,如果采用一片单片机可能会出现误差(如测速模块)所以用两片单片机。用7.2V锂电池供电。7.2V电池能为电机提供更高的功率。用红外传感进行测量树木数量。左右各一路红外传感器,由于小车速度比较慢,所以不需要利用外部中断直接在检测到返回的低电平后数量加一,然后延时一段时间,直到小车绕过树木,防止数量重复相加。L9110作为直流电机的驱动芯片。结构简单,重量较轻,可以为电机提供稳定、大功率的电压。红外对管进行测量隧道长度。利用一路红外探头位于小车上方检测隧道有无。进入隧道后用红外测速模块计算小车行进的距离。7、红外探测器进循迹。考虑到轨道主要以直线为主,中间有直角钝角转弯和中间交叉路口直行三种特殊情况,共采用七路循迹模块,其中五路(从左往右第二、三、四、五、六)检测直道,再用三路处理三种特殊情况(三路循迹探头为从左往右第一、四、七)。8、1602显示器显示数据。考虑到要显示的内容比较简单,只是字母和数字,所以1602就能满足要求,而且1602结构简单,价格便宜,容易掌握。第四章硬件实现及单元电路设计4.1主控制模块主控制最小系统电路如图4所示。图44.2电源设计为了节约成本,我们的电源采用了7.2V锂电池电池作为单片机的供电电源。4.3驱动电路通过单片机给予L9110电路PWM信号来控制小车的速度,起停。4.4循迹模块4.5测量显示模块第5章系统软件设计方案该方案的编程思路是先确定主程序,之后根据各硬件电路功能来设计子程序模块,最后再将各模块嵌入主程序中。这样编程结构简单,由于子程序模块与硬件电路一一对应,所以调试起来十分方便。本设计软件方框图如图9示。循迹的智能小车主程序电机驱动子程序测树木子程序显示子程序循迹子程序测速子程序图9第六章系统的安装与调试6.1安装步骤1.检查元件的好坏按电路图买好元件后首先检查买回元件的好坏,按各元件的检测方法分别进行检测,一定要仔细认真。而且要认真核对原理图是否一致,在检查好后才可上件、焊件,防止出现错误焊件后不便改正。2.放置、焊接各元件按原理图的位置放置各元件,在放置过程中要先放置、焊接较低的元件,后焊较高的和要求较高的元件。特别是容易损坏的元件要后焊,在焊集成芯片时连续焊接时间不要超过10s,注意芯片的安装方向。6.2电路的调试首先烧入电机控制小程序,控制电机正反转,停止均正常。说明电机及驱动电路无误。然后加入循迹子程序,小车运转正常时,达到理想效果。在调试程序时,发现有的指令用的不正确,导致电路功能不能完全实现,另外软件程序中的延时有的过长、有的过短。类似的现象还有很多就不一一列举了。第7章心得与总结本智能小车电路在硬件上采用红外循迹传感器来循迹。由于采用了7.2V锂电池电池供电使系统的抗干扰性得到加强。在软件上,充分利用了STC89C52的系统资源,使智能小车实现了隧道测量、树木检测、循迹的功能。本设计结构简单,调试方便,系统反映快速灵活,硬件电路由可拆卸模块拼接而成有很大的扩展空间。经实验测试,该智能小车设计方案正确、可行,各项指标稳定、可靠。虽然智能小车系统有很多优点,但在设计当中也存在着一些不足。一是由于我们都是做出的小车较简单;再者就是在制作过程中出现了较多问题:小车在行驶过程中左右摇晃,容易冲出轨道,转弯不稳定,轨道两旁树木会被重复检测,中间交叉处不能直行,主要原因是左右轮转速不完全一致,可以使用四轮小车同时将循迹探头往前放。程序存在缺陷,行进过程中有时会停止。通过这次对作品的制作,使我学到许多东西,不管软件方面还是硬件方面都需要掌握,还有合作协调方面,动手能力,调试时候注意事项,都有着很大的要求,是我受益匪浅。经费预算飞思卡尔小车底盘+驱动模块:280电池+充电器:60九路循迹+支架:70红外探头4个:80测速模块两个(左右轮):301602显示器1个:20L9110电机驱动模块:15三轮小车底盘+两个电机:40STC89C52单片机两个:15STC89C52最小系统两个:20总计:630附录:(源代码)循迹:#include#defineuintunsignedint#defineucharunsignedcharsbitr1=P0^0;sbitr2=P0^1;sbitl1=P0^2;sbitl2=P0^3;sbitlook=P2^4;sbitlook1=P1^0;sbitlook2=P1^1;sbitlook3=P1^2;sbitlook4=P1^3;sbitlook5=P1^4;sbitlook6=P1^5;sbitlook7=P1^6;sbitget=P1^7;voidgo();voidback();voidturn_right();voidturn_left();voiddelay1ms(int);voidstop();voidturnright(uint);voidturnleft(uint);voidgo_strait(uchar);voidmain(){get=1;if(get==0)stop();else{if(look1==1&&look2==1&&look3==0&&look4==1&&look5==1&&look6==1&&look7==1)//直行{go();}elseif((look1==0||look2==0)&&look4==1&&look5==1&&look6==1&&look7==1)//在轨道上右偏{do{turn_left();}while(look3==1);}elseif(look1==1&&look2==1&&(look4==0||look5==0)&&look6==1&&look7==1)//在轨道上左偏{do{turn_right();}while(look3==1);}elseif(look6==0){go_strait(1);if(look7==0){go_strait(10);}else{do{turn_right();}while(look3==1);}}elseif(look7==0){go_strait(1);if(look6==0){go_strait(10);}else{do{turn_left();}while(look3==0);}}elsestop();}}voidgo(){r1=0;r2=1;l1=0;l2=1;delay1ms(5);stop();delay1ms(10);}voidgo_strait(ucharx){while(x--){r1=0;r2=1;l1=0;l2=1;delay1ms(3);stop();delay1ms(10);}}voidback(){r1=1;r2=0;l1=1;l2=0;delay1ms(10);stop();delay1ms(10);}voidturn_right(){{r1=0;r2=0;l1=0;l2=1;delay1ms(5);stop();delay1ms(15);}}voidturnright(uintz){while(z--)turn_right();}voidturn_left(){r1=0;r2=1;l1=0;l2=0;delay1ms(5);stop();delay1ms(15);//}}voidturnleft(uintz){while(z--)turn_left();}voidstop(){r1=0;r2=0;l1=0;l2=0;}voiddelay1ms(intx){inti,j;for(i=1;i#defineLCDPP0#defineuintunsignedint#defineucharunsignedcharsbitRS=P1^7;//寄存区选择位sbitRW=P1^6;//设置读写位sbitE=P2^4;//使能位(0:禁止,1:使能)sbitBF=P0^7;//忙碌检查位sbitlookleft=P2^0;sbitlookright=P2^1;sbitlookup=P3^3;sbitspeed=P3^2;sbitstop=P1^1;//小车停止标志sbitsend=P1^0;charamount_tree=0,amount_bri=0;//树的个数,隧道的个数uintlength_bri[4];//桥的长度charline1[]="CountofTree:";charline2[]="CountofBri:";charline3[]="LengthofBri:";//显示的字符charline4[]="";uinttemp=0;//测速模块反应次数voidinit_LCM(void);//初始化设置函数voidwrite_inst(char);//写入指令函数voidwrite_char(char);//写入字符数据函数voidcheck_BF(void);//检查是否忙碌函数voiddelay1ms(int);//延迟函数voiddisplay1();//voiddisplay_char(charline,loca,character);//写入指定位置voidblank_line(charline);//写入空白行voidmain(){send=1;while(1){if(stop==0)//遇到终止信号时{send=0;display1();}else//没有遇到终止信号{if(lookup==1)//没有桥{if(lookright==0&&lookleft==1)//右边有树{amount_tree=amount_tree+1;delay1ms(200);}if(lookright==1&&lookleft==0)//左边有树{amount_tree=amount_tree+1;delay1ms(200);}if(lookright==0&&lookleft==0){amount_tree=amount_tree+2;delay1ms(200);}}else//有桥{amount_bri=amount_bri+1;temp=0;while(lookup==0){IE=0x81;TCON=0x01;//if(speed==1)//{//temp=temp+1;//delay1ms(5);//}}length_bri[amount_bri]=temp/5;}}}}voidspeed_INT(void)interrupt0{temp=temp+1;}//--------LCD显示—-----------voiddisplay1(){chari,j;charlength[5];charcount_tree[2],count_bri[2];//用sac码显示数量count_tree[0]=amount_tree/10+0x30;//树的个数,十位数count_tree[1]=amount_tree%10+0x30;//树的个数,个位数count_bri[0]=amount_bri/10+0x30;//桥,十位数count_bri[1]=amount_bri%10+0x30;//桥,个位数init_LCM();//初始化设置while(1){write_inst(0x80);//第一行起始地址,显示字符串1,树的棵数for(i=0;i<14;i++)write_char(line1[i]);write_inst(0x8e);//显示数字的地址for(i=0;i<2;i++)write_char(count_tree[i]);write_inst(0xc0);//第二行起始地址,显示字符串2,桥的数量for(i=0;i<14;i++)write_char(line2[i]);write_inst(0xce);//显示数字的地址for(i=0;i<2;i++)write_char(count_bri[i]);delay1ms(2500);write_inst(0x01);//清除显示屏delay1ms(1000);//===各个桥的长度for(j=0;j
本文档为【智能避障小车论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
chenxinlong
暂无简介~
格式:doc
大小:518KB
软件:Word
页数:27
分类:
上传时间:2023-03-08
浏览量:1