基于ATmega16芯片的车用倒车测距系统设计*

2021-01-25 01:40隋美丽刘敏杰成林王谷娜
汽车实用技术 2021年1期
关键词:数码管蜂鸣器测距

隋美丽,刘敏杰,成林,王谷娜

(北京电子科技职业学院 汽车工程学院,北京 100071)

引言

超声测距传感器因其价格较低,抗干扰能力强,使用方便,在介质中传播距离短等优点作为倒车传感器广泛使用[1][2]。超声测距技术是采用超声传感器发送超声波,并测量汽车泊车或转弯时汽车尾部与障碍物之间反射回波的时间,计算出距离,同时,通过蜂鸣器报警提醒驾驶员,以此了解汽车行驶的危险程度,减少倒车引起的事故发生率[3]。

目前在中高端轿车上广泛应用倒车系统呈现智能化、可视化和集成化的发展,而在中低端车上鲜有应用。倒车雷达系统因其集成度高、测量范围广、成本低等特点,可应用于经济型家庭轿车中[4]。本文采用AVR单片机系列中Atmega16作为主控芯片,超声波测距为距离测量模块,数码管为显示模块,搭建超声波雷达测距系统。该系统可实现距离显示和距离不同蜂鸣器发出不同频率的报警声,精度达到厘米级。该设计还可以应用在机器人躲避障碍物、盲人导航、车间设备定位等系统中[5][6]。

1 超声波测距的原理

超声波的产生是在电压激励作用下换能晶片发生振动而产生频率高于20kHz的声波,振动频率高于声波的机械波,该波具有频率高、波长短、方向性好的特点,超声波传感器是利用超声波这一特性制成的传感器。目前,渡越时间法检测原理比相位检测法和声波检测法具有检测简单,反射回波干扰少的特点,多被应用到超声波测距的基本原理中[5]。测试原理是通过定时器从超声波发射器发出超声波开始计时到超声波接收器接到反射回波结束,通过计时器记录的时间和超声波在空气中传播的速度,就可以计算出发射点距障碍物之间的距离。

2 超声波测距系统的设计

2.1 超声波测距系统设计方案

为实现到整个系统的简单、方便性,控制模块采用ATmega16作为主控制芯片,该芯片有存储空间大,扩展性强,使用性灵活,操作方便,价格低廉的特点[7]。ATmega16单片机向超声波测距模块发送测距指令,超波测距模块的发射装置和接收装置开始工作,并将发射和接收的信号时间差返回到主控芯片,主控芯片根据返回的检测信号计算车尾到障碍的距离,并通过数码管将距离显示出来,当车尾到障碍的距离少于30CM时,给蜂鸣器发动报警指令,蜂鸣器开始报警,随着距离越来越近,蜂鸣声的频率越来越高。超声波测距总体框图如图1所示。

图1 超声波测距总体框图

2.2 超声波测距系统的硬件设计

本超声波测距系统硬件组单片机及其控制电路、超声波测距模块、数码管显示模块以及蜂鸣器报警模块组成,并通过外围电路的设计,完成超声测距的功能。

2.2.1 ATmega16 单片机及其控制电路

ATmega16单片机具有功耗低、数据吞吐率高、低成本和应用灵活等特点,广泛地应用到许多嵌入式控制系统中[8]。系统采用ATmega16芯片的PC0口是数据传输端,输出方波信号使超声波模块可以正常工作,PC1口是数据接收端,用于接收超声波模块返回的信号,芯片的PC0口接在超声波模块的Trig端,ATmega16的PC1口接在超声波模块的Echo端;蜂鸣器模块则在单片机中接在 PD5端口;PB4、PB5、PB6、PB7控制数码管显示,PB0、PB1、PB2、PB3控制数码管刷新接口。

2.2.2 超射波测距模块

超射波测距模块的型号为US-100,可实现非接触测距,范围为2cm-4m,电压输入范围2.4-5.5v,静态功耗低于2mA。该模块包含超声波发射、接受和测量发射到返回所度过时间的功能,自带温度传感器修正测距结果的功能,通过Atmega16单片机端C口的I/O控制Trig触发一个10μs以上的高电平后,模块自动发动8个40KHz的方波,然后检测是否有返回的声波,当有回响信号返回时,回响信号输出高电平,并用高电平的持续时间计量声波度过的时间,就可以计量测试的距离。

2.2.3 数码管显示模块及其电路

发光二极管(LED)是一种极低功耗显示器,本系统采用的LED显示模块,LED数码管里有八个发光二极管和一个小数点显示,分别为a、b、c、d、e、f、g和dp,每个发光二极管将一根电极引到外部的引脚上,另一只引脚引到外部连接在一起记作公共端(COM)。在数码管的显示方式上采用了静态显示的方式,该数码管通断是通过三极管实现的。

2.2.4 蜂鸣器报警模块及其电路

在报警模块的电路中,利用三极管开关作用控制扬声器的报警,并根据障碍物的距离不同,改变扬声器发出的声音频率,扬声器控制电路如图6所示,其中电阻R6是防止电流过大烧坏三极管的保护作用,该模块工作电压5V。

2.2.5 下载接口电路

设计中采用ISP协议下载接口来烧录程序。采用标准SPI(serial peripheral interface串行外围设备接口SPI总线技术)接口,该接口采用主从方式工作,一般使用4条线:由主机产生的串行时钟线(SCK)、主机输入从机输出数据线MISO、主机输出从机输入数据线MOSI和由主机控制的低电平有效从机选择线SS。根据这4个端口和AVRmega16端口,所连接的端口为MISO,VCC,SCK,MOSI,RESET,GND,下载程序的时候使用的是com2口。

2.3 超声波测距系统的软件设计

本设计使用Atmel Studio 6.0的开发环境,整个系统设计的关键是测量距离,影响测量精度的主要因素是余波干扰,设计程序的时候添加算法,减少和消除干扰。当芯片收到声波时自动判断是否为发射声波的衍射声波,如果是芯片中的程序就会自动忽略掉这段信号,然后继续等待检测在这个工作周期内是否有效声波反射回来。有的话处理信号,如果没有就进行一次新的测量,减少余波信号干扰。软件设计流程图如图2所示。

图2 超声波测距流程图

ATmega16芯片中存在T0、T1、T2三个时钟同时工作,时钟 T0控制超声波的发生时效,控制晶体管刷新频率,及时地观测倒车距离并接收到倒车报警信息;时钟 T1控制蜂鸣器报警响声频率,在不同的距离发出不同频率的声响,时钟 T2用来计量超声波发射和反射回波的时间,然后用芯片通过公式计算出实际的距离,声速值为340 m/s。

3 超声波测距系统的组装与调试

将程序写入到AVR芯片和US-100型的超声波测距传感器模块为主体组装构成超声波测距模块中心频率是基本稳定在40 kHz。进行实际测量得到的结果如表1所示。

表1 测试结果

由表1可以看出系统计算测量的距离和实际距离具有一定误差,产生的原因可能是:环境的温度所引起的误差,温差比较大的时候两次测量的结果误差比较大;不同障碍物表面材料的不同介质引起的误差,表面粗糙的障碍物介质要比光滑介质的测量结果要误差要大,由于障碍物的发射面比较粗糙时,会使发射信号散射开,导致回波信号减弱;超声波模块的感应角的影响,两个超声波探头即发射探头和接收探头和障碍物之间存在一个几何角度,声波反射到探头中会存在一定的角度,当这个角度超过一定值时,就会是测量的误差较大或根本检测不到回波信号,当障碍物的距离较小时,这个误差会更加明显;余波信号的影响,在测量时有一部分的声波是从发射探头直接转收到接收探头的,以上声波即余波信号,余波对测量的干扰是比较大的。

4 结论

利用ATmega16芯片为主控芯片的倒车测距系统,使用对距离的精确要求并不是很高,主要起到警报的作用家庭轿车根据测试结果表明系统符合设计要求,测量记录范围为2-100cm,测量精度为厘米级,报警开始距离为30cm,低于10cm时,报警声音持续蜂鸣,且声音大,该测试系统可有效地提高驾驶员的注意力,并可用于机器人躲避障碍物、盲人导航、车间设备定位等系统中,符合设计要求。

该系统在设计过程中存在测量误差,这种误差的消除可选用采用温度传感器以外,可选用发射能力强、散射小的探头。

猜你喜欢
数码管蜂鸣器测距
电动自行车产品车速提示音检测现状和整改技术研究(2)
基于RSSI测距的最大似然估计的节点定位算法
物理项目教学设计,用单片机控制四位数码管显示
蓝桥杯树莓派模拟题解析三:“电子测距仪”
掌控板制作简易钢琴
本尼丢了蜂鸣器
Arduino编程
MC9S08FL16单片机数码管静态显示分析
220 kV电网行波测距系统组网运行实践探讨
一种光感自动晾衣装置