超声波测距是一种典型的非接触测量方式。超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强。且超声波测距系统结构简单、电路易实现、成本低、速度快,所以在工业自动控制、建筑工程测量和机器人视觉识别等领域应用非常广泛。
3 软件算法
3.1 基本流程
系统以STM32 单片机为核心,实现对各部分的控制和响应。测距软件的基本流程:首先使用美国DALAS 公司生产的DS18B20 数字温度传感器测量环境温度,通过查找事先建立好的声速-温度对照表得到当前声速;开启计数器计时,同时通过STM32 的PWM 模块产生8 个周期40 KHz 的脉冲方波和输入捕捉模块捕获超声波回波。待回波进入接收电路,经放大/ 整形等硬件处理后,进入单片机。单片机捕捉到回波的
触发信 ,并记录产生下降沿的时刻;经过软件滤波,和峰值时间检测算法,得到峰值时刻作为回波到达的时刻,最后计算距离。软件流程如图5 所示。

由表1 中数据可知:一方面,由于采用了峰值时间检测技术,使得系统的盲区很小;另一方面,在所测量程内,由于采用了时间增益补偿技术,使得测量误差并没有随着距离的增大而增大。
以下是我的stm32代码,可以去连接下载,有点小问题:https://download.csdn.net/download/leva345/37549084
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!