智能电动小汽车的设计.docx
《智能电动小汽车的设计.docx》由会员分享,可在线阅读,更多相关《智能电动小汽车的设计.docx(37页珍藏版)》请在冰点文库上搜索。
智能电动小汽车的设计
摘要
本设计是以单片机AT89S51为核心系统,设计了一款具有自动循迹,自动避开障碍物以及准确显示全程行驶时间的电动小汽车。
设计中应用到了两个反射式红外线光电传感器来实现自动循迹,应用了一个集成红外线传感器来完成自动避开障碍物,运用了单片机的串口及三位LED来实现了全程行驶时间的显示,通过单片机产生PWM信号进行调速来达到转弯的目的,以保证小汽车能准确的完成全程。
本设计结构简单,比较容易实现,但具有一定的智能化、人性化,一定程度实现了智能化。
关键字:
单片机循迹PWM壁障传感器
ABSTRACT
ThisdesignbasedonAT89S51single-chipmicrocomputerasthecoresystem,designedaparagraphoftracing,automaticwithautomaticfollowobstaclesandshowthefulltraveltimeelectriccar.Designappliedtotworeflexinfraredphotoelectricsensorstoachieveautomaticfollowmark,theapplicationaintegratedinfraredsensorstocompleteautomaticobstacles,usingastringandconversionchipandLEDlightemittingdiodetorealizethefulltraveltime,accordingtoproducePWMsignalbymicrocontrollertoachievethepurposeofturningspeed,toensurethecarscanbedoneaccuratelytheway.Thisdesignissimpleinstructure,easyimplementation,buthassomeoftheintelligent,humanization,certaindegreerealizedintelligent.
Keyword:
single-chipmicrocomputerautomaticfollowbeentracingPWMspeedautomaticsensors
1引言
伴随着现代汽车行业的飞速发展,作为汽车的电子控制系统也势必得到更大的发展机会,以满足人们对汽车的安全性。
智能化的要求,本文对智能循迹避障小车自动控制系统的研究是对一些问题的初步思考。
智能小车是一个集环境感知、规划决策、自动循迹、自动避障等功能与一体的综合系统。
它集中地运用了单片机、传感器、PWM、自动检测等技术与一体的典型高新技术综合体。
本次设计的智能循迹避障小车就是这种综合体的一种尝试。
小车以单片机为核心,设计了一款具有自动循迹,自动避开障碍物以及准确显示全程行驶时间的电动小汽车。
设计中应用到了两个反射式红外线光电传感器来实现自动循迹,应用了一个集成红外线传感器即光电开关来完成自动避开障碍物,运用了单片机的串口及三个LED来实现全程行驶时间的显示,通过单片机产生PWM信号进行调速来达到转弯的目的,以保证小汽车能准确的完成全程。
本次设计要求设计并制作一个能按照预订行驶路线跑完全程,并在行驶完全程后能够准确的显示电动车全程行驶时间,在行驶过程中不能与障碍物相碰的电动小车。
智能小车设计的核心思想便是建立赛道可行区域感知系统,使小车在行驶过程中对跑道上黑线能够自动检测与识别,通过对视觉信息的处理确定小车与跑道的相对位置关系,通过执行机构调整小车与跑道的相对位置,使小车在赛道上准确稳定行驶的同时又兼顾车速,尽量缩短时间,从而达到“稳”和“快”的协调。
智能小车采用AT89S51单片机为其监测和控制核心。
选用L298作为小车电机驱动芯片,利用PWM技术动态控制电机的转速。
用到了两个反射式红外线光电传感器来实现自动循迹,应用了一个集成红外线传感器来完成自动避开障碍物,运用了单片机的串口及三位LED来实现了全程行驶时间的显示。
实现了小车在无人控制的情况下循迹、避障、限速的智能控制功能。
§1.1设计背景
随着智能机器人技术、汽车工业的迅速发展,关于智能小车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,可见其研究意义很大。
智能小车也称轮式机器人,是一种以汽车电子为背景,涵盖智能控制、模式识别、传感技术、电子电气、计算机、机械等多学科的科技创意性设计。
一般主要由路径识别、避开障碍物、显现时间及车速控制等模块组成。
本设计就是在这样的背景下提出的,设计的智能小车应该能够实时显示时间,具有PWM调速、循迹、避障、准确定位停车等功能,并能够应用于智能玩具以及无人区进行科学检测等领域。
§1.2设计概述
智能小车系统集中地运用了单片机、传感器、电机驱动等技术,是典型的高新技术综合体。
本次毕业设计的智能避障循迹小汽车就是这种综合体的一种尝试。
智能自动循迹避障小车是指小车能够在跑道上自动循迹,自动避开障碍物行驶,无需人的操作。
小车从起跑线出发后自动行驶到终点,并能避开中间障碍物,准确在终点停车。
同时小车可以在要求区自动减速。
以单片机为控制核心,辅以传感器、控制电路、显示电路等外围器件,构成了一个车载控制系统。
电动小车能够根据题目要求在直线和弯道方向上完成调速,转弯,停车等各种运动形式。
这辆小车还可以通过LED实时显示小车运动的时间。
另外,采用汇编语言编程进行速度调节,经过PROTEUS仿真后,成功地实现了从最高速降至低速的平稳调速。
本系统主要采用汇编程序算法进行速度调节。
通过汇编控制和PWM脉宽调制技术的结合,提高了对小车位置的控制精度。
§1.3设计方案
通过单片机的I/O口对外部信号进行采集,以达到对电动小汽车的各个部分的智能控制。
由于黑色和白线路面对光的反射程度的不同,用红外光电传感器把光信号转换成单片机可以识别的电信号来达到循迹的目的。
在遇到障碍物时,光电开关输出高电平送给单片机作为避障的标志信号,来实现避障的功能。
通过单片机所具有的定时/计数器来定时,并且运用单片机的中断功能来实时输出小车运行的时间。
2系统方案论证与分析
根据题目中的设计要求,本系统主要由主控单片机模块、电电源模块、电机驱动模块、循迹模块、避障模块、LED显示模块构成。
本系统的方框图如下图一所示:
图一系统方框图
§2.1电机模块
本系统为智能电动车,对于电动车来说,其驱动轮的驱动电机的选择就显得十分重要。
由于本实验要求实现对路径的准确定位和避障,我们综合考虑了一下两种方案。
方案一:
采用步进电机作为该系统的驱动电机。
由于其转过的角度可以准确的定位,可以实现小车前进路程和位置的精确定位。
虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统。
经综合比较考虑,我们放弃了此方案。
方案二:
采用直流减少电机。
直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。
由于其内部由电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力,能较好的满足系统的要求,因此我们选择了此方案。
§2.2电机驱动芯片模块
方案一:
在电动机前端加电位器使之分压减少以降低转速,同时在前端并联一个电容可以使电动机缓慢加速从而避免突然加速对系统的冲击,避免了轮子打滑。
这种方案的缺点是调节转速需要人工手动调节电位器,非常不方便。
方案二:
使用专用集成电路芯片LM18200T驱动电机,用单片机控制LM18200T的输入使之工作在占空比可调的开关状态,精确调整电动机转速。
电子开关的速度很快,稳定性也极强。
采用集成电路芯片,节省了空间和元器件。
缺点是小车启动时,由于突然施加的电压比较高,车轮容易打滑,而且价格比较昂贵。
方案三:
使用L298N芯片驱动电机
L298N既可以驱动直流电机也可以驱动步进电动机,本设计中考虑到电机的带负载能力以及控制小车行驶的精确度问题所以选择用直流电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,内含两个H-Bridge的高电压、大电流双全桥式驱动器,接受标准TTL逻辑准位信号,可驱动46V、2A以下的直流电机,可以直接通过电源来调节输出电压;可以直接用单片机的I/O口提供信号;而且电路简单,使用方便。
通过比较,使用L298N芯片充分发挥了它的功能,能稳定地驱动直流电机,且价格不高,故选用L298N驱动电机,选用方案三。
L298N之引脚如图二所示,Pin1和Pin15可与电流侦测用电阻连接来控制负载的电路;OUT1、OUT2和OUT3、OUT4之间分别接2个直流电机;input1~input4输入控制电位来控制电机的正反转;Enable则控制电机停转。
L298N之引脚图
L298ABSOLUTEMAXIMUMRATINGS绝对最大额定值:
L298PINFUNCTIONS(refertotheblockdiagram)引脚功能(请参阅框图):
§2.3电机驱动调速模块
小车运行过程中要求电动机的转速在一定范围内调节,从而实现电动小车的循迹和避障的功能,调速范围根据负载的要求而定。
由公式[1]
[1]
n:
电枢转速Uα:
电机端电压Iα:
电机端电流
Rα:
电枢电阻,Ce:
常数,φ:
每极总磁通
可以看出,调速可以有三种方法:
(1)改变电机端电压Uα,即改变电枢电源电压;
(2)改变磁通φ,即改变激磁回路的调节电阻Rj以改变激磁电流Ij;
(3)在电枢回路中串联调节电阻Rtj。
此时的转速公式[2]为:
[2]
在实际电路设计中,改变电机的磁通φ或调节枢回路在串联的调节电阻Rtj并不方便、实用。
因此,主要选择通过改变电机两端电压的方法来实现电机的调速控制。
下面是通过调节电机两端电压达到调速的目的的三种方案:
方案一:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格昂贵,更主要的问题在于一般电动机电阻很小,但电流很大,分压不仅会降低效率且实现困难。
方案二:
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调节。
这个方案的优点是电路较为简单,缺点是继电器的响应时间太长、机械结构易损坏,寿命较短、可靠性不高。
方案三:
采用由达林顿管组成的H型PWM电路。
用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高。
H型电路保证了可以简单的实现转速和方向的控制。
电子开关的速度很快,稳定性也极强,是一种广泛采用的PWM调速技术。
PWN脉宽调制实际上就是改变电机端电压的平均值从而进行调速的一种方法。
这种方法便于与单片机等数字系统接口,实现方便,而前两种方法必须配合一定的外围模拟电路才能达到单片机控制目的,基于以上分析,在电动机驱动模式上拟选定采用PWM脉宽调制方法。
通过电机模块及电机驱动芯片组成了电动小汽车的动力装置部分,如图示:
图三电动小汽车动力装置
§2.4循迹模块
方案一:
使用发光二极管进行发射,运用光敏二极管进行接收;
发光二极管发出的可见光照射到黑带时,光线被黑线吸收,光敏二极管监测到信号,呈现高阻抗,使输出端为低电平。
当发光二极管发出的可见光照射到地面时,它发出的可见光反射回来被光敏二极管监测到,其阻抗迅速降低,此时输出端为高电平。
但是光敏二极管受环境中可见光的影响较大,电路的稳定性很差。
方案二:
采用反射式红外光电传感器;
用ST178型反射式红外对射式管组成的路径识别传感器模块,,该器件具有如下特点:
ST178采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,采用非接触式检测方式。
ST178的检测距离很小,一般为8-15毫米,因为8毫米以下是它的检测盲区,而大于15毫米则很容易受干扰。
该光电传感器的调理电路如图四所示。
ST178调理电路图四
R1限制发射二极管的电流,发射管的电流和发射功率成正比,但受其极限输入正向电流50mA的影响,用R1=330欧的电阻作为限流电阻,Vcc=5V作为电源电压,测试发现发射功率完全能满足检测需要;电阻R2可限制接收电路的电流,一方面保护接收红外管,另一方面可调节检测电路的灵敏度。
因为传感器输出端得到的是模拟电压信号,所以在输出端增加了比较器,先将ST178输出电压与2.5V进行比较,再送给单片机处理和控制。
可见反射式红外光电传感器对调理电路要求简单,检测距离和灵敏度均能达到系统要求工作性能稳定。
通过上面的比较,方案二的电路简单,稳定性好,故最终选用方案二。
§2.5避障模块
方案一:
超声波传感器
众所周知,声波具有反射性,在空气中的传播速度为340m/s,超声波也是如此。
超声波指向性强,能量消耗缓慢,在空气中的传播的距离较远,利用超声波测距往往比较迅速,方便,计算简单容易做到实时控制,因此在移动机器人研制上得到广泛应用。
如果我们在超声波发射的时候开始计时,接收到反射波时停止计时,便可以根据计时间隔和超声波的传播速度计算出发射点到物体的距离。
如果用Vc表示超声波的传播速度,Ti表示发射至接收的时间间隔,S表示发射点到物体的距离,那么S=Vc*Ti/2。
现在常用的压电式超声波是利用压电晶体的谐振原理工作的,谐振频率一般为40kHz,发射电路的谐振频率既可以由硬件电路实现,也可以由单片机产生。
利用单片机输出40kHz的方波更加容易,方便,易于控制。
图五硬件示意图
图五是单片机控制超声波测距的硬件示意图。
图中利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。
单片机选用凌阳SPCE061它的工作频率为49.152MHz,内置了2K字的SRAM和32K字的FLASHROM,还有2个16位的计数器电路,功能强大且使用方便。
方案二:
漫反射式光电开关
反射式光电开关来检测小车视线范围内的障碍物,它的视线范围就是光电开关的检测距离。
漫反射式光电开关通过光反射的原理检测障碍物。
它是一种集发射和接收于一体的传感器。
当前面有障碍物的时候,将光电开关发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号,而且这种传感器具有调节灵敏度的功能,使用极其方便可靠。
当被检测物体的表面光亮或者其反射率较高时,漫反射的光电开关时首选的检测模式。
图六是漫反射式光电开关E3F-DS10B2的接线图,它采用NPN三线输出方式,三线分别为直流电源线、输出端、地线,它的灵敏度可以调节,检测距离比较远,可以达到12cm.
图六
当前面有障碍物靠近时,接收端接收到足够的反射光,则输出端呈高电平;反之,若前面没有物体,则没有反射光,或反射光很弱,那么输出端就呈现低电平。
光电开关的检测不受外界的干扰,可靠性高,使用方便。
它的电源电压范围很大,如果电源为+5V,那么它的输出就可以直接为单片机所识别,,但超声波传感器价格比较昂贵,且电路有点复杂,所以我们最后决定选用方案二。
§2.6显示模块
LED数码管显示具有硬件电路结构简单、价格便宜、调试方便、软件相对容易等优点,由于我们只显示小车的运行时间,显示的信息并不多,所以选用LED显示。
由于我们选择的是静态显示,同时要显示三位,所以我们选用8位的移位寄存器74LS164作为单片机和LED的传输芯片。
74LS164如图七所示。
74LS164主要电特性如下:
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。
串行数据输入端(A,B)可控制数据。
当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。
当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。
引脚功能:
CLOCK:
时钟输入端
CLEAR:
同步清除输入端(低电平有效)
A,B:
串行数据输入端
QA-QH:
输出端
rYF838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
rYF838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
图七74LS164封装图
显示电路图如图八所示:
图八显示电路
§2.7电源模块
本系统所有芯片都需要+5V的工作电压,而干电池只能提供的电压为1.5V的倍数的电压,并且随着使用时间的延长,其电压会逐渐下降,则需要LM7805稳压芯片。
LM7805能提供300至500mA的电流,足以满足芯片供电的要求,虽然微处理器和微控制器不需要支持电路,功率也很低,但必须要加以考虑。
LM7805是常见的正电压输出的三端稳压集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。
同时,该三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。
在实际应用中,应在三端集成稳压电路上安装上足够大的散热器。
当稳压管温度过高时,稳压性能将变差,甚至损害。
图九是三端稳压器7805引脚图及外形图
图九
稳压模块电路图为下图十:
稳压模块电路图
3智能电动小汽车的组装
将循迹模块,避障模块,电机驱动芯片模块,电机模块,显示模块,单片机模块,复位电路及晶振电路以及电源模块通过导线来连接,组成了整个小车系统。
。
电动小汽车的实物图如图十一所示,系统原理图如图十二所示。
图十一小车实物图
图十二电动小车原理图
4软件设计
根据题目设计要求以及系统方案的设定,该软件设计主要由总程序设计、避障程序设计、循迹程序设计、计时显示程序设计组成。
总程序主要使小车具有自动循迹,自动避开障碍物以及准确显示全程行驶时间的功能。
而避障程序设计、循迹程序设计、计时显示程序设计主要是辅助实现总程序设计的。
我们系统总流程图、各模块流程图以及主程序如下所示:
总流程图
循迹流程图
避障流程图
计时流程图
5安装调试
确定方案后,我们将所有元器件按照电路图进行焊接,先按照每个模块焊接,再将小车各个模块组装在一起,先用PROTEUS仿真,再进行硬件的安装调试。
§5.1软件调试
§5.1.1显示模块程序调试
根据讨论的方案,我们将LED显示模块按图搭好,先编了一个简单的调试程序显示1~9来调试一下LED显示和74LS164芯片是否好用。
我们先采用PROTEUS仿真,仿真结果是一次就成功了,仿真程序及结果如下图:
仿真程序:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVSP,#60H
MOVR0,#00H
MOVDPTR,#TAB
NEXT:
MOVA,R0
MOVCA,@A+DPTR
MOVSBUF,A
JNBTI,$
CLRTI
LCALLYS1S
INCR0
CJNER0,#0AH,NEXT
YS1S:
MOVR2,#20
YY:
MOVR7,#250
DEL1:
MOVR6,#200
DEL2:
DJNZR6,DEL2
DJNZR7,DEL1
DJNZR2,YY
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
仿真结果如下图:
于是我们将此简单程序用于我们所作的显示电路中,发现3个LED全是乱码,所以我们将电路板重新检查了一下,发现数码管和74LS164有两个接口接反了,所以才导致那种情况。
经过调整,最终将LED显示简单0~9成功。
接着我们将显示3位数码管的秒表程序进行仿真,并在我们所做的电路板上进行调试,结果成功将秒表显示。
显示程序及结果如下:
显示程序:
CL:
MOVA,R0;处理程序
MOVB,#0AH
DIVAB
MOV30H,A
MOV31H,B
MOVA,31H
LCALLxs
MOVA,30H
LCALLxs
MOVA,R1
LCALLxs
RET
XS:
MOVDPTR,#TAB;显示程序
MOVCA,@A+DPTR
MOVSBUF,A
JNBTI,$
CLRTI
RET
ORG0500H
ITT0:
MOVTH0,#3CH
MOVTL0,#0B0H
DJNZR2,WW
INCR0
CJNER0,#64H,CLL
INCR1
MOVR0,#00H
CJNER1,#0AH,CLL
CLL:
LCALLCL
MOVR2,#20
WW:
RETI
END
仿真结果:
§5.1.2单片机小系统程序
为了验证我们所搭的单片机小系统是否好用,我们用一个简单的程序,看发光二极管是否闪。
仿真程序及结果如下:
小系统程序
ORG0000H
SS:
SETBP1.0
LCALLYS
CLRP1.0
LCALLYS
SJMPSS
YS:
MOVR7,#125
WW:
MOVR6,#200
DJNZR6,$
DJNZR7,WW
RET
END
小系统仿真图:
§5.1.3循迹程序调试
循迹主要是靠小车前方两个ST178红外传感器来完成的,当小车在黑线上时,红外传感器检测到信号并输出低电平,当小车在偏离黑线时,传感器检测到信号输出高电平,而单片机就通过高低电平来使小车左转右转,以使小车能够按照这定的轨道行驶。
循迹程序如下:
ZUO:
SETBP1.3;向右转
LCALLYS
CLRP1.3
LCALLYS
MOVC,P1.0
ANLC,P1.1
MOV10H,C;将循迹传感器进行与运算,作为停车的依
JB10H,TING;否有黑线
JNBP1.0,MAIN
LJMPZUO
YOU:
SETBP1.5;向左转
LCALLYS
CLRP1.5
LCALLYS
MOVC,P1.0
ANLC,P1.1
MOV10H,C;将循迹传感器进行与运算,作为停车的依据
JB10H,TING;否有黑线
JNBP1.1,MAIN
LJMPYOU
§5.1.4避障程序调试
避障主要是靠小车前方一个漫反射式光电开关E3F-DS10B2来完成的,当小车正常行驶时,红外传感器检测到信号并输出低电平,当小车在遇到障碍物时,传感器检测到信号输出高电平,而单片机通过高低电平来判断小车是否遇到障碍物,以使小车能够避开障碍物按照这定的轨道行驶。
避障程序如下:
BZH:
SETBP1.5;避障
LCALLYS
CLRP1.5;向右转避开障碍物
LCALLYS
JBP1.2,BZH;是否有障碍物
MOVR3,#04
QQ:
SETBP1.5;向右转
LCALLYS
CLRP1.5
LCALLYS
DJNZR3,QQ
SETBP1.3