循迹小车分析报告.docx
《循迹小车分析报告.docx》由会员分享,可在线阅读,更多相关《循迹小车分析报告.docx(28页珍藏版)》请在冰点文库上搜索。
毕业设计
基于AT89S52单片机的循迹小车设计
摘要
本设计以电动小车自动循迹系统为研究,采用AT89S52单片机为控制核心,利用电动小车前而的红外线传感器检测道路上的轨迹,将路面信息转送给AT89S52,AT89S52根据信息作出反应控制电动机转动,从而控制电动小汽车按照路上的轨迹行驶。
整个系统的电路结构简单,可靠性能高,实验测试结果满足要求。
关键词:
AT89S52:
红外线传感器:
直流电机
Abstract
ThedesignstudiesontheautomatictrackingsystemforelectriccarswithAT89S52singlechipasitscorecontrolunit.Withtheinfraredsensorinthefrontofthecartodetectthetracksontheroad,theelectriccarsendsinformationoftheroadsurfacetoAT89S52,whichthereaftercontroltheoperationoftheengineaccordingtotheinfbrmation.Thusthesinglechipcontrolsthecartomoveaccordingtothetracksontheroad.Thewholecircuitconfigurationofthesystemissinglewithhighreliabiliyu.Theresultsofthetestmeetstherequirements.
Keywords:
AT89S52;lightelectricitydetector:
direct-currentmotor
目录
摘要 I
引言 1
1方案设计与论证 1
1.1电动小车模块 2
1.1.1转向和动力 2
1.1.2电动机模块 2
1.1.3调速系统 2
1.1.4电机驱动模块 3
1.2控制模块 4
1.3传感器模块 4
1.4电源模块 4
2硬件设计 5
2.1主要元器件的介绍 5
2.1.1电机驱动芯片L293D 5
2.1.2AT89S52 6
2.1.3红外线传感器 9
2.2模块介绍 10
2.2.1传感器模块 10
2.2.2电动小车模块 10
2.2.3控制模块 11
2.3整体方案 11
2.4制作电路图和PCB板图 12
3软件设计 13
3.1程序设计 13
3.1.1程序的模块化设计 13
4总结 15
致谢 16
参考文献 17
附录 i
附录1C语言程序 i
附录2电路图和PCB板图 iii
附录3小车实物图 vi
附录4器件清单 vii
引言
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。
可见其研究意义很大,本设计就是在这样的背景下提出的。
设计一款智能电动小车,智能电动小车应该具有自动寻找轨迹的功能。
智能小车,也称轮式机器人,是一种以汽车电子为背景,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等多科学的科技创意性设计,一般主要由路径识别、速度采集、角度控制及车速控制等模块组成。
一般而言,智能车系统要求小车在白色的场地上,通过控制小车的转向角和车速,使小车能自动地沿着一条任意给定的黑色带状引导线行驶【匕
根据题目的要求,本设计以AT89S52为控制核心,在现有电动小车的基础上,加装传感器,实现对电动小车的运动状态进行实时控制。
本系统控制灵活、可靠、精度高,满足各项要求。
利用红外线传感器检测地上的特定轨迹,将数据传给AT89S52,经过AT89S52分析后做出反应控制电动机的运行使小车按照特定轨迹行驶。
AT89S52是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。
它是第三代单片机的代表,其最主要的技术特点是向外部接口电路扩展,以完善控制功能。
外部可接其他功能单元如A/D-PWM.PCAWDT.it数器的捕获/比较逻辑等。
在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。
新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。
本设计采用的AT89S52采用CHOMS工艺,功耗很低,可用于很多小型设备中。
该设计具有实际意义,稍作修改就可以应用于考古、机器人、医疗器械等许多方面。
尤其是在足球机器人研究方面具有很好的发展前景:
在考古方而可用超声波传感器进行检测。
所以本设计与实际相结合,现实意义很强⑵。
1方案设计与论证
根据题目的要求,确定如下方案:
在现有电动小车的基础上加控制器,在小车前部加装传感器,在路面贴上特殊轨迹。
由外加传感器对路而进行实时测量,并将测量数据传送至主控制器,再由主控制器根据所检测的数据对电动小车行动进行控制,使小车跟随路面特殊轨迹行驶,以实现电动小车的自动寻迹。
自动寻迹小车原理图如图1-1所示:
图1-1自动寻迹小车原理图
1.1电动小车模块
1.1.1转向和动力
方案一:
转向和动力分开的电动小车,转向和动力分开的电动小车是将轮胎分为两组,一组与电动机相连输出动力控制小车的行驶:
另外一组控制小车的方向(两组轮胎的前后顺序可调,其影响不大,转向轮可使用单轮)。
方案一需电动机和一个转向器,由主控制器分别进行控制,器件和控制的程序较多。
方案二:
转向和动力结合的电动小车,转向和动力结合的电动小车是使用两个独立的电动机各自带动一个轮胎位于两侧,通过两个轮胎速度的改变实现小车的转向。
控制所用程序较少,控制器控制起来简单(这种转向方式类似于坦克的转向方式),为了小车的平衡再装上保持平衡的轮子。
综上分析,本设计使用方案二。
1.1.2电动机模块
为了实现电动小车对行走路径的准确定位和精确测量,电机的选择有以下两种方案:
方案一:
采用直流电机,直流电机转动力矩大,响应快速,体积小,重量轻,较大的起动转矩使其有从零转速至额定转速具备可提供额定转矩的性能。
可用变速齿轮改变其速度来达到本系统要求,价格较低。
方案二:
采用步进电机,步进电机是一种将电脉冲信号转换成角位移或线位移的精密执行原件。
控制方便,体积小,灵活性和可靠性高,具有瞬时启动和急速停止的优越性,比较适合本系统控制精度高的特点,但价格较高⑶。
从成本分析,本设计用方案一(经济条件好时方案二最好)。
1.1.3调速系统
方案一:
旋转变流系统:
旋转变流系统由交流发电机拖动直流电动机实现变流,由发电机给需要调速的直流电动机供电,调节发电机的励磁电流即可改变其输出电压,从而调节电动机的转速。
改变励磁电流的方向则输出电压的极性和电动机的转向都随着改
变,所以旋转变流系统的可逆运行是很容易实现的。
该系统需要旋转变流机组,至少包含两台与调速电动机容量相当的旋转电机,还要一台励磁发电机,设备多、体积大、费用高、效率低、维护不方便等缺点,且技术落后,因此搁置不用。
方案二:
静止可控整流器:
简称V-M系统。
V-M系统是当今直流调速系统的主要形式。
它可以是单相、三相或更多相数,半波、全波、半控、全控等类型,可实现平滑调速。
V-M系统的缺点是晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难:
它的另一个缺点是运行条件要求高,维护运行麻烦:
最后,当系统处于低速运行时,系统的功率因数很低,并产生较大的谐波电流危害附近的用电设备。
方案三:
脉宽调速系统:
采用晶闸管的直流斩波器基本原理与整流电路不同的是,在这里晶闸管不受相位控制,而是工作在开关状态。
当晶闸管被触发导通时,电源电压加到电动机上,当晶闸管关断时,直流电源与电动机断开,电动机经二极管续流,两端电压接近于零。
脉冲宽度调制(PulseWidthModulation),简称PWM,脉冲周期不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速,可在行进间变速,直道高速,弯道低速。
方案四:
调节齿轮组调速:
采用齿轮与齿轮的组合,利用齿轮组半径比来调速,能达到本设计的最低要求以低速匀速前进。
价格便宜,实现起来简单。
与V-M系统相比,PWM调速系统有下列优点:
(1) 由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动很小的直流电流,电枢电流容易连续,系统的低速运行平稳,调速范围较宽,可达
1:
10000左右。
由于电流波形比V-M系统好,在相同的平均电流下,电动机的损耗和发热都比较小。
(2) 同样由于开关频率高,若与快速响应的电机相配合,系统可以获得很宽的频带,因此快速响应性能好,动态抗扰能力强。
(3) 由于电力电子器件只工作在开关状态,主电路损耗较小,装置效率较高。
脉宽调速系统的主电路采用脉宽调制式变换器,脉宽调速也可通过单片机控制继电器的闭合来实现,但是驱动能力有限。
为顺利实现电动小汽车的前行与倒车,可以采用可逆PWM变换器。
可逆PWM变换器主电路的结构式有H型、T型等类型。
设计中采用了常用的双极式H型变换器,它是由4个三极电力晶体管和4个续流二极管组成的桥式电路向。
综上,考虑到本设计重在寻迹,本设计使用价格便宜,简单的方案四(经济条件好时方案三最好)。
1.1.4电机驱动模块
方案一:
L293是著名的SGS公司的产品,内部包含4通道逻辑驱动电路。
其后缀有B、D、E等,除L293E为20脚外,其它均为16引脚。
其额定工作电流为1A,最大可达1.5A,Vss电压最小4.5V,最大可达36V:
Vs电压最大值也是36V,但经过我的实验,Vs电压应该比Vss电压高,否则有时会出现失控现象。
方案二:
用功率管构成驱动电路来驱动电机。
性能可靠,具有自动保护功能,但结构较复杂多用于交流【土
综上分析,本设计选择方案一。
1.2控制模块
方案一:
采用FPGA(现场可编程门阵列)作为系统的主控制器。
FPGA可以实现各种复杂的逻辑功能,规模大,集成度高,体积小,稳定性好,IO口资源丰富,易于进行功能扩展,处理速度快,但是适用于大规模实时性要求较高的系统,价格高,编程实现难度大。
本系统只需要完成信号检测和电机驱动的控制,逻辑功能简单,对控制器的数据处理能力要求不高,所以不选择此方案。
方案二:
采用嵌入式系统作为主控制器。
嵌入式系统工作频率较高,速度较快,控制能力很强,也有较强的数据处理能力。
但同样价格较高,编程实现难度大。
方案三:
采用凌阳公司的spce061单片机,它是16位的控制器,具有体积小、驱动能力强、集成度高、可靠性好、功耗低、结构简单等特点。
处理速度高,尤其适用于语音处理和识别等领域。
但是当凌阳单片机应用语音处理和辨识时,由于其占用的CPU资源较多而使得凌阳单片机同时处理其他任务的速度和能力降低。
从系统的稳定性和编程的简洁性考虑,放弃该方案的选择。
方案四:
采用AT89S52单片机作为主控制器。
AT89S52是一款低功耗,高性能的8位单片机,片内含有8KB的Flash片内程序存储器,256Bytes的RAM,32个外部双向输入/输出(1/0)0,5个中断优先级,2层中断嵌套中断等。
价格便宜,使用方便,编程实现难度低,适合用来实现系统的控制功能⑸。
综上分析,本设计使用方案四。
1.3传感器模块
方案一:
采用光敏电阻组成光敏传感器。
光敏电阻原理简单,使用方便,价格低廉,
但受光照强度影响很大,可靠性不高。
方案二:
采用角度传感器。
使用角度传感器来测量车体水平方向和竖直方向的角度,感测到的倾角信号经编码后传感给单片机,由单片机控制电动机的运行。
角度传感器灵敏度合适,响应速度好,但使用复杂,价格高昂,且不易购买。
方案三:
采用光电传感器。
光电传感器原理简单,实现方便,价格低廉,可集发射器和接收器于一体。
使用这类光电传感器电路简单,工作性能稳定,能完成需要的信号检测功能⑹。
综上分析,本设计选择方案三。
1.4电源模块
方案一:
电脑USB串口供电。
能直接为单片机提供稳定的+5V直流电压,USB串口线又容易得到,但是需要很长的线,而且要有交流电和电脑配合。
方案二:
用4节五号电池串联6V直流电源。
在不超过单片机工作电压范围的情况下,又能驱动直流电机,且这个电源结构简单,价格便宜,容易得到⑵。
综上所述,本设计选择方案二。
因此,本设计硬件主要由以下三个模块组成:
①以驱动芯片L293D为主的电动小车模块;②以AT89S52为控制器的控制器模块:
③以红外线传感器(RPR220)为主的传感器模块。
整个设计由传感器模块向控制模块提供路面情况,控制模块根据情况调整转速控制电动小车移动,三个模块相互整合达到设计要求。
2硬件设计
2.1主要元器件的介绍
2.1.1电机驱动芯片L293D
L293内部逻辑框图如图2-1:
图2-1
其与51单片机连接的电路原理图如图2-2:
L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。
这种双极型脉冲调宽方式具有很多优点,如电流连续、电机可四角限运行、电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区、低速平稳性好等。
L293D通过内部逻辑生成使能信号,H-桥电路的输入量可以用来设置鸟达转动方向,4使能信号可以用于脉宽调整(PWM)。
另外,L293D将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。
每1个电机需要3个控制信号
ENA、INKIN2,其中ENA是使能信号,INI、IN2为电机转动方向控制信号,
INKIN2分别为1,0时,电机正转,反之,电机反转。
选用一路PWM连接ENA引脚,通过调整PWM的占空比可以调整电机的转速。
表2-1是其使能、输入引脚和输出引脚的逻辑关系(电路按图2-2连接)
图2-2电机驱动连接图
表2-1
ENA(B)
INI(IN3)
IN2(IN4)
电机运行情况
H
H
L
正转
H
L
H
反转
H
同IN2(IN4)
同INI(1X3)
快速停止
L
X
X
停止
2.1.2AT89S52
AT89S52单片机由以下功能部件组成:
微处理器、数据存储器、程序存储器、并行
I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。
它们都是通过片内单一总线连接而成,对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
AT89S52管脚分布如图2-3:
图2-3AT89S52芯片管脚
1、 微处理器:
该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。
2、 数据存储器:
片内为256BytesRAM,片外最多可外扩至64K字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。
3、 程序存储器:
由于受集成度限制,片内有8KBFlash存储器,如果片内的只读存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64K字节。
4、 定时器/计数器:
片内有2个16位的定时器/计数器,具有四种工作方式。
5、 输入/输出(I/O)口:
P1口、P2口、P3口、P4口为4个并行8位I/O口。
下面对它芯片的管脚进行介绍:
P0□:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写T”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用,在这种模式下,P0不具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节:
在程序校验时,输出指令字节,程序校验时,需要
外部上拉电阻。
P1□:
P1口是一个具有内部上拉电阻的8位双向I/O口,pl输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)o此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
Pl.lT2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
Pi.6MISO(在系统编程用)
Pl.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)»在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址,在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@R1)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3□:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)oP3口亦作为AT89S52特殊功能(第二功能)使用,在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(夕卜中断0)
P3.3INT1(外中断1)
P3.4TO(定时/计数器0)
P3.5T1(定时/计数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vppo
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
并不是所有的地址都被定义了。
片上没有定义的地址是不能用的。
读这些地址,一般将得到一个随机数据:
写入的数据将会无效。
用户不应该给这些未定义的地址写入数据“1”。
由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。
定时器2寄存器:
寄存器T2CON和T2MOD包含定时器2的控制位和状态位,寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器〔别。
2.1.3红外线传感器
红外线传感器采用反射接收原理。
一个红外线传感器配置了一个红外线发射器、一个红外线接受器及其上拉电阻,其应用电路如图2-4所示。
红外线发射器通电后不断会发射一定强度的红外线照射物体,红外线接收器在接受到一定强度的红外线后会导通。
如图通过在红外线的正极接出一个信号来观察红外线接收器是否导通。
当红外线接收器导通时,输出信号为0:
反之则为1。
红外线在不同颜色的物体上反射程度是不同的,当红外线传感器在黑色物体时,黑色物体吸收大量红外线,反射少量红外线,红外线接收其不足以导通,输出信号为1。
当红外线传感器在白色物体上时,白色物体吸收的红外线少,反射的红外线多,红外线接收器导通,输出信号为0。
因此本设计采用红外线传感器模块与有黑线的路面组合使用⑺⑼。
7
9
红外线发射器
图2H传感器应用电路图
2.2模块介绍
2.2.1传感器模块
本系统共设计三个红外线传感器固定在底盘前沿,贴近地面,如图所示分别为A、B、Co正常行驶时,发射管发射红外光照射地面,光线经白纸反射后被接收管接收,输出高电平信号:
电动小车经过黑线时,发射端发射的光线被黑线吸收,接收端接收不到反射光线,传感器输出低电平信号,应用图如图2-5所示3】。
2.2.2电动小车模块
电动小车由两个直流电机与其驱动芯片组成。
一左一右位于小车前端两边。
电机通过齿轮组带动轮胎,后端是用于平衡的轮胎。
小车电动机模块如图2-6所示。
2.2.3控制模块
1、时钟电路
AT89S52虽然有内部振荡电路,但要形成时钟,必须外部附加电路。
AT89S52单片机的时钟产生方法有两种,内部时钟方式和外部时钟方式。
本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。
本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHZ到12MHZ之间选择。
电
#
容值无严格要求,CXI、CX2可在20pF到lOOpF之间取值。
所以本设计中,振荡晶体选择11.0592MHZ,电容选择30pFo
2、复位电路
AT89S52的复位是由外部的复位电路来实现的,复位引脚RST通过在每个机器周期对复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种方式。
最简单的上电自动复位电路中,上电自动复位是通过外部复位电路的电容充电来实现的。
只要VCC的上升时间不超过1ms,就可以实现自动上电复位。
时钟频率用11.0592MHZ时C1取10uF,R4取10Kd本设计就是用最简单的上电复位,控制器模块如图2-7所示网。
图2-7控制器模块
2.3整体方案
小车的寻迹原理是当左侧传感器在黑线上时,传感器输出高电平,在白色地板上时输出低电平。
电平信号进入单片机P1.0口,同理右侧传感器将电平信号传送到单片机P1.2口。
单片机通过P0.0和P0.1口控制左电机组,通过P0.2和P0.3口控制右电机组。
当正前方传感器检测到黑线时,正前方传感器输出高电平信号到单片机的P1.1口,因此,通过各个传感器反映到单片机的高低电平,单片机经过判断后控制小车行动,整体硬件示意图如图2-8所示。
图2-8小车整体模块
当左右传感器都在黑线上时,单片机控制左右电机同时以相同速度正向转动,小车向前行驶。
当左侧传感器在黑线外,右侧传感器在黑线上时,单片机控制右侧的电机停止(或反向转动),左侧的电机正向转动(或停止)来控制小车向右转:
当右侧传感器在黑线外,左侧传感器在黑线上时,单片机控制左侧的电机停止(或反向转动),右侧的电机正向转动(或停止)来控制小车向左转,从而来实现小车