1.实验环境
硬:AC101-EDA开发板,HC_SR04传感器
软:Quartus ll
2.实验原理
HC-SR04传感器原理
①HC-SR04超声波传感器概述:
HC-SR04超声波距离传感器的核心是两个超声波传感器。一个用作发射器,将电信号转换为40 KHz超声波脉冲。接收器监听发射的脉冲。如果接收到它们,它将产生一个输出脉冲,其宽度可用于确定脉冲传播的距离。就是如此简单!该传感器体积小,易于在任何机器人项目中使用,并提供2厘米至400厘米(约1英寸至13英尺)之间出色的非接触范围检测,精度为3mm。
②HC-SR04超声波传感器引脚:
-
VCC 是HC-SR04超声波距离传感器的电源
-
Trig 引脚用于触发超声波脉冲
-
Echo 回声当接收到反射信号时,引脚产生一个脉冲。脉冲的长度与检测发射信号所需的时间成正比
-
GND 用于接地
③HC-SR04超声波传感器工作原理:
当持续时间至少为10 µS(10微秒)的脉冲施加到触发引脚时,一切就开始了。响应于此,传感器以40 KHz发射八个脉冲的声音脉冲。这种8脉冲模式使设备的“超声特征”变得独一无二,从而使接收器能够将发射模式与环境超声噪声区分开。八个超声波脉冲通过空气传播,远离发射器。同时,回声引脚变为高电平,开始形成回声信号的开始。如果这些脉冲没有被反射回来,则回波信号将在38毫秒(38毫秒)后超时并返回低电平。因此38 ms的脉冲表示在传感器范围内没有阻塞。
如果这些脉冲被反射回去,则在收到信号后,Echo引脚就会变低。这会产生一个脉冲,其宽度在150 µS至25 mS之间变化,具体取决于接收信号所花费时间。
HC-SR04的时序图如下
然后,将接收到的脉冲的宽度用于计算到反射物体的距离。这可以通过我们在初中学到的简单的距离-速度-时间方程来解决。
距离=速度x时间,当然温度,以及环境噪声等对实验结果都有影响,因此公式应在不同环境下进行修改
整体测距原理
3.实验设计
模块设计方面
主要分为五个模块:
-
trig_driver 输出控制模块:主要负责控制 10μS 持续电平输出,按照系统设计,平均每 1s 先等待 10μS,信号稳定后输出 10μS 持续电平
-
echo_driver 信号输入转换:输入信号处理,回响电平输出与检测距离正比,通过计算输出距离数据
-
time_counter 计时模块:通过计时给出需要输出电平、数吗管段选位移或进行数据处理的信号
-
seg_drver 数码管显示模块:计算得到数码管需要输出的内容并实时显示
-
HC_SR_top 顶层模块:将上述模块连接起来,作为系统的顶层模块
项目代码:
链接:https://pan.baidu.com/s/1F0YsaOJohtgxW_j2f_3VQQ?pwd=9ive
提取码:9ive
系统架构方面
4.实验效果
烧录测试:
5.总结
本次实验的收获就是对于超声波模块有了一定的认识和掌握,也能做到触类旁通,除了用fpga来实现外,用stm32的板子来实现超声波测距也没太大问题。然后本次实验的难点就是数码管模块和串口模块等具体的fpga代码编写,自己一个人写代码从无到有,很难实现,需要网上借鉴参考,进行改进。
6.参考
https://blog.csdn.net/m0_59161987/article/details/130788410?spm=1001.2014.3001.5502