具有实时语音播报的超声波测距测速仪(C题)摘要:本文研究内容为实时语音播报的测距测速仪,利用超声波进行距离测量,测量精度在厘米级别,适用于近距离测距。本系统以STC12C5A60S为微处理芯片,其产生40kHz频率,再利用超声波换能器TCT40-16T产生超声波信号并发射出去,由TCT40-16R接收超声波信号,并利用超声波专用芯片CX20106A检波、处理超声波信号,最后发送给微处理器。微处理器通过计算得到与障碍物的距离,并通过所得距离计算出物体的移动速度。微处理器通过串口控制JQ6500语音模块。当微处理器计算得到障碍物的距离和物体移动速度时,微处理器发送指定的命令,驱动语音模块播放保存在FLASH中的语音,实现实时语音播报。关键词:STC12C5A60S2;JQ6500;超声波。具有实时语音播报的超声波测距速测速距仪(C题)-1-1系统方案设计1.1设计任务根据命题要求,设计并制作一台具有实时语音播报的超声波测距测速仪。A.具有超声波测距功能,测量距离0.2m~3.0m,测距精度±1cm;B.自动语音实时播报测量距离数值;实时播报时间间隔t≤10s;实时语音播报清晰明亮、无明显失真,在1米距离处人耳能准确分辨。C.实时显示测量的距离和速度,并且显示内容要与语音播报内容同步。1.2总体设计方案具有实时语音播报的超声波测距测速仪由6部分组成:超声波发射模块、超声波接收模块、51单片机最小系统、LCD1602显示模块、JQ6500语音播报模块、按键模块组成。图1-1超声波测距测速仪组成图1.3声波测速测距原理1.3.1声波测距原理超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到发射波就立即停止计时。假设超声波在空气中的传播速度为V,根据计时器记录的时间T,发射点距障碍物的距离S,如图1-2所示。单片机最小系统超声波接收模块显示模块语音播报模块超声波发射模块信号按键模块控制具有实时语音播报的超声波测距速测速距仪(C题)-2-TRMMSTRa图1-2声波测距示意图两探头中心距离的一半用M表示,超声波单程所走过的距离用L表示,可得:S=Lcosa(公式1-1)S=Larctan(MS)(公式1-2)在整个传播过程中,超声波所走过的距离为:2L=VT(公式1-3)由公式(公式1-1)、(公式1-2)、(公式1-3))可得:S=0.5VTcos[arctan(MS)](公式1-4)当被测距离S远远大于M时,上式变为:S=0.5VT(公式1-5)因为本设计测距精度为厘米级别,对误差要求不是很高,所以将声速取值为在20℃的时的传播速度,即V=344米/秒。1.3.2声波测速原理超声波发射器向某一方向发射超声波,超声波在空气中传播,途中碰到障碍物就立即返回来。如图1-4所示,其中S为测得物体与障碍物的距离,V0为车的速度,t0为超声波发射器发出一次超声波的间隔。物SV0图1-3声波测速示意图可得物体的速度V0:S−nt0V=V0t0(公式1-6)V0=S−nt0Vt0(公式1-7)具有实时语音播报的超声波测距速测速距仪(C题)-3-2硬件设计2.1电源稳压电路LM2940是常用的三端稳压器,能提供DC5.0V的输出电压,内含过流和过载保护电路。稳压电路的供电是由5节南孚电池组成,方便携带和使用。在LM7805的输入端并联了两个电容,一个是电解电容,一个是普通的电容,电解电容起到防止电流过大而烧坏芯片,而普通电容起到滤波作用。在输出端与地端接了一个LED和一个电阻,这样可以显示LM7805是否正常工作。图2-1稳压电路图2.2超声波发射与接收电路超声波发射模块是由超声波发射探头组成的,单片机的TXT端口直接发送40kHz的信号,直接驱动压电晶片使超声波换能器产生超声波,如图2-2所示。图2-2超声波发射电路图100NFRAD-0.1C210UFRB-2.0/4.0C1GNDVCC1GNDVCCVCC1F03MMD11KΩAXIAL-0.3R1VCCGND1GND1GND1SS12F44030201S1VCCGND010203042.54J301022.54J2TO-220-3LM7805LM7805GND5.0V02OT03IN01U1+TXHC_SRVCC10KΩ0805R4GNDTXT具有实时语音播报的超声波测距速测速距仪(C题)-4-超声波接收电路由超声波接收探头和超声波接收处理芯片组成。在接收电路中,使用超声波接收处理芯片CX20106A,由它处理40kHz的超声波信号。且这块芯片具有很强的抗干扰能力,因此增强了测量的精确度,增加一个电源指示灯,用来判断该模块是否接通。如图2-4所示。图2-3超声波接收点路示意图2.3显示电路图2-41602显示图其目的是用来显示所测得的距离和速度。其中LCD1602的DB0~DB7与微处理器P0口相连接,EN、RW、RS分别接P2.3~P2.5端口,用来传输数据。电位器R12用来调节液晶对比度,使LCD1602显示屏幕更加清晰明亮。微处理器将超声波接收器接收的信号进行处理,来驱动LCD1602显示当前距离S和速度V。CX2010A6IN01C102C203GND04FO05C306OUT07VCC08U1+RXHC_SR10KΩR210UFC2VCC200KΩR5100NFC110KΩR34.7KΩR110UFC3RXT101R11101R10101R9101R8101R7101R6101R5101R4101R3101R2101R1GNDVCC5VGND01VCC02VO03EN06DB007DB108DB209DB310DB411DB512DB613DB714BGND16RS04RW05BVCC15LCD1602LCD13296W10KΩR12010203040506070809101112132.54J1GNDVCC5V470AXIAL-0.3R13VCC5VGND具有实时语音播报的超声波测距速测速距仪(C题)-5-2.4声波测速测距语音播报电路图2-5语音播报电路图语音模块由电源指示灯、语音芯片、电容3部分组成。在电源处并联3个220μF的电解电容作用是用来储能放电,驱动喇叭正常工作。JQ6500是一个提供串口的MP3芯片,微处理器通过串口控制来实现语音播报。3软件模块3.1系统程序的结构A.测距测速模块,分为超声波发射控制程序、接收处理程序等;B.基于LCD显示模块,分为初始化程序、写入命令、读取子程序等;C.语音播报模块,分为初始化程序、按键控制、发送数据函数、语音播报等;D.主程序分为系统初始化以及各个子程序的调节管理等部分。如图3-1所描述各个模块的关系:MCULCD显示语音播报按键控制图3-1系统软件框图3.2主程序设计XH2.5401022.54J1VCCGNDGNDGND220UFC3VCCTxDRxDRxDTxDVCCGNDK501K402K303K204K105GND06ADKEY07BUSY08RxD09TxD10GND11VCC12ADC_R13ADC_L14SPK-15SPK+16JQ6500MOD1220UFC1220UFC2GNDVCC010203042.54J31KΩR1F03MMD1具有实时语音播报的超声波测距速测速距仪(C题)-6-开始发射信号等待回波YESNO数据运算中断服务显示语音播报图3-2主程序框图3.3LCD显示模块NO开始清屏检查忙信号写命令函数YES写数据函数显示数据图3-3LCD显示程序框图具有实时语音播报的超声波测距速测速距仪(C题)-7-3.4语音播报模块开始初始化检查按键是否按下YESNO发送数据函数喇叭播报图3-4语音播报模块程序框图4系统调试4.1测量距离测试测试方法:固定超声波发射和接收器,通过移动挡板来改变测量的距离。每改变一次挡板的位置,播报一次,并用直尺测量实际距离。测试结果如表1所列。表1距离测试表次数/n距离/m实际距离播报距离显示距离10.210.210.2120.500.490.4931.131.141.1441.751.751.7551.992.002.0062.682.672.67具有实时语音播报的超声波测距速测速距仪(C题)-8-测试结果分析:显示内容与语音播报内容同步,且播报清晰明亮、无明显失真,在1米距离处能准确分辨,语音播报距离和显示距离的测试值在实际距离附近,满足命题对误差精度所要求的低于±1cm。5实物图图5-1实物图