智能避障小车论文_第1页
智能避障小车论文_第2页
智能避障小车论文_第3页
智能避障小车论文_第4页
智能避障小车论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、“神戎杯山东大学信息学院光隹基于光电导航的智能移动测量小车简介竞赛说明:设计一辆具有光电导航功能的智能车,要求从线路的指定点出发,沿轨道上铺设的“ 8字形导航条走完全程.在行走过程中,利用光电技术测量、记录沿途所通过隧道的数目、各段隧道的长度及沿途路边树木的棵数.目录第1章引言.4第2章总体方案 .52.1 需求分析 52.2 总体分析 52.3 方案确定 5第3章硬件方案 73.1 车体设计 .73.4 电机驱动模块 .73.5 电机模块 .83.6 循迹模块 .83.7 测量显示 .83.8 最终方案 .8第4章硬件实现及单元电路设计 .94.1 主控模块 .94.2 电源设计 .94.3

2、 驱动电路 .94.4 循迹设计 .104.5 测量显示 .10第5章系统软件设计方案 .11第6章系统的安装及调试 .126.1 安装步骤 .12.12.126.2 电路的调试第7章心得与总结经费预算 14附录 15第一章引言随着汽车工业的快速开展,关于汽车的研究也越来越受到人们的关注.智能汽车概 念的提出给汽车产业带来机遇也带了挑战.汽车的智能化必将是未来汽车产业开展的趋 势,在这样的背景下,我们开展了基于超声波和红外线的智能小车的避障研究.针对一种基于红外传感器的循迹小车,通过对整体方案、电路、算法、调试、车辆参数的介绍,详尽地阐述小车通过传感器系统感知外界环境和自身状态,在复杂的环境中

3、自主移动并完成相应的任务.红外传感器以其独有的特征而被青睐.该智能小车系统涉及直流电机限制技术、路径识别、传感技术、电子设计、程序设计等多个学科,磨练我们的知识融合和实践动手水平的培养.摘要:智能作为现代的新创造,是以后的开展方向,他可以根据预先设定的模式在一个 环境里自动的运作,不需要人为的治理,可应用于科学勘探用途.本设计中智能小车采 用STC89C52单片机作为检测和限制的核心,实现智能小车的智能限制.驱动电机采用 直流减速电机.关键词智能小车;单片机;红外线;循迹第二章总体方案本章主要简要地介绍系统总体方案的选定和总体设计思路,在后面的章节中将整个 系统分为机械结构、限制模块、限制算法

4、等三局部对智能车限制系统进行深入的介绍分 析.2.1 需求分析设计一种基于红外循迹的小车移动平台,借助红外传感器的使用满足在一定的复杂 的环境中自主循迹任务,使小车可以按轨道行走.2.2 总体设计通过学习和研究相关技术资料了解到,红外模块是系统的关键模块之一,方案的好 坏,直接关系到最终性能的优劣,因此确定模块的方法是决定系统总体方案的关键.循迹模块采用红外传感器的优点是价格相对廉价,在满足系统的要求下具有较高的 精度,能很好的循迹.2.3 方案确定系统采用STC89C52I片机作为核心限制单元用于智能车系统的限制 ,小车车头正中 间红外传感器检测前方障碍物,用于判断是否需要转弯.系统总体的设

5、计方框图如图1所示./测速模块f电机驱动模块电源模块测树木模块r循迹模块STC89C52主控模块根据系统方案设计,系统包括以下模块:STC89C5壮商I块、出110电机驱动模块、电源模块、循迹模块、显示模块、测速测树木模块等.各模块的作用如下:1 I显示模块ISTC89C5左控模块,作为整个智能小车的“大脑,将发送采集红外等传感器的信号根据限制算法做出限制决策,驱动直流电机等等完成对智能车的限制.电源模块,为整个系统提供适宜而又稳定的电源;电机驱动模块,驱动直流电机完成智能车的加减速限制和转向限制;红外循迹模块,那么能够到达循迹功能.显示模块,将测量结果显示.测速测树木模块,准确测量树木数量,

