当前位置:首页 > 基于51单片机的超声波测距系统
(一) 设计目的
(二)
采用超声波测量距离的方法,实时检测现场温度用以实现实际波速的校准,减小温度对测距产生的误差,最终由LCD液晶显示所测距离、温度及对应的波速,测量范围为7cm~1m,误差±2cm。
(二 )方案论证
常用的测距方式主要有雷达测距、红外测距、激光测距和超声波测距等4种。雷达测距对天气的依赖性较强,且成本较高;红外测距量范围窄;激光测距精度高、抗干扰能力强但成本高,且光学系统需要细心维护;超声波测距指向性强、传输距离远、受环境影响小、传输时间容易检测,而且超声波传声器结构简单、行能可靠、成本低、易集成,因此本设计采用超声波测距的方式进行距离测量。
在常温下,超声波的传播速度为340m/s,但其传播速度V易受到空气中的温度、湿度、压强等因素的影响,其中温度的影响最大。一般温度每升高1摄氏度,声速增加约为0.6m/s。表1为超声波在不同温度下的波速值。
表1 一些温度下声速 温度T/℃ -30 -20 -10 0 10 20 344 30 350 声速v/m·s-1 313 319
322 331 337 - 1 -
由此可见温度对超声波测距系统的影响是不可忽略的。为了得到较为精确的测量结果,必须对波速进行温度补偿。通过实验可获得波速与温度之间的经验模型:V=331.5+0.607T,T为现场温度,V为实际波速。从式中可看出,要获得精确的波速值,必须首先获取现场温度T的大小。本设计采用ds18b20检测现场温度,用以实现实际波速的校准。
超声波测距原理
超声波传感器分机械方式和电气方式两类,它实际上是一种换能器,在发射端它把电能或机械能转换成声能,接收端则反之。本次设计超声波传感器采用电气方式中的压电式超声波换能器,它是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器。在超声波电路中,发射端输出一系列脉冲方波,脉冲宽度越大,输出的个数越多,能量越大,所能测的距离也越远。超声波发射换能器与接收换能器其结构上稍有不同,使用时应分清器件上的标志。超声波测距的方法有多种:如往返时间检测、相位检测法、声波幅值检测法。本实验采用往返时间检测法测距。其原理是超声波传感器发射一定频率的超声波,借助空气媒质传播,到达测量目标或障碍物后反射回来,经反射后由超 声波接收器接收脉冲,其所经历的时间即往返时间,往返时间与超声
- 2 -
波传播的路程的远近有关。测试传输时间可以得出距离。
假定s为被测物体到测距仪之间的距离,测得的时间为t/s。超声波传播速度为v/m·s-1表示,则有关系式(1)
s=vt/2 (1)
温度补偿及其原理
目前,大多数温度测控系统在进行温度测量时,通常采用模拟式温度敏感元件,如热电阻、热电偶、红外测温仪等,将温度转化为电信号,经过信号放大电路放大到合适的范围,再由A/D转换为数字量。此种形式的温度测量结构复杂,测量精度易受原器件参数影响。 DS18B20是Dallas公司开发的1-wire(单总线)高精度数字式半导体温度传感器,它具有节省I/O口弦资源,结构简单,成本低廉,精度高,便于总线扩展和维护等诸多特点。1-wire是将数据线、控制线、地址线合为1根信号线。
DS18B20的测温原理如图1所示,图1中低温度系数的晶振的振荡频率受温度很小,用于产生固定频率的脉冲信号送给计数器1,高温度系数晶振随温度变化其振荡频率明显改变,产生的信号作为计数器2的脉冲输入图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入计数器1和温度寄存器中,计数器1的温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1
- 3 -
的预置值减到0时温度寄存器的值将加1,计数器1的预置将重新被装入,重新开始对低温度系数晶振产生的脉冲进行计数。如此循环直至计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图1中的斜率累加器用于补偿和修正测温过程中振荡器温度特性的非线性,以产生高分辨率的温度测量。其输出用于修正计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。由经验公式V=331.5+0.607T得出现场波速,实现温度补偿。
斜率累加器预置计数比较器低温度系数振荡器计数器1预置减到0温度寄存器高温度系数振荡器计数器2减到0停止
图1
另外,由于DS18B20单总线通信功能是分时完成的,因此他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
- 4 -
共分享92篇相关文档