汽车倒车防撞系统模版.doc_第1页
汽车倒车防撞系统模版.doc_第2页
汽车倒车防撞系统模版.doc_第3页
汽车倒车防撞系统模版.doc_第4页
汽车倒车防撞系统模版.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 绪论1.1 论文背景随着社会经济的发展,交通运输业日益兴旺,汽车的数量在大副攀升。交通拥挤状况也日趋严重,撞车事件屡屡发生,造成了不可避免的人身伤亡和经济损失,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车防撞报警系统势在必行。超声波作为一种特殊的声波,同样具有声波传输的基本物理特性折射,反射,干涉,衍射,散射。超声波测距即是利用其反射特性,当车辆后退时,超声波距离传感器利用超声波检测车辆后方的障碍物位置,并利用指示灯及蜂鸣器把车辆到障碍物的距离及位置及时通知驾驶人员,起到安全的作用。1.2 设计要求及主要功能介绍本次设计的汽车倒车防撞系统,它是以STC89C52作为主控制器,用超声波模块对距离进行距离测试,并将信号发给主控制器。用L298芯片驱动直流电机,执行主控制器命令,控制小车的前进、减速、停止。LED和蜂鸣器报告检测出汽车后方有障碍物。2 超声波模块的工作原理2.1 超声波我们知道,当物体振动时会发出声音。科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。人类耳朵能听到的声波频率为2020,000HZ。当声波的振动频率大于20000HZ或小于20HZ时,我们便听不见了。因此,我们把频率高于20000HZ的声波称为“超声波”。超声波广泛地应用在多种技术中。超声波有两个特点,一个是能量大,一个是沿直线传播。由于超声波也是一种声波,超声波在媒质中传播的速度和媒质的特性有关。声波是物体机械振动状态(或能量)的传播形式。所谓振动是指物质的质点在其平衡位置附近进行的往返运动。超声和可闻声本质上是一致的,它们的共同点都是一种机械振动,通常以纵波的方式在弹性介质内会传播,是一种能量的传播形式,其不同点是超声频率高,波长短,在一定距离内沿直线传播具有良好的束射性和方向性。超声波具有以下的特点:(1) 超声波可在气体、液体、固体、固熔体等介质中有效传播。 (2) 超声波可传递很强的能量。 (3) 超声波会产生反射、干涉、叠加和共振现象。 (4) 超声波在液体介质中传播时,可在界面上产生强烈的冲击和空化现象2.2 超声波发生器为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。2.3 超声波测距原理在超声波探测电路中, 发射端输出一系列脉冲方波, 其宽度为发射超声波与接收超声波的时间间隔, 被测物距越远, 脉冲宽度越大, 输出脉冲个数与被测距离成正比。超声波测距的方法有多种, 如相位检测法、声波幅值检测法和往返时间检测法等。相位检测法虽然精度高, 但检测范围有限可检测到汽车倒车中, 其障碍物与汽车的距离;声波幅值检测法易受反射波的影响。本文硬件设计采用超声波往返时间检测法, 其测量原理图如图1所示。图2.1 超声波测距原理图其原理为: 在超声波发射器两端输入40KHZ 脉冲串, 脉冲信号经过超声波内部振子, 振荡产生机械波, 并通过空气介质传播到被测面, 由被测面反射到超声波接收器接收, 在超声波接收器两端, 信号是毫伏级的正弦波信号, 超声波经气体介质的传播到接收器的时间, 即为往返时间。超声测距有脉冲回波法、共振法和频差法,其中常用脉冲回波法测距。超声波测距的原理一般采用渡越时间法 ,其原理是超声传感器发射超声波, 超声波在空气中传播至障碍物, 经反射后由超声传感器接收反射脉冲, 测量出超声脉冲从发射到接收的时间, 再乘以超声波在空气中的速度就得到二倍的声源与障碍物之间的距离, 即: L=ct/2 (1)式(1)中, L为超声传感器与被测障碍物之间的距离, c为超声波在介质(空气)中的传输速率, t为超声波从发射到接收的时间。超声波在空气中的传播速度为: , 其中T为绝对温度数值, ,。在测量精度不是很高的情况下, 一般可以认为c为常数340m/s。由于温度影响超声波在空气中的传播速度;超声波反射回波又很难精确捕捉,致使超声波在空气中传播的时间很难精确测量。这些因素是使用超声测距引起误差的原因。2.4 超声波测距误差分析根据超声波测距公式L=ct/2,可知测距的误差是由超声波的温度误差、传播速度误差和测量距离传播的时间误差引起的。温度误差由于超声波也是一种声波。其声速C与温度有关。表1列出了几种不同温度下的声速这是超声波的温度效应特性,超声波的传播速度“C”可以用公式(2)表示:C331.50.607t(m/s),式中t=温度()。因此要精确测量与某个物体之间的距离时,则应通过温度补偿的方法加以校正。时间误差 当要求测距误差小于1mm时,假设已知超声波速度C=344m/s (20室温),忽略声速的传播误差。测距误差st(0.001/344) 0.000002907s 即2.907ms。 在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于1mm的误差。使用的12MHz晶体作时钟基准的89C51单片机定时器能方便的计数到1s的精度,因此系统采用89C51定时器能保证时间误差在1mm的测量范围内。 对于超声波测距精度要求达到1MM时,就必须把超声波传播的环境温度考虑进去。例如当温度0时超声波速度是332m/s, 30时是350m/s,温度变化引起的超声波速度变化为18m/s。若超声波在30的环境下以0的声速测量100M距离所引起的测量误差将达到5M,测量1M误差将达到5MM。超声波遇到障碍物后,一部分会反来,那么,通过计算发射出超声波到接收到回波之间的时差,还有音速,就能算出障碍物的距离。2.5 影响超声波探测的因素图2.2 超声波差距示意图在图2中,用一个超声波传感器来发射超声波,同时它又可以接收到回波。一般使用的超声波频率为40KHZ。根据以上原理,所算出的障碍物距离都是指障碍物到传感器的距离。传感器可检查到的角度:传感器发射超声波有一定的角度范围,图3,图4为常用传感器的探测角度:图2.3 水平探测角度图2.4 垂直探测角度以上菱形区域是发射超声波的覆盖区,而覆盖区内的障碍物能否被探测到,则与以下因素有关(见图5示):(1) 从物理方面的反射原理可知:超声波的反射规律为反射角等于入射角,因此,反射波是否能被传感器捕捉,与反射面的角度有关。(2) 反射面的大小不同,也会影响反射波的强度。(3) 另外,障碍物会吸收掉一部分超声波,反射回去的只是其中一部分,而吸收多少,反射又是多少,则与障碍物的材质和表面处理相关。疏松、多孔的表面较易吸收音波而导致反射效率较低,不易被侦测。(4) 超声波在空气中传输时也会衰减,所以同一个反射面,同样的角度,距离越远,发射和反射的超声波衰减越大,越不易被测到。(5) 以上几点简单的说,就是:角度、大小、表面材质和距离。这些因素综合起来,决定障碍物是否会被探测到。图2.5 超声波探测障碍物根据以上原理可知,在下列环境下,易造成无法侦测及侦测不良之情况!(1)铁丝网,绳索类细小物体。(2)草地行车或崎岖不平路面。(3)棉质或表面易吸收声波之物质。(4)传感器表面附着异物。(5)同频率(40 KHz)之超声波杂音加金属声,高压气体排放声,汽车喇叭正对传感器鸣叫时。(6)障碍物为锐角反射体,锥状物体。3 系统硬件电路介绍3.1 主控芯片的介绍STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。这种单片机有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口, STC89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本单片机总控制电路如下图41:图3.1单片机总控制电路时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图42(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图42(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(a)内部方式时钟电路 (b)外部方式时钟电路图3.2 时钟电路STC89C52具体介绍如下: 主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7STC89C52主要功能如表3-1所示。3-1 STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.2 最小系统复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V5%,即 4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器 稳定工作时,复位信号才被撤除,微机电路开始正常工作。 图3.3 复位电路震荡电路晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低 的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它会组成并联谐振电路 。这个并联谐振电路加到一个负反馈电路中就波振荡电路,由于晶振等效为电感频率范围很窄所以即使其它参数元件很大,这个震荡器的频率也不会有很大变化。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。 一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。 图3.4 晶振电路图3.5 最小系统整体 3.3 电源设计稳压电源是单片机控制系统的重要组成部分,它不仅为测控系统提供多路电源电压,还直接影响到系统的技术指标和抗干扰性能。近年来,传统的线性稳压电源正逐步被高有效率的开关电源所取代,特别是单片开关电源的迅速推广应用,为设计新型、高效、节能电源创造了良好的条件。本机采用的是5v的电源,预计用干电池供电。132R1CICoUI76234UoR2F0070.33m33V10k0.1W7805图3.6 5V稳压电源3.4 超声波测距工作原理图3.4.1 设计要求本次设计的测距单元主要采用超声波传感器模块HC-SR04,达到基本的测距功能。3.4.2 超声波测距的基本原理超声波是高于听觉频率阈值的机械波,其频率在104Hz1012Hz 之间。超声波具有直线传播特性,频率越高,反射能力越强,而绕射能力越弱,表现出更强的方向性。利用超声波的这种特性,采用时间差值检测法(常称渡越时间检测法)进行距离的测量。其工作原理是:声波发射探头向介质发射超声波,声波遇到目标后有反射回波作用到接收探头,测量发射时刻与接收时刻的时间差t,然后根据以下公式计算距离s:s=ct/2 (3-1)其中c 为超声波在介质中的传播速度(m/s)。由于超声波在空气中传播速度与温度有关。如果环境温度变化显著,必须考虑温度补偿的问题。空气中的声速c 与温度T(单位:C)的关系可以表示为:c331.45+0.607T (3-2)3.4.3 硬件电路设计硬件系统主要有ATMEL 公司生产的STC89C52单片机、升压电路、功率放大电路、超声波发射探头、接收探头、接收信号放大电路、比较电路等组成。STC89C52 单片机为整个系统的核心部件,主要用来产生200KHz 发射信号,同时也用来接收超声波回波信号并进行计算,STC89C52的外部时钟源采用24MHz晶振,有利于产生200KHz 超声波。200KHz 信号经三极管放大后,驱动超声波发射探头;每次发射10 个脉冲,当第一个脉冲发射前,启动定时器开始计时;回波信号经放大电路、比较电路送入单片机,单片机停止计时,随后通过温度传感器采集温度,利用式(3-1)进行距离计算;最后通过4 位数码管显示。超声波发射电路经实验测量当加在200KHz 超声波探头的激励电流大于30mA 时,测量距离将不在增加,只有通过升压的办法来加大激励能量。驱动电路采用通用的升压芯mc34063 将5V 电压升压到40V,然后作为驱动三极管的电源电压。由STC89C52 单片机产生的10个脉冲信号送入三极管Q1 基极, 经Q1、Q2 功率放大,最后驱动发射超声波探头工作。发射电路如图3.5所示。图3.7 超声波发射电路超声波接收电路超声波在空气中传播,遇到目标物体反射的回波信号,加到超声波接收探头上,由于压电效应产生微弱电压信号,输出的这种回波信号是mV 级甚至更低的电压信号,必须要经过放大电路的信号放大才能进行进一步处理。集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。图3.8 超声波接收电路3.5 小车电机驱动模块设计3.5.1 设计要求本次设计主要采用L298芯片驱动两个直流电机,达到匀速行进,转弯,停止等设定动作,已完成过弯的目标。3.5.2 驱动控制芯片的介绍主要特性L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298N可接受标准TTL逻辑电平信号VSS,VSS可接457 V电压。4脚VS接电源电压,VS电压范围VIH为2546 V。输出电流可达25 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。表1是L298N功能逻辑图。 图3.9 L298芯片内部结构及功能说明In3,In4的逻辑图与表1相同。由表1可知EnA为低电平时,输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。同为低电平电机停止,同为高电平电机刹停。L298控制器原理如下:图3.10 L298控制器典型原理图之一下面是3个虚线框图功能:(1)虚线框图1控制电机正反转,U1A,U2A是比较器,VI来自炉体压强传感器的电压。当VIVRBF1时,U1A输出高电平,U2A输出高电平经反相器变为低电平,电机正转。同理VIVRBF1时,电机反转。电机正反转可控制抽气机抽出气体的流量,从而改变炉体压强(2)虚线框图2U3A,U4A两个比较器组成双限比较器,当VBVIVA时输出低电平,当VIVA,VIVB时输出高电平。VA,VB是由炉体压强转感器转换电压的上下限,即反应炉体压强控制范围。根据工艺要求,我们可自行规定VA,VB的值,只要炉体压强在VA,VB所确定范围之间电机停转(注意VBVRBF1VA,如果不在这个范围内,系统不稳定)。 (3)虚线框图3长延时电路。U5A是一个比较器,Rs1是采样电阻,VRBF2是电机过流电压。Rs1上电压大于VREF2,电机过流,U5A输出低电平。由上面可知,框图1控制电机正反转,框图2控制炉体压强的纹波大小。当炉体压强太小或太大时,电动机转到两端固定位置停止,根据直流电机稳态运行方程3: UCeNRaIa其中:为电机每极磁通量;Ce为电动势常数; N为电机转数;Ia为电枢电流; Ra电枢回路电阻。若电机转数N为0,电机的电流急剧增加,时间过长将会使电机烧坏。但电机起动时,电机中线圈中的电流也急剧变大,因此我们必须把这两种状态分开。长延时电路可把这两种状态区分出来。长延时电路工作原理:当Rs1过流U5A产生一个负脉冲经过微分后,脉冲触发555的2脚,电路置位,3脚输出高电平,由于放电端7脚开路,C1,R5及U6A组成积分器开始积分,电容C1上的充电电压线性上升,延时运放积分常数为100R5C1。当C1上充电电压,即6脚电压超过23 VCC,555电路复位,输出低电平。电机启动时间一般小于08 s,C1充电时间一般为081 s。U5A输出电平与555的3脚输出电平经U7相或,如果U5A输出低电平大于C1充电时间,U7在C1充电后输出低电平由与门U8输入到L298N的6脚ENA端使电机停止。如果U5A的输出电平小于C1充电时间,6脚不动作电机的正常启动。长延时电路吸收电机启动过流电压波形,从而使电机正常启动。引脚功能如下图所示 图3.11 L298封装引脚功能若下图所示表3-2 L298的引脚功能引脚符号功能115SENSING ASENSING B与地之间连接电流检测电阻,将检测量反馈给控制芯片,实现直流驱动电机23OUT 1OUT 2全桥式驱动器A的输出端,用来接负载4VS电机驱动电源输入端,此脚与地之间连接高低频的耦合电容57IN 1IN 2输入标准TTL逻辑电平信号,控制全桥式驱动器A的开与关611ENABLE AENABLE B使能控制端,输入标准TTL逻辑电平信号,分别控制全桥式驱动器A与B的工作状态,低电平时驱动器禁止工作8GND接地,芯片本身的散热片与8脚相连9VSS逻辑控制部分的电源输入端1012IN 3IN 4输入标准TTL逻辑电平信号,控制全桥式驱动器B的开与关1314OUT 3OUT 4全桥式驱动器B的输出端,用来接负载3.5.3 驱动电路的设计小车驱动电路是由L298芯片和74HC04反相器组成,L298的IN1和IN2口分别接反相器的正反相得引脚,然后接到主控芯片的P21口,IN3和IN4接法一致;ENABLE脚是使能端,用于接收主控芯片输出的PWM信号,控制小车的速度;OUT口接直流电机,是L298处理过的信号电流,驱动轮子转动;SENGSING口和GND口是接地,Vs和Vss是电源接口,是小车运动的能量源。驱动电路图如图3.9图3.12 驱动电路图3.6 显示单元方案(1):采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案(2):1602液晶也叫1602字符型液晶 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。1602的驱动电路带有11条指令,可以很方便的控制液晶的现实效果如:清屏、左移右移、光标显示。但是对于只显示三位温度值显得浪费,又考虑到其价格较高,运用起来的复杂性,所以也不用此来显示。方案(3):数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。要使数码管正常显示就得有驱动电路驱动相应的段码,数码管的现实方式可分为静态显示和动态显示,静态显示方式只适合显示单个的数字,因此本设计应采用动态显示方式。由于动态显示方式利用的是人眼视觉暂留的特性,扫描的时间应不大于20毫秒,占用系统资源虽然大,但是在显示的个数和字型有限情况下可以充分利用其优良特性,且相对于整个系统来说,单片机的系统资源利用不多,所以可以应用数码管显示。综合比较上述两种方案,应采用数码管显示来组成本设计的显示模块。驱动电路如下:图3.13 74hc573驱动四位数码管电路图4 软件设计部分4.1 测距单元软件设计4.1.1 程序设计sbit Trig = P10; /产生脉冲引脚sbit Echo = P32; /回波引脚sbit test = P11; /测试用引脚void conversion(uint temp_data);/显示函数void delay_20us();/延时函数void main(void) / 主程序 uint distance_data,a,b; uchar CONT_1; i=0; flag=0;test =0;Trig=0; /首先拉低脉冲输入引脚TMOD=0x11; /定时器0,定时器1,16位工作方式TR0=1; /启动定时器0 IT0=0; /由高电平变低电平,触发外部中断ET0=1; /打开定时器0中断EX0=0; /关闭外部中断EA=1; /打开总中断0while(1) /程序循环 EA=0; Trig=1; delay_20us(); Trig=0; /产生一个20us的脉冲,在Trig引脚 while(Echo=0); /等待Echo回波引脚变高电平 succeed_flag=0; /清测量成功标志 EX0=1; /打开外部中断 TH1=0; /定时器1清零 TL1=0; /定时器1清零 TF1=0; / TR1=1; /启动定时器1 EA=1; while(TH1 30);/等待测量的结果,周期65.535毫秒(可用中断实现) TR1=0; /关闭定时器1 EX0=0; /关闭外部中断 if(succeed_flag=1) distance_data=outcomeH; /测量结果的高8位 distance_data=3) CONT_1=0; b=a; conversion(b); 4.1.2 流程图超声波测距的软件设计主要由主程序、超声波发射子程序、超声波接收中断程序及显示子程序,报警子程序组成。由于C语言程序有利于实现较复杂的算法,所以控制程序可采用C语言编程。 程序流程图如下: 图4.1测距单元软件设计程序流程图4.2 驱动调速单元软件设计4.2.1 驱动设计流程图该PWM调速器采用定时器中断方式产生PWM脉冲,PWM控制子程序也就是定时器的中断服务程序。其程序流程图如下:图4.2 驱动调速单元软件设计流程图 4.2.2 驱动设计程序void motor(uchar index, char speed) if(speed=-100 & speed=100) if(index=1) /* 电机1的处理 */ m1=abs(speed); /* 取速度的绝对值 */ if(speed0) /* 速度值为负则反转 */ s1=0; s2=1; else /* 不为负数则正转 */ s1=1; s2=0; if(index=2) /* 电机1的处理 */ m2=abs(speed); /* 取速度的绝对值 */ if(speed=99)weid=1;if(j=1) for(i=1;i=15;i+) /* 正转 */ motor(1,i); delay(10); if(j=2) for(i=1;i=17;i+) / 正转 motor(1,i); delay(10);if(j=3) for(i=1;i=20;i+) /* 正转 */ motor(1,i); delay(10); if(j=-1) for(i=1;i=14;i+) /* 倒转 */ motor(1,-i); delay(10); if(j=-2) for(i=1;i=16;i+) / 正转 motor(1,-i); delay(10);if(j=-3) for(i=1;i=100)tt=0; if(t=0) /* 1个PWM周期完成后才会接受新数值 */ tmp1=m1; tmp2=m2; if(ttmp1) en1=1; else en1=0; /* 产生电机1的PWM信号 */ if(t=100) t=0; /* 1个PWM信号由100次中断产生 */ 结束语这次设计的小型模拟系统基本达到了预期的目标,实现了既定的功能。在设计中主要客服了两大难题,其一,较为复杂的电路焊接和检测。提高了焊接技术和检查电路等实际操作能力。其二,软件设计中程序的编写是重中之重,实际编写中各个模块儿的程序编写并不是太难,难就难在各个部分的兼容性,尤其是把握不了定时器中断。通过这次实践掌握了一些程序编写的技巧和拼凑几个程序时的几个要点儿。总之,这次系统设计使我更深入的了解了51系列单片机的工作原理,也提高了对其的运用能力。本次设计在实验室中试验成功,我觉得实际中用的倒车防装系统中,只要在车后至少安装两对超声波传感器,以检测到车后略宽于车的较大范围的障碍物。如此则有很大的实际可行性。又由于系统采了STC89C52单片机为主控芯片,并且充分利用了其丰富的片上资源使得系统功能丰富,使用的外围芯片减少,提高了系统可靠性。不过目前市场上大多数倒车防撞系统都或多或少存在误报警和不报警的情况,也就是其稳定性问题,这是倒车防撞关键的性能。另外,系统报警后采取司机制动的方法,而非自动刹车,也是怕误报警后的自动刹车带来负面影响,因此下一步的研究应放在怎样通过收集不同的探测信号建立信息库,来正确判断超声波所探测到的不同情况,以做出尽可能正确的反应,最大限度避免误报警的负面影响。本文提出的倒车防撞系统的设计方案具有硬件电路简单、性能好、成本低的优点,应该具有推广应用的价值。致谢 历时三个月的毕业设计已经告一段落。经过自己不断的搜索努力以及张云龙老师的耐心指导和热情帮助,本设计已经基本完成。在这段时间里,张老师严谨的治学态度和热忱的工作作风令我十分钦佩,他的指导使我受益非浅。通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这三个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。毕业设计从选择课题到完成论文,从理论原理的讲解到实际问题的解决,饱含着老师的心血他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样。张老师的悉心指导和建议给了我极大的帮助和支持,使我受益匪浅。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,老师、同学、给了我无言的帮助,在这里请接受我诚挚的谢意!最后感谢评阅老师百忙之中抽出时间对本论文进行了评阅!参考文献1 郁有文,常键,程继红传感器原理及工程应用西安:西安电子科技大学出版社,20032 51系列单片机C程序设计与应用方案 于京 (中国电力出版社)3 Phillip E.Allen ,Douglas R.Holberg.CMOS Analog circuit Design ,Second Edition,19954 高玉奎. 电力电子技术问答. 中国电力出版社, 2004, 85 单片机系统开发实例经典 戢卫平等编著 (冶金工业出版社)6曹伟华. 一款遥控车的电路剖析DB.//0/0/178.html, 2004-09-24/2005-3-20.7徐铭泽,武明西,范展.遥控启停电动车Z.哈尔滨:哈尔滨工程大学,2004.8王良军,吕云曾,王学刚.遥控启停电动车Z.哈尔滨:哈尔滨工程大学,2004.9路锦正,王建勤,等. 超声波测距仪的设计J. 传感器技术,2002,21(8):29-34.10肖景和, 赵健. 红外线、热释电与超声波遥控电路M. 北京:人民邮电出版社,2003.11 Adel S. Sedra and Keneth C. Smith. Microelectronic Circuits. 4th ed. New York:Oxford University Press,199812 U.Tietze Ch. Schenk. Electronic Circuits. Handbook for Design and Application, Berlin, New York: SpringerVerlag,2005附录系统总源程序/晶振=8M/MCU=STC10F04XE/P0.0-P0.6共阴数码管引脚/Trig = P10/Echo = P32#include /包括一个52标准内核的头文件#include #include #define uchar unsigned char /定义一下方便使用#define uint unsigned int#define ulong unsigned long /电机car/sbit en1=P17; /* L298的Enable A */ /控制后轮使能sbit s1=P12; /* L298的Input 1 */ sbit s2=P13; /* L298的Input 2 */ sbit en2=P16; /* L298的Enable B */ /控制前轮使能sbit s3=P14; /* L298的Input 3 */ sbit s4=P15; /* L298的Input 4 */ sbit zzhuan=P20;sbit yzhuan=P21;sbit fmq=P22;uint t=0,tt=30; /* 中断计数器 */ uchar m1; /* 电机1速度值 */ uchar m2; /* 电机2速度值 */ uchar tmp1,tmp2;/超声波/sbit Trig = P10; /产生脉冲引脚sbit Echo = P32; /回波引脚sbit wei =P26;/位选使能端sbit duan=P27;uchar code SEG710=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/数码管0-9uint distance4; /测距接收缓冲区uchar ge,shi,bai,qian,temp,flag,outcomeH,outcomeL;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论