1单片机实现测距原理
单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差tr,然后求出距离S=Ct/2,式中的C为超声波波速。
限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。由于超声波属于声波范围,其波速C与温度有关,表1。列出了几种不同温度下的波速。
在测距时由于温度变化,可通过温度传感器自动探测环境温度、确定计算距离时的波速C,较精确地得出该环境下超声波经过的路程,提高了测量精确度。波速确定后,只要测得超声波往返的时间r,即可求得距离5。其系统原理框图如图2所示。
单片机(AT89C51)发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LED显示电路进行显示,若测得的距离超出设定范围系统将提示声音报警电路报警。
AT89C51通过外部引脚P2.0输出脉冲宽度为25/us、载波为40kHz的超声波脉冲串,加到射随器的基级,经功率放大推动超声波发射器发射出去。超声波接收器将接收到的反射超声波送到放大器进行放大,然后用锁相环电路进行检波。经处理后输出低电平,送到AT89C51的引脚。
利用该原理设计的实例:汽车防撞雷达
2 系统硬件设计
汽车防撞雷达可以帮助驾驶员及时了解车周围阻碍情况,防止汽车在转弯、倒车等情况下撞伤、划伤。其接收部分硬件电路如图3所示,发射、预置\控制、显示部分硬件电路如图4所示。
sP3.2,提供给软件进行处理。经过AT89C51对接收到的信息进行处理后,被测的距离茬LED上显示,显示的数据由串口线RXD和TXD输出到74LSl64,转化为并行数据控制LED的显示,采用动态显示。两位LED可表示4.9~0.1 m的距离,满足显示精度;若该距离小于预置的汽车低速安全刹车范围(如:1 n)或0.5m),报警电路发出适当的警告提示音,由P2.1的输出控制报警电路的工作。
3 系统软件设计
汽车防撞雷达根据超声测距原理用AT89C51单片机开发设计。整个软件采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。
软件设计的主要思路是将预置、发射、接收、显示、声音报警等功能编成独立的模块,在主程序中采用键控循环的方式,当按下控制键后,在一定周期内,依次执行各个模块,调用预置子程序、发射子程序、查询接收子程序、定时子程序,并把测量的结果进行分析处理,根据处理结果决定显示程序的内容以及是否调用声音报警程序。当测得距离小于预置距离时,声音报警程序被调用。图5所示为程序的流程图。
4 结 语
利用51系列单片机设计的测距仪便于操作、读数直观。经实际测试证明,该类测距仪工作稳定,能满足一般近距离测距的要求,且成本较低、有良好的性价比。由于该系统中锁相环锁定需要一定时间,测得的距离有误差,在汽车雷达应用中此误差为3C111可忽略不计;但在精度要求较高的工业领域如机器人自动测距等方面,此误差不能忽略,只有通过改变--些硬件的应用实现对超声波的快速锁定,使误差进一步减小到0.31llnl,可以满足更高要求。