1、设计题目:非接触式门禁中断控制系统系 别: 信息科学系 专 业: 电子信息工程 姓 名: 陈炳、黄成、周冉冉 指导教师: 杨增旺 完成时间 2013年4月23日 摘要STC89S52单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。这里介绍的是如何用STC89S52单片机来实现智能小车的设计。本系统以设计题目的要求为目的,采用STC89S52单片机为控制核心,利用红外光电管检测道路上黑线,快慢速行驶,实现自动寻迹和寻光,以及超车功能。整个系统的电路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的软硬件各模块设计方法及测试结果分析。 采用的技术主要有: 通过编
2、程来控制小车循迹; 使用L298来控制小车的速度和转向; 光电开关的有效应用; 红外对管的采用.关键词 STC89S52单片机、光电检测器、智能小车 目 录一 绪论.4二 方法论正与比较,42.1 轨迹探测模块设计与比较.42.2数据存储较. 52.3 障碍探测模块方案分析与较.52.4 电机驱动调速系统.62.5 电源系统.72.6 系统原理图.8三、 小车硬件设计.93.1 电源模块设计. 93.2 单片机最小系统设计.93.3 循迹模块设计.103.4 后轮驱动模块设计.113.5 洗衣机模拟. . . .12四、小车软件设计.134.1 黑线检测程序,.144.2 后轮电机的控制 .
3、14五、 测试数据及结论. 1 5六、总结.16附录1:程序头文件及变量说明.附录2:源程序.一、绪论本设计采用STC89S52单片机为简易智能小车的核心器件。循迹模块由若干个红外对管组成,通过反射红外线的变化判断黑线的有无以达到循迹的功能,电源模块采用电池两路供电,单片机与大电流器件分开供电,避免大电流器件对单片机造成干扰,电机驱动模块选用常用的H桥驱动芯片L298N结合单片机来控制电机工作,运用机械臂加持模拟并实现晾晒功能。技术报告以智能小车的设计为主线,包括小车的构架设计、软硬件设计,以及控制算法研究等,共分为五章。其中,第一章为引言部分;第二章主要介绍了小车的总体方案的选取,对单片机资
4、源的分配作了说明。第三章对小车的硬件设计进行了详细的介绍,主要介绍了电路的设计;第四章描述了小车的软件设计和相关算法。第五章中叙述了我们在设计过程中遇到的问题和解决方法。二、方案论证与比较1轨迹探测模块设计与比较方案一、使用简易光电传感器结合外围电路探测。由于所采用光电传感器实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响。在使用过程极易出现问题,而且容易因为该部件造成整个系统的不稳定。故最终未采用该方案。方案二、利用两只光电开关。分别置于轨道的两侧,根据其接受到白线的先后来控制小车转向来调整车向,但测试表明,如果两只光电开关之间的距离很小,则约束了速
5、度,如果着重于小车速度的提升,则随着车速的提升,则势必要求两只光电开关之间的距离加大,从而使得小车的行驶路线脱离轨道幅度较大,小车将无法快速完成准确的导向从而有可能导致寻迹失败。方案三、用两只红外对管。两只置于轨道两边,当小车脱离轨道时,即当置于中间的一只光电开关脱离轨道时,等待外面任一只检测到黑线后,做出相应的转向调整,直到 中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。现场实测表明,虽然小车在寻迹过程中有一定的左右摇摆,但只要控制好行驶速度就可保证车身基本上接近于沿靠轨道行驶。综合考虑到寻迹准确性和行驶速度的要求,采用方案三。图1-12数据存储比较方案一、采用外接ROM 进行存
6、储。采用外接ROM 进行存储是保存实验数据的惯用方法,其特点是在单片机断电之后仍然能保存住数据,但无疑将增大软硬开销和时间开销。方案二、直接用单片机内部的RAM 进行存储。虽然不能在断电后保存数据,但可以在实验结束后根据按键显示相应值。而且本实验的数据存储不大,采用RAM 可以减少IO 接口的使用,便利IO 接口分配,故此方案具有成本低、易实现的优点,更符合实际需求。鉴于方案二的以上优点,综合比较,本方案采用方案二。3. 电机驱动调速系统方案一:采用电阻网络或者数字电位器调整电动机的分压,从而达到降速的目的。但是,电阻网络只能实现有级降速;而数字电阻的元器件价格昂贵。最重要的问题是,一般电动机
7、的电阻很小,电流很大,分压不仅降低效率,而且难以实现。方案二:采用继电器对电动机的开/关进行控制,通过开关的切换对小车的速度进行调整。这个电路的优点是比较简单,但是继电器的响应时间比较慢、机械结构易坏、寿命较短、可靠性不高。方案三:采用达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,可精确调整电动机的转速。这种电路由于工作在饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也高,是广泛采用的PWM调速技术。方案分析:由于电力电子器件只工作在开关状态,主电路损耗较小,装置效率较高。根据以上综合比较,以及本设计中受
8、控电机的容量和直流电机调速的发展方向,本设计采用了H型单极型可逆PWM变换器进行调速。脉宽调速系统的主电路采用脉宽调制式变换器,简称PWM变换器。脉宽调速也可通过单片机控制继电器的闭合来实现,但是驱动能力有限。为顺利实现电动小汽车的前行与倒车,本设计采用了可逆PWM变换器。可逆PWM变换器主电路的结构式有H型、T型等类型。我们在设计中采用了常用的双极式H型变换器,它是由4个三极电力晶体管和4个续流二极管组成的桥式电路。5. 电源系统上图为LM2940-5.0封装和实物图方案一:所有元器件采用单一电源。它供电简单,方便灵活,减小了车载质量和摩擦阻力。但是电机启动瞬间电流很大,而且PWM驱动的电机
9、电流波动较大,会造成电压不稳定、有毛刺干扰等,不适用于要求电源稳压的CPU,严重时可能造成系统掉电。方案二:单片机必须与大电流器件分开供电,避免大电流器件对单片机造成干扰,采用两路供电,这样可以使用其中一路单独为单片、指示灯供电,另外一路提供L298N、光电管、舵机的工作电压。介于设计稳定性考虑,采用方案二。6.系统原理图三、 小车硬件设计3.1 电源模块设计电源模块为系统其它各个模块提供所需要的电源,设计中,除了要考虑到电压范围和电流容量等基本参数之外,还要在电源转换效率、降低噪声、防止干扰和电路简单等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的基础。为此,采用两路供电,这样避免
10、大电流器件对单片机造成干扰。图3-13.2 单片机最小系统设计 单片机是小车的控制中心,单片机最小系统的合理设计是小车平稳运行的前提,图3.2 为52单片机最小系统的几个部分:1、晶振电路,单片机要想工作必须有一个外部时钟源,这个时钟源有外部晶振产生,具体电路为图中的Y1、C2、C3.在做电路办事晶振和电容要靠近18脚和19脚放置。 2、复位电路,复位电路包括商店复位和手动复位两部分,51系列单片机多为高电平复位,即采用上电复位,其原理就是利用电容充电的一段时间将复位脚拉至高电平,使单片机完成复位。3、ISP下载接口,改下载接口在实际制作是可以用双排的5*2的排针代替,电路是根据标准的ISP下
11、载线来设计的,与常用的并口下载线,串口下载线和笔记本用的USBASP下载线兼容,只需将下载线接口插到本接口上就可以直接向单片机烧写程序。图3-2图3-3 ISP实物接口3.3 循迹模块设计 循迹模块完成的是黑线的识别功能,其主要采用多个红外光电管,红外光电管分为两部分,一部分为无色透明类似于LED的红外发射部分,另外一部分为黑色的红外接收部分。图3.3为红外检测的基本电路图。图中R1为限流电阻,R2、R3为分压电阻,LM339为电压比较器,为了保证在输出高电平时有5V左右的高电平输出。只有多个红外光电管并联才能够起到良好的检测效果,在实际应用中光电管的排列方式,排列间距是有讲究的,为此,本作品
12、采用“一”字型排列,将两个红外光电管的间距设置为黑线的宽度。 图3-4 光电管布局 图3-5 3.4 后轮驱动模块设计图3-8 L298的实物图和封装图 图3-9 L298电路图电路图中有两个电源,一路为L298工作需要的5V电源VCC,一路为驱动电机用的电池电源VSS。图中的续流二极管是为了消除电机转动时的尖峰电压保护电机而设计。3.5 洗衣机模拟 运用步进电机,无线控制小车以及机械臂自动夹持衣物。四、小车软件设计系统软件设计说明在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软
13、件更为重要。为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。模块程序设计法的主要优点是:单个模块比起一个完整的程序易编写及调试;模块可以共存,一个模块可以被多个任务在不同条件下调用;模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。本系统软件采用模块化结构,由主程序定时子程序、避障子程序中断子程序显示子程序调速子程序算法子程序构成。本作品的核心电路是一片STC89C52。它是整个控制部分的核心,负责车速控制、电动机驱动、舵机转向、黑线检测等功能。程序的总
14、体设计:头文件全局变量定义主函数 端口定时器设置 死循环 查询光电管状态 设定舵机转过角度 设定后轮转动方向和速度中断服务函数PWM波的产生 首先舵机的控制就是给一定占空比的方波来实现不同的转角的,其次后轮电机的调速也是通过不同占空比的方波来实现。 图4.14.1黑线检测程序单片机不断查询光电管探测传来的信号,调整小车转向收到信号的一侧。在设计中,我们在两边各设了四对反射式红外发射接收管,保证了小车沿黑线行进。程序流程见图4-1所示程序主要采用case语句实现黑线检测.4.2 后轮电机的控制 因为后轮电机有单片机通过驱动芯片进行驱动,那么对后轮电机的控制很显然也就包括了方向和速度的控制。方向的
15、控制很简单,前面说过电机和至单片机的的1234四个是一一对应的,其中12是一个通道,使能为ENA脚控制,高电平有效,34是第二个通道,使能由ENB控制。因此可以把电机接在12脚上,因此如果接单片机的12脚分别接在51单片机的P1.0,P1.1两脚如果在程序中令P1.0 = 1;P1.1 =0;电机正转,则P1.0 = 0;P1.1 =1;电机反转,而如果在程序中对P1.0或1.1脚产生一个PWM波来控制,那么不同的占空比就会让电机具有不同的速度。 对于电机的调速控制有以下两点说明: 1、注意选择合适的控制频率,过高可能导致电机不转,频率过低可能使电机间歇性转动。 2、使用不同占空比的PWM波控
16、制电机时有时虽然在空转的情况下电机速度降低但是同时带负载的情况会严重降低,所以在以往的比赛中经常出现有的小车在转弯时出现跑不动的情况,因此应注意选择频率和占空比。五、 测试数据及结论测试方法与仪器:测试仪器 测试仪器包括秒表、数字万用表、信号发生器、示波器、飞思卡尔电池2、测试方法 数字万用表主要用来测试分立元件的电阻、压降、漏电流、截止/导通状态等参数;信号发生器与示波器用于测试各光电传感器信号的接收与传输;直流稳压电源在测试期间为各待测系统供电;秒表用于产品测试,按照任务书的基本要求对制成的电动车进行产品测试。2、结论在设计过程中,我首先边查资料,边在实验室焊接小车的线路板。在焊接过程中,
17、我感觉到即使是一个简单的电路,要想很轻松的焊好,也不是很容易的事情。有时是“虚焊”的原因,有时可能是阻值选错。在焊接显示电路时,我就错将680欧的电阻焊成了6.8千欧。这使我深深感受到理论与实际间的差距。通过这样的设计,提高了我的动手能力。每天在实验室除了焊接线路板,还可以上机编程,使我软件调试知识也提高了。 本设计采用的是AT89S52单片机,这主要是因为该单片机的稳定性比较好。还可以采用其它系列的单片机。比如采用陵阳单片机,就可以简化编程,但其稳定性不是很好。 六、总结经过小组成员的一致努力,设计出了具有一定功能的智能小车,达到了预期的目的。经实验,该智能小车可以沿黑线方向行进一圈,当光电
18、管检测到十字交叉道是可以沿预期的方向运动,当第二次检测到起跑线时小车可以自动停止运动。提高车速的主要方法:1)在赛车的机械结构上作优化。2)舵机的机械调整。这一内容包括对舵机输出角度的机械放大、舵机反装等,其中心目的是提高舵机的反应速度。3)增强驱动电机的加减速性能4)在舵机控制算法上优化,使之过弯道走内弯、S型曲线直接冲过,其中心目的就是使赛车少走弯道,缩短行驶距离。我们在实验中曾发现,如果不进行控制算法的优化,单纯增加赛车的直线速度并不总是能缩短单圈的时间,因为速度快到一定程度后,赛车在过弯时将发生侧滑,赛车走过的距离增加了,抵消了速度增加带来的优势。由于时间有限,系统中尚存在许多问题有待
19、改进:抗干扰处理。赛车在赛道上会遇到各种情况,如交叉线、断续线,以及还有实验赛道上的干扰点,以及由环境光线不均匀造成的干扰。如何确保在任何情况下都能识别出赛道,或者判断出赛车在场上的位置,需要做进一步的努力。参数计算的准确性。虽然实现了斜率和曲率的计算,但是其精度仍然不够理想,特别是在能够识别的路径比较段的情况下,计算出的数据与实际有很大的偏差。笔者曾设想了一种基于最小二乘法捏合圆的方法,但是发现计算极其复杂,简化了条件后得出的结果又不够理想。这个方面值得继续探索。小车的器件尽量选择价格低廉,保证性价比不要过低。附录1: 程序头文件及变量说明#include /包括一个52标准内核的头文件#d
20、efine uchar unsigned char#define uint unsigned intsbit ENA=P10; /* L298的Enable A */sbit IN1=P11; /* L298的Input 1 */sbit IN2=P12; /* L298的Input 2 */sbit duoji=P13; /舵机信号控制sbit qi=P14; /起跑线检测指示灯sbit left=P20;sbit right=P27;uchar S ;uchar scale0;/用于保存舵机转向占空比的输出1的时间份额 最左边23,中间29 最右边37uint scale1;/用于保存控制
21、速度占空比的输出1的时间份额uint tt1,m,flag; /中断次数tt1uchar angle = 22,25,27,29,30,32,34,37;/角度预设,angle0表示小车处于最右左边时需要打的角度所对应的占空比scale0附录2源程序参 考 文 献1 何立民,单片机应用系统设计,北京:航天航空大学出版社,25,46502 李广弟,单片机基础,北京:北京航空航天大学出版社,2001,56643 何希才,新型实用电子电路400例,电子工业出版社,2000年,60654 赵负图,传感器集成电路手册,第一版,化学工业出版社,2004,5905915 陈伯时,电力拖动自动控制系统,第二版,北京:机械工业出版社,2000年6月,1271306 张毅刚,彭喜元,新编MCS-51单片机应用设计,第一版,哈尔滨工业大学出版社,2003,2527,4114177.张友德 赵志英 涂时亮 单片微型机,第五版 复旦大学出版社20