1前言
在生活中,我们用耳朵去听声音,用眼睛去看事物,并用我们的器官来感知周围环境的状态。从而判断以及规避风险。汽车作为机械产品本身并不具备这些功能,然而,在现代科学技术日益发展的时代,人们也希望它具有比人类更强大的功能,而这也是传感器被广泛运用的原因。电现代社会的智能汽车装载有足够的传感器来监测车辆本身的状态[1,2,3]。如驾驶过程中汽车的各种数据,汽车自身部件的运行状态等。还可以实现主动化的安全保护功能。比如现在应用极为广泛的防抱死制动装置。这个装置就可以通过传感器以及控制元件使车辆在紧急制动时,控制车轮的运行状态,让车辆的减速更为安全。本文即是基于现代化的智能传感器技术,以及数目极多的追尾事故出发。设计了一套基于超声波传感器的汽车防撞装置[6,7]。可以很好的监控汽车之间的安全距离,并且在距离超过安全界限后给予及时的报警并且可以主动控制车辆运行。这样一来,车辆之间的碰撞事故会被极大的避免,这是一个非常值得研究的安全行驶装置[8]。
2装置总体方案设计
整个装置方案设计主要需要考虑下面几个因素:
(1)元器件的易购性和实用性;(2)软件编程的实用性;(3)各性能指标,因此硬件设计至关重要;(4)装置的稳定性;
考虑到上述几点,本设计使用了STC89C51单片机作为整个设计的核心,因其丰富的输入、输出端口和灵活的编程,以及控制的准确度,从而实现了汽车防追尾装置的基本功能。装置通过外接LCD1602液晶用来显示测得的距离。装置启动后,通过按键可以设置距离的报警值,若测得距离超过报警值,蜂鸣器报警,提醒司机距离过近。
2.1电源下载电路设计
系统要工作,就必须通电,电源下载电路就是通电接口。电路板上有一个LED指示灯,当我们接通单片机的电源后,LED指示灯亮,这样一来就可以通过USB转串口数据线给单片机下载程序,从而运行单片机。
而想要让计算机与单片机之间相互连接,需要用到RS232接口,这个接口是目前最常用的串行通讯接口之一。但是我们日常所使用的大多都是USB接口,RS232的接口并不方便。而这时就需要使用PL2303RS232-USB接口了。PL2303可以实现USB信号与RS232信号之间的转换,我们可以通过USB接口来使计算机与单片机之间传输数据。这样更方便快捷。PL2303因为内置了UART可以实现双向互传,可以从计算机传输数据到单片机,同样可以从单片机传输数据到计算机。
2.2超声波模块电路设计
超声波是用来测距的模块HC-S404超声波模块可以测试2米范围内的距离,它有两部分组成一个是超声波发射器,一个是超声波接收器。超声波发射器向前方发射超声波如果前面有物体挡住超声波,则超声波就会被反射回来。
实物超声波中有四个引脚需要链接,其中VCC和GND是链接5V电源的正极和负极,trig链接单片机的引脚做控制端,echo链接单片机的引脚做接收端。从引脚图可以看出单片机装置的5V电源VCC和GND与超声波的电源链接,另外两个引脚与单片机的控制端口链接。
2.3LCD1602液晶显示屏电路设计
LCD1602液晶屏在单片机的控制下可以分两行每行16个字符共32个字符,比如显示采集的温度为45度,显示效果为“temp:45℃”,相比较数码管来说显示更加直观和便捷,通过数字和字母的组合可以直观的将各种采集的参数信息显示出来。
LCD1602要实现显示需要链接16个接口,其中D0~D7位8个数据口需要链接在单片机的引脚上,E,R/W,RS位控制脚需要链接在单片机引脚上,R/W再显示过程中一直为低电平所以直接接地,A和K为液晶屏背光电源正负极,VSS,VCC为液晶屏控制正负极,VEE链接活动变阻器。
2.4蜂鸣器电路设计
本文使用的蜂鸣器有无源和有源,有源蜂鸣器只要通电就会叫,无源蜂鸣器需要使用2K-5K的方波才能驱动它。程序控制也比无源方便,因此在价格上,有源比无源贵些。
2.5软件设计
一个装置的运行不光需要硬件部分,同样也需要软件部分。高级语言程序只有经过汇编后才能被计算机识别。我们一般都用Keil软件来编写程序,KEILC51是美国KEILSoftware公司研发出来的一款C开发装置,该装置能完全兼容51单片机,是编写C语言,对硬件进行调试运行的不二之选。KEILC51需要在WIN98、NT、WIN2000、WINXP等操作装置下才能运行。虽然KEIL目前还没有发行中文版本,但却是中国80%以上的工程师的首选。其具有容易阅读,易于编程,语言简洁,可移植性好,拥有丰富的库函数,实时多任务操作装置,开发周期短,可多人编写一个大程序等特点,通常作为大型软件开发首选的编程开发装置。如图是KeilC51的软件界面。
绘制电路图采用的是ProtelDXP软件,它是在Windows2000和WindowsXP装置下运行的EDA软件。在电子行业的CAD软件中,ProtelDXP软件成为了设计者的首要选择。
2.6软件调试
c语言是一门面向过程的编程语言,所以我们在运用c语言进行单片机的编程过程中,过程的设计就需要非常的合理且顺畅。程序开始后,首先进行LCD1602液晶初始化,然后在液晶上显示固定的基本信息,比如参数前面的说明,后面的单位:接着进行定时器初始化,设置定时器的工作模式,中断方式,用来计算超声波在空气中传递的时间;然后进入主循环,在主循环中首先进行按键设置,若有按键按下则进入报警限度设置流程,设置距离的报警下限值,然后进入读取测得的声波数值并判断,将测试值与预定值进行比较,看测得的距离是否低于报警值,若低于报警值,则蜂鸣器报警。
2.7按键设置程序模块
在装置的软件设计中,我们需要设计3个按键来设定装置的距离值的限额,装置的软件设计采用了if判断语句,当按键1按下后,装置进入设置界面,lcd显示屏上的设定位置显示>字符,而另外两个按键通过if语句的判断则可以进行加和减的操作。并且在程序的设计中,对设定值的限度进行了规定,上限为70,下限则是0,超过70的数值依旧为70,而小于0的数值依旧是0,此时加和减不会产生作用。再次按下按键1后设置界面还原,设定的数值即为想要的距离限度,此时显示的>字符也还原为空白。
3结束语
这个超声波测距装置的完成,通过不断的学习,不断的收集资料到设计总体方案,到后来最后的硬件和软件的设计与调试,完成了这个毕业设计,这个过程收货颇多。
首先,通过超声波测距装置的设计,对大学学到的知识有了个很好的运用,不论是用超声波来模拟车的距离,按键的设置,还有液晶屏的运用,最重要的是对单片机核心部分的学习和实际的运用,让我对单片机有了一个更好的理解。再者通过写毕业论文也是对自己资料的搜集,能力提升提供了一个很好的机会。通过完成该毕业设计主要得到一下一些收获。
本装置主要根据各个模块的特点和功能,采用了自动化形式,实现对超声波防撞装置的检测和控制。
装置主要实现了以下功能:
(1)适用性强,在合适的供电环境下,通过超声波来实现对距离的检测。
(2)方便使用,可以通过按键来设置距离报警值。
由于本人的知识和能力水平有限,还有很多需要优化的地方,在后续会更进一步,主要是在对数据传输的设计上。
(1)在今后更加智能化的生活中,可以利用对数据传输快速,实时检查距离以及的互联网加入装置的传输环节。
(2)可以使WiFi传输模块将数据传入互联网,手机终端则从互联网中下载数据,让用户可以随时随地地了解车周围的情况。
参考文献
[1]李旭.无线电汽车防追尾告警技术研究[D].西北工业大学,2004.
[2]卜英勇,王纪婵,赵海鸣等.基于单片机的高精度超声波测距装置[J].仪表技术与传感器,2007(3):66-68.
[3]王安敏,张凯.基于AT89C52单片机的超声波测距装置[J].仪表技术与传感器,2006(6):45-46.
[4]张迎波.一种通过声波测距的障碍物识别装置.CN105301595A[P].2016.
[5]张波,王朋亮.基于STC89C51单片机超声波测距装置的设计[J].机床与液压,2010,38(18):56-58.
[6]田哲文,刘峰宇,邓亚东,等.汽车防追尾预警装置安全距离数学模型[J].武汉理工大学学报(信息与管理工程版),2009,31(4):590-593.
[7]张辉宜,郝小林,袁志祥,等.汽车防追尾碰撞的最小安全距离仿真研究[J].计算机仿真,2014,31(11):146-149.
[8]孙牵宇,童峰,许肖梅.一种大角度范围的高精度超声波测距处理方法[J].厦门大学学报(自然版),2006,45(4):513-517.
[9]郑安文.高速公路行车间距分析与防追尾装置开发[J].武汉理工大学学报,2002,24(9):62-65.
[10]张伯淳.现代声波传感器及应用[J].中国科技纵横,2017(12).
[11]王平福,郭志信.汽车防碰撞装置[J].交通运输工程学报,1999(10):23-25.
[12]周淑萍.一种汽车防追尾主自动预警装置,及螺栓,传感器和喇叭:,CN205010087U[P].2016.
[13]徐新艳.单片机原理.应用与实践[M].北京:高等出版社,2005.
[14]王千.实用电子电路大全[M].电子工业出版社,2001.
[15]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社.2003.