找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5625|回复: 2
收起左侧

单片机汽车超声波倒车测距仪Proteus仿真设计 附源程序

[复制链接]
ID:506839 发表于 2020-6-5 11:32 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
下载.png 下载.png

进入新世纪以来,中国的综合实力显著提高,人们的生活水平也越来越高,汽车走进千家万户。人们在日常生活中对汽车的使用率也越来越高,与此同时带来的是道路的拥堵和车位的紧张。街道、停车场的车位数量减少的同时,停车位面积也会继续缩小,停车难度也会同步提高。鉴于日常生活中倒车和停车的人越来越多,人们对倒车系统的安全性也有了更大的需求。本文以此为背景,提出了一种基于超声波测距仪的汽车倒车系统。该系统在满足便捷性和适用性的基础上,融入了距离显示和报警功能。

本文先对超声波的研究现状和发展趋势做出研究分析,结合多名学者在汽车倒车和停车方面的研究,提出了一种汽车倒车测距仪的设计方案。该超声波测距仪可以显示当前距离,且具有报警系统,当最小距离包含在危险值中时,系统将有报警提示。

本文以汽车倒车测距仪为研究对象,设计了一个STC89C51单片机为控制器的系统,该平台采用超声波测距技术。本文主要研究内容为:了解国内外倒车仪系统的现状和发展前景;自主设计和制造汽车倒车测距仪;其中超声波元件检测距离信号后将数据发送到单片机处理,然后由单片机判断是否报警,具有LCD屏显示。系统的总体设计框图如图1-1所示:
图1-1总体设计框图
本文内容安排如下:
本文正文部分一共分为五章,详细地介绍了汽车倒车仪的发展状况,完整地介绍了汽车倒车测距仪设计制作和实验调试的过程,每章内容安排如下:
(1)绪论:主要介绍了汽车倒车测距仪的发展背景,内容和意义,以及国内倒车仪产品和超声波测距技术的研究现状和发展趋势,以及本文要完成的工作;
(2)硬件设计:本章首先对系统的硬件进行了总体设计,介绍系统所用的电子元件的比较和选择,以及硬件电路的设计,包括主控电路,超声波模块监测电路,其他电路(包括电源电路,显示电路)的设计;
(3)软件设计:介绍了程序设计要求,设计思路以及流程,对程序进行调试和仿真;
(4)系统调试:完成系统软硬件调试工作,进行物理功能的实验,调试和分析;
(5)总结与展望:总结本文的主要工作内容,并分析、总结不足之处,结合温度控制系统目前的发展状况作出展望。
2 系统方案设计2.1汽车制动距离
要设计汽车倒车仪,就需要根据汽车运动学理论来测量汽车的制动距离。汽车减速的时候与时间的关系如图2-1所示:
图2-1 制动减速度与时间的关系示意图
其中车速为v,减速度的最大值为amax,汽车的制动减速过程中可以分为三个阶段。
(1)th-ta时间段。此时间段内,汽车的移动距离为s1。
   (2.1)
(2)ts时间段,此时间段内,汽车的移动距离为s2,,速度可以按照公式(2.2)进行计算。
   (2.2)
移动的距离s2可以根据公式(2.3)进行计算。
   (2.3)
(3)tv时间段内汽车移动的距离s3,此时间段的初速度为v,因为时间段结束时,汽车已经停止,所以末速度为0。可以按照(2.4)进行计算s3。
(2.4)
把上述计算得出的s1、s2和s3相加,就可以得出汽车制动时候的全部距离。
  (2.5)
由于(2.5)的最后一项的数值很小,可以不予计算,所以可以对公式进行简化,得出:
        (2.6)
图2-2为当前车辆与前车的位置示意图,其中D为实际的行驶距离,D0为安全间距。剧烈小于此D0时,测距仪会通过超声波检测出来并进行报警。
图2-2本车与前车相对位置示意图
2.2 超声波技术
人的耳朵能识别一定范围内的声音,且所听到的频率必须在20hz到20khz之间,在这个频率范围内的机械波称为声波。声波可以根据频率的不同分为三种类型,即次声波、声波、超声波和超超声波。如图2-2所示。超声波频率应高20KHz。
图2-2声波频率界限图
超声波在物质中的传播速度的主要制约因素为介质的密度。由于超声波在空气中传输的时候只存在纵波,传播速度公式如(2.7):
               (2.7)
