基于单片机的简易智能电动小车毕业设计_第1页
基于单片机的简易智能电动小车毕业设计_第2页
基于单片机的简易智能电动小车毕业设计_第3页
基于单片机的简易智能电动小车毕业设计_第4页
基于单片机的简易智能电动小车毕业设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

目录第一部分设计任务与调研 1第二部分设计说明 3第三部分设计成果 5第四部分结束语 21第五部分致谢 22第六部分参考文献 23第一部分设计任务与调研1.研究背景伴随着机械自动化的不断发展,人类在生活的各个领域都希望能够利用自动化技术的操作来提高工作效率,使生产能够得到一直不断的提高。近年来,在轨迹跟踪方面的话题研究也不断引起人们的关注,国内外更是开展了一系列的智能轨迹跟踪系统的竞赛活动。在实际生活应用中,具有智能化的机器人能在人们无法触及到的工作场合下大显身手,例如各种形式的军事机器人、勘探机器人等。在我们平时日常生活中更为接近的有医疗机器人、汽车自动泊位机器人、自动驾驶系统机器人。轨迹跟踪系统的特殊设计在机器人领域有着重要的地位,可以说是机器人实现智能化的一个重要的指标。无论什么机器人想要实现智能化就必须要实现对外部的环境自我感知与判断并做出相对的反应,最终完成人们所需布置的任务。2.研究意义智能小车,也就是轮式机器人,最适合在那些人类无法工作的环境中工作,该技术可应用于无人驾驶机动车,无人生产线,仓库,服务机器人等领域。以下列举了机器人的一些应用,所有这些用途正逐步渗入到工业和社会的各个层面。在产品检测方面,对零部件、线路板及其它类似产品的检测是机器人比较常见的应用。一般来说,监测系统中还集成有其它一些设备,他们是视觉系统、X射线装置、超声波探测仪或其它类似仪器。在瓦斯、地压检测方面,瓦斯和冲击地压是井下作业中的两个不安全的自然因素,一旦发生突然事故,是相当危险和严重的。但瓦斯和冲击地压在形成突发事故前,都会表现出种种迹象,如岩石破裂等。采用带有专用新型传感器的移动是机器人连续监视采矿状态,以便及早发现事故突发的先兆,采取相应的预防措施。在智能轮椅领域,随着社会的发展和人类文明程度的提高,人们特别是残疾人愈来愈需要运用现代高新科技技术来改善他们的生活质量和生活自由度。智能轮椅主要有口令识别与语音合成、机器人自动定位、动态随机避障、多传感器信息融合、实时自适应导航控制功能。用于帮助残障人行走。在危险环境下,机器人非常适合在危险的环境中使用。在这些险恶的环境下工作,人类必须采取严密的保护措施。而机器人可以进入或穿过这些危险区域进行维护和探测工作,而且不需要得到像对待人一样的保护。在智能车辆领域,智能小车自动行驶功能的研究将有助于智能车辆的研究。特别能够对人类的汽车交通带来巨大的影响,在改进道路交通安全方面提供了新的解决途径。汽车交通是世界上交通事故发生最多的交通工具,而对于避障智能小车而言,小车在遇到人或者其他障碍物时,可发出声光警告提前预警,提醒司机,从而减少交通事故的发生。因此研究智能小车有利于减少交通事故的发生。对于探索型智能小车而言,它可以代替人们在恶劣的环境下执行任务。智能小车在探索未知的事物,特别是对于探索太空其他星球而言,智能小车具备有人类不具备的优势:智能小车适应环境能能力非常强,可以在恶劣的环境下工作,如在无氧,高温,低温,高压,强辐射等恶劣的环境下。这是人类无法适从的。所以研究智能小车是很有必要的。当然要使智能小车更完美就需要人类制造更先进传感器,制造出更先进的处理器,编写更合理的程序,这对我们来说是一个挑战。3.智能小车的现状现代智能小车发展很快,从智能玩具到其他各行各业都有实质成果,基本都可以实现:循迹、避障、寻光、探金、声光报警等基本功能。4.设计任务与要求设计一台简易智能电动车,包括了控制器模块、电源模块、稳压模块、循迹传感器模块、直流电机及其驱动模块,智能小车能根据传感器采集到的信号经过单片机编程处理过后,来现实对小车的智能控制,设计功能如下:(1)能够自动循迹行走。(2)能在拐弯路处拐弯,实现灵活前进转弯的功能。(3)能够自动躲避前方障碍物。(4)能够在指定区域启动。第二部分设计说明根据设计要求在现有小车空架上加载避障模块,寻光模块,循迹模块,单片机模块,电机驱动模块,电源模块,声光报警模块。通过传感器采集数据,并将数据传输到单片机中进行处理,通过编程控制小车做出智能反应。1.主控系统从方便与实用的角度考虑采用AT89S52单片机作为主控制器。AT89S52是一个低功耗,高性能的51内核的CMOS8位单片机,片内含8K空间的Flash只读存储器,具有256bytes的随机存取数据存储器(RAM),32个IO口,2个16位可编程定时计数器。且该系列的单片机可以不用烧写器而直接用串口或并口就可以向单片机中下载程序。利于编程调试,且价格便宜。2.电源模块采用两节3.7V可充电式锂电池串联,经过7805稳压电路得到5V电压,为单片机机和各模块供电。此电池的优点是体积小、重量轻,电流稳定,能够满足本次设计的要求。为了防止干扰,使电路更加稳定,此电路中采用两个7805稳压模块分别为单片机及传感器模块和电机供电。3.电机驱动模块采用专用芯片L298作为电机驱动芯片。L298是一个具有高电压大电流的全桥驱动芯片,一片L298可以控制两个直流电机,而且还带有控制使能端,能够控制电机的转向和速度,用该芯片作为小车的电机驱动能够很好的控制小车,操作方便,稳定性好,性能优良。4.电机选择采用小型直流减速电机。直流减速电机转动力矩大,转动速度较快,体积小,重量轻,装配简单,使用方便,满足此次设计要求。5.避障模块采用3对红外对管来避障,这是现在比较常用的避障方式。它是由发射管发射红外线,接收管接收红外线,来判断是否遇到障碍物。且接收管只对红外线有反应,一般可见光不能对其产生干扰,但自然光能对其产生一定干扰,但是在本次设计可承受的范围内,且红外对管价格便宜,与LM324构成的避障电路简单。6.循迹模块用TCRT5000型光电对管进行循迹。TCRT5000是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。TCRT5000采用DIP4封装,其具有如下特点:塑料透镜可以提高灵敏度,内置可见光过滤器能减小离散光的影响,体积小,结构紧凑。因此TCRT5000与LM324构成的循迹检测模块抗干扰能力强,系统更稳定,且TCRT5000与LM324价格便宜。7.寻光模块利用光敏电阻的高灵敏感光特性,且在高温、多湿的恶劣环境下,仍能保持其高度的稳定性和可靠性;在暗黑环境里,它的电阻值很高,当受到光照时,其电阻率变小,电阻变小。利用光敏电阻构成的寻光电路更稳定,且光敏电阻价格便宜。8.声光报警系统采用高亮度发光二极管与有源蜂鸣器做声光报警系统,强光报警明显,而有源蜂鸣器内部带震荡源,所以只要一通电就会鸣叫,操作方便。第三部分设计成果根据设计的要求,确定如下方案:设计符合能自动循迹行走、能自动躲避前方障碍物等要求的小车,将控制程序编写正确,KEil软件或者Proteus软件进行仿真验证,设计部分为七个独立的部分,这样能将低设计的复杂性,避免出现错误,整体的条理更为清晰,分别为电源模块、单片机最小系统、电机驱动模块、循迹模块、寻光模块、避障模块、声光报警模块。1.电源模块采用两节3.7V的可充锂电池串联,由7805三端稳压集成块稳压得到+5V电源,由LED灯指示是否得到电源输出。为使系统更加稳定,制作了两个稳压模块,单片机单独供电。其中7805为三端稳压集成块,有三条引脚,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO-220的标准封装。7805三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。因此电子制作中经常采用。电源模块电路如图3-1所示。图3-1电源模块2.单片机最小系统单片机最小系统由单片机,时钟电路,复位电路,电源构成。是智能小车的大脑。小车的智能反应,由其指挥。本电路单片机为AT89S52,晶振频率为11.0592MHZ。最小系统电路如图3-2所示。图3-2单片机最小系统3.电机驱动模块本设计采用L298驱动电机(L298包含四通道逻辑驱动电路内含2个H桥的高电压大电流双全桥式驱动器),0UTl,0UT2分别与小车的一个电机的正负极相连;OUT3,OUT4分别与小车的另一个电机的正负极相连;L298的INl、IN2、IN3、IN4分别与单片机P00~P03连接,通过单片机编程控制电机的转向:IN1=0IN2=1IN3=0IN4=1,两电机分别正转;IN1=1IN2=0IN3=1IN4=0,两电机反转。ENA,ENB为控制使能端,控制电机停转:高电平正转,低电平停转,通过简单的延时函数,不断赋高低电平可以简单的调速。通过控制两电机的转速可控制小车转弯,通过IN输入端可控制小车前进或后退。电机驱动如下图3-3所示,L298真值表如表3-1所示。图3-3电动机驱动模块表3-1真值表L298真值表ENA(B)IN1(3)IN2(4)电机运行情况HLH正转HHL反转HH(L)H(L)快速停转LXX不转4.循迹模块4.1循迹模块电路设计电路分析:本电路利用TCRT5000对两厘米宽的轨道循迹,小车底部装有5个TCRT5000,由于黑色物体和白色物体反射系数不同,调节红外对管和被测物体之间的距离使光敏三极管只能接收到白色物体反射回来的光束。此时接收管关断相当于一个很大电阻,因此3端输入为高电平,所以电路输出高电平,反之在白纸上方时,接收管接收光源导致接收管导通,电阻极小,相当于3端与地相连,即3端输入低电平,因此电路输出低电平。由此可根据高低电平控制小车做出智能反应,使其循迹。其中LM324起放大信号作用,可调电阻可改变探测垂直距离。电路如图3-4所示。图3-4寻迹模块4.2循迹算法设计循迹探头需要考虑个数,和排列方式,经过试验本设计选择循迹探测头由5个TCRT5000组成,在车底一字横排开。探头遇到黑线输出高电平(1),遇到白线输出低电平(0),从右至左分别接入单片机P10~P14端口,P15~P17默认高电平,左边寻到黑线时向左转,中间寻到黑线时直走,右边寻到黑线时向右转,没寻到黑线时直走。算法如下:11110000左转11111000左转11111100左转11101000左转11101100左转11100100直走11100110右转11100111右转11100011右转11100001右转11100000直走流程图如图3-5所示。进入循迹程序进入循迹程序前进检测到黑线YNSwitch判断左边探到黑线左转中间探测到黑线直走右边探测到黑线右转前进图3-5循迹算法设计5.寻光模块5.1寻光模块电路设计电路分析:光敏电阻在光照条件阻值会迅速变小,与光照成反比,而在黑暗条件下电阻值很大。黑暗条件下光敏电阻阻值很大,相当于放大器反向输入端和电源正极相连,所以输出低电平,此时LED灯点亮;当遇到光时,光敏电阻变得极小,相当于放大器反向输入端接地,所以放大器输出高电平,此时LED灯灭。所以为了创造出黑暗条件光敏电阻需用纸筒包裹起来,根据各电阻感应到光的情况而使小车做出智能反应,达到设计要求。得到电路如图3-6所示。图3-6寻光模块5.2寻光算法设计寻光由光敏电阻与LM324构成寻光电路,车身共安装了三个寻光探测头,左中右各一个,左边寻到光时左转,右边寻到光时右转,中间寻到光时前进,都寻到光时此时光强达到最大,此时小车停止。遇到光时模块输出高电平(1),无光时模块输出低电平(0)。从右至左分别接入单片机P30~P32端口,P33~P37默认高电平,于是得到如下算法:11111100左转11111110左转11111111停止11111010前进11111011右转11111001右转寻光程序流程图3-7所示。进入寻光程序检测到光源S进入寻光程序检测到光源Switch判断左边遇光左转中间遇光直行光前进右边遇光右转光源最大YNYN前进停止6.避障模块6.1避障模块电路设计本设计避障模块由红外对管做探测头,红外对管由发射管(发射红外线)和接收管(功能与光敏接收管相似只是不受可见光的干扰,属于光敏二极管,只对红外线有反应,接收红外线时电阻变小,反之电阻很大)。当遇到障碍物时,红外接收管接收到反射回来的红外线,接收管电阻变得很小,相当于放大器同向输入端和地导通,因此放大器输出为低电平,LED灯点亮。当无障碍物时,接收不到红外线,接收管电阻很大,相当于放大器同向输入端和电源正极相连,所以放大器输出高电平LED灯灭。电路如图3-8所示。图3-8避障模块6.2避障算法设计避障由三对红外对管探测头组成,左中右各一对,无障碍物时前进,当左边遇到障碍物时右转,右边遇到障碍物时左转,中间遇到障碍物时后退。遇到障碍物时输出低电平(0),无则输出高电平(1)。从右至左分别接入单片机P20~P22端口,P23~P27默认高电平,由此得到如下算法:11111011右转11111001右转11111101后退11111100左转11111110左转11111000后退避障程序流程图如图3-9所示。进入避障程序进入避障程序前进前进检测到障碍N检测到障碍NYYSSwitch判断中间检测到后退并报警右边检测到向左转并报警左边检测到向右转并报警中间检测到后退并报警右边检测到向左转并报警左边检测到向右转并报警继续前进继续前进图3-9避障算法设计7.声光报警系统电路分析:电阻R1起限流作用,防止电流过大烧坏二极管,图中蜂鸣器为有源蜂鸣器,只需通电蜂鸣器就会鸣叫,三极管起放大电流的作用。设计电路如图3-10所示。图3-10声光报警系统8.主程序设计主程序设计要求:首先初始化,启动定时器,进入循迹区,调用循迹子程序,寻黑线前进,寻线完成后进入避障区,调用避障子程序,当遇到障碍物后发出声光警报,越过障碍区后,前进寻找光源,调用寻光子程序,寻到光源后停止。总时间不得超过两分钟,若超过则停止。如图3-11所示。开始开始初始化IO口遇光源Y寻光调用NNY停止遇障碍避障调用遇黑线YN寻线调用启动定时器过2分钟NY图3-11主程序设计9.程序编写#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint/***********************控制使能端调速************************/sbiten1=P1^4;sbiten2=P1^5;/***********************电机输入控制端************************/sbitin1=P1^0;sbitin2=P1^1;sbitin3=P1^2;sbitin4=P1^3;/***********************报警控制端************************/sbitP16=P1^6;//光警报sbitP17=P1^7;//声音警报uchartemp3,temp0,temp2;uintt;voiddmot();//直走voidlmot();//左拐voidrmot();//右拐voidtmot();//后退voidsmot();//停止voidxgt();//寻光调试voidbzt();//避障调试voidxjt();//循迹调试voidinit() //初始化函数{ P1=0X7F; P2=0XFF; P0=0XFF; en1=0; en2=0; P3=0XFF; temp0=P3;/******************************* 定时器初始化********************************/ TMOD=0X01;//设置定时器0为工作方式1 TH0=(65536-46080)/256;//装初值 TL0=(65536-46080)%256; EA=1;//开总中断 ET0=1;//开定时器0中断 TR0=1;//启动定时器0}voiddelay(uintz)//延时调速函数{ uintx; for(x=z;x>0;x--);}voidmain()//主函数{ init(); while(1) { P16=1;//灯灭 P17=0;//声音关 if(t<2400) { P16=1;//灯灭 P17=0;//声音关 if(P3!=0XF8) { xgt();//寻光调试 } else { if(P2!=0xff) { bzt();//避障调试 } else { xjt();//循迹调试 } } } else smot(); }}voiddmot() //直进走程序{ en1=1; en2=1; in1=0; in2=1; in3=0; in4=1; delay(150); en1=0; en2=0; delay(150); }voidlmot()//前左拐{ en1=1; en2=0; in1=0; in2=1; in3=0; in4=1; delay(300); en1=0; en2=0; delay(300); }voidrmot()//前右拐{ en1=0; en2=1; in1=0; in2=1; in3=0; in4=1; delay(300); en1=0; en2=0; delay(300);}voidtmot()//后退{ en1=1; en2=1; in1=1; in2=0; in3=1; in4=0; delay(300); en1=0; en2=0; delay(300);}voidsmot()//停{ en1=0; en2=0;}voidxgt()//寻光调试{temp3=P3; switch(temp3) { case0xf9:rmot();break; case0xfa:dmot();break; case0xfb:rmot();break; case0xfc:lmot();break; case0xfe:lmot();break; case0xff:smot();break; }}voidbzt()//避障调试{ P16=0;//灯亮 P17=1;//警报 temp2=P2; switch(temp2) { case0xff:dmot();break; case0xfb:rmot();break; case0xfe:lmot();break; case0xf9:rmot();break; case0xfc:lmot();break; case0xfd:lmot();break; case0xf8:tmot();break; case0xfa:tmot();break; }}voidxjt()//循迹调试{ temp0=P0; switch(temp0) { case0xe0:dmot();break; case0xe4:dmot();break; case0xe8:lmot();break; case0xec:lmot();break; case0xf0:lmot();break; case0xf8:lmot();break; case0xe6:rmot();break; case0xe2:rmot();break; case0xe1:rmot();break; case0xe3:rmot();break; case0xfc:lmot();break; case0xe7:rmot();break; case0xfe:lmot();break; case0xef:rmot();break; case0xee:tmot();break; }}voidexter0()interrupt1{ TH0=(65536-46080)/256; TL0=(65536-46080)%256; t++;}

第四部分结束语整个系统都以单片机为核心,外加红外传感器循迹避障,软件与硬件相结合,使小车能实现如下功能,行驶过程中能自动检测预设好的轨道行驶,能进行直到与弯道的行驶,通过红外传感器循迹,如果有偏离,自动调整并回到

温馨提示

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

评论

0/150

提交评论