图2.1 超声波测距系统原理图
3 系统硬件电路设计
3.1 总体方案设计
本设计由硬件和软件两大部分组成。硬件部分采用模块化设计,由电源电路、超声波测距电路、报警电路、数码管显示电路等模块组成。该设计的主控制模块为STC89C52芯片,它是本系统的核心单元,实现着对各个子模块的控制,所以该系统也是基于单片机系统的一个拓展[6]。超声波信号通过超声波模块中的发射电路发射到空气中,遇到被测物体,超声波立即反射回来,接收电路接收超声波信号。进行相关处理后,输入单片机的INT0脚产生中断,算出超声波在传输过程中花费的时间,再调用距离计算公式就可以得到被测距离,然后在数码管上显示相应的距离。在此基础上,本系统还设计了报警模块,只需预先设定一个报警值,当测得距离小于设定报警值时,STC89C52发出指令控制蜂鸣器报警。本设计软件部分主要有主程序、超声波发射与接受子程序、测距程序及数码管显示子程序,报警子程序。从实验结果分析看,该系统可以实现小范围的测距,其整体设计框图如图3.1所示:
系统整体设计框图
3.2 主要元器件介绍
该超声波测距系统的硬件电路采用3节5号干电池(共4.5V)供电,以STC89C52芯片为主控制芯片。采用12MHZ晶振,单片机的INT0口输出40KHz方波信号,将该信号送入超声波模块进行工作,控制超声波信号的接收和发射,再调用测距公式进行相关的处理以及计算,最后将实测距离送入显示电路,在数码管上清晰的清晰明了的显示出距离。并在该电路中添加了蜂鸣器外围电路以实现报警功能。电路中设计了电源工作指示灯,以确保电路带电工作。并在电路中设有复位开关,在电路中还设计了调节按键,一个设定键, 一个加键,一个减键,用它们来预设定报警值[7]。
3.3 电源电路设计
电源部分的设计采用3节5号干电池(共4.5V)外接,通过电源接头提供给电路板。图中P2为电池盒接口,SW1为电源开关,用来接通和断开电源。
3.4 超声波模块设计
超声波模块采用了HC-SR04超声波测距模块,该模块可以提供非接触式测距,测量范围为2cm-400cm,测距精度较高可达3mm。该超声波模块中包含了发射电路、接受电路以及控制电路[8]。
该超声波模块采用IO口TRIG启动测距功能。该模块自己产生信号,以供测距使用,其产生40KHz的方波送入超声波发射电路中,使它开始工作,当在测距过程中,碰到障碍物,则立即反射回来,超声波接受电路进行工作。源[自*751^`论/文'网·www.751com.cn/
在该模块开始工作时,它的一个控制口发送一个10us以上的高电平,在测量后,模块中的接收口等待高电平输出。一接受到模块的输出,定时器开始工作,开始计数,当此接收口变为低电平时,则可停止计时,读取计数器的值,此时则算出测距的时间,根据相关公式,就可以得到测距距离。其实物如图3.3所示[9]。
图3.3 超声波模块实物图
超声波模块有四个接口,分别为VCC,TRIG,ECHO,GND。其中VCC 接电源,GND 接地,TRIG为信号发射端,ECHO 为信号接收端。该模块中的测距功能由两个子函数实现。首先采用定时器0进行定时测量,8分频,TCNTT0预设值0XCE,当timer0溢出中断发生2500次时为125ms,计算公式为(单位:ms):
T = (定时器0溢出次数 * (0XFF - 0XCE))/ 1000
其中定时器0初值和分频结果有关,分频不同,定时器的初值则不同。