智能寻迹电动小汽车参考.docx

上传人:b****7 文档编号:10512773 上传时间:2023-02-17 格式:DOCX 页数:23 大小:523.27KB
下载 相关 举报
智能寻迹电动小汽车参考.docx_第1页
第1页 / 共23页
智能寻迹电动小汽车参考.docx_第2页
第2页 / 共23页
智能寻迹电动小汽车参考.docx_第3页
第3页 / 共23页
智能寻迹电动小汽车参考.docx_第4页
第4页 / 共23页
智能寻迹电动小汽车参考.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

智能寻迹电动小汽车参考.docx

《智能寻迹电动小汽车参考.docx》由会员分享,可在线阅读,更多相关《智能寻迹电动小汽车参考.docx(23页珍藏版)》请在冰豆网上搜索。

智能寻迹电动小汽车参考.docx

智能寻迹电动小汽车参考

自动往返电动小汽车设计

摘要:

本文介绍的是基于单片机AT89C52控制的自动往返电动小汽车控制系统的硬件和软件设计。

用AT89C52单片机实现自动往返电动小汽车设计,采用AT89C52单片机为控制核心,利用光电检测器检测道路上的标志,控制电动小汽车的正反向行驶,快慢速行驶,以及停车的位置,并可自动记录往返时间和行驶路程。

整个系统的电路结构简单,可靠性高。

实验测试结果满足要求,本文着重介绍了该系统的软硬件设计方法及测试结果分析。

关键词:

AT89C51AT89C52单片机光电检测器 调节控制

1引言

由于电动小汽车纯硬件控制具有很多缺点,并且不宜实现复杂运动的自动控制功能(不能用人工控制)。

而单片机具有体积小,重量轻,耗电少,功能强,控制灵活方便,价格低廉等优点。

本设计就是以单片机89C52为核心,附以外围电路,采用光电检测器进行检测信号和障碍物;运用单片机的运算和处理能力来实现小车的自动加速、限速、减速、定时、语音、前进、后退、左转、右转、显示行驶速度、行驶路程、行驶时间等智能控制系统。

1.1方案的选择与论证

根据题目要求,系统可以分为几个模块,如图1所示。

对各模块的实现。

分别有以下一些不同的设计方案:

 

图1

1.1.1直流电机驱动模块

方案一:

采用电阻网络或数字电位器调整电动机的分压,从而达到调整的目的;但是电阻网络只能是有级调速,而数字电阻的元器件除不经济外。

还有分压会降低效率,并且很难实现。

 

方案二:

采用继电器对直流电机的开或关进行控制,通过开关的切换对转轴的速度进行周期调整,这个方案的优点是比较简单,容易实现;但是继电器的响应时间慢、机械结构容易损坏、寿命不长、可靠性不高。

方案三:

采用由多个三极管组成的PWM电路,由单片机控制,使之工作在占空比可调的开关状态,精准地调整电动机的转速。

这个电路由于管子工作的饱和截止模式下,效率很高,电子开关的速度很快,稳定性也很强。

基于上述理论分析,拟选择方案三。

1.1.2黑色标志线检测模块

探测橱柜黑色标志线的大致原理是:

光线发射到白色橱柜并反射,由于黑色标志线和白色橱柜的反射系数不同,可根据接收到的反射光判断是否到达了黑色的标志线。

由此我们提出了以下几个方案:

方案一:

可见光发光二极管与光敏二极管组成的发射~接受电路。

这种方案的缺点在于其他环境光源会对光敏二极管的工作很大的干扰,一旦外界光亮条件改变,很可能造成误判和错判;虽然采取超高亮发光管可以降低一定的干扰,但这又增加额外的功率损耗。

方案二:

不调制的反射式红外发射-接收器。

由于采用红外管代替普通可见光管,由于红外光的波长比可见光长,因此受可见光的影响较小。