6、隧道长度.第三章硬件方案根据总体方案设计,对硬件结构的要求是:简单而高效,在不断的尝试后确定了以 下的设计方案:3.1.1 车体设计买现成的车模.经过反复考虑论证,我们制定了买左右两轮分别驱动,后万向轮转 向的车模方案.即左右轮分别用两个转速和力矩根本完全相同的直流减速电机进行驱 动,后装一个万向轮.这样,当两个直流电机转向相反同时转速相同时就可以实现电动 车的原地旋转,由此可以轻松的实现小车坐标不变的90度和180度的转弯.3.1.2 主限制器模块采用STC89C52单片机作为整个系统的核心,用其限制行进中的小车,以实现其既 定的性能指标.充分分析我们的系统,其关键在于实现小车的自动限制,而

7、在这一点上,单片机就显现出来它的优势一一限制简单、方便、快捷.这样一来,单片机就可以充分 发挥其资源丰富、有较为强大的限制功能及可位寻址操作功能、价格低廉等优点.51单片机具有功能强大的位操作指令,I/O 口均可按位寻址,程序空间多达 8K,对于本设计也绰绰有余,更可贵的是 51单片机价格非常低廉.3.1.3 电源模块采用7.2V锂电池做电源,后为单片机,传感器供电.经过实验验证小车工作时, 单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便. 3.1.4电机驱动模块采用功率三极管作为功率放大器的输出限制直流电机.线性型驱动的电路结构和原 理简单,加速水平强,采用由达林顿管组成的

8、H型桥式电路.用单片机限制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速.这种电路效率非常高,H型桥式电路保证了简单的实现转速和方向的限制,是一种广泛采用的 PWMH速技术.现市面上有很多此种芯片,我选用L9110, 一片L9110可以分别限制一个直流电机,而且还带有限制使能端.用该芯片作为电机驱动,操作方便,稳定性好,性能优良.3.1.5 电机模块本系统为智能电动车,对于电动车来说,其驱动轮的驱动电机的选择就显得十分重要.所以我采用直流减速电机. 直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便.由于其内部由高速电动机提供原始动力,带动变速减速齿轮组,可以产 生大扭力

9、.能够较好的满足系统的要求.3.1.6 循迹模块采用红外传感器负责循迹功能的实现.考虑到本系统需要检测线路,为了使用方便、系统稳定性、便于操作和调试.3.1.7 测量显示模块用红外对管进行速度及距离测量,以及数目测量,用1602显示屏进行结果显示3.2 最终方案经过反复论证,我们最终确定了如下方案:1、车模用两驱车模2、采用STC89C52单片机作为主限制器.考虑到89C52单片机运行速度比拟慢,如果采用一片单片机可能会出现误差如测 速模块所以用两片单片机.3、用7.2V锂电池供电.7.2V电池能为电机提供更高的功率.4、用红外传感进行测量树木数量.左右各一路红外传感器,由于小车速度比拟慢,所

10、以不需要利用外部中断直接在检 测到返回的低电平后数量加一,然后延时一段时间,直到小车绕过树木,预防数量重复 相加.5、L9110作为直流电机的驱动芯片.结构简单,重量较轻,可以为电机提供稳定、大功率的电压.6、红外对管进行测量隧道长度.利用一路红外探头位于小车上方检测隧道有无.进入隧道后用红外测速模块计算小车行进的距离.7、红外探测器进循迹考虑到轨道主要以直线为主,中间有直角钝角转弯和中间交叉路口直行三种特殊情 况,共采用七路循迹模块,其中五路从左往右第二、三、四、五、六检测直道,冉 用三路处理三种特殊情况三路循迹探头为从左往右第一、四、七 .8、1602显示器显示数据.考虑到要显示的内容比拟

