基于单片机简易智能电动小车毕业设计
目 目 录 第一部分 设计任务与调研...............................1 第二部分 设计说明.....................................3 第三部分 设计成果.....................................5 第四部分 结束语......................................21 第五部分 致谢........................................22 第六部分 参考文献....................................23
1 第一部分 设计任务与调研 1.研究背景 伴随着机械自动化的不断发展,人类在生活的各个领域都希望能够利用自动化技术的操作来提高工作效率,使生产能够得到一直不断的提高。近年来,在轨迹跟踪方面的话题研究也不断引起人们的关注,国内外更是开展了一系列的智能轨迹跟踪系统的竞赛活动。在实际生活应用中,具有智能化的机器人能在人们无法触及到的工作场合下大显身手,例如各种形式的军事机器人、勘探机器人等。在我们平时日常生活中更为接近的有医疗机器人、汽车自动泊位机器人、自动驾驶系统机器人。轨迹跟踪系统的特殊设计在机器人领域有着重要的地位,可以说是机器人实现智能化的一个重要的指标。无论什么机器人想要实现智能化就必须要实现对外部的环境自我感知与判断并做出相对的反应,最终完成人们所需布置的任务。
2.研究意义 智能小车,也就是轮式机器人,最适合在那些人类无法工作的环境中工作,该技术可应用于无人驾驶机动车,无人生产线,仓库,服务机器人等领域。以下列举了机器人的一些应用,所有这些用途正逐步渗入到工业和社会的各个层面。在产品检测方面,对零部件、线路板及其它类似产品的检测是机器人比较常见的应用。一般来说,监测系统中还集成有其它一些设备,他们是视觉系统、X 射线装置、超声波探测仪或其它类似仪器。在瓦斯、地压检测方面,瓦斯和冲击地压是井下作业中的两个不安全的自然因素,一旦发生突然事故,是相当危险和严重的。但瓦斯和冲击地压在形成突发事故前,都会表现出种种迹象,如岩石破裂等。采用带有专用新型传感器的移动是机器人连续监视采矿状态,以便及早发现事故突发的先兆,采取相应的预防措施。在智能轮椅领域,随着社会的发展和人类文明程度的提高,人们特别是残疾人愈来愈需要运用现代高新科技技术来改善他们的生活质量和生活自由度。智能轮椅主要有口令识别与语音合成、机器人自动定位、动态随机避障、多传感器信息融合、实时自适应导航控制功能。用于帮助残障人行走。在危险环境下,机器人非常适合在危险的环境中使用。在这些险恶的环境
2 下工作,人类必须采取严密的保护措施。而机器人可以进入或穿过这些危险区域进行维护和探测工作,而且不需要得到像对待人一样的保护。在智能车辆领域,智能小车自动行驶功能的研究将有助于智能车辆的研究。特别能够对人类的汽车交通带来巨大的影响,在改进道路交通安全方面提供了新的解决途径。汽车交通是世界上交通事故发生最多的交通工具,而对于避障智能小车而言,小车在遇到人或者其他障碍物时,可发出声光警告提前预警,提醒司机,从而减少交通事故的发生。因此研究智能小车有利于减少交通事故的发生。对于探索型智能小车而言,它可以代替人们在恶劣的环境下执行任务。智能小车在探索未知的事物,特别是对于探索太空其他星球而言,智能小车具备有人类不具备的优势:智能小车适应环境能能力非常强,可以在恶劣的环境下工作,如在无氧,高温,低温,高压,强辐射等恶劣的环境下。这是人类无法适从的。所以研究智能小车是很有必要的。当然要使智能小车更完美就需要人类制造更先进传感器,制造出更先进的处理器,编写更合理的程序,这对我们来说是一个挑战。
3.智能小车的现状 现代智能小车发展很快,从智能玩具到其他各行各业都有实质成果,基本都可以实现:循迹、避障、寻光、探金、声光报警等基本功能。
4.设计任务与要求 设计一台简易智能电动车,包括了控制器模块、电源模块、稳压模块、循迹传感器模块、直流电机及其驱动模块,智能小车能根据传感器采集到的信号经过单片机编程处理过后,来现实对小车的智能控制,设计功能如下:
(1)能够自动循迹行走。
(2)能在拐弯路处拐弯,实现灵活前进转弯的功能。
(3)能够自动躲避前方障碍物。
(4)能够在指定区域启动。
3 第二部分 设计说明 根据设计要求在现有小车空架上加载避障模块,寻光模块,循迹模块,单片机模块,电机驱动模块,电源模块,声光报警模块。通过传感器采集数据,并将数据传输到单片机中进行处理,通过编程控制小车做出智能反应。
1.主控系统 从方便与实用的角度考虑采用 AT89S52 单片机作为主控制器。AT89S52 是一个低功耗,高性能的 51 内核的 CMOS 8 位单片机,片内含 8K 空间的 Flash 只读存储器,具有 256bytes 的随机存取数据存储器(RAM),32 个 IO 口,2 个 16 位可编程定时计数器。且该系列的单片机可以不用烧写器而直接用串口或并口就可以向单片机中下载程序。利于编程调试,且价格便宜。
2.电源模块 采用两节 3.7V 可充电式锂电池串联,经过 7805 稳压电路得到 5V 电压,为单片机机和各模块供电。此电池的优点是体积小、重量轻,电流稳定,能够满足本次设计的要求。为了防止干扰,使电路更加稳定,此电路中采用两个 7805 稳压模块分别为单片机及传感器模块和电机供电。
3.电机驱动模块 采用专用芯片 L298 作为电机驱动芯片。L298 是一个具有高电压大电流的全桥驱动芯片,一片 L298 可以控制两个直流电机,而且还带有控制使能端,能够控制电机的转向和速度,用该芯片作为小车的电机驱动能够很好的控制小车,操作方便,稳定性好,性能优良。
4.电机选择 采用小型直流减速电机。直流减速电机转动力矩大,转动速度较快,体积小,重量轻,装配简单,使用方便,满足此次设计要求。
4 5.避障模块 采用 3 对红外对管来避障,这是现在比较常用的避障方式。它是由发射管发射红外线,接收管接收红外线,来判断是否遇到障碍物。且接收管只对红外线有反应,一般可见光不能对其产生干扰,但自然光能对其产生一定干扰,但是在本次设计可承受的范围内,且红外对管价格便宜,与 LM324 构成的避障电路简单。
6.循迹模块 用TCRT5000型光电对管进行循迹。TCRT5000是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。TCRT5000 采用 DIP4 封装,其具有如下特点:
塑料透镜可以提高灵敏度,内置可见光过滤器能减小离散光的影响,体积小,结构紧凑。因此TCRT5000与LM324构成的循迹检测模块抗干扰能力强,系统更稳定,且 TCRT5000 与 LM324 价格便宜。
7.寻光模块 利用光敏电阻的高灵敏感光特性,且在高温、多湿的恶劣环境下,仍能保持其高度的稳定性和可靠性;在暗黑环境里,它的电阻值很高,当受到光照时,其电阻率变小,电阻变小。利用光敏电阻构成的寻光电路更稳定,且光敏电阻价格便宜。
8.声光报警系统 采用高亮度发光二极管与有源蜂鸣器做声光报警系统,强光报警明显,而有源蜂鸣器内部带震荡源,所以只要一通电就会鸣叫,操作方便。
5 第三部分 设计成果 根据设计的要求,确定如下方案:设计符合能自动循迹行走、能自动躲避前方障碍物等要求的小车,将控制程序编写正确,KEil 软件或者 Proteus 软件进行仿真验证,设计部分为七个独立的部分,这样能将低设计的复杂性,避免出现错误,整体的条理更为清晰,分别为电源模块、单片机最小系统、电机驱动模块、循迹模块、寻光模块、避障模块、声光报警模块。
1.电源模块 采用两节 3.7V 的可充锂电池串联,由 7805 三端稳压集成块稳压得到+5V 电源,由 LED 灯指示是否得到电源输出。为使系统更加稳定,制作了两个稳压模块,单片机单独供电。其中 7805 为三端稳压集成块,有三条引脚,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO-220 的标准封装。7805 三端稳压 IC 来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。因此电子制作中经常采用。电源模块电路如图 3-1 所示。
Vin1GND2Vout3U17805C4104C5104R71KD2LED21 23 45 67 8910JP14OUTVin1GND2Vout3U27805C6104C7104R81KD3LED312JP15POWER1 23 45 67 8910JP167.5VVZGNDVVYVCC213564S2KG5213564S3KG5213564S4KG51 23 45 67 891011 121314JP137X21JP17HEADER 11JP18HEADER 1 11 图 图 3 3--1 电源模块
6 2.单片机最小系统 单片机最小系统由单片机,时钟电路,复位电路,电源构成。是智能小车的大脑。小车的智能反应,由其指挥。本电路单片机为 AT89S52,晶振频率为11.0592MHZ。最小系统电路如图 3-2 所示。
R2A103JR3A103JR1 A103JR4A103JVCCVCCVCCVCCC130PFC230PFY211.0592MHZS1SW-PBC310UFR510KVCCVCCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27P10P11P12P13P14P15P16P17P30P31P32P33P34P35P36P37RST12JP9POWERVCCP1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0(RXD)10P3.1(TXD)11P3.2(INTT0)12P3.3(INTT1)13P3.4(T0)14P3.5(T1)15P3.6(WR)16P3.7(RD)17XTAL218XTAL119GND20P2.021P2.122P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/VPP31P2.223P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC40AT89S52U1AT89S52 图 图 3 3--2 单片机最小系统 3.电机驱动模块 本设计采用 L298 驱动电机(L298 包含四通道逻辑驱动电路内含 2 个 H 桥的高电压大电流双全桥式驱动器),0UTl,0UT2 分别与小车的一个电机的正负极相连;OUT3,OUT4 分别与小车的另一个电机的正负极相连;L298 的 INl、IN2、IN3、IN4 分别与单片机 P00~P03 连接,通过单片机编程控制电机的转向:IN1=0 IN2=1 IN3=0 IN4=1 ,两电机分别正转;IN1=1 IN2=0 IN3=1 IN4=0,两电机反转。ENA,ENB为控制使能端,控制电机停转:高电平正转,低电平停转,通过简单的延时函数,不断赋高低电平可以简单的调速。通过控制两电机的转速可控制小车转弯,通过IN 输入端可控制小车前进或后退。电机驱动如下图 3-3 所示,L298 真值表如表 3-1所示。
7 OUT12OUT23OUT313VSS9VS4ISENA1ISENB15IN15IN27IN310IN412ENA6ENB11GND8OUT414U1L298D1IN4007D2IN4007D3IN4007D4IN4007D5IN4007D6IN4007D7IN4007D8IN4007+C1100UF+ C2100UFC30.1UFC40.1UF12JP1motor112JP2motor2VSSVS1 82 73 64 5JP7PWORE12JP4INPUT1JP5PWM1JP8跳线1JP9跳线3331JP11跳线991234JP3IN95757 图 图 3 3--3 电动机驱动模块 表 表 3 3--1 真值表 L298 真值表 ENA(B)IN1(3)IN2(4)电机运行情况 H L H 正转 H H L 反转 H H(L)H(L)快速停转 L X X 不转 4.循迹模块 4.1 循迹模块电路设计 电路分析:本电路利用 TCRT5000 对两厘米宽的轨道循迹,小车底部装有 5个 TCRT5000,由于黑色物体和白色物体反射系数不同,调节红外对管和被测物体之间的距离使光敏三极管只能接收到白色物体反射回来的光束。此时接收管关断相当于一个很大电阻,因此 3 端输入为高电平,所以电路输出高电平,反之在白纸上方时,接收管接收光源导致接收管导通,电阻极小,相当于 3 端与地相连,即 3 端输入低电平,因此电路输出低电平。由此可根据高低电平控制小车做出智能反应,使其循迹。其中 LM324 起放大信号作用,可调电阻可改变探测垂直距离。
8 电路如图 3-4 所示。
R1150IC1TCRT5000R210KR310KVCCVCCOUTR31KD1LED1 1321411U1ALM324 图 图 3 3--4 寻迹模块 4.2 循迹算法设计 循迹探头需要考虑个数,和排列方式,经过试验本设计选择循迹探测头由 5个 TCRT5000 组成,在车底一字横排开。探头遇到黑线输出高电平(1),遇到白线输出低电平(0),从右至左分别接入单片机 P10~P14 端口,P15~P17 默认高电平,左边寻到黑线时向左转,中间寻到黑线时直走,右边寻到黑线时向右转,没寻到黑线时直走。算法如下:
1 1 1 1 0 0 0 0 左转 1 1 1 1 1 0 0 0 左转 1 1 1 1 1 1 0 0 左转 1 1 1 0 1 0 0 0 左转 1 1 1 0 1 1 0 0 左转 1 1 1 0 0 1 0 0 直走 1 1 1 0 0 1 1 0 右转 1 1 1 0 0 1 1 1 右转 1 1 1 0 0 0 1 1 右转 1 1 1 0 0 0 0 1 右转 1 1 1 0 0 0 0 0 直走 流程图如图 3-5 所示。
9 图 图 3 3--5 循迹算法设计 5.寻光模块 5.1 寻光模块电路设计 电路分析:光敏电阻在光照条件阻值会迅速变小,与光照成反比,而在黑暗条件下电阻值很大。黑暗条件下光敏电阻阻值很大,相当于放大器反向输入端和电源正极相连,所以输出低电平,此时 LED 灯点亮;当遇到光时,光敏电阻变得极小,相当于放大器反向输入端接地,所以放大器输出高电平,此时 LED 灯灭。所以为了创造出黑暗条件光敏电阻需用纸筒包裹起来,根据各电阻感应到光的情况而使小车做出智能反应,达到设计要求。得到电路如图 3-6 所示。
进入循前进 检测Switch 判左边 中间 右边前进
10 R110KR210KR31KR4光敏 电阻R6100KD1LEDVCCVCC321411LM324 图 图 3 3--6 寻光模块 5.2 寻光算法设计 寻光由光敏电阻与 LM324 构成寻光电路,车身共安装了三个寻光探测头,左中右各一个,左边寻到光时左转,右边寻到光时右转,中间寻到光时前进,都寻到光时此时光强达到最大,此时小车停止。遇到光时模块输出高电平(1),无光时模块输出低电平(0)。从右至左分别接入单片机 P30~P32 端口,P33~P37 默认高电平,于是得到如下算法:
1 1 1 1 1 1 0 0 左转 1 1 1 1 1 1 1 0 左转 1 1 1 1 1 1 1 1 停止 1 1 1 1 1 0 1 0 前进 1 1 1 1 1 0 1 1 右转 1 1 1 1 10 0 1 右转 寻光程序流程图 3-7 所示。
11 图 图 3 3--7 寻光算法设计 6.避障模块 1 6.1 避障模块电路设计 本设计避障模块由红外对管做探测头,红外对管由发射管(发射红外线)和接收管(功能与光敏接收管相似只是不受可见光的干扰,属于光敏二极管,只对红外线有反应,接收红外线时电阻变小,反之电阻很大)。当遇到障碍物时,红外接收管接收到反射回来的红外线,接收管电阻变得很小,相当于放大器同向输入端和地导通,因此放大器输出为低电平,LED 灯点亮。当无障碍物时,接收不到红外线,接收管电阻很大,相当于放大器同向输入端和电源正极相连,所以放大器输出高电平LED 灯灭。电路如图 3-8 所示。
进入寻检测到Switch左边遇 光左转 中间遇 直行 光 前进 右边遇 光右转 光前进 停
12 D1发射管D2接收管R1150R210KR31KD3发光321411LM324R4100KVCCVCCVCC 图 图 3 3--8 避障模块 6.2 避障算法设计 避障由三对红外对管探测头组成,左中右各一对,无障碍物时前进,当左边遇到障碍物时右转,右边遇到障碍物时左转,中间遇到障碍物时后退。遇到障碍物时输出低电平(0),无则输出高电平(1)。从右至左分别接入单片机 P20~P22端口,P23~P27 默认高电平,由此得到如下算法: 1 1 1 1 1 0 1 1 右转 1 1 1 1 1 0 0 1 右转 1 1 1 1 1 1 0 1 后退 1 1 1 1 1 1 0 0 左转 1 1 1 1 1 1 1 0 左转 1 1 1 1 1 0 0 0 后退 避障程序流程图如图 3-9 所示。
13 图 3-9 避障算法设计 7.声光报警系统 电路分析:电阻 R1 起限流作用,防止电流过大烧坏二极管,图中蜂鸣器为有源蜂鸣器,只需通电蜂鸣器就会鸣叫,三极管起放大电流的作用。设计电路如图3-10 所示。
D1LEDR11K12JP1有源蜂鸣器 Q19013R210KVCCVCCP1.6P1.7 图 图 3 3--10 声光报警系统 进入避障程序 前检测到障Switch 判断 左边检测到向 右转并报警 中间检测到后 退并报警 右边检测到向 左转并报 警 继续前进
14 8.主程序设计 主程序设计要求:首先初始化,启动定时器,进入循迹区,调用循迹子程序,寻黑线前进,寻线完成后进入避障区,调用避障子程序,当遇到障碍物后发出声光警报,越过障碍区后,前进寻找光源,调用寻光子程序,寻到光源后停止。总时间不得超过两分钟,若超过则停止。如图 3-11 所示。
图 图 3 3--11 主程序设计 9.程序编写 #include
15 控制使能端 调速 ************************/ sbit en1=P1^4;sbit en2=P1^5;/*********************** 电机输入控制端 ************************/ sbit in1=P1^0;sbit in2=P1^1;sbit in3=P1^2;sbit in4=P1^3;/*********************** 报警控制端 ************************/ sbit P16=P1^6;//光警报 sbit P17=P1^7;//声音警报 uchar temp3,temp0,temp2;uint t;void dmot();//直走 void lmot();//左拐 void rmot();//右拐 void tmot();//后退 void smot();//停止 void xgt();//寻光调试 void bzt();//避障调试 void xjt();//循迹调试 void init()//初始化函数 { P1=0X7F;P2=0XFF;
16 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 } void delay(uint z)//延时调速函数 { uint x;for(x=z;x>0;x--);} void main()//主函数 { init();while(1){ P16=1;//灯灭 P17=0;//声音关 if(t<2400){ P16=1;//灯灭
17 P17=0;//声音关 if(P3!=0XF8){ xgt();//寻光调试 } else { if(P2!=0xff){ bzt();//避障调试 } else { xjt();//循迹调试 } } } else smot();} } void dmot()//直进走程序 { en1=1;en2=1;in1=0;in2=1;in3=0;in4=1;delay(150);en1=0;en2=0;
18 delay(150);} void lmot()//前左拐 { en1=1;en2=0;in1=0;in2=1;in3=0;in4=1;delay(300);en1=0;en2=0;delay(300);} void rmot()//前右拐 { en1=0;en2=1;in1=0;in2=1;in3=0;in4=1;delay(300);en1=0;en2=0;delay(300);} void tmot()//后退 { en1=1;en2=1;in1=1;in2=0;in3=1;in4=0;delay(300);
19 en1=0;en2=0;delay(300);} void smot()//停 { en1=0;en2=0;} void xgt()//寻光调试 { temp3=P3;switch(temp3){ case 0xf9:rmot();break;case 0xfa:dmot();break;case 0xfb:rmot();break;case 0xfc:lmot();break;case 0xfe:lmot();break;case 0xff:smot();break;} } void bzt()//避障调试 { P16=0;//灯亮 P17=1;//警报 temp2=P2;switch(temp2){ case 0xff:dmot();break;case 0xfb:rmot();break;case 0xfe:lmot();break;case 0xf9:rmot();break;case 0xfc:lmot();break;case 0xfd:lmot();break;case 0xf8:tmot();break;case 0xfa:tmot();break;
20 } } void xjt()//循迹调试 { temp0=P0;switch(temp0){ case 0xe0:dmot();break;case 0xe4:dmot();break;case 0xe8:lmot();break;case 0xec:lmot();break;case 0xf0:lmot();break;case 0xf8:lmot();break;case 0xe6:rmot();break;case 0xe2:rmot();break;case 0xe1:rmot();break;case 0xe3:rmot();break;case 0xfc:lmot();break;case 0xe7:rmot();break;case 0xfe:lmot();break;case 0xef:rmot();break;case 0xee:tmot();break;} } void exter0()interrupt 1 { TH0=(65536-46080)/256;TL0=(65536-46080)%256;t++;}
21 第四部分 结束语 整个系统都以单片机为核心,外加红外传感器循迹避障,软件与硬件相结合,使小车能实现如下功能,行驶过程中能自动检测预设好的轨道行驶,能进行直到与弯道的行驶,通过红外传感器循迹,如果有偏离,自动调整并回到原来的轨道上,在行驶过程如果有障碍物,小车通过红外对管避障,自动调整前进方向避开障碍物。
由于时间等因素,小车没能做出实物,但在软件上进行了仿真,取得的很好的效果,通过了本次设计,让我掌握了很多以前不熟练的东西,也加强了一些其他知识的运用和印像,让我也对单片机有了更深的认识。
在整个的设计的过程中,我认识到了专业知识的重要性,理解了理论联系实际的含义,虽然这次的毕业设计报告专对知识运用还不够熟练,但我会在今后的工作与学习中继续努力,更加完善,由于自身的知识及经验不足,在这过程中存在一些不足之处,请指导进行批评指正。
22 第五部分 致谢 历时两个月的毕业设计已经告一段落。经过自己不断的搜索努力以及老师的耐心指导和热情帮助,本设计已经基本完成。在这段时间里,老师严谨的治学态度和热忱的工作作风令我十分钦佩,他的指导使我受益非浅。在此对谢老师表示深深的感谢。
通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学三年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这两个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。
由于我的学术水平有限,所写报告难免有不足之处,恳请各位老师和学友批评和指正!感谢评阅老师百忙之中抽出时间对本毕业设计报告进行了评阅!
23 第六部分 参考文献 【1】单片机原理及应用技术.李全利.高等教育出版社.2009 年 1 月 P124-133 【2】自动寻迹智能小车控制系统设计.汪明健.李德骏.马孝辉.科技创新导报.2009 年 P21-35 【3】51 单片机及其 C 语言程序开发实例.戴仙金.清华大学出版社 2008 年P429-439 【4】红外线释放电与超声波遥控电路.肖景和,赵键.北京人民邮电出版社,2003年.P88-93 【5】智能传感器系统西安.刘君华.,2000 年.P56-71 【6】电动机的单片机控制.王晓明.北京行红航天大学出版社 2008 年 P231-340 【7】C 程序设计.谭浩强.清华大学出版社 2005 年.P267-280 【8】单片机在直流电机转速测量及控制中的应用.肖衡,陈春俊,梁健.西安电子科技大学出版社.2005 年.P33-35 【9】单片机微型计算机原理与接口技术.高峰.北京高等教育出版社 2003年.P213-217
版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《基于单片机简易智能电动小车毕业设计》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