同时红外系统还具有尺寸小、重量轻、能有效防止可见光波的干扰、对辅助装置要求最少、对人眼无伤害等优点、可以降低干扰;但如果直接用直流电压对管子进行供电,限于管子的平均功率要求,电流只能工作在10mA左右,仍然容易受到干扰。

方案三:

采用脉冲调制的反射式红外发射-接收器。

考虑到环境光干扰主要是直流分量,如果采用带有交流分量的调制信号,那么我们就可以大幅度的减少外界的干扰;另外,红外发射管的最大工作电流取决与平均电流,如果占空比小的调制信号,在平均电流不变的情况下,瞬时电流可以很大,这样也就大大的提高了信噪比。

基于上述理论分析,拟选择方案三。

1.1.3速度检测模块

方案一:

采用霍尔集成片。

该器件内部由三片霍尔金属板组成,当磁铁正对金属板时,

由于霍尔效应,金属板发生横向导通,因此可以在车轮上安装磁片,而将霍尔集成片安装在固定轴上,通过对脉冲的计数进行车速测量。

 方案二:

受鼠标的工作原理启发,采用断续式光电开关。

由于该开关是沟槽结构,可以将其置于固定轴上,再在车轮上均匀地固定多个遮光条,让其恰好通过沟槽,产生一个个脉冲。

通过脉冲的计数,对速度进行测量。

  以上两种都是比较可行的转速测量方案。

尤其是霍尔元件,在工业土得到广泛采用。

但是在本题中,小车的车轮较小,方案一的磁片密集安装十分困难,容易产生相互干扰。

相反,方案二适用于精度较高的场合,可以车轮上加较多的遮光条来满足脉冲计数的精度要求,因此拟采用方案二。

1.1.4电源模块

方案一:

所有器件采用单一电源(6节M电池)。

这样供电比较简单;但是由于电动机启动瞬间电流很大,而且PWM驱动的电动机电流波动较大,会造成电压不稳、有毛刺等干扰,严重时可能造成单片机系统掉电,缺点十分明显。

  方案二:

双电源供电。

将电动机驱动电源与单片机以及其周边电路电源完全隔离,利用光电藕合器传输信号。

这样做虽然不如单电源方便灵活,但可以将电动机驱动所造成的干扰彻底消除,提高了系统稳定性。

  我们认为本设计的稳定可靠性更为重要,故拟采用方案二。

1.1.5键盘及显示电路

显示电路采用采用共阴极数码管四个进行动态显示,轮流显示时间和路程,这有利于节省I/O口。

显示时间的精度为1S,显示路程的精度为0.01m。

通过单片机利用不同的占空比来控制车的速度,小车运行的情况是通过轴上的带孔的圆片和光电检测器把脉冲信号送给控制部分。

当小车检测到终点线时,停止运行10S,显示运行路程。

1.1.6小结

经过仔细的论证与比较,我们决定了系统各个主要模块的最终方案如下:

电动机驱动与调速模块:

采用达林顿管的H型PWM电动机驱动电路。

车轮检速模块:

采用光电断续开关构成的光电感应系统。

路面黑线检测模块:

采用调制的反射式发射-接收器。

电源:

双电源供电(6节M电池+1节9V方型电池)。

显示电路:

共阴极数码管四个动态显示

2系统的具体设计与实现

系统组成及原理框图如图2所示。

以下分为硬件和软件两个方面进行具体分析。

图2

2.1系统的硬件设计

2.1.1直流电机驱动模块的电路设计与实现。

具体电路见图3。

本电路采用的是基于PWM原理的H型驱动电路。

该电路采用11P132大功率达林顿管,以保证电动机启动瞬间的8A电流要求。

图3

 当Ug1为高电平,Ug2为低电平时,Q3、Q6管导通,Q4、Q5管截止,电动机正转。

当Ug1为低电平,Ug2为高电平时,Q3、Q6管截止,Q4、Q5管导通,电动机反转。

