论文部分内容阅读
摘要:该设计以单片机ATmega16为核心,采用脉冲回波检测法,测量障碍物与超声波探头之间的距离;用LCD12864实时显示当前距离和实时语音播报当前距离。经实验证明本测距仪测量距离可以从0.08m到10m,精度小于 ±1cm,总体性能比较好。
1 引言
近年来,由于电子技术及压电陶瓷材料的发展,使超声检测技术得到了迅速的发展。在无损探傷,测温,测距,流量测量,液体成分测量,岩体检测等方面,新的超声检测仪表不断出现,超声波广泛地应用在各种领域中。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。主要用于智能玩具车自动避开障碍物前进,汽车倒车时提醒司机后方是否有障碍物等,本文介绍的就是其在倒车测距中的应用。
2 总体方案的设计
2.1 方案论证
为研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一、是用电气方式产生超声波;二、是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同,目前较为常用的是压电式超声波发生器。所以在本设计中我们选择压电式超声波发生器。其利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。其内部结构图如图2.1所示:
2.2 系统分析与介绍
超声波倒车雷达在生活中应用广泛,非常具有实际意义,本系统要求倒车雷达的测量距离是0.1m~10m,精度小于±1cm;能显示距离且有语音播报距离功能;在不同距离用不用颜色的LED灯指示,提醒障碍物距离是处在危险距离、或是保持距离、或是安全距离;图2.2是系统整体框图:
本测距仪以ATmega16做为控制核心,用单片机定时器产生40KHz的方波信号,通过驱动电路把超声波发射出去,当单片机接收到接收器送回的信号后,计算出障碍物的距离,用LCD12864显示出距离,同时控制语音芯片APR9600播报距离。经过实验发现超声波测距仪能测量较远的距离时,就非常难测到0.1m短距离,为了能符合测距仪的要求,在系统中我们使用了两套超声波测距仪,一套做近距离测量,一套用于远距离测量;默认方式为远距离测量,当距离变小时就换用另一套来测量;语音芯片APR9600的并行录音最多只能分8段,无法满足要求,所以本系统也是采用两套一样的APR9600模块,总共16段录音,协同单片机完成声音播报功能。
2.3超声波测距仪原理
2.3.1测量原理
超声波是指频率高于20KHz的机械波。本设计中使用超声波探头来发射与接受,发射频率是40KHz。超声波发射器定期发出的超声波,遇到障碍物时就反射,反射信号经超声波接收并转化为电信号,让单片机测出发射与接收到时间差T,若超声波的传播速度为 C,则与障碍物的距离为:
由于超声波是一种声波,其声速与温度有关,C≈331.45十0.6* t,t为摄
氏温度,所以在实际应用中,要根据环境温度的变化,对声速进行补偿,以减小误差。
2.3.2超声波测距盲区分析
由于超声波测距仪的发射头和接收头之间一般安装得都比较近,超声波发射器发射信号后还有余震,如果处理不好此时接收器就会接收到的信号,从而测出不正确的数据,所以在发射器发射超声波后必须延时一小段时间,避免发射信号直接被接受器就收,而这一小段延时时间就引入一段无法测量的距离,即所谓的盲区。障碍物只有在盲区之外才能正确测量出距离。
3 系统硬件设计
3.1 主控MCU
本设计以ATmega16为控制核心,ATmega16是基于增强型低功耗8位 CMOS微控制器,它具有如下特点:具有16K字节的系统内可编程Flash,512字节EEPROM,1K字节SRAM,32个通用I/O 口线,32个通用工作寄存器,8 路10位ADC,其相对传统51单片机硬件资源丰富。总共有40个引脚,其各端口的详细功能可以参考ATmega16芯片手册。
3.2 LCD显示
建立一个良好人机交换界面在近年来越来越重要,而LCD显示模块应用最为普遍,如我们平时使用得比较多的1602,12864等,本测距仪要求能显示中文字幕,故我们选择显示功能比较强大的点阵汉字图形显示模块LCD12864。它可以显示汉字和图像,与单片机有并行和串行两种连接接口,在本测距仪使用串行连接方式,只需连接RS、R/W、EN共三个控制引脚就可以完成显示功能。
3.3 语音播报电路
APR9600语音录放芯片是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放32-60秒,串行控制时可分256段以上,并行控制时最大可分8段,与ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点。
在本设计我们选择并行控制,分八段录音模式,由于需要录下“0-10”,“点”“米”总共13段录音,所以一片APR9600没办法实现,必须再加一片来完成13个声音的录音。为了节约单片机接口,我们采用74LS154译码器来完成对13段录音的播放控制,只用了单片机的4个I/O口。APR9600直接推动喇叭的声音比较小,为了需要较大的声音可以加一级音频功放,选用LM386集成功放对语音芯片输出信号进行功率放大。 3.4 超声波测距发射接收电路
3.4.1 超声波发射驱动电路
测距仪使用了两套超声波发射模块,一套小功率发射测量短距离,其发射部分驱动电路图如图3.4.1所示,一套大功率发射測量远距离,其发射部分驱动电路图如图3.4.2所示。
远近距离的测量发射模块在原理上基本上是差不多的,都是由单片机产生40KHz到方波,然后控制三级管的导通截至,使超声波能够起振,把超声波发射出去。三级管是电流控制器件,在放大区基级电流决定集电极和发射级的电流,在近距离测量发射模块中基级限流电阻是1K而远距离测量发射模块是560欧姆,可见远距离发射测量发射模块的发射功率较大。故能测量的距离较远。
3.4.2 超声波接收电路
两套超声波的差别仅是在发射部分到发射功率上,接收部分所用的电路原理元件参数都是一样的,原理图如图3.4.2所示。
图中的CX20106A是一款红外线检波接收的专用芯片,其个引脚功能图表3.4所示,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与超声波频率40KHz较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。R2和C9是控制CX20106 内部放大增益,R6控制带通滤波器的中心频率,适当改变C9的大小,可改变接受电路的灵敏度和抗干扰能力。
当超声波接收到信号后,经过CX20106放大、滤波、整形会在第7脚产生一个低电平,单片机用端口扫描法及时检查出该下降信号,马上停止定时器计数,读出计数值并转换为时间T,用公式2-3-1计算出障碍物的距离,式中C≈331.45十0.6* t(t是环境温度),然后在显示器上显示并播报数据。
3.3 温度补偿部分
超声波之所以需要温度补偿是因为超声波在空气中传播的速度受温度的影响比较大,为提高测量精度温度补偿是必不可少的部分,这里我们使用比较常见且易于控制的集成数字温度传感器DS18B20来测量温度。
4 软件设计
程序的总体思路:用定时器0和定时器2的比较匹配方式产生40KHz的方波,发几个周期驱动超声波发射电路,把超声波发射出去,此时打开定时器1从初值0开始计数,超声波接收电路一旦收到回波,立即停止计数,读出这个时候的计数值并换算出时间间隔,计算出障碍物的距离,如果在一定时间内没有扫描到低电平,就提示出错。在系统中我们用了两套超声波,定时器2是给远距离的测量发射电路提供40KHz的方波,定时器0是给近距离的测量发射电路提供40KHz的方波,在进入程序时默认使用远距离测量超声波收发模块,如果发现测量距离低于某个值就立即更换使用近距离测量超声波收发模块,同样如果近距离测量模块测得的数据大于某个值,就立即更换为远距离测量模块,如此协调工作,保证系统稳定,测量精确。
5 系统测试
连接好电路各部分,上电测试数据如下所示,测试条件1:室外、温度34.6摄氏度,40cm×40cm木板做为反射板,数据如表5.1所示。
参考文献:
[1]沈文,Eagle lee,詹卫前.AVR单片机C语言开发入门指导.北京.清华大学出版社.2003
[2] 沈文.AVR单片机C语言开发入门指导[M].北京:清华大学出版社.2005
1 引言
近年来,由于电子技术及压电陶瓷材料的发展,使超声检测技术得到了迅速的发展。在无损探傷,测温,测距,流量测量,液体成分测量,岩体检测等方面,新的超声检测仪表不断出现,超声波广泛地应用在各种领域中。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。主要用于智能玩具车自动避开障碍物前进,汽车倒车时提醒司机后方是否有障碍物等,本文介绍的就是其在倒车测距中的应用。
2 总体方案的设计
2.1 方案论证
为研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一、是用电气方式产生超声波;二、是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同,目前较为常用的是压电式超声波发生器。所以在本设计中我们选择压电式超声波发生器。其利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。其内部结构图如图2.1所示:
2.2 系统分析与介绍
超声波倒车雷达在生活中应用广泛,非常具有实际意义,本系统要求倒车雷达的测量距离是0.1m~10m,精度小于±1cm;能显示距离且有语音播报距离功能;在不同距离用不用颜色的LED灯指示,提醒障碍物距离是处在危险距离、或是保持距离、或是安全距离;图2.2是系统整体框图:
本测距仪以ATmega16做为控制核心,用单片机定时器产生40KHz的方波信号,通过驱动电路把超声波发射出去,当单片机接收到接收器送回的信号后,计算出障碍物的距离,用LCD12864显示出距离,同时控制语音芯片APR9600播报距离。经过实验发现超声波测距仪能测量较远的距离时,就非常难测到0.1m短距离,为了能符合测距仪的要求,在系统中我们使用了两套超声波测距仪,一套做近距离测量,一套用于远距离测量;默认方式为远距离测量,当距离变小时就换用另一套来测量;语音芯片APR9600的并行录音最多只能分8段,无法满足要求,所以本系统也是采用两套一样的APR9600模块,总共16段录音,协同单片机完成声音播报功能。
2.3超声波测距仪原理
2.3.1测量原理
超声波是指频率高于20KHz的机械波。本设计中使用超声波探头来发射与接受,发射频率是40KHz。超声波发射器定期发出的超声波,遇到障碍物时就反射,反射信号经超声波接收并转化为电信号,让单片机测出发射与接收到时间差T,若超声波的传播速度为 C,则与障碍物的距离为:
由于超声波是一种声波,其声速与温度有关,C≈331.45十0.6* t,t为摄
氏温度,所以在实际应用中,要根据环境温度的变化,对声速进行补偿,以减小误差。
2.3.2超声波测距盲区分析
由于超声波测距仪的发射头和接收头之间一般安装得都比较近,超声波发射器发射信号后还有余震,如果处理不好此时接收器就会接收到的信号,从而测出不正确的数据,所以在发射器发射超声波后必须延时一小段时间,避免发射信号直接被接受器就收,而这一小段延时时间就引入一段无法测量的距离,即所谓的盲区。障碍物只有在盲区之外才能正确测量出距离。
3 系统硬件设计
3.1 主控MCU
本设计以ATmega16为控制核心,ATmega16是基于增强型低功耗8位 CMOS微控制器,它具有如下特点:具有16K字节的系统内可编程Flash,512字节EEPROM,1K字节SRAM,32个通用I/O 口线,32个通用工作寄存器,8 路10位ADC,其相对传统51单片机硬件资源丰富。总共有40个引脚,其各端口的详细功能可以参考ATmega16芯片手册。
3.2 LCD显示
建立一个良好人机交换界面在近年来越来越重要,而LCD显示模块应用最为普遍,如我们平时使用得比较多的1602,12864等,本测距仪要求能显示中文字幕,故我们选择显示功能比较强大的点阵汉字图形显示模块LCD12864。它可以显示汉字和图像,与单片机有并行和串行两种连接接口,在本测距仪使用串行连接方式,只需连接RS、R/W、EN共三个控制引脚就可以完成显示功能。
3.3 语音播报电路
APR9600语音录放芯片是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放32-60秒,串行控制时可分256段以上,并行控制时最大可分8段,与ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点。
在本设计我们选择并行控制,分八段录音模式,由于需要录下“0-10”,“点”“米”总共13段录音,所以一片APR9600没办法实现,必须再加一片来完成13个声音的录音。为了节约单片机接口,我们采用74LS154译码器来完成对13段录音的播放控制,只用了单片机的4个I/O口。APR9600直接推动喇叭的声音比较小,为了需要较大的声音可以加一级音频功放,选用LM386集成功放对语音芯片输出信号进行功率放大。 3.4 超声波测距发射接收电路
3.4.1 超声波发射驱动电路
测距仪使用了两套超声波发射模块,一套小功率发射测量短距离,其发射部分驱动电路图如图3.4.1所示,一套大功率发射測量远距离,其发射部分驱动电路图如图3.4.2所示。
远近距离的测量发射模块在原理上基本上是差不多的,都是由单片机产生40KHz到方波,然后控制三级管的导通截至,使超声波能够起振,把超声波发射出去。三级管是电流控制器件,在放大区基级电流决定集电极和发射级的电流,在近距离测量发射模块中基级限流电阻是1K而远距离测量发射模块是560欧姆,可见远距离发射测量发射模块的发射功率较大。故能测量的距离较远。
3.4.2 超声波接收电路
两套超声波的差别仅是在发射部分到发射功率上,接收部分所用的电路原理元件参数都是一样的,原理图如图3.4.2所示。
图中的CX20106A是一款红外线检波接收的专用芯片,其个引脚功能图表3.4所示,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与超声波频率40KHz较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。R2和C9是控制CX20106 内部放大增益,R6控制带通滤波器的中心频率,适当改变C9的大小,可改变接受电路的灵敏度和抗干扰能力。
当超声波接收到信号后,经过CX20106放大、滤波、整形会在第7脚产生一个低电平,单片机用端口扫描法及时检查出该下降信号,马上停止定时器计数,读出计数值并转换为时间T,用公式2-3-1计算出障碍物的距离,式中C≈331.45十0.6* t(t是环境温度),然后在显示器上显示并播报数据。
3.3 温度补偿部分
超声波之所以需要温度补偿是因为超声波在空气中传播的速度受温度的影响比较大,为提高测量精度温度补偿是必不可少的部分,这里我们使用比较常见且易于控制的集成数字温度传感器DS18B20来测量温度。
4 软件设计
程序的总体思路:用定时器0和定时器2的比较匹配方式产生40KHz的方波,发几个周期驱动超声波发射电路,把超声波发射出去,此时打开定时器1从初值0开始计数,超声波接收电路一旦收到回波,立即停止计数,读出这个时候的计数值并换算出时间间隔,计算出障碍物的距离,如果在一定时间内没有扫描到低电平,就提示出错。在系统中我们用了两套超声波,定时器2是给远距离的测量发射电路提供40KHz的方波,定时器0是给近距离的测量发射电路提供40KHz的方波,在进入程序时默认使用远距离测量超声波收发模块,如果发现测量距离低于某个值就立即更换使用近距离测量超声波收发模块,同样如果近距离测量模块测得的数据大于某个值,就立即更换为远距离测量模块,如此协调工作,保证系统稳定,测量精确。
5 系统测试
连接好电路各部分,上电测试数据如下所示,测试条件1:室外、温度34.6摄氏度,40cm×40cm木板做为反射板,数据如表5.1所示。
参考文献:
[1]沈文,Eagle lee,詹卫前.AVR单片机C语言开发入门指导.北京.清华大学出版社.2003
[2] 沈文.AVR单片机C语言开发入门指导[M].北京:清华大学出版社.2005