μ--超声波在空气中的传播速度;
γ--气体热容比;
P--压强;
ρ--为介质密度。
在理想气体状态下,有:
            (2.8)
把(2.8)带入(2.7)中,可以得到超声波在理想气体中的传播速度。
            (2.9)
上述式中:
μ--超声波的传播速度;
γ---气体热容比;
R--气体普适常量;
T--绝对温度;
M--摩尔质量。
从(2.9)可以看出,超声波的超波速度会受到温度、湿度等环境因素的影响,考虑到温度对超声波传播速度的影响比较大,我们需要把温度的速度的影响考虑在内。
当空气温度为0℃的时候,超声波的传播速度μ0=331.45m/s,当空气温度为其它数值时,有如下公式(2.10)。
(2.10)
可以根据(2.11)来对超声波在空气中的传播速度进行计算。
(2.11)
其中t是空气的温度。在实际计算中,如果在一段时间内温度变化不是很明显,在精度要求较低的情况下,超声波的传播速度可以认为是固定的。如果对精度要求较高,则需要对该值进行修正,并采用温度补偿。一般有两种补偿方法。可以使用温度传感器根据一定的逻辑公式进行校正,也可以查询相应的温度补偿表。超声波速度与温度的关系如表2-1所示。
表2-1超声波速度与温度关系表
2.3测距方案设计
图2-3是系统信息处理的示意图。单片机是系统的核心,本系统采用的是单片机STC89C51对系统进行控制。STC89C51通过发射端发射超声波信号,通过接收器接收到的反射信号。单片机将收集到的信号进行分析和处理,然后显示在显示屏上。
图2-3信息处理示意图
超声波距离测量可以使用超声波发射设备和接收器之间的时间差来计算距离。本系统选择的HC-SRO4超声遥测模块包括超声控制电路,发射器和接收器。 在2厘米至500厘米的范围内,它可以显示出良好的非接触距离检测效率,并且精度值最高为0.3厘米。
在测距过程中,STC89C51开始发送组脉冲序列,从0开始计数。超声波通过超声波发射端发射。超声波在空气中传播,当遇到前方车辆或障碍物时,超声波反射回接收端。接收端接收到返回的信号后,再次发送到STC89C51进行处理,此时停止计数,可以求得往返时间t。如果脉冲周期为T,则车辆与前车或车辆与障碍物之间的距离可按式(2.12)计算。
(2.12)
式(2.12)中N为计数脉冲数。因为超声波速度和频率也已知,所以测量的距离与N成正比,只要读取N的值,即可求得距离。
3 硬件设计3.1 系统硬件总体结构
基于单片机超声波测距仪汽车倒车系统中,超声波的处理通过单片机实现。硬件部分可根据功能分为以下几部分:MCU主控电路,超声波电路,LED显示电路和其他电路。整体硬件框图如图2-1所示。从该图可以清晰的看出本系统的结构和工作流程。
图3-1 体统结构框图
系统原理图如图3-2所示:
图3-2 系统原理图
超声波获得的信息传递给单片机后,可以通过程序计算出障碍物和汽车之间的距离。然后,显示在显示屏上,当触发报警阙值时实现报警功能,帮助司机获取有价值的信息,为司机做出正确的响应提供支持。本系统的设计中,如果汽车与障碍物过近,系统就会通过蜂鸣器发声、数据显示屏亮度闪动等方式做出警报反应,提醒驾驶员。
3.2 主控模块器件选型及设计3.2.1 单片机的选用
目前,市场上有多种MCU,它们的价格和功能均相差较大,因此用户的选择范围也很广。在实际应用中,用户有必要根据实际需求来选择合适的MCU,主要考虑的有价格、功能、兼容等方面。
本文选用的是 STC89C51单片机,该单片机属于C51系列,它可以通过串口直接下载。此外,该设备具有以下标准功能:看门狗,7矢量4级中断结构(与传统的51个5向量2级中断结构兼容),MAX810复位电路,4个外部中断,全双工串口。
STC89C51的DIP封装如图3-3所示。
图3-3 DIP封装的STC89C51RC引脚图
3.2.2 主控模块设计
主控模块电路由STC89C51、时钟电路、复位电路组成,它们构成了MCU的最小系统。
MCU的复位由外部复位电路和MCU中的复位引脚RST实现。保持两个机器周期的高电平将完全复位MCU。本系统既使用了上电复位,同时,也运用了手动复位的复位键。
系统时钟电路采用内部设计。STC89C51内部有实现振荡器功能的放大器,用作具有片外晶体谐振器的反馈部件,以形成自激振荡器。电容和频率为12MHz的外部晶振并联,连接在XTAL1和XTAL2。
复位电路和时钟电路如图3-4所示。
图3-4 复位电路和时钟电路
3.3 超声波模块器件选型及设计3.3.1 超声波传感器的选用
本系统选用超声波测距模块HC-SR04来进行距离的测量,该模块工作电压为5V,具有超小静态工作电流2mA,探测精度可达0.3cm。HC-SRO4超声波测距模块提供了2cm-400cm的非接触式距离。其工作时序图如图3-5所示。
图3-5 HC-SRO4超声波模块工作时序图
HC-SR04需要提供一个10uS以上的脉冲触发信号来激活模块进入工作状态,进入工作状态后,模块内部发出8个40kHz周期电平并检测回波的到来。当检测到有回波信号时输出回响信号。回响信号脉冲宽度与所测距离成线性相关。为了防止发射信号对回响信号的干扰,触发信号周期为60ms以上。HC-SR04实物图和原理图分别如图3-6、3-7所示:
图3-6 HC-SR04实物图
图3-7 HC-SR04原理图
3.4 其他电路设计3.4.1显示电路
在本设计中,显示电路的构成部分为四位LED数码显示管,如图3-3所示,在四位共阳极LED数码管中,LED数码管数量总计4个,并且每个数码管的a段都会相连,引脚(11脚)总计1个,采用相同连接方式的还有b段、c段、d段、e段、f段、g段和dp段等,每个LED都具有相对独立的公共端。LED显示电路原理图如图3-8所示:
图3-8  LED显示电路原理图
3.4.2 蜂鸣器电路
蜂鸣器是一块压电晶片,在其两端加上3~-5V的直流电压,就能产生3KHz的蜂鸣声。通过单片机软件产生3KHz的信号从P2.0口送到三极管的基极,控制着电压加到蜂鸣器上,驱动蜂鸣器发出声音。在本系统中,当超声波模块测得距离小于5cm时,蜂鸣器将会报警,其电路原理图如图3-9所示:
图3-9 蜂鸣器电路原理图
3.5 硬件抗干扰
整个电路原理图如图2-14所示,绘制完原理图后就完成了系统的硬件设计部分。但仅是设计电路原理图然后制作硬件设施是不够的,实际生产中会产生各种各样的干扰,这些干扰会在生产和实验中产生较多负面影响,因此需要采用抗干扰措施。抗干扰措施可以根据应用对象,在大体上可以分为硬件抗干扰和软件抗干扰,它们的目标都是减少干扰在有用信号中的比例。硬件抗干扰主要是通过隔离和接地的方法来实现。
(1)隔离:主要用于过程通道的隔离。在电子设备和系统中,干扰信号常常会叠加在各种不平衡输入和输出信号上,或通过系统的供电线路窜入系统,对付这些干扰信号的办法通常是采用隔离技术,即将噪声源与信号线相互隔离的技术。在测量系统抗干扰的隔离措施中,光电耦合器是最常用的隔离器件。;
(2)接地:接地是硬件电路中的重要环节,正确的接地可以使得系统不会相互干扰。接地时应注意数字地和模拟地要分开接,使数字信号和模拟信号之间不能相互干扰。此外,还应设计适当宽度的布线模式,从而保护硬件电路各个模块之间尽量少受干扰影响。
4 软件设计4.1 软件设计的要求及思想4.1.1软件编写的要求
在MCU系统中,硬件的设计和软件的编写时相辅相成的,它们二者缺一不可。软件编写的重要程度不亚于硬件的设计,在某些方面,软件编写难度还要高于硬件系统的设计。控制系统需要正确且合理的软件程序来驱动,在编写程序时应该注意以下几点:
(1)简易性:程序结构尽量简单,逻辑清晰,要容易理解和修改。在软件编写不是从头编到尾,而是通过功能分块化的方式,分别编写多个功能模块的程序,然后通过把他们调用到主程序中来实现总体的程序要求;
(2)可靠性:该指标在软件程序的编译过程中占据着最重要的地位。系统运行的过程中会不可避免的遇到各种突发情况以及干扰,此时应该保证程序能够及时的处理这些问题,让系统回到正常状态;
(3)准确性:对于控制系统来说,不管是数据采集还是控制输出都需要系统有着较高的准确性来支撑,否则即便整体程序没有错误,但是由于精度不高,不也不能完成指定的任务。因此,在设计硬件和编写程序时,都应考虑到准确性和精确度方面的问题;
(4)实时性:实时性是控制系统的常见要求,这要求系统不能存在较大的延时,要能够迅速做出反应。
综上,系统的软件设计并不简单,应考虑多方面的因素,这就产生了相应的软件设计思想,应该合理的运用这些编程思想以更好地实现用户所需要的功能和要求。
4.1.2 软件设计思想
在面向过程的程序设计思想中,可以把把软件系统的功能理解为输入,处理和输出,这要求程序有准确的因果关系。另外还有面向对象的程序设计思想,即把复杂的程序工程零件化的思想,按照功能来把程序细分为一些小程序,然后在主程序汇总调用,形成死循环。这部分视为软件的后台,也可以叫做任务级。同时在面对一些特点情况时,需要程序跳出当前的操作,转而处理一些特定情况,这就是前台,也可以称为中断级。本系统软件正是基于这种软件思想编制的。
4.2 系统软件设计
在面向过程的程序设计思想中,可以把把软件系统的功能理解为输入,处理和输出,这要求程序有准确的因果关系。另外还有面向对象的程序设计思想,即把复杂的程序工程零件化的思想,按照功能来把程序细分为一些小程序,然后在主程序汇总调用,形成死循环。这部分视为软件的后台,也可以叫做任务级。同时在面对一些特点情况时,需要程序跳出当前的操作,转而处理一些特定情况,这就是前台,也可以称为中断级。本系统软件正是基于这种软件思想编制的。系统的主程序设计流程图如图4-1所示,其中子程序流程图如图4-2所示。
图4-1主程序设计流程图
图4-2子程序流程图
4.3 软件抗干扰措施4.3.1 按键的软件消抖措施
按钮是一个机械开关,当按键被释放时,开关打开,按键按住的时候,开关关闭。由按钮的机械特性,当按下的时候会产生机械抖动。抖动的时间一般约为10ms——20ms;
目前,针对机械抖动的消除一般有两种方法:一种是使用波形电路来滤除抖动,这属于硬件消抖措施;另一种是软件延迟方法,它使用软件延迟来避免按下和提升按钮时的抖动周期,从而避免检测干扰信号。
4.3.2 数字滤波
数字滤波是MCU系统设计中最常用的软件抗干扰措施,此方法的优势在于:它无需添加额外的硬件,节约了成本,并且应用灵活方便。但是此方法并不是完美的,它会以CPU的开销为代价,占用一定的处理器的时间。如上文所述,本系统采用的是去极值平均滤波法。
4.4 本章小结
本章主要是介绍了温度控制系统的软件程序方面的设计,分析了系统程序设计的要求和思路。然后,选取了最主要的三个程序模块,介绍了它们的设计流程和编译重点。在此基础上,从软件去抖和数字滤波这两方面讨论了系统的抗干扰措施。
5 仿真与调试5.1 程序调试5.1.1 调试的难点
软件的故障只是内在错误的外部表象,表象和错误之间通常没有明显的关联。找到真正的原因并消除潜在的错误并非易事,从技术角度发现错误的困难在于:
(1)现象和原因的位置可能相差很远;
(2)在纠正某些错误的时候,可能此处故障现象暂时消失了,但内部错误可能并没有排除;
(3)现象可能是不易发现的人为失误造成的;
(4)错误是由时序问题引起的,与处理过程无关;
(5)现象是由于输入状态难以准确再现造成的(例如,在实时应用中输入顺序是不确定的);
(6)现象可能会周期性出现,这种情况在软、硬件结合的嵌入式系统中经常遇到。
5.1.2 软件调试步骤
软件的编译和调试是要交叉同步进行的,在完成相关模块程序的编译后就要将该程序烧录到MCU仿真电路中进行调试,观察该程序是否能在硬件电路上准确无误地运行,当设计者完成一个模块的调试后,就进入下一个模块的软件调试的步骤。模块的调试顺序也并不随意进行的,而是要根据逻辑关系来判断程序的运行顺序和他们之间的关系,从而确定模块先后调试顺序。
本系统才用的程序编译软件是KEIL C51,该软件是美国Keil软件公司出品的能够兼容MCU的C语言的编译软件。相比于其他的程序编译软件,它具有可视化和模块化编译的优点。
KEIL C51编译界面如图5-1所示。
图5-1 程序编译软件
调试的过程就是通过对表象的分析找出内在错误。当软件测试成功后,软件调试工作才开始,与前者不同的是,调试的工作是继续排除错误。因为有些内在错误虽然没有外部故障表现出来,但是它始终会影响系统的稳定性和正确性。
一个系统能否完成预期的功能可以通过设计者利用相关的调试看出来,设计者通过一些调试程序来调用相关的功能,检查这些功能是否能够正常运行。调试的过程大概分为以下几个部分:
(1)根据系统的功能来划分模块;
(2)分别确定这些模块的流程图,然后开始编写对应的程序;
(3)调试相应的功能模块的程序,使其完成对应模块的功能要求,然后将各个子程序模块结合起来,在主程序中进行调用;
(4)调试总程序,直到整个程序能完成预期功能,然后对程序进行修改和简化操作。
5.2 系统仿真调试设计
本系统的设计采用Proteus进行仿真,以便验证设计。由于在Proteus中没有HC-SRO4模型且无法对超声波器件进行仿真,需要设计者自行设计器件模拟HC-SRO4,采用两个按键来调节HC-SRO4所测量数据的大小,数据经过单片机处理后在LED上显示出来,当距离小于5cm时,蜂鸣器将会报警。汽车倒车测距仪仿真图如图5-2所示:
图5-2 汽车倒车测距仪仿真图
6 总结与展望6.1 总结
本文的主要研究工作时基于超声波测距技术的单片机汽车倒车仪设计,在了解国内外该领域的发展,应用和研究现状后,提出了自己的设计方案。使用STC89C51单片机作为设计核心,使用HC-SR04作为超声波元件,采用模块化的设计理念,完成了系统的软硬件设计,并在仿真软件中进行了成功的仿真。仿真结果表明,本系统拥有较高的准确性和灵敏度,能够很好的完成工作,系统设计达到了预计要求。
本系统可以保证汽车在倒车状态下,汽车可以测量后面的障碍物和距离,并且显示在LCD屏幕上,当到达危险区域时,蜂鸣器会产生报警。实验表明,该测距系统的可靠性和测距算法的有效性较强。雷达最短距离0.2m,最长距离5.0m,测量误差小于3%。
6.2展望
本系统测距的方式仅仅选择了探头探测,因此在对后方障碍物的定位方面存在一定缺陷。如果将探头数量增加,那么可以实现对物体的准确定位,使系统测量盲区得到缩小,并与车载网络中的相关设备组成·个防撞系统,将会对汽车和人起到很好的保护作用。
由于该系统的距离测量方法只选择了探头的检测,故而在后方障碍物的定位中存在一定的缺陷。所以可以增加探头的数量并使之分布在汽车的四周,这样就可以实现对物体的精确定位和对汽车四周多方位的距离探测,进而提高行车和倒车时的安全性和可靠性。

全部资料51hei下载地址:
超声波测距 仿真.rar (7.02 MB, 下载次数: 107)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:863034 发表于 2020-12-20 11:29 | 显示全部楼层
请问你仿真的源文件在哪啊
回复

使用道具 举报

ID:915335 发表于 2021-5-3 19:03 | 显示全部楼层
没有程序,只有仿真图么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表