另外四个二极管可以在Ug1由高变低时,通过D2、D4两个二极管形成电动机电圈感应电压的回路,起到了保护电动机的作用。

  在实验中的控制系统电压统一为5V电源,因此若达林顿管基极由控制系统直接控制,则控制电压最高为5V,再加上三极管本身的压降,加到电动机两端的电压就只有4V左右,减弱了电动机的驱动力。

基于上述考虑,我们运用了4N25光藕集成块,将控制部分与电动机的驱动部分隔离开来,这样不仅增加了各系统模块之间的隔离度,也使驱动电流得到了大大的增强。

光电耦合器4N25芯片内发光器由发光二极管构成,受光器由光电三极管构成,采用DIP-6封装,外引线6条。

其中,1脚是阳极,2脚是阴极,3脚是空脚,4脚是发射极,5脚是集电极,6脚是基极。

由于光电耦合器在结构上,输入与输出端彼此隔离,应用时输入电路与输出电路不共地,因此信号单向传输,输出对输入无影响,抗干扰能力强。

4N25芯片内部电路如图4所示:

  图4

至于Ug1与Ug2这对控制电压,我们采用了200Hz的周期信号控制,通过对其占空比的调整,对车速进行调节。

最小脉宽为0.2ms,速度共分25挡,可以满足车速调整的精度要求。

同时,可以通过Ug1与Ug2的切换来控制电动机的正转与反转。

2.1.2黑色标志线检测模块的电路设计与实现

由于路面是白色的,在某些规定区域贴有黑色线条标志(1~5),根据颜色对光的吸收和反射特性,光接收管在黑白区域的导通状态不相同。

当小车起点出发后,安装在车底的前部和中部安装的反射式光电检测器就会作出不同的反应;对线区的数据进行采集,把变化的光信号转换为电信号,再经过处理,送入单片机中。

由555组成的脉冲发生器,如图5所示,其占空比可调,接入两只二极管D1,D2后,电容C1的充放回路分开,放电回路为D2、RB内部三极管T以及电容C1,放电时间

t1≈07RBC1

充电回路为RA、D1、C1,充电时间:

t2≈07RAC1

输出脉冲的频率:

图5

F=

通过电位器RP可以改变输出脉冲的占空比,

但频率不变,假如使RA=RB,则可以获得对称方波。

为了检测路面上的黑色标志条,在小车的底部安装了1对红外发射-接收器,为了减少环境光源的干扰,增加信噪比,采用脉冲的发射与接受电路。

发射、接收的具体电路见图6所示,发射部分采用555定时器产生9KHZ、占空比为1:

5的方形脉冲信号,通过三极管Q1的放大来驱动红外发射管,实现检测信号的调制。

 

图6

接收部分的光敏二极管在不同的光照强度下,电阻值会大幅度改变,因此可以通过改变R2的大小,调整输出对路面的灵敏程度。

本实验中,我们把电路的参数设置只对黑色敏感,这样对可以更好的排除外界环境的干扰,输出的交流信号,经过隔直电容,整形后输出。

由于一般的解调方法(通过频率解码器),无法充分利用瞬时信噪比大的优势,而且无法方

便的调节接收敏感度;所以,我们使用单片机同步检测的方法,接收器产生的信号经过信号

识别整形电路向89C52分别指示两个探测信号。

同时,发射电路的555定时器产生的调制

信号作为同步信号输入给89C52中断,当89C52接收到中断时,便去检测信号,等连续检

测到几个信号以后,再发送中断通知89C52。

这样的优点在于,可以充分利用单片机编程,等连续检测的到多个信号后才认为是黑条,避免将其他东西误判为黑色标志条的情况,提高了纠错的能力。

2.1.3速度检测模块的电路设计与实现

在车轴上固定有一个沟槽状的断式红外光电开关,而在车轮侧壁则伸出一圈遮光板,圆周上均匀分布15个输出方孔。

车轮转动时,方孔依次通过沟槽,光电开关便得到通断相间的高低电平信号。

得到的信号经过整形,发送至单片机,以实现车速检测和路程计算。

具体电路如图7

图7

 在物理结构上,我们将该检测装置安装在前车轮上。

