基于单片机的智能小车设计红外避障之欧阳科创编.docx
《基于单片机的智能小车设计红外避障之欧阳科创编.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能小车设计红外避障之欧阳科创编.docx(42页珍藏版)》请在冰豆网上搜索。
基于单片机的智能小车设计红外避障之欧阳科创编
单片机系统课程设计
时间:
2021.02.05
创作:
欧阳科
智能小车(避障及循迹)的设计
学院:
班级:
姓名:
学号:
同组成员:
指导老师:
日期:
摘要
智能作为现代社会的新生产物,是未来的发展的一个重要方向,它可以按照预定的模式在特定的环境里自动的运作,无需人为管理,便可以完成预期目标。
本设计主要体现多功能小车的智能模式,设计中的理论方案、分析方法及特色与创新点等对智能化机器人,智能家用电器等自动半自动机器人的设计与普及有一定的参考意义。
整个智能小车设计主要以单片机为控制核心,通过红外遥控实现小车前后左右的移动,以及对小车功能模式的转换;通过红外传感器,实现小车的避障功能和循迹功能。
设计采用对比选择,模块独立,综合处理的研究方法。
结合实际情况对比方案优劣选出最优方案进行设计。
从红外遥控,红外循迹和避障,都严格按照科学严谨态度完成。
通过调试检测各模块,得到正确的信号输出,实现其应有的功能。
最后将各个调试成功的模块结合到小车的车体上,结合程序,通过单片机的控制,将各模块有效整合在一起,达到所预期的目标,完成最终设计与制作,能使小车在一定的环境中智能化运转。
关键词:
智能小车避障循迹遥控
Abstract
Smartasanewproductofmodernsociety,itisanimportantdirectionoffuturedevelopment,itcanbeaccordingtothepredeterminedpatterninaspecificenvironmentofautomaticoperation,withouthumanmanagement,canachieveexpectedgoal.Thisdesignmainlyreflectsthemulti-functioncarintelligentmode,thetheoryinthedesignofscheme,analysismethodandspecialfeaturesandinnovationpointofintelligentrobot,intelligenthomeappliancessuchasthedesignofautomaticsemi-automaticrobotandpopularityhavecertainreferencesignificance.
Thesmartcardesignmainlybythesinglechipprocessorasthecore,throughinfraredremotecontroltorealizethecarmovingaround,aswellastothecarfunctionmodeconversion;Throughtheinfraredsensor,achievethefunctionofcarobstacleavoidanceandtrackingfunction.IndependentdesignUSEScontrasttochoose,module,integratedprocessingmethods.Combinedwithactualsituationcomparingschemetodesignandchoosetheoptimalsolution.Fromtheinfraredremotecontrol,infraredtrackingandobstacleavoidance,areinstrictaccordancewiththescientificrigorousattitudetocomplete.Throughdebuggingtestmodule,getthecorrectoutputsignal,realizeitsfunction.Finallycombinethemodulesofvariousdebuggingsuccessoncarbody,combinedwiththeprogram,throughthesingle-chipmicrocomputercontrol,toeffectivelyintegratevariousmodulestogether,achievetheexpectedgoals,completethefinaldesignandproduction,canmakethecarintelligentoperationinacertainenvironment.
Keywords:
intelligentcaravoidancetrackingcontrol
第一章绪论1
1.1设计的背景和意义1
1.2智能小车的发展现状2
1.3该设计的主要内容和目的4
第二章系统总体方案设计与论证5
2.1系统的总体方案设计5
2.2主控系统6
2.3电机驱动模块6
2.4循迹模块6
2.5显示模块6
第三章系统硬件电路设计7
3.1主控模块的电路设计7
3.1.1AT89S52单片机的简介7
3.2红外避障模块的电路设计9
3.2.1LM393双电压比较器集成电路9
3.2.2红外对管工作原理11
3.2.3红外避障电路图及工作原理12
3.3红外循迹电路的设计13
第四章系统软件设计15
4.1主程序15
第五章总结24
附录1程序清单25
附录2硬件原理图34
附录3实物图35
第一章绪论
1.1设计的背景和意义
随着电子技术、计算机技术和制造技术的飞速发展,数码相机、DVD、洗衣机、汽车等消费类产品越来越呈现光机电一体化、智能化、小型化等趋势。
各种智能化小车在市场玩具中也占一个很大的比例。
根据美国玩具协会的调查统计,近年来全球玩具销量增幅与全球平均GDP增幅大致相当。
而全球玩具市场的内在结构比重却发生了重大改变:
传统玩具的市场比重正在逐步缩水,高科技含量的电子玩具则蒸蒸日上。
美国玩具市场的高科技电子玩具的年销售额2004年交2003年增长52%,而传统玩具的年销售额仅增长3%。
英国玩具零售商协会选出的2001圣诞节最受欢迎的十大玩具中,有7款玩具配有电子元件。
从这些数字可以看出,高科技含量的电子互动式玩具已经成为玩家行业发展的主流。
如今知识工程、计算机科学、机电一体化和工业一体化等许多领域都在讨论智能系统,人们要求系统变得越来越智能化。
显然传统的控制观念是无法满足人们的需求,而智能控制与这些传统的控制有机的结合起来取长补短,提高整体的优势更好的满足人们的需求。
随着人工智能技术、计算机技术、自动控制技术的迅速发展,智能控制必将迎来它的发展新时代。
计算机控制与电子技术融合为电子设备智能化开辟了广阔前景。
因此,遥控加智能的技术研究、应用都是非常有意义而且有很高市场价值的。
1.2智能小车的发展现状
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。
可见其研究意义很大。
智能小车是一个集环境感知、规划决策、自动驾驶等功能于一体的综合系统。
它集中的运用了计算机、传感器、信息。
通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体。
一.国外智能车设计竞赛
(1)美国的智能车大赛美国国防部与院校、企业和发明家联合开展,全球领先的智能汽车竞赛。
2007年11月,美国第三届智能汽车大赛在加州维克托维尔举行。
本届智能汽车比赛的目标是对未来科学家的激励。
大学、企业和发明家们期望制造出通过洛杉矶和拉斯维加斯间荒地、行程160km的自主控制汽车。
参赛汽车的车顶上有旋转的激光器,两边有转动的照相机,完全由电脑控制,利用卫星导航、摄像、雷达和激光,人工智能系统可判断出汽车的位置和去向,随后将指令传输到负责驾驶车辆的系统,丝毫不受人的干涉,用传感器策划和选择路线。
参赛的无人驾驶智能汽车沿着附近公路飞奔。
(2)韩国大学生智能车大赛韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办,以HCS12单片机为核心的大学生智能模型汽车竞赛。
组委会提供一个标准的汽车模型、直流电机和可充电式电池,参赛队伍要制作一个能够自主识别路线的智能车,在专门设计的跑道上自动识别道路行驶,谁最快跑完全程而没有冲出跑道并且技术报告评分较高,谁就是获胜者。
二.国内智能车辆竞赛现状研究
(1)竞赛的起源2005年11月,中国教育部高等学校自动化专业指导分委员会与飞思卡尔半导体公司签署了双方长期合作协议书。
协议书规定从2006年起,飞思卡尔将至少连续5年协办“飞思卡尔”杯全国大学生智能汽车邀请赛,提供参赛队的标准硬、软件技术平台和竞赛优胜者奖金,并为主办单位提供一定的竞赛组织经费,我国智能车竞赛由此开始.
(2)智能车竞赛的地位教育部:
与老牌的数学建模、电子设计、机械设计、结构设计等四大竞赛并列,被认定为国家教育部正式承认的五大大学生竞赛项目.各高校:
清华、交大、科大等名校均参加,最投入为北京科大,每年均举行校内赛(09年规模为79支队伍).校内:
综合类竞赛(A类)仅3种,分别为智能汽车、机器人、挑战杯。
(3)竞赛历史——第一届邀请赛2006年8月20日至21日在清华大学进行,共有来自全国57所高校的112支参赛队参加。
赛道中只有直道和弯道,没有上下坡。
从赛车寻迹技术方案来看,赛道检测方式也大体分为红外发射/接受管检测方式和CCD/CMOS摄像头检测方式两类。
摄像头方案的成绩普遍好于红外传感器方案。
(4)竞赛历史——第二届,赛区+总决赛扩大到全国具有以自动化专业为主的理工类高等本科学校约300余所。
采取赛区和全国总决赛结合的形式。
全国分为5个赛区,总决赛在上海交大举行。
总决赛中出现上下坡的限制,比赛变得复杂了。
小车的平均速度较比上年有了显著的提高,采用摄像头方案的成绩更加明显(决赛前十名的队伍全为摄像头队伍)。
同比韩国的智能车大赛,我们的竞赛成绩已经超过了韩国。
(5)竞赛历史——第三届,赛区+总决赛第三届智能车大赛在东北大学举行,有551支代表队伍参加了分区赛,104支队伍参加了总决赛。
第三届比赛保留了前两届的要求,同时又增加了跑完全部路程起跑线在3米内停车的限制,对起跑线的识别又提出了严格的要求。
与前两届摄像头与光电同条件参加比赛不同,本次竞赛分为光电与摄像头两个赛题组。
(6)竞赛历史——第四届,赛区+总决赛第四届智能车总决赛在北京科技大学举行,有780支代表队伍参加了分区赛,120支队伍参加了总决赛。
第四届比赛保留了前三届的要求,同时又增加了窄道、更复杂的背景、三角形标识识别等更具有难度的内容。
增加了创意组,共有10个队经过初选进入复赛。
(7)竞赛的发展—第五届,更具难度增加电磁组,扩大创意组规模;赛道变窄,提高小车控制难度;措施更严密。
1.3该设计的主要内容和目的
智能小车主要由由四大组成部分:
红外避障部分、红外循迹部分、执行部分、CPU。
智能小车要实现循迹识别路线,避障后退并选择其他前进路线。
该设计主要通过对系统硬件电路的设计,软件设计和程序的编写,然后通过后期软硬件调试达到设计目的,使其具有上述功能。
第二章系统总体方案设计与论证
2.1系统的总体方案设计
该系统以AT89S52单片机为核心的控制电路,采用模块化的设计方案,利用红外遥控器代替开关按键控制小的启动和停止,能够轻松自如的实现小车的启动停止、左转、右转和前进后退等功能,假如我们希望小车运行到黑线上来检测是否有循迹功能,就可以用遥控器控制小车行驶到有黑线的地方,当小车遇到有黑线时,会自动启动循迹功能模块,让小车沿黑线跑,遇到障碍物时会后退并选择其他路线躲避障碍物。
每个模块都是相互独立又相互协调配合,实现了小车的智能控制。
系统控制框图如图2.1所示:
红外避障模块
2.2主控系统
我们采用单片机作为整个系统的核心,通过其控制行进中的小车,以实现其既定的性能指标。
充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。
这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。
所以,我们选定了AT89S52单片机作为本设计的主控装置。
2.3电机驱动模块
采用功率三极管作为功率放大器的输出控制直流电机。
线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路。
用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一因此选用L9110。
这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。
2.4循迹模块
采用两只红外对管,分别置于小车车身左右两侧,根据两只对管接受到白线与黑线的情况来控制小车转向来调整车向。
2.5显示模块
常用的数码显示器件主要有LED数码显管和LCD液晶显示器。
考虑实用性最终选择了5611BS:
0.56英寸一位共阳红色数码管,实用性强且价格低廉。
第三章系统硬件电路设计
3.1主控模块的电路设计
3.1.1AT89S52单片机的简介
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
引脚图如图3.1
图3.1AT89S52引脚图
AT89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
3.2红外避障模块的电路设计
3.2.1LM393双电压比较器集成电路
图3.2.1-1LM393
LM393是高增益,宽频带器件,像大多数比较器一样,如果输出端到输入端有寄生电容而产生耦合,则很容易产生振荡。
这种现象仅仅出现在当比较器改变状态时,输出电压过渡的间隙,电源加旁路滤波并不能解决这个问题,标准PC板的设计对减小输入-输出寄生电容耦合是有助的。
减小输入电阻至小于10K将减小反馈信号,而且增加甚至很小的正反馈量(滞回1.0~10mV)能导致快速转换,使得不可能产生由于寄生电容引起的振荡,除非利用滞后,否则直接插入IC(集成电路板integratedcircuit,缩写:
IC)并在引脚上加上电阻将引起输入-输出在很短的转换周期内振荡,如果输入信号是脉冲波形,并且上升和下降时间相当快,则滞回将不需要。
图3.2.1-2
特点:
工作温度范围:
0°C--+70°C
SVHC(高度关注物质):
NoSVHC(18-Jun-2010)
器件标号:
393
工作电源电压范围宽,单电源、双电源均可工作,单电源:
2~36V,双电
源:
±1~±18V;
消耗电流小,ICC=0.8mA;
输入失调电压小,VIO=±2mV;
共模输入电压范围宽,VIC=0~VCC-1.5V;
输出与TTL,DTL,MOS,CMOS等兼容;
输出可以用开路集电极连接“或”门;
表面安装器件:
表面安装
功能:
输出负载电阻能衔接在可允许电源电压范围内的任何电源电压上,不受Vcc端电压值的限制,输出部分的陷电流被可能得到的驱动和器件的β值所限制.当达到极限电流(16mA)时,输出晶体管将退出而且输出电压将很快上升。
输出饱和电压被输出晶体管大约60ohm的γSAT限制。
当负载电流很小时,输出晶体管的低失调电压(约1.0mV)允许输出箝位在零电平。
3.2.2红外对管工作原理
图3.2.2-1图3.2.2-2
上图中,红外光电管有两种,一种是无色透明的LED,此为发射管,它通电后能够产生人眼不可见红外光,另一部分为黑色的接收部分,它内部的电阻会随着接收到红外光的多少而变化。
无论是一体式还是分离式,其检测原理都相同,由于黑色吸光,当红外发射管照射在黑色物体上时反射回来的光就较少,接收管接收到的红外光就较少,表现为电阻大,通过外接电路就可以读出检测的状态;同理,当照射在白色表面时发射的红外线就比较多,表现为接收管的电阻较小,此时通过外接电路就可以读出另外一种状态,如用电平的高低来描述上面两种现象就会出现高低电平之分,也就是会出现所谓的0和1两种状态,此时再将此送到单片机的I/O口,单片机就可以判断是黑白路面,进而完成相应的功能,如循迹、避障等。
3.2.3红外避障电路图及工作原理
图3.2.3-1
图3.2.3-2
特点:
该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,停止一段时间并后退,有效距离范围2~4cm,工作电压为3.3V-5V。
该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点。
1、当模块检测到前方障碍物信号时,前方侧位红色指示灯点亮电平,同时OUT端口持续输出低电平信号,该模块检测距离2~4cm。
2、传感器主动红外线反射探测,因此目标的反射率和形状是探测距离的关键。
其中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。
3、传感器模块输出端口OUT可直接与单片机IO口连接即可,也可以直接驱动一个5V继电器;连接方式:
VCC-VCC;GND-GND;OUT-IO
4、比较器采用LM393,工作稳定;
5、可采用3-5V直流电源对模块进行供电。
3.3红外循迹电路的设计
图3.3-1图3.3-2
图3.3-3
原理与避障基本一致,LM393为内部集成了四路比较器的集成电路。
因为内部的四个比较电路完全相同,这里仅以一路比较电路进行举例。
如图4所示为单路比较器组成的红外检测电路图,比较器有两个输入端和一个输出端,两个输入端一个称为同输入端,用“+”号表示,另一个称为反相输入端,用“-”表示。
用作比较两个电路时,任意一个输入端加一个固定电压作参考电压(也叫门限电压),另一端则直接接需要比较的信号电压。
当“+”端电压高于“-”端电压时,输出正电源电压,当“-”端电压高于“+”端电压时,输出负电源电压(注意,此处所说的正电源电压和负电源电压是指接比较正负极的电压。
第四章系统软件设计
4.1主程序
避障系统主程序
#include//包含51单片机相关的头文件
sbitLeftLed=P2^0;//定义前方左侧指示灯端口
sbitRightLed=P0^7;//定义前方右侧指示灯端口
sbitFontLled=P1^7;
sbitLeftIR=P3^5;//定义前方左侧红外探头端口
sbitRightIR=P3^6;//定义前方右侧红外探头端口
sbitFontIR=P3^7;//定义前方正前方红外探头端口
sbitM1A=P0^0;//定义左侧电机驱动A端
sbitM1B=P0^1;//定义左侧电机驱动B端
sbitM2A=P0^2;//定义右侧电机驱动A端
sbitM2B=P0^3;//定义右侧电机驱动B端
sbitB1=P0^4;//定义语音识识别传感器端口
sbitSB1=P0^6;//定义蜂鸣器端口
voidtingzhi()
{
M1A=0;//将M1电机A端初始化为0
M1B=0;//将M1电机B端初始化为0
M2A=0;//将M2电机A端初始化为0
M2B=0;
}
voidqianjin()
{
M1A=1;
M1B=0;
M2A=1;
M2B=0;
}
voidhoutui()
{
M1A=0;
M1B=1;
M2A=0;
M2B=1;
}
voidzuozhuan()
{
M1A=1;
M1B=0;
M2A=0;
M2B=1;
}
voidyouzhuan()
{
M1A=0;
M1B=1;
M2A=1;
M2B=0;
}
voiddelay_nus(unsignedinti)//延时:
i>=12,i的最小延时单12us
{
i=i/10;
while(--i);
}
voiddelay_nms(unsignedintn)//延时nms
{
n=n+1;
while(--n)
delay_nus(900);//延时1ms,同时进行补偿
}
voidControlCar(unsignedcharConType)//定义电机控制子程序
{
tingzhi();
switch(ConType)//判断用户设定电机形式
{
case1:
//前进//判断用户是否选择形式1
{
qianjin();
break;
}
case2:
//后退//判断用户是否选择形式2
{
houtui();//M2电机反转
break;
}
case3:
//左转//判断用户是否选择形式3
{
zuozhuan();//M2电机正转
break;
}
case4:
//右转//判断用户是否选择形式4