基于stc89c52单片机的寻迹小车.docx
《基于stc89c52单片机的寻迹小车.docx》由会员分享,可在线阅读,更多相关《基于stc89c52单片机的寻迹小车.docx(19页珍藏版)》请在冰豆网上搜索。
![基于stc89c52单片机的寻迹小车.docx](https://file1.bdocx.com/fileroot1/2023-2/3/0d8eb0a6-4d02-47ef-907f-8e37b386e374/0d8eb0a6-4d02-47ef-907f-8e37b386e3741.gif)
基于stc89c52单片机的寻迹小车
毕业设计说明书
课题名称:
智能循迹小车
********
学号:
**********
二级学院(系):
电气电子工程学院
专业:
机电一体化
班级:
机电0933
********
起讫时间:
2011年12月20日~2012年3月20日
基于STC89C52单片机的智能循迹小车设计
摘要
智能循迹小车是一种在控制系统的作用下,可以准确沿既定路线自动行驶的系统。
本设计中,采用STC89C52单片机为主控制芯片,结合直流减速电机、传感器、电源电路及其他外围电路,设计实现了小车沿黑色轨迹行走的智能循迹小车,其中小车循迹功能由红外式光电传感器完成。
针对学生的能力和财力情况,只能制作有基本寻迹功能的智能小车。
因此本设计的控制核心采用价格便宜、性能良好的8位CPU单片机芯片——STC89C52,驱动部分采用学校里经常教到直流减速电机,传感部分采用对光的暗亮程度比较敏感的红外式光电传感器。
关键词:
机械设计;STC89C52;直流减速电机;红外光电传感器等
第1章绪论
1.1引言
机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。
机器人在单线生产生活中的应用越来越广泛,整在替代人发挥着日益重要的作用。
机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高薪技术,集成了多学科的发展成果,代表高技术的发展前沿,是当前科技研究的热点方向。
随着计算机、微电子、信息技术的快速进步,机器人技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。
在海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域,机器人都有着广阔的发展空间与应用前景。
机器人正朝着智能化和多样化方向发展。
同时,机器人设计到的技术也不断扩展,如多传感器信息融合、;路径规划、机器人视觉、智能人机接口等,产生了一系列研究课题。
目前,国内对机器人的研究不断深入,已经开发出各式各样的具有感知、决策、行动和交互能力的特种机器人和各种智能机器人,推出了各种样机,如移动机器人、微型机器人、水下机器人、军用机器人、服务娱机器人、仿人机器人等。
对不同任务和特殊环境的适应性,是智能机器人与一般自动化装备的重要区别。
智能机器人从外观上已远远脱离了最初的工业机器人所具有的形状和局限,更加符合各种不同应用环境的特殊要求,其功能和智能程度大大增强,从而为机器人技术开辟出更加广阔的发展空间。
其中智能车系统将在未来工业生产和日常生活中扮演重要的角色,是以后的发展方向。
智能小车的巡线功能在生产生活中都有着广泛的用途。
例如:
可以用在大的生产车间的物流系统中,按照预先设定的路线来传输货物;可以用在赛车比赛中能够按照轨道行驶,从而更加安全;还可以用在导航系统中等等。
1.2主要机械结构分析
目前智能小车的主要完成寻迹功能,是由机械结构和控制单元两个部分组成,而机械结构由一个由底盘、前万向轮、控制板支架、传感器支架、左右驱动轮、直流减速电机等组成,所以主要机械结构有导向轮的选择与安装、车后驱动轮的驱动方式选择与安装、传感器的安装、电机的选择与安装以及机械设计原则,这五大部分组成。
1、导向轮的选择与安装要求
此设计的小车采用的是前万向轮转向,后左右两轮驱动的,因此前万向轮就是此小车的导向轮,而前万向轮的转动的灵活性能,则关系着小车整体的转向灵活性能。
普遍用的导向轮有三种:
1.PP轮,因为长得像个字母P,所以叫PP轮(我猜的)。
如图1-1所示
图1-1
由于这种轮子是最常见的,所以挑小车的时候给的都是这种轮子。
但是,这种轮子是最不好用的。
因为他的水平轴和垂直轴不在一条直线上。
在转向的时候轮子会有一个力矩。
这种力矩会造成随机偏航——尤其是在动力轮抓地力不强,重心位置不正确等情况下。
而且,因为转弯时,轮子先转动到与转弯轨迹弧相切的位置,所以车会有个震动。
即使不转弯,轮子也会不断的震动。
所以这种轮子对车的影响很大。
故而,综上所诉,不选择这种轮子。
2.棒棒糖轮,这是网上对这种轮子的戏称,因为它长得像个棒棒糖。
抱歉,没有找到图片,就描述下其形状:
一个远远的框半包着一个大大的钢球,上面连着一个长长地螺丝。
因为它的垂直轴和水平轴基本在一条直线上而随机偏航会比较小,所以比起第一个好很多,但也不是最好的。
它的缺点在于①它的螺丝长度是固定的,而且螺丝比较粗,不好往车上固定;②它的轮子和螺丝的连接不是刚性的,有一点灵活度的,在转弯的时候还会有一些歪。
因此,这种轮子也不是最佳选择。
3.牛眼轮,因为他长得像牛眼,所以叫做牛眼轮。
如图1-2所示
图1-2
这种轮子没有自带螺母连接,需要用铜柱,螺丝和螺母自己装配。
但是这个轮子是最好的。
因为这种轮子与车和支撑铜柱的链接是刚性的,所以在转弯等情况下不会发生力矩偏转,故而很好地抑制了随机偏航。
因此,我选择这种轮子做舵机。
舵机安装的位置也是影响小车转向性能的关键,智能车对舵机的安装的要求是很高的,这也就对智能车的舵机安装的机械结果提出了较高的要求,其要求舵机安装在智能车上必须完全固定,绝对不允许他与智能车之间有相对移动。
2、车后驱动轮的驱动方式选择与安装
1.驱动方式选择
小车采用的是前万向轮,后左右两轮驱动的设计,而前万向轮起舵机的作用,并没有参与驱动功能,驱动功能就只由车后左右两轮来实现,同时又考虑到小车拐弯时的作用力也来自于车后左右两轮,所以,驱动方式必须采用左右两轮单独驱动。
而影响小车转弯的重要因素是差速,小车转弯不灵活、转弯时振动较大都有可能是受差速的影响,必须要在调试过程中自己把握,不宜过松也不宜过紧,最好的标准是小车在拐S弯时,能灵活自如。
差速转向又分为三种:
双轮反向,单轮,双轮同向。
双轮反向是两个轮子向相反方向转,这种转向方式转弯半径小,速度快,灵活,控制程序简单。
转弯中心就是动力轮轮间距的中点。
适合蔽障,循迹等要求。
在这种方法上可以通过控制内轮的转速达到改变转弯半径的目的。
但是一般用不上的。
单轮是指一个轮子正转或者倒转,而另一个轮子不动。
这种方法转弯半径是你的轮轴轴长,中点是不动的那个轮子。
程序控制也很简单。
适合搜索目标等要求。
但是转弯时间稍微长一些。
而且因为内轮不动,所以在摩擦作用下会有震动。
算是比较中规中矩的转弯方式。
双轮同向指的是两个轮子的方向一样,但是速度不一样。
这种情况的转弯半径决定于两个轮子的差速。
一般用程序进行调速。
考虑到小车的检测性能,所以使用双轮反向这种差速转向方式。
2.车后驱动轮的安装
由于驱动方式左右两轮单独驱动的,所以两个驱动轮必须安装在用一直线上。
3、传感器的的选择与安装
智能小车的传感器大都会选择以下三种传感器:
1.采用光敏电阻组成光敏传感器。
光敏电阻原理简单,使用方便,价格低廉,但受光照强度影响很大,可靠性不高。
2.采用角度传感器。
实用角度传感器来测量车体水平方向和竖直方向的角度,感测到的倾角信号经编码后传感给单片机,由单片机控制电动机的运行。
角度传感器灵敏度合适,响应速度好,但使用复杂,价格高昂,且不易购买。
3.采用红外光电传感器。
光电传感器原理简单,实现方便,价格低廉,可集发射器和接收器于一体。
使用这类光电传感器电路简单,工作性能稳定,能完成需要的信号检测功能。
综上分析,本设计选择方案三。
传感器的抖动对检测稳定性的影响很大,前瞻增大后传感器的抖动很大地影响了检测的稳定性能,所以必须加固传感器的安装,以此来保证检测的稳定性。
保证检测的稳定性,则必须保证车的稳定性,因此,必须将车身尽量压低,降低车的重心。
采用三只TCRT5000型号的红外光电传感器,呈一字排布。
这种方法检测连贯简单,程序控制算法简单,使小车控制稳定。
电路图如下图所示:
4、电机的选择与安装
智能小车的减速电机是由一个普通电机和减速齿轮箱组成,齿轮箱在减速的同时可以增加扭矩。
常用的减速电机有两种:
1.L型直流减速电机,只有一边有轮轴,即只有一边可以安装轮子。
如图1-3所示:
图1-3
这种电机不能加测速模块,只能作为动力电机使用,但是可以在轮子上面安装霍尔元件或者光电测速元件。
2.T型直流减速电机,两边都有轮轴,即两边都可以装轮子。
如图1-4所示:
图1-4
这种电机可在轮子的对面的电机轴上安装光电码盘,可用于侧速。
但是有一点请注意,不是所有底盘板都支持这种T型测速。
所以,综上所诉,选择第一种电机。
电机在安装时必须考虑到啮合角和差速。
啮合角没有调整好,会导致点击声音特别大,同时不仅会影响电机的声音强度,而且更会直接影响了电机对整车的驱动性,因此啮合富不应太松也不宜太紧,这在调试过程中应准确去把握。
5、机械结构的设计原则
机械结构在设计时,必须遵循重量适当、降低重心、加固安装这三个原则。
1)重量适当。
在小车运动时是很重要的,这影响到了小车的运动性能,以及爬斜坡的抓地力。
众所周知,小车的车身过重,会影响到小车在运动时的动能;车身过轻,则会影响到小车在爬斜坡的抓地力,直接导致小车的车轮会打滑。
这点应在调试时适当去把握。
2)降低重心。
这不仅能更好地增加小车的抓地力,而且更能保证检测的稳定性能。
3)加固安装。
这直接决定了小车的质量高低,所以在安装时,必须加固安装。
第2章结构设计
一、结构设计
通过查阅资料,浏览范文,以及根据设计任务及扩展功能,确定此设计小车是以STC89C52单片机为检测和控制核心,由轨迹探测模块、后轮驱动兼转向模块及电源模块等四大模块组成。
如下图所示:
首先必须将各个模块按照其功能组成一个有机的整体,系统各模块之间是紧密结合在一起完成工作的,各个模块通过单片机组成一个完整的硬件系统,通过各自不同的功能,使智能小车进行前进转向,达到实现运动控制的目的。
总设计如图2-1所示:
图2-1车体模块总示意图
1、检测与控制核心
单片机是整个系统的核心,实现各模块传输的信息的处理,调用相应的子程序,实现控制信息处理,控制电机正反转等。
系统采用STC的8位微控制器STC89C52单片机作为核心控制单元用于智能小车运动系统的控制。
在选定智能车系统采用红外式光电传感器检测后,路径信号经STC89C52的I/O口输入处理后,用于小车的运动控制决策,由P0口输出电机控制信号
单片机接线图如下图所示:
2、轨迹探测模块(检测方式)
利用红外接收装置,判断有外界控制信息的输入,并与单片机相连,传递相应控制信息。
该智能小车在画有黑线的白纸“路面”上行驶由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”——黑线.判断信号可通过单片机控制驱动模块修正前进方向,以使其保持沿着黑线行进。
所用的黑线宽度大约为1cm,判断黑线的方案采用红外光电传感器作为传感器,三个红外光电传感器并排放置于小车的前部进行线路跟踪——正常行驶时,中间红外光电传感器应位于黑色轨道上,而左右两个红外光电传感器应位于白色轨道上。
电开关脱离轨道时,等待外面任意一只检测到黑线后,做出相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。
3、后轮驱动兼转向模块
驱动包括电机和电源
电机选择。
由于直流电机转动力矩大,响应快速,体积小,重量轻,较大的起动转矩使其有从零转速至额定转速具备可提供额定转矩的性能,又可用变速齿轮改变其速度来达到本系统要求,价格较低等特点,所以使用两个直流电机,由单片机发出信号控制其正传反转,实现智能小车前进和转向结合。
电机控制。
由于L293D芯片的驱动方式比较简单,直接驱动两只直流电机。
电源选择。
用4节五号电池串联6V直流电源。
在不超过单片机工作电压范围的情况下,又能驱动直流电机。
且这个电源结构简单,价格便宜,容易得到。
转向和动力结合的智能小车是使用两个独立的电动机各自带动一个轮胎位于两侧,通过两个轮胎速度的改变实现小车的转向,控制所用程序较少,控制器控制起来简单(这种转向方式类似于坦克的转向方式)。
电路图如下图所示:
4.小车的组装
根据“车后驱动轮的驱动方式选择与安装”,则可看出如果动力轮抓地力不够,那么车的转弯不会那么灵活,因此需要提高动力轮的摩擦力,而如果把驱动等必备部件安装在动力轮上面,那么既能解决抓地力的问题(三样东西的重量够大,尤其是电池),也能解决前面搭载平台的问题。
因此把电池放在最下面,然后用一块亚克力板,使用铜柱把驱动吊装在亚克力板下面(两套铜柱足够),把最小系统支撑在亚克力上面(两个足够,也可以用四个),最后用长铜柱把整块结构支撑在导向轮上面,注意,不要挂到轮子。
这样的话,在前面安装了传感器之后,重心基本是在底盘中心上,同时后轮有足够的重量来保证抓地力。
附
小车程序:
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharpro_left,pro_right,i,j;//左右占空比标志
sbitleft1=P2^0;
sbitleft2=P2^1;
sbitright1=P2^2;
sbitright2=P2^3;
sbiten1=P1^0;
sbiten2=P1^1;
//循迹口三个红外传感器
sbitleft_red=P1^2;//白线位置
sbitmid_red=P1^3;//黑线位置
sbitright_red=P1^4;//白线位置
voiddelay(uintz)
{
uchari;
while(z--)
{for(i=0;i<121;i++);}
}
voidinit()
{
left_red=0;//白线位置
mid_red=1;//黑线位置
right_red=0;
TMOD=0X01;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
EA=1;
ET0=1;
TR0=1;
en1=1;
en2=1;
}
voidtime0(void)interrupt1
{
i++;
j++;
if(i<=pro_right){en1=1;}
elseen1=0;
if(i==40){en1=~en1;i=0;}
if(j<=pro_left){en2=1;}
elseen2=0;
if(j==40){en2=~en2;j=0;}
TH0=(65536-100)/256;
TL0=(65536-100)%256;
}
voidstraight()//走直线函数
{
pro_right=39;
pro_left=39;
left1=0;
left2=1;
right1=1;
right2=0;
}
voidturn_left()//左转弯函数
{
pro_right=5;
pro_left=39;
left1=0;
left2=1;
right1=1;
right2=0;
}
voidturn_right()//右转弯函数
{
pro_right=39;
pro_left=5;
left1=0;
left2=1;
right1=1;
right2=0;
}
voidturn_back()//后退(反转)函数
{
left1=1;
left2=0;
right1=0;
right2=1;
pro_right=39;
pro_left=39;
}
voidinfrared()//循迹
{
ucharflag;
if(left_red==1)
{flag=1;}
else
if(right_red==1)
{flag=2;}
else
if((left_red==0)&(mid_red==0)&(right_red==0))
{flag=3;}
elseflag=0;
switch(flag)
{
case0:
straight();
break;
case1:
turn_left();
break;
case2:
turn_right();
break;
case3:
turn_back();
break;
default:
break;
}
}
voidmain(void)
{
init();
delay
(1);
while
(1)
{
infrared();
//straight();
}
}
voidint0(void)interrupt0
{
}
第5章结论
通过这几个月的毕业设计,我查了很多相关智能小车的资料,基本上清楚了当今移动机器人的发展现状,以及未来的发展方向。
刚开始时没有头绪,认为机器人是离我们很遥远的,是和我们生活交集并不大的高科技产物,但是后来才发现,其实机器人在我们的生活中无处不在,各种智能机器人已经活跃在我们的生活中。
时下盛行的机器人足球赛我一直很关注,现在从运动控制角度分析后,才有一种恍然大悟的感觉。
本设计采用的是STC89C52单片机制成移动机器人,这主要是因为该单片机的稳定性比较好。
还可以采用其它系列的单片机。
如采用凌阳单片机,就可以简化编程,但其稳定性不是很好。
通过设计发现模电数电知识有待提高,对三极管的认识很重要。
本文设计的移动机器人结构简单,较容易实现,总体设计合理,对研究移动机器人的控制过程很有益。
设计出来的移动机器人符合ITS的基本要求,是主流的智能化的信息融合技术设计理念,功能强大,模块化设计,可移植性强,功率较低,有很广泛的应用领域和发展前景。
同时,性格决定命运,气度影响格局,态度决定高度,细节决定成败。
我们应该有正确的认识,只有我们有丰富的知识和经验的积累,才能成功。
而且,此设计要求较强的动手能力,将理论转换为实际的操做,“纸上得来终觉浅,绝知此事要躬行”。
知识和经验需要我们在做课题时不断的积累,做课题时一定要合理分工,严格按要求完成,否则到比赛时就后悔莫及。
学会看英文文档,我们用到的芯片资料都是英文的,要学会找重点,找我们需要的东西,别人翻译的文档有可能错误或没说清楚。
编程软件也是英文的,如果是没人教,就得自己看资料学习。
智能小车是移动机器人的一种,从最简单的模型入手,我体会到了运动控制的过程,利用我们熟悉的单片机作为控制芯片,找到了移动机器人与我们所学知识的结合点。
总的来说,此次毕业实习及毕业设计完成了任务书规定的各项要求,进一步学习并实践了程序编写、调试,电路板的制作,元器件的焊接等多种实用技术,成功设计出一个自动寻迹小车。
既学习了不少新的知识和技术,由亲身体验软件设计、开发的过程,个人觉得收获颇丰。
在实验室焊接小车的电路板时也发现不少问题。
我感觉到即使是一个简单的电路,要想很轻松的焊好,也不是很容易的事情。
有时是“虚焊”的原因,有时可能是阻值选错。
这使握深深感受到理论与实际间的差距和自身的不足。
通过这样的设计,提高了我的动手能力。
每天在实验室除了焊接线路板,还可以上机编程,不但让我熟悉了相关的专业软件也使我软件调试知识提高了。
从网络上找到了很多的资料,其中不少新颖的思路值得一试。
这次毕业设计使我受益终身。
参考文献
[1]楼梦麟.变参数土层的动力特性和地震反应分析[J].同济大学学报,1997,25
(2):
155-160.(期刊文献格式)
[2]李刚.船用齿轮箱结构设计方法[M].北京:
机械工业出版社,2007.(著作图书文献格式)
[3]王秋爽,曾兆龙单片机开发基础与经典设计实例北京机械工业出版社2008年3月第一版
[4]华成英童诗白模拟电子技术基础第四版高等教育出版社
[5]吴锤红MCS-51微机原理与接口技术厦门大学出版社
[6]张毅刚单片机原理及应用2003年12月第一版高等教育出版社
[7]杨江新,李华军,刘东俊,单片机程序设计及应用从基础到时间,北京,电力电子出版社,2006年3月第一版
[8]赵家贵、付小美、董平,新编传感器电路设计手册,中国计量出版社,2002
[9]李华等,MCS-51系列单片机实用接口技术,北京航空航天大学出版社,2003
[10]王晓明,电动机的单片机控制,北京航空航天大学出版社,2002
[11]杨子文.单片机原理及应用西安:
西安电子科技大学出版社.2006
致谢
历时三个月的毕业设计已经告一段落。
经过自己不断的搜索努力以及何老师的耐心指导和热情帮助,本设计已经基本完成。
在这段时间里,何勇老师严谨的治学态度和热忱的工作作风令我十分钦佩,他的指导使我受益非浅。
同时图书馆和系实验室的开放也为我的设计提供了实习场地。
在此对何勇老师和学院表示深深的感谢。
通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。
虽然在这次设计中对于知识的运用和衔接还不够熟练。
但是我将在以后的工作和学习中继续努力、不断完善。
这三个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。
由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。