因为后轮在刹车时容易打滑、反转,故安装在前轮才能测得实际的车速和路程。

2.1.4电源模块

双电源供电。

将电动机驱动电源与单片机以及其周边电路电源完全隔离,利用光电藕合器传输信号。

这样做虽然不如单电源方便灵活,但可以将电动机驱动所造成的干扰彻底消除,提高了系统稳定性。

 

图8

 

2.1.5键盘及显示电路

 本系统采用共阴极数码管四个进行动态显示,轮流显示时间和路程,这有利于节省I/O口。

显示时间的精度为1S,显示路程的精度为0.01m。

用IOB8—IOB11口作为位选控制,IOA8—IOA11口传输要显示的数据,数据线和位选线直接接单片机的I/O口即可,因为I/O口输出电流很小不会对LED造成损坏,它的电压值却足以驱动LED,这不像别的单片机还要外接驱动电路和电阻,采用89C52单片机大大减化了设计过程和硬件电路。

硬件电路如图9所示。

图9

 为了减少外部锁存器和译码模块,数码管全部使用软件进行动态显示。

在限速区内,数码管显示8s倒计时;在行驶过程中,显示已驶路程;在终点停车时和返回起点后,交替显示往返时间与距离。

 

3.1系统的软件设计

单片机控制电路主要由一片89C2051和一片89C52组成。

89C2051主要实现对路面黑线的软件检测与纠错;89C52则作为整个控制部分的核心,负责车速检测、电动机驱动、数据显示等功能。

单片机具体电路如图10所示。

图10

3.1.1主结构流程图  

软件系统的主结构流程图如图11。

小车按复位键后,即启动,以最慢的速度向前行驶,当检测到第一根黑线时,就会全速前进。

为了保证小车停车位置正确,在检测到第五和第十一跟黑线时就开始减速行驶。

 

 

 

图11

主结构图也可如图12所示,更为直观地表示

图12

 

3.1.289C2051的路面检测程序

  89C2051的路面检测程序程序流程图如图13所示。

该检测算法的主要特点是:

只有连续检测到几个黑线信号之后,才发中断信号通知89C52到达黑线。

这样可以避免其他细小物体的干扰。

同样,在到达黑线之后,只有连续检测不到信号时,才取消中断,避免黑线上的杂物干扰。

图13

  3.1.389C52的主控程序8962的中断和定时器资源配置

资源配置如表所示。

资源名称

功能

外部中断1INT0(下降沿触发)

黑线检测中断

外部中断2INT1(下降沿触发)

车速检测中断

定时器TIMERO(中断方式,5KHZ)

1.电动机FWM占空比调节

2.系统时钟

3.LED数码动态扫描

 

3.1.3.1黑线计数(中断服务程序1):

由于车底前部和中部装有两个传感器,采用中断和查询结合的检测方法。

89C2051在对黑

线信号进行纠错处理后,向89C52的INTO发出中断请求信号,并通过89C52的P1.4指明是哪一个传感器检测到黑线,在8962的中断服务程序中进一步查询中断源(见图14)。

图14

为了保证程序的实时性,中断服务程序尽量简洁,故在程序中设置2个全局计数变量Linenum1和Linenum2,分别对应两个传感器检测到的黑线数,服务程序仅仅累加计数变量,而到达黑线后的操作由主程序完成。

3.1.3.2车速检测(中断服务程序2)。

如前文所述,当车轮转动时,安装在轮胎上的圆形遮光板上的方孔依次通过槽型断续式光电开关,每通过一个方孔便产生一个脉冲。

因此只需记录两个脉冲所间隔的时间,便能得到实际车速(见图15)。

其中,时间差由定时器的时钟计算得到。

图15

同时,由累计脉冲的总数便可得到行驶的路程。

本作品中,车轮周长18cm,圆周上方孔数为15个,故一个脉冲对应1.2cm路程,即路程测量精度为1.2cm。

3.1.3.3定时器服务程序。

