基于单片机的车用测距系统设计.docx
- 文档编号:10595258
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:21
- 大小:142.19KB
基于单片机的车用测距系统设计.docx
《基于单片机的车用测距系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的车用测距系统设计.docx(21页珍藏版)》请在冰豆网上搜索。
基于单片机的车用测距系统设计
基于单片机的车用测距系统设计
摘要
伴随着我国经济的快速发展,汽车已经成为许多家庭不可或缺的组成部分。
许多经验不足的驾驶员因倒车镜死角,目测距离有误,视线模糊等原因而造成倒车事故。
此设计首先介绍了超声波及超声波测距的原理,再对设计的硬件组成进行介绍,此部分主要包括单片机、超声波测距模块、显示电路及温度补偿电路。
根据超声波从发送到接收之间的时间从而计算出测距装置距离障碍物之间的距离。
应用于实际生活中可提高驾驶员的安全行车系数。
关键词:
单片机;超声波;测距
Abstract
Withthedevelopmentofeconomyinourcountry,thecarhasbecomeanintegralpartofmanyfamilies.Manyinexperienceddriversforthemirrorblindangle;visualdistanceisflawed,blurredvisionandotherreasonscausedbythereverseaccident.Thisdesignfirstintroducedtheultrasoundscanningultrasonicrangingprinciple,tointroducethedesignofhardwarecircuit,thispartmainlyincludessinglechipmicrocomputer,theultrasonicrangingmodule,anddisplaycircuitandtemperaturecompensatecircuit.Accordingtotheultrasonictimebetweensendingandreceivinganddomeiscalculatedthedistancebetweentheobstacledistances.Appliedtoreallifecanimprovethedriver'ssafedrivingfactor.
Keywords:
single-chip;ultrasonic;measurement
1绪论
1.1课题研究的目的与意义
经济的发展给人们的生产生活带来了极大的便捷,汽车的保有率不断的增加,已经成为许多家庭十分重要的组成部分,在方便我们生活的同时也带来了许多不可避免的问题,比如道路的拥堵问题,因此许多城市鼓励大家在出行之时乘坐公共交通工具,同时安全问题也变得尤为突出,特别是在倒车的时候许多驾驶员依靠后视镜进行倒车,而这不可避免的会造成视觉盲区,留下来安全的隐患,去多事故是在倒车的时候发生,为此设计一个辅助倒车的测距装置变的尤为重要,在驾驶员无法对后面距离经行准确判断时经行及时的提示,本设计结合单片机、传感器装置进行设计,其结构简单,成本低廉,反映灵敏,适应不同环境的优点[1],从而避免因驾驶员对距离判断的错误而产生的安全事故,以保证汽车行驶的安全性。
1.2国内外研究现状
测量技术的发展给人们的生活带来极大的便捷,人们在寻求准确快速的测量方式时发现超声波具有方向性好,在传播过程中能量的衰减缓慢,适应较长距离测量的优点,而广泛的使用超声波进行距离的测量,在实际的应用中其反映敏捷,精度较高,所以,在利用传感器技术和自动控制技术两者相结合的测距方案中,超声波因其独特的优点而被广泛的使用。
利用超声波可以制作实现比如测距仪以及物位测量仪等装置。
可以用来测量液位、流量、温度、粘度、厚度等,并在无损探伤、运动物体防撞等方面取得良好的应用。
因其运用非接触的方法进行测量,与光学的或电磁的方法相比较,它对环境的适应性好,也不受被测物体自身因素的干扰,特别适合在空气中传播[2]。
目前超生波测距的技术发展的比较成熟,测量的精度已经可以达到毫米的级别,而且稳定性也相当高。
虽然已经取得了一定的成果,但同时也面临着急需人们解决的问题。
比如在对测量精度有更高的需求时,其测量的精度已经无法满足使用的需要。
当需要经行超远距离测量时,因超声波能量的衰减,而无法准确感知被反射信号。
高精度和远距离的测距装置成本太高,不符合使用需要,针对以上存在的问题,国内外的研究人员正努力的经行研究。
研究的主要内容包括:
超声波反射后信号脉冲的处理、换能装置的改进、发射脉冲选取等等,通过进行温度补偿,提高接收装置的敏感度等方法克服超声波测距装置在使用中外界因素的干扰,而达到精确测量的目的。
现在国内的研究成果主要有:
运用最小均方自适应时延估计算法,对超声波反射脉冲信号进行处理。
使用一体化的换能器和专用的脉冲发生器,提高精确度,采用功率驱动芯片和升压变压器等,还通过超声波测距仪专用集成电路通过分析超声波测距误差产生的原因,来提高测量时间差到微秒级,以及用温度传感器来进行声波传播速度的补偿后,其高精度超声波测距仪也可以达到毫米级的测量精度。
通过运用最新的技术不断提高超声波测距的精度和距离[3]。
国内的超声波测量品牌有古大,飞鹰,百特等。
因其产品运用领先的技术而走在前列。
国外的超声测量技术也同样迅速发展。
国外西门子,E+H,HAWK的产品比较齐全,性能稳定,质量可靠[4]。
目前的倒车雷达依靠非接触式测量技术的提升而得到不断的发展,测量的精度不断的提高,功能也日趋强大,最初的提示装置只能进行语言的提示,到后来的蜂鸣器根据汽车距离障碍物的距离而发出不同频率的声音进行报警,从第三代开始加入了数码管显示,结合语音报警给驾驶员更直观的提示。
随着液晶显示技术的发展,其同样被引入倒车雷达系统,取代数码管显示,可以给驾驶员更加丰富全面的画面显示。
现在的无线倒车雷达运用无限连接技术可以使控制器和显示屏之间进行无限连接。
与最初的雷达相比已经有了很大的提升。
相信随着各项新技术的发展。
倒车雷达将不再仅仅局限于倒车测距上面,随着车内环境检测,车载影音等功能的加入,它将变成一个超级智能化系统。
测距技术的发展给驾驶员提高了强有力的安全保障。
科技的发展给人们带来了永无止境的探索之路。
2超声波测距
2.1测距传感器选择
传感器是论文设计的重要组成部分,它是把那些不被人们直接感知到的被测量按照一定的规律转换为便于人们应用、处理的另一参量。
由于传感器的种类繁多,而且性能差异也比较大,因此在实际的选择时需要根据使用的要求和传感器的性能来经行选择,目前比较常用的测距传感器主要有激光测距传感器、红外线测距传感器、超声波测距传感器。
下面将对其经行简要介绍:
(1)激光测距传感器
激光具有传光性能好和传导方向性强的优点,激光传感器很好的利用了激光在传导过程中的优点很好的克服了其它传感器方向性差、传输距离近、易受干扰的缺点。
它工作的原理是由激光传感器向测量物体发射出激光脉冲,经障碍物反射由接收传感器接收反射后的激光脉冲信号,通过计算处理激光脉冲从发射到接收所用的时间即可测定出激光传感器与被测物体之间的距离。
激光在传输的过程中由于衰减缓慢,所以其适应远距离的测量,而且速度很高,并且对微弱信号也有良好的感知,但由于激光对身体的安全性和较高的使用成本,激光传感器更适用于特殊条件下的应用[5]。
(2)红外线测距传感器
红外线又名红外辐射,是一种不可见光,它位于可见光中红色光以外的光线,故称红外线。
工程上把红外线所占据的波段分为近红外、中红外、远红外和极红外四个部分。
由于红外线在不同距离下的衰减程度不同,主要是因为传播介质的吸收和散射。
因此由被测物体反射回来的信号强度也各不相同,红外线传感器利用其这一特点进行距离测量,但由于红外线在传输过程中衰减明显,影响其测量的准确性,因此其适用于近距离的测量。
(3)超声波传感器
超声波是一种振动频率超过20000Hz的机械波。
人耳已经无法对其进行感知,超声波是由换能晶片在电压的激励下发生振动产生的,在发射时将电能转换为机械震荡产生超声波发射出去,在接收超声波时再将其转换为电能,因此其由发送器和接收器组成。
超声波在传输的过程中衰减缓慢适合不同距离的测量需求,在实际应用中好于红外传感器,但其制作成本高于红外传感器。
为了满足测量精度的需要,以及从各方面的考虑,结合超声波传感器的优点,其更符合实际测量的需要。
通过比较上述三种传感器,激光传感器在测量精度以及对各种测量环境下的适应性最好,但其制作成本却高于其传感器,在安全性方面逊色与另外两种传感器。
而且在实际的测距应用中,具有很多干扰因素,因此就需要传感器具有很高的抗干扰能力,综合各方面对比,选用超声波传感器作为此设计方案的传感器探头。
2.2超声波简介
赫兹(Hz)指的是声音的振动频率,它由声音每秒所振动的次数所决定,我们人耳所能听到的机械波称为声波,低于人类听觉下限的机械波称为次声波,而超声波是频率高于20000赫兹的声波,我们人耳所能感知声音的极限最高频率为20000Hz,而超声波因其频率下限超过人的听觉上限而得名。
超声波在实际的生产应用中,能量的衰减小,穿透性强,方向性好,适应各种介质下长距离的测量和较高的测量精度要求,并且具有较快的反映速度的优点,在工农业生产以及广大领域都有深入的应用,并取得了很好的社会效益和经济效益。
给人类的生产生活带来了极大的便捷[6]。
2.3超声波传感器的介绍
超声波在检测中,首先需要把超声波发射后进行接收,转换成电信号,实现这一功能的就是超声波传感器,也称超声波换能器。
超声测距从原理上分为脉冲反射式、共振式两种。
从两种方法的对比而言,利用超声波反射测距,更为简单便捷。
它是利用压电材料的压电效应制成的,发射探头利用逆压电效应将电信号转换为超声波,接收探头利用正压电效应将超声波振动转换为电信号。
它在工作时是由传感器向测量物体发射出脉冲信号,经障碍物反射由接收传感器接收反射后的脉冲信号,通过计算处理脉冲信号从发射到接收所用的时间即可测定出传感器与被测物体之间的距离[7]。
在这里我们把测量距离用D表示
(2.1)
式中
c——超声波传播的速度;
t——脉冲信号从发射到接收所用的时间。
从表达式可以看出,传感器与被测物体之间的距离是有所用时间和声波的速度决定,而它们在测量时的准确性,直接影响测距距离的精确性。
在单片机的计时精度方面,可以选用12MHz的晶振,使定时间达到精确的1µs。
超声波在不同环境条件下的速度各不相同,它会随着外界因素的变化而变化,通过它的关系式我们可以进一步了它的决定因素,其关系表达式为:
(2.2)
式中
R——气体的普适常数,为8.314kg/mol。
γ——气体定压热容和定容热容的比值,空气的比值为1.40。
M——气体的相对分子质量,空气为28.8×10-3kg/mol。
T——气体的热力学温标,T=273K+t,t代表摄氏温标。
c0——0℃时声波的速度,为331.4m/s。
由上式可知,传播环境的温度在超声波波速的影响中有着举足轻重的地位,温度与波速的关系,如表2.1所示。
超声波随温度的升高而变快,而且传播速度在不同温度条件下差别很大。
因此,通常对测量精度要求比较高时,通过温度补偿的方法来提高精度是一种非常有效的措施。
忽略温度的影响时,一般认为340m/s是超声波在空气中的传播速度。
表2.1波速与气温的关系表
项目
数值
温度
-30
-20
-10
0
10
20
30
40
50
60
100
声速/(m•s)
313
319
325
332
338
344
350
356
361
367
388
3硬件电路设计
3.1单片机AT89C51
单片机即单片微型计算机SCMC(SingleChipMicroComputer)。
又称为微控制器MCU(MicrocontrollerUnit)。
它是把具有很多逻辑功能系统的集成到一块电路芯片上,与其它微机相比较,单片机具有体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高的优点[8]。
本设计的MCU采用的是AT89C51单片机。
它具有功能较强,价格较低的优点。
Flash的可反复擦写程序存储器能有效的降低开发成本。
并能使单片机多次重复利用,外形采用40个引脚双列直插的封装,每个引脚有固定的序号和名称。
其引脚图如右图3.1。
AT89C51的引脚功能有:
1.主电源引脚。
VSS电路接地电平。
VCC正常运行和编程校验+5V电源。
2.时钟源
XTAL1和XTAL2分别为晶体震荡电路的反向器输入端和输出端。
3.控制、选通或复用
RST/VPD——第9脚,RESET是复位信号的输入端口。
当单片机正常运行时,通过该引脚输入脉宽为2个以上机器周期的高电平复位信号到单片机。
在VCC掉电期间,此引脚(即VPD)
可接通备用电源,以保持片内RAM信息不受破坏。
——第30脚,输出允许地址锁存信号。
在访问外部存储器时,ALE用来锁存P0口送出的低8位地址信号。
是对8751内部EPROMB编程时的编程脉冲输入端
——第29脚,外部程序存储器的读选通信号。
——第31脚,访问外部程序存储器控制信号。
4.多功能I/O端口
P0口——第一功能是一个8位漏极开路型的双向I/O口,这时P0口可看做用户数据总线,第二功能是在访问外部存储器时,分别提供8位地址和8位双向数据总线,这时先做地址总线在做数据总线。
P1口——是一个内部带上拉电阻的8位准双向I/O口。
P2口——第一个功能是一个内部带上拉电阻的8位准双向I/O口。
第二个功能是在访问外部存储器时,输出高8位地址。
P3口——第一个功能是一个内部带上拉电阻的8位准双向I/O口。
在系统中,这8个引脚都有各自第二功能,如下表3.1所示
表3.1P3口第二功能定义
端口引脚
第二功能
P3.0
RXD(串行输入)
P3.1
TXD(串行输出)
P3.2
(外中断0输入)
P3.3
(外中断1输入)
P3.4
T0(定时/计数器0外部输入)
P3.5
T1(定时/计数器1外部输入)
P3.6
(外部数据存储器写信号)
P3.7
(外部数据存储器读信号)
3.2超声波测距模块
根据实际的生产生活和和传感器的参数指标,结合其它因素的综合考虑,在此设计中使用HC-SR04超声波集成模块。
它在0.2—5m的范围内可以达到误差在0.3cm的准确测量,满足在实际应用中的数据精度要求。
另外其工作频率可以稳定在40kHz进行工作[9]。
HC-SR04超声波模块有发射和接收两个探头组成,由于发射和接收探头处在同一水平线上,因而其可以保证测量的准确性。
而且超声波在传播的过程中收到温度等其它因素的影响,两个探头距离太近可能会产生脉冲信号的相互干扰,保持两个探头的合理位置,对测量的结果同样至关重要,参考相关设计,两探头比较理想的距离在5cm~8cm,HC-SR04模块两探头的距离为6cm,满足设计的要求。
3.2.1超声波测距模块介绍
超声波测距模块有超声波发射与接收电路和控制电路三个部分组成。
工作的原理以及工作的步骤:
(1)通过IO口TRIG触发来进行测距,给不少于10us的高电平信号;
(2)接收电路自动感知被障碍物反射后的脉冲信号。
(3)感知到反射后的脉冲信号时,通过IO口ECHO输出高电平,持续高电平的时间由脉冲信号从发射到接收所决定。
声波测距模块HC-SR04实物如图3.2所示,实物规格如图3.3所示,电气参数见表3.2
所示,超声波测距原理如图3.4所示
图3.2测距模块HC-SR04实物图
图3.3超声波测距模块HC-SR04规格图
表3.2超声波测距模块HC-SR04的电气参数
电气参数
HC-SR04超声波测距模块
工作电压
DC5V
工作电流
15mA
工作频率
40Hz
最远射程
4m
最近射程
2cm
测量角度
15度
输入的触发信号
10uS的TTL脉冲
输出的回响信号
输出TTL电平信号,与射程成比例
规格尺寸
45*20*15mm
3.2.2超声波测距时序
超声波测距时序图如图3.5所示。
图3.5超声波测距时序图
从时序图我们可以看出,超声波模块循环发出8个40kHz的脉冲需要一个大于10uS的持续时间的触发信号。
一旦检测到有回波信号则输出回响信号,回响电平输出与检测距离成比例。
测量时间由模块内部信号发出到接收到反射信号的时间决定。
另外特别需要注意的是对模块进行连接时应先关闭电源,以免对模块的正常工作产生影响[10]。
3.3显示器LCD1602
目前,在显示电路中比较常用的显示类型分别为LCD和LED这两种,LED数码管是由若干个发光二极管组合而成的,通过单片机的控制实现不同数码管的发光以达到不同的显示效果,它由共阴极和共阳极两种[11]。
与LCD相比它的亮度比较高,成本低,但没有LCD显示灵活,外形美观。
3.3.1液晶显示器的优点
最终综合各方面因素,结合设计的实际需要本系统最终选择液晶显示器LCD1602做为显示电路,因为其具有以下几个优点[12]:
(1)显示质量高
与阴极射线显示器(CRT)最大的不同之处在与,液晶显示器的每个显示点的色彩和亮度不需要反复的进行刷新,其可以保持恒定的显示。
因此,液晶显示器的画质高且不会闪烁。
与数码管相比其显示内容可以灵活丰富多变。
(2)数字式的接口
液晶显示器都是数字式的,和单片机系统的接口更加便捷可靠。
(3)体积小、重量轻、功耗低
液晶显示器以电流刺激液晶分子产生点、线、面配合背部灯管构成画面,在重量上比相同显示面积的传统显示器要轻。
而且与其它显示器相比其功耗要更低。
LCD1602显示器实物如图3.6所示。
图3.6LCD1602显示器
3.3.2LCD1602主要参数以及引脚功能
1.LCD1602主要参数:
显示容量:
16×2个字符
芯片的工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块的最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
2.LCD1602引脚功能说明
LCD1602分为有背光和无背光的两种,分别为14引脚和16引脚,在实际使用中可以根据实际的需要而选择是否带有背光的功能,其它引脚的功能完全相同,显而易见带背光的显示功能可以适应夜晚无其它光源照的条件,以此在本论文中选择具有背光功能的显示器,引脚接口说明如表3.3所示。
表3.3各引脚接口说明表
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
3.4数字温度传感器
在超声波的介绍过程中,了解到超声波在实际的应用中会因为外界环境的影响造成衰减近而导致测量结果的改变,而得到准确的测量结果正是我们的需求所在,因为温度对超声波波速的影响有着举足轻重的地位,为了弥补温度对超声波波速的影响,需要对其进行温度补偿。
经过对比最终认为DS18B20是一个比较理想的温度传感器,其内部具有唯一的标识码,每个传感器的标识码各不相同。
而且在体积、功耗、抗干扰性方面都有突出的优势。
DS18B20具有以下特性:
(1)单线的接口方式能够实现单片机与传感器的双向数据通讯,连接简单
(2)多点
multidrug
能力使分布式温度检测应用变得简化
(3)不需要其它外部元件
(4)可以使用数据线供电
(5)不需要备份的电源
(6)可以实现-55
至+125
温度范围内的准确测量
(7)以9位数字值的方式读出温度
(8)在1秒
典型值
内把温度转变为数字
(9)用户可定义的
非易失性温度告警设置
4系统软件设计
通过上文的介绍,已经对超声波测距系统不可或缺的硬件部分做了介绍,单纯依靠硬件部分无法完成整个测距系统的实现,各个硬件需要通过单片机的控制与数据处理进行工作,下面将对系统的软件部分进行说明。
4.1主程序设计
单片机是整个系统的核心,而主程序是整个单片机程序的主体,在单片机的控制与数据处理下完成整个系统的实现,主程序的流程图如图4.1所示。
图4.1主程序流程图
4.2液晶显示模块
显示模块控制LCD1602液晶显示屏显示,关键点在于先根据液晶显示模块工作时序图设计写指令程序和写数据程序,然后根据上两个程序设计初始化程序和显示程序[13]。
本部分包括延时若干毫秒程序delay(ucharc),写入指令程序WriteInstruction(unsignedchardictate),写入数据程序WriteData(unsignedchary),LCD1602初始化程序lcd_init()和显示程序voidshow(ucharp,uchar*s,uintlow)。
其中显示程序如下:
voidshow(ucharp,uchar*s,uintlow)
{
uintnum;
WriteAddress(p);//写入地址p
for(num=0;num {//数组内字符的个数为low WriteData(s[num]); delay (1); } } 4.3温度测量模块 温度测量模块主要是控制DS18B20温度传感器完成温度测量,设计要点是先设计温度测量模块读命令程序和写命令程序,再根据以上两个程序逐步编写测温程序。 本部分包括延时若干微秒程序delay1(uintz),DS18B20初始化程序DS18B20_Init(),DS18B20读命令程序read_bey(),DS18B20写命令程序write_bey(uchardet),读出温度程序temperature(),温度处理程序get_temp()和温度数据转换程序TempConvert(longinttep)。 其中温度处理程序如下: uintget_temp() { ucharh,l; DS18B20_Init();//初始化温度传感器 delay(6); write_bey(0xcc);//跳过rom write_bey(0xbe);//发读内部9字节内容指令 l=read_bey();//读前两个字即温度 h=read_bey(); temp1=h;//温度数值转换 temp1=temp1<<8; temp1=temp1|l; t_temp=temp1*0.0625; temp1=t_temp*10+0.5; returntemp1; } 4.4超声波测量模块 超声波模块循环发出8个40kHz的脉冲需要一个大于10uS的持续时间的触发信号。 一旦检测到有回波信号则输出回响信号,所以需要在计时器打开的时候由P1.0端口发送8个40kHz的脉冲,持续的时间大于10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 测距 系统 设计