11、简单,只是字母和数字,所以 1602就能满足要求,而且 1602结构简单,价格廉价,容易掌握.第四章硬件实现及单元电路设计4.1 主限制模块主限制最小系统电路如图4所示.图 44.2 电源设计为了节约本钱,我们的电源采用了7.2V锂电池电池作为单片机的供电电源.4.3 驱动电路通过单片机给予L9110电路PWM&号来限制小车的速度,起停.4.4 循迹模块4.5 测量显示模块第5章 系统软件设计方案该方案的编程思路是先确定主程序,之后根据各硬件电路功能来设计子程序模块, 最后再将各模块嵌入主程序中.这样编程结构简单,由于子程序模块与硬件电路一一对2.放置、焊接各元件按原理图的位置放置各元

12、件,在放置过程中要先放置、焊接较低的元件,后焊较高 的和要求较高的元件.特别是容易损坏的元件要后焊,在焊集成芯片时连续焊接时间不要超过10s,注意芯片的安装方向.6.2 电路的调试首先烧入电机限制小程序,限制电机正反转,停止均正常.说明电机及驱动电路无 误.然后参加循迹子程序,小车运转正常时,到达理想效果.在调试程序时,发现有的 指令用的不正确,导致电路功能不能完全实现,另外软件程序中的延时有的过长、有的 过短.类似的现象还有很多就不一一列举了.第7章心得与总结本智能小车电路在硬件上采用红外循迹传感器来循迹.由于采用了7.2V锂电池电池供电使系统的抗干扰性得到增强.在软件上,充分利用了STC8

13、9C52的系统资源,使智能小车实现了隧道测量、树木检测、循迹的功能.本设计结构简单,调试方便,系统反映快速灵活,硬件电路由可拆卸模块拼接而成 有很大的扩展空间.经实验测试,该智能小车设计方案正确、可行,各项指标稳定、可 靠.虽然智能小车系统有很多优点,但在设计当中也存在着一些缺乏.一是由于我们都 是做出的小车较简单;再者就是在制作过程中出现了较多问题:1 .小车在行驶过程中左右摇晃,容易冲出轨道,转弯不稳定,轨道两旁树木会被重复检测,中间交叉处不能直行,主要原因是左右轮转速不完全一致,可以使用四轮小车同时 将循迹探头往前放.2 .程序存在缺陷,行进过程中有时会停止.通过这次对作品的制作,使我学

14、到许多东西,不管软件方面还是硬件方面都需要掌 握,还有合作协调方面,动手水平,调试时候考前须知,都有着很大的要求,是我受益 匪浅.经费预算1 .飞思卡尔小车底盘+驱动模块:2802 .电池+充电器:603 .九路循迹+支架:704 .红外探头4个:805 .测速模块两个左右轮:306 . 1602显示器1个:207 . L9110电机驱动模块:158 .三轮小车底盘+两个电机:409 . STC89C52t1片机两个:152010 . STC89C52ft小系统两个:总计:630附录:(源代码)循迹:#include<reg51.h>#define uint unsigned in

15、t#define uchar unsigned char sbit r1=P0A0;sbit r2=P0A1;sbit l1=P0A2;sbit l2=P0A3;sbit look=P2A4;sbit look1=P1A0;sbit look2=P1A1;sbit look3=P1A2;sbit look4=P1A3;sbit look5=P1A4;sbit look6=P1A5;sbit look7=P1A6;sbit get=P1A7;void go();void back();void turn_right();void turn_left();void delay1ms(int);vo

16、id stop();void turnright(uint);void turnleft(uint);void go_strait(uchar);void main()(get=1; if(get=0) stop(); else if(look1=1&&look2=1&&look3=0&&look4=1&&look5=1&&look6=1&&look 7=1)/ 直行 go(); elseif(look1=011100k2=0)&&look4=1&&look5=1&a

17、mp;&look6=1&&look7=1)/在轨道上右偏 doturn_left();while(look3=1); elseif(look1=1&&look2=1&&(look4=011100k5=0)&&look6=1&&look7=1)/在 轨道上左偏 doturn_right();while(look3=1); else if(look6=0) go_strait(1); if(look7=0) go_strait(10); else doturn_right();while(look3=1); e

18、lse if(look7=0)go_strait(1);if(look6=0) (go_strait(10);) else (doturn_left();while(look3=0);) else stop();void go()r1=0;r2=1;l1=0;l2=1;delay1ms(5);stop();delay1ms(10);void go_strait(uchar x) while(x-)r1=0;r2=1;l1=0;l2=1;delay1ms(3);stop();delay1ms(10);void back()r1=1;r2=0;l1=1;l2=0;delay1ms(10); sto

19、p();delay1ms(10);)void turn_right()(r1=0;r2=0;l1=0;l2=1;delay1ms(5);stop();delay1ms(15);)void turnright(uint z)while(z-) turn_right();void turn_left()r1=0;r2=1;l1=0;l2=0;.delay1ms(5);stop();delay1ms(15);/void turnleft(uint z)while(z-) turn_left();(r1=0;r2=0;l1=0;l2=0;)void delay1ms(int x)(int i,j;fo

20、r(i=1;i<x;i+) for(j=1;j<120;j+);)检测:/07/lcd 模块#include<reg51.h>#define LCDP P0#define uint unsigned int#define uchar unsigned char1:使能sbit RS=P1A7; sbit RW=P1A6; /sbit E=P2A4; /sbit BF=P0A7; 存放区选择位 设置读写位 使能位0:禁止 忙碌检查位sbit lookleft=P2A0;sbit lookright=P2A1;sbit lookup=P3A3;sbit speed=P3A2

21、;sbit stop=P1A1;/sbit send=P1A0;小车停止标志char amount_tree=0,amount_bri=0;/ uint length_bri4;char line1="Count of Tree:"char line2="Count of Bri:"char line3="Length of Bri:"char line4=""树的个数,隧道的个数 /桥的长度/ 显示的字符uint temp=0;/测速模块反响次数void init_LCM(void);/ void write_i

22、nst(char);/ void write_char(char);/ void check_BF(void);/ void delay1ms (int);/ void display1();初始化设置函数写入指令函数写入字符数据函数检查是否忙碌函数延迟函数/void display_char(char line,loca,character);/void blank_line(char line);/写入空白行写入指定位置void main()send=1;while(1)if(stop=0) /遇到终止信号时:send=0;display1();else/没有遇到终止信号if(lookup

23、=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)

24、IE=0x81;TCON=0x01;/if(speed=1)/ :/ temp=temp+1;/ delay1ms(5);/ length_briamount_bri=temp/5;void speed_INT(void) interrupt 0temp=temp+1;/LCD 显示一void display1()char i,j;char length5;char count_tree2,count_bri2;count_tree0=amount_tree/10+0x30; /count_tree1=amount_tree%10+0x30; /count_bri0=amount_bri/10

25、+0x30; /用sac码显示数量树的个数,十位数 树的个数,个位数 桥,十位数count_bri1=amount_bri%10+0x30; / 桥,个位数init_LCM();/初始化设置while(1)write_inst(0x80);/第一行起始地址,显示字符串1 ,树的棵数for(i=0;i<14;i+)write_char(line1i);write_inst(0x8e); /显示数字的地址for(i=0;i<2;i+)write_char(count_treei);write_inst(0xc0); /第二行起始地址,显示字符由2,桥的数量for(i=0;i<14

26、;i+)write_char(line2i);write_inst(0xce); /显示数字的地址for(i=0;i<2;i+)write_char(count_brii);delay1ms(2500);write_inst(0x01);/消除显示屏delay1ms(1000);/=各个桥的长度for(j=0;j<amount_bri;j+)char dis3,x=j+1;uint y;length0=length_brix/10000+0x30;y=length_brix%10000;length1=y/1000+0x30;y=y%1000;length2=y/100+0x30;

27、y=y%100;length3=y/10+0x30;y=y%10;length4=y%10+0x30;if(x<10) dis0=''dis1=x+0x30;dis2=':'elsedis0=x/10+0x30;dis1=x%10+0x30;dis2=':'write_inst(0x80);for(i=0;i<16;i+)write_char(line3i); /第一行显示字符串write_inst(0xc1); /第二行起始地址为第二个位置for(i=0;i<3;i+) write_char(disi);write_inst(0xc5);for(i=0;i&

温馨提示

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

评论

0/150

提交评论