为了提高效率,我们将多个需要定时的模块放在一个定时器服务程序中,其程序流程图如图16所示。

通过分频来实现各个不同功能。

定时器频率为5kHz。

图16

电动机PWM脉宽调制信号的产生:

脉宽调制信号的一个周期为5000μs。

一个最小脉宽的

时间为200μs间,则速度可分为5000/200=25挡。

系统时钟的产生:

只需设置一个全局变量不断累加,便能提供一个系统时钟。

LED数码管的动态扫描:

为了使人眼感觉不到抖动,扫描频率应不低于60Hz,服务程序

中将时钟经16分频后,得到5000/16=312.5Hz,则4位数码管的每一位平均扫描频率为312.5/4=78Hz。

3.1.3.4限速子程序。

在限速区中为了实现低速行驶的要求,最简单的方法是减小功率。

但这种开环系统缺点十分

明显。

首先是对电池电量依赖性强,电量充足时可能开得过快,电量不足时则过慢;其次,

当小车碰到挡板时,由于阻力增加,车速也会与正常行驶差异极大,乃至停车。

因此,限

速必须采用闭环系统,即通过车速检测的反馈,不断调整电动机的驱动力。

算法流程图如图

17所示。

图17

为了直观地指示当前限速状态,在车尾设有两对红绿指示灯,通过指示灯的状态可清晰观察该速度反馈系统的运行状态。

另外值得注意的是,判断当前车速是否低于设定值不能通过计算两次脉冲间隔来实现。

因为车速很慢时,等待下一个脉冲的时间将无限变长;一旦车子停驶,程序便永远不能判断当前车速。

故检测车速时设置了一个超时器,一旦超时还没有来脉冲,便认为车速变慢或停止。

3.1.3.5过线返回算法。

题目要求在到达终点线及返回起点线时压线。

当车速不快时,只需通过刹车便可解决;但如果车速太快,刹车后仍超出终点线时,就应该倒退回终点线上。

而且此时倒车必须为较低的速度,保证一次刹车即可压线,否则可能产生来回往返的死循环。

算法流程图如图18所示。

图18

3.1.4显示和播报程序 

 时间和路程的显示采用动态显示,显示子程序流程图如图19,语音播报采用SACM_S480

语音播报,流程图如图20

 

图19图20

 

3.其他功能的设计与实现

(1)数码管显示为了减少外部锁存器和译码模块,数码管全部使用软件进行动态显示。

在限速区内,数码管显示8s倒计时;在行驶过程中,显示已驶路程;在终点停车时和返回起点后,交替显示往返时间与距离。

(2)车头方向的调整由于原玩具车前轮装有弹簧很容易发生随机偏转。

为了精确调整方向,我们拆除了车上原有的转弯控制电动机,设计了一个机械装置固定了车轮的方向杆,且留出一个螺丝作为接口,实现对方向杆的微调。

其机械结构如图3-1-14所示。

(3)车速指示灯在车尾两端装有两对车速指示灯,当小车加速时,绿灯亮;当小车刹车减速时,红灯亮。

因此在限速区时,可明显体会到算法的运

行过程。

在终点停留时,红灯闪烁10次代表10s倒计时。

 

3结论

整个系统的设计是以单片机为核心,通过调试,本系统能实现如下功能:

(1)自动限速行驶

小汽车在行驶过程中,应能自动检测限速标志,并根据速度要求改变占空比使小汽车按不同速度行驶。

(2)自动往返

当小汽车到达终点后,停止10S,再从终点返回起点。

要求控制系统能准确检测返回标志。

(3)自动避开障碍

小汽车在规定的跑道范围内运行时,可能会偏离跑道,当小汽车偏离行驶轨道遇到障碍物时,应及时转向,返回跑道。

(4)自动记录并显示一次往返时间和行驶路程

当小汽车到达终点时,系统具有自动记录并显示一次往返时间和行驶路程的功能。

(5)报警功能

当检测到障碍物时,具有报警功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1