超声波作为一种特殊的声波,由于其指向性强,在空气中传播速度相比光速要小很多,其传播时间容易检测,因此,目前超声波测距中广泛采用回波-渡越时间方法[1],即检测从超声波发射器发出的超声波,经气体介质传播到接收器的时间即为渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。该测试方法对于超声波探头的要求相对比较高,不适合做长距离测量。本文设计的超声波测距仪主要用于长度超过10 m的远距离测量,而且要求可靠性高、稳定性好。故本文采用红外与超声波相结合的设计方案以实现这一功能。
1 超声波的测距原理
超声波发生器内有一个共振板和两个压电晶片,当它的外加脉冲信号频率等于压电晶片的固有频率时,压电晶片会产生共振,并带动共振板一起振动,这样就产生了超声波[2]。在电路中, 本文采用红外结合超声波的方式来实现测距主要是利用红外传输的快速性、及时性的特点,使用对板发射、接收来实现测距,以解决利用反射原理实现的超声波要经过反射而损耗大量能量导致测量距离比较短的问题。在系统设计中,首先,设定两块板为主从板,主板先发射,从板处于接收状态。主板发射完毕后切换模式为接收状态,从板相反。由于红外的传输速度为光速,可以认为是无穷大,从板一捕获到红外信号即可开启计数器计数,等再次捕获到超声波信号时,停止计数。其间的时间差,即为超声波的传输时间T,则计算的距离S=V×T。
2 系统软硬件设计
系统硬件结构分为单片机控制超声波的发射、接收波的放大、数据处理和显示4个部分。其结构如图1所示。
2.1 红外和超声波发射电路设计
在超声波测距系统中, 40 kHz的超声波信号是最理想的信号,而红外的最佳频率为38 kHz。其硬件组成电路如图2所示。在超声波发射电路中,由R4、C9和D1构成D-R-C吸收电路来保证三极管Q1能够稳定可靠地工作,而不会损坏。红外的38 kHz和超声波的40 kHz频率的方波由STM8单片机的定时器产生。图3为超声波电路中L2和超声波探头P1以及C10共振的波形图,衰减了10倍。图4为红外发射波形图。
2.2 红外和超声波接收电路设计
本系统中红外接收电路主要由HS0038B红外接收管和R32、C23和R33构成,取得的红外信号IRR直接输入STM8单片机的捕获功能引脚作为计数器的启动信号,红外接收电路如图5所示。红外信号接收管HS0038B接收到红外信号输入STM8单片机的捕获中断引脚后经过滤波处理和判定为有效值时,即开启计数器开始计时。
超声波接收电路主要由接收头、三级三极管放大电路和包络检波电路、滤波电路等组成,其电路如图6所示。当接收到超声波信号时,计数器立即停止计数以计算出时间差T。
图7为超声波接收端波形放大及经典的二极管检波电路之后输出的超声波接收端信号波形,其通过比较器输入到STM8单片机的另一个捕获引脚来控制定时器的停止。
2.3 系统软件设计
STM8单片机控制器主要完成红外和超声波的中断响应、发射定时以及产生38 kHz和40 kHz的方波来驱动各自的三极管以及红外与超声波接收信号的滤波、数据处理、距离计算和实测距离的显示。系统程序流程如图8所示。
本红外-超声波系统主要应用在工业梁上的运动吊车上。经实践应用证明,该系统测量距离可满足大于10 m的要求,克服了反射式超声波测距仪测量距离只能达到5 m左右的问题,同时消除了反射式超声波测距仪存在的测量盲区,测量精度小于1 cm,可靠性高,超过了实际的应用要求。初步可以满足产业化的需要,经改进可升级成智能化的超声波测距仪。
关键字:STM8 红外与超声波 测距仪
引用地址:
基于STM8的红外与超声波结合测距仪
推荐阅读最新更新时间:2024-03-16 15:10
STM8 UART 接收器
STM8 UART 接受器 UART可以接收8位或9位的数据字。如果M位置1,字长为9位,其中MSB存放在寄存器UART_CR1的R8位。 字符接收 在UART接收期间,数据的最低有效位首先从RX脚移进。在此模式里,UART_DR寄存器有一个缓冲器(TDR),位于内部总线和接收移位寄存器之间。 配置步骤: 1.编程UART_CR1的M位来定义字长。 2.在UART_CR3中编程停止位的位数。 3.按下列顺序编写波特率寄存器选择要求的波特率。 a) UART_BRR2 b) UART_BRR1 4.将UART_CR2的REN置1。这将激活接收器,使它开始寻找起始位。 当一字符被接收到时 RXNE位被置位。它表明移位寄存的
[单片机]
STM8 时钟修改
系统功能 对STM8的时钟修改,并用LED进行显示,观察LED的闪烁速度是否有变化。 硬件设计 LED控制电路原理图 软件设计 /********************************************************************* 微 雪 电 子 WaveShare http://www.waveShare.net 目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 说 明: 若用于商业用途,请保留此段文字或注明代码来源 深 圳 市 微 雪 电 子 有 限 公 司 保 留 所 有 的 版 权 *******************************
[单片机]
基于使用STM8单片机I2C方式实现读写操作
STM8硬件I2C知识 STM8S的I2C模块不仅可以接收和发送数据,还可以在接收时将数据从串行转换成并行数据,在发送时将数据从并行转换成串行数据。可以开启或禁止中断。接口通过数据引脚(SDA)和时钟引脚(SCL)连接到I2C总线。允许连接到标准(最高100kHz)或快速(最高400kHz)的I2C总线。 1.I2C的4种模式 ● 从设备发送模式 ● 从设备接收模式 ● 主设备发送模式 ● 主设备接收模式 2.I2C的主要特点 ● 并行总线/I2C总线协议转换器 ● 多主机功能:该模块既可做主设备也可做从设备 ●I2C主设备功能 ─ 产生起始和停止信号 ●I2C从设备功能 ─ 可编程的I2C 地址检测 ─ 停止位检测 ● 产
[单片机]
STM 8 AD 转换问题
其它的设置都很简单,仅需注意一个地方:开启AD转换时要延迟一下,延迟后需再开启一次方可。main中如下: ADC_CR1|=0x01; //启动转换 DelayMS(1); ADC_CR1|=0x01; //启动转换 important while(!(ADC_CSR&0x80)); // 等待ADC结束 ADC_CSR &= 0X7F; //清除中断标志
[单片机]
STM8单片机按键检测电路设计
硬件环境采用STM8SF103,电压为3.3V。 电路需要注意的是STM8SF103这系列的IO作为输入口时只能是上拉输入和悬浮输入,虽然是弱上拉,在VCC为3.3V电压时,仍然能够被拉升至3.0V左右。 所以按键检测电路IO口一端需要接地,而不是外接上拉。悬浮方式下IO仍然会有0.89V左右电压,读取对应的IO寄存器IDR,仍然处于逻辑高电平状态。 软件代码相对很简单,只需要将IO口设置成上拉输入即可。采用轮询代码如下: //初始化只需要设置IO口模式即可。 GPIO_Init(KEY2_PORT,KEY2_PIN,GPIO_MODE_IN_PU_NO_IT);//上拉输入,不产生中断 //按键检测部分 /* #
[单片机]
基于温度补偿的超声波倒车测距仪的研制
超声波具有方向性好,穿透能力强,易于获得较集中的声能,根据超声波这些特性进行障碍物有效距离的探测已在很多领域得到应用。不过,超声波在空中传播速度深受温度的影响,若不考虑此项因素,测量的精确度很难得到保证。 在这一汽车倒车测距仪的研制中,充分考虑到环境温度对超声波传播速度的影响,通过温度补偿方法予以校正,具有较高的测量精度,并能实时显示及语音播报车后障碍物距离,让司机视听结合,更加人性化。整机电路具有结构简单、工作稳定可靠、测量误差小等特点。 超声波倒车测距仪整机电路 本系统整机电路采用单片机AT89S52做主控单元,其他部分包括超声波发射模块、超声波接收模块、DS18B20温度补偿模块、液晶显示模块、语音播报模块
[单片机]
STM8 GPIO模式
GPIO_Mode_In_FL_No_IT 浮空输入无中断 GPIO_Mode_In_PU_No_IT 上拉输入无中断 GPIO_Mode_In_FL_IT 浮空输入有中断 GPIO_Mode_In_PU_IT 上拉输入有中断 GPIO_Mode_Out_OD_Low_Fast 开漏-输出低-高速 Output open-drain, low level, 10MHz GPIO_Mode_Out_PP_Low_Fast 推挽-输出低-高速 Output push-pull, low level, 10MHz GPIO_Mode_Out_OD_Low_Slow 开漏-输出低-低速 Output open-drain, lo
[单片机]
数字式超声波测距仪的研制
1 引言 超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强。超声波能以一定速度定向传播、遇障碍物后形成反射,利用这一特性,通过测定超声波往返所用时间就可计算出实际距离,从而实现无接触测量物体距离。超声波测距迅速、方便,且不受光线等因素影响,广泛应用于水文液位测量、建筑施工工地的测量、现场的位置监控、车辆倒车障碍物的检测、移动机器入探测定位等领域。本文设计的数字式超声波测距仪通过对超声波往返时间内输入到计数器特定频率的时钟脉冲进行计数,进而显示对应的测量距离。 2 超声波测距仪电路组成和工作原理 超声波测距仪由超声波发生电路、超声波接收放大电路、计数和显示电路组成。 2.1 超
[测试测量]