本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
摘 要: 设计了一种基于超声波测距原理的倒车雷达系统,给出了声光报警模块、电源模块、人机交互模块的具体实施方案。此外,设计中还包括温度自动校正功能,以减小由于声速受到温度影响而引入的测量误差。实际测试结果表明,有效测距范围在0.05~5.7 m, 5 m以内的最大误差不超过0.01 m。
关键词: 汽车倒车雷达; 超声波; PWM
在现代社会中,随着汽车的增多和停车位日趋紧张,泊车成为很多车主头痛的问题,这时倒车雷达就成了汽车的好助手。倒车雷达是汽车泊车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高了倒车的安全性。本文以ATmega16作为核心处理器,采用超声波原理测量出障碍物距车尾的垂直距离。系统电路设计合理,工作稳定,性能良好,精度高,实时检测速度快,在未来市场上将有一定的实用价值。
1 超声波测距原理
超声测距的原理较简单,一般采用渡越时间法,将超声传感器安装在汽车尾部,则障碍物距车尾的垂直距离为:
为了提高测距精度,本系统通过温度补偿的方法对传播速度加以校正。因此只要测量超声发射到超声返回的时间间隔△t及环境温度T,然后根据式(1)、式(2)即可计算出距离S。
2 系统硬件设计
本系统采用ATmega16 AVR为控制核心,外围电路由超声波发射电路、超声波接收电路、温度采集模块、声光报警电路、液晶显示电路、接口电路及电源电路等部分组成。系统框图如图1所示。
2.1 核心控制模块
Atmega16是Atmel公司近几年才推向市场的新一代高性能、低功耗、高集成化的8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,加上片内32 个通用工作寄存器都直接与算术逻辑单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器,大大提高了代码效率,运行速度比AT89C51高出10倍。用于边界扫描的JTAG接口,可以对片上16 KB闪存Flash在线编程和调试,非常方便软件的升级。内部集成了较大容量的存储器和丰富强大的硬件接口电路,如定时/计数器、实时时钟、快速PWM通道、A/D转换器、I2C的串行接口、可编程的串行USART接口、SPI串行接口和带片内晶振的可编程看门狗定时器以及片内的模拟比较器等,除传感器外几乎可以不需要其他任何元件即可构成系统,从而为本设计提供了灵活而低成本的解决方案。其主控电路如图2所示。
2.2 超声波发射模块
超声波发射电路原理图如图3所示。发射电路主要由施密特反向触发器CD40106和超声波发射换能器TCT40-10-T构成,PD6的端口输出两路40 kHz脉冲信号,一路经一级反向器后送到超声波换能器的一个电极;另一路经两级反向器后送到超声波换能器的另一个电极。用这种推挽形式将脉冲信号加到超声波换能器两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力,所得到的波形比其他方式效果更理想。
2.3 超声波接收模块
超声波接收模块的作用是将反射的超声波转换成电压信号并放大处理成标准的数字信号,然后输出给下一级电路。集成电路CX20106是一款红外线检波接收的专用芯片,它由前置放大器、限幅放大器、带通滤波器、检波器、积分器和整型电路组成。CX20106常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路。如图4所示,超声波接收探头TCT40-10-R将接收到的反射超声波转换成毫伏级电压信号,送入CX20106的1脚,CX20106的总放大增益约为80 dB,实际增益由2脚外接电阻R2和电容C1来决定,电阻R2越小或电容C1越大,增益越高,但取值过大易造成频率响应变差,本系统取电容为1 μF。C2为外接峰值检波电容,C13为外接积分电容,调整RP电位器使内置带通滤波器的中心频率为40 kHz,当接收到与滤波器中心频率相符的信号时,其7脚输出一个低电平直接接到ATmega16的INT0上,以触发中断。
2.4 温度检测模块
为了提高本方案精度,引入了温度采集并在软件算法中增加了温度自动校正功能。温度传感器采用了DALLAS公司生产的一线式数字温度传感器DS18B20,其温度测量范围为-55 ℃~+125 ℃,可编程为9 bit~12 bitA/D转换精度,测温分辨率可达0.062 5 ℃,被测温度用符号扩展的16位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方式产生。本系统采取了寄生电源的方式,如图5所示,通过一个MOSFET把CPU的I/O口直接拉到电源大小。这种接法优点是双重的:(1)VDD接地,无需本地电源;(2)缺少正常电源的条件下也可读ROM。
2.5 人机交互模块
人机交互模块由液晶显示电路和键盘电路两部分组成。液晶显示器件采用TC1602E字符型LCD模块,该模块具有体积小、功耗低、显示内容丰富等特点。TC1602E可以显示2行16个字符,有8 bit数据总线D0~D7,RS、R/W、EN三个控制端口,工作电压为5 V,并且带有字符对比度调节和背光显示。第一行显示倒车雷达测量距离,第二行显示环境温度,液晶显示模块电路如图6所示。
2.6 电源模块[3]
倒车雷达是安装在汽车的尾部,其电源应是便携式的,以方便安装更换。本系统选用ATmega16,其电源电压是5 V。可以使用开关电源产生的5 V直接供电,但这样最好把开关电源做在主控板上,传感器等需要另配电源。因此可以选用9 V叠层电池通过低功耗、可调、低压差稳压器MAX667线性稳压至5 V(VCC)后给系统供电,转换电路如图7所示。
2.7 声光报警模块
报警电路模块如图8所示,主要作用是在汽车尾部与障碍物距离较近时进行报警。根据实际情况,当汽车尾部与障碍物距离大于5 m时,可认为是安全状态,液晶显示“――”标志;在5 m和1 m之间时认为是正常的,显示实测距离;小于1 m时,应提醒司机注意,系统发出声音报警功能,单片机向其端口发出PWM脉冲,随着距离的减小,通过控制PWM脉冲的占空比使蜂鸣的频率加剧;小于0.5 m时,要求声光同时报警,由于闪光频率不能过高,通过单片机另一个端口控制其闪亮。
3 系统软件设计[3-4]
系统的软件设计采取模块化设计,C语言编程,这样便于阅读与功能扩展。程序主要由主程序、测距子程序、测温子程序、延时子程序、液晶显示子程序等几个部分构成。雷达测距开始由汽车倒车控制,一旦倒车开始,即启动ATmega16片内的T1连续发射40 kHz的PWM,计数器开始计数。考虑到实际倒车环境有远有近,为防止其他干扰可能引起的误测,以最长距离5 m计算,超声波发送到返回的时间△t至少为5/340≈15 ms。这样持续发送PWM直至接收到超声波时停止发送,这个过程大约需要15 ms以上,所以不管所测距离远近,一律每25 ms发送一次超声波。由于超声波会受到被测物体不平整、反射角度、环境风速、温度以及多次反射的影响,可能会带来测量数据误差增大。为了提高测量的准确性,要求连续检测5次时间,去掉最大和最小的测量值,然后对剩下3个测量值求平均值。
4 软硬件调试及实验数分析
硬件制作时主要需保证发送和接收两个换能器中心轴线平行并相距6 cm,根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C12的大小,以获得合适的接收灵敏度和抗干扰能力。然后通过JTAG口在线调试下载程序并运行。以300 cm2硬纸板(实际中障碍物要比这个面积大)为障碍物对倒车雷达进行了实测。为了检验倒车雷达的性能,对同组数据进行了三次循环测量,发现在500 cm以上时测量误差在2 cm左右,在500 cm以内时倒车雷达最大误差不超过1 cm。倒车雷达有效范围为0.05~5.7 m,这足以实际泊车需要。表1列出了汽车倒车雷达在5 m以内的测量值与对应的实际值。
本文给出了一种倒车雷达的设计方案,该方案可以达到很高的采集速率和测量精度,并且具有温度自动校正功能。同时,汽车倒车时可以通过液晶屏清晰地显示障碍物与车尾的距离,帮助司机克服了后视镜小,视野窄的缺点。当车至危险区域时,通过声光报警提醒司机,消除了倒车造成的事故隐患。实验已经验证了汽车倒车雷达的有效性、可靠性。同时系统还预留部分接口,为系统升级和数据通信带来方便。
参考文献
[1] 符艳辉,李爱琴.基于单片机的控制的超声波测距仪的设计[J].农业与技术,2008,28(1):171-173.
[2] 微雪电子有限公司.ATmega16中文技术资料[S]. http://www.waveshare.net/datasheet_pdf/atmega16-pdf.html,2010-03-12.
[3] 周兴华. AVR单片机C语言高级程序设计[M]. 北京:中国电力出版社,2008:88-113,267-278.
[4] 崔海朋. 基于MSP430F2274单片机的倒车雷达设计[J]. 今日电子,2008(9):81-83. |