这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» FPGA» 基于FPGA的超声波测距

共114条 1/12 1 2 3 4 5 6 ›| 跳转至

基于FPGA的超声波测距

专家
2014-10-01 15:35:42 打赏
超声波测距: 平台:CycloneIV FPGA 开发板 开发环境:quartusII 11.1sp2 实现目标:利用超声波检测障碍物距离,然后用数码管显示。 一:超声波原理与FPGA 设计(1)超声波模块接线: +5V接VCC 触发信号输入(10us的TTL脉冲) Trig 回响信号输出(输出TTL电平信号,与射程成比例) OUT不接(也有些超声波没有这个引脚) GND接地 注意:不要带电连接。 (2)超声波模块时序图 需要提供一个短期的10us脉冲触发信号。该模块内部将发出8个40Khz周期电平并检测回波。一旦检测到有回波信号则输出回响信号,它是一个脉冲的宽度成正比的距离对象,为了保证发射信号对回响信号的影响,触发信号的周期最好60ms,太小了有影响,太大了测的不准。 FPGA 提供一个trig 信号,周期为60ms 左右,高电平为10us 然后就是检测echo 信号了,设回响电平的宽度为某x us ,计算为x /58 ,单位是cm ,即将测得的回响电平的宽度(us 单位),除以58 ,就得到了障碍物的距离。这个公式很好理解,其实就是我们在初中物理的一个回声的公式s=ct/2 我这里用了一个distance_cnt 来保存echo 的高电平长度,echo 的高电平长度=distance_cnt*1000/48 ns ,晶振为50m ),化为us ,为distance_cnt/48 然后计算距离就是s= distance_cnt/48/58= distance_cnt/2784 ,这里我就用了一个除法器了。 然后就是得到了结果就保存到distance 里面了,这里超声波的测量距离只有几米,因为,distance 真正有效的就是【8 0 】,分别分离出来: 然后数码管显示就可以了: 二:仿真 由于distance 不是output ,要在modelsim 中加入进行观察。。 验算:580/58=10cm ,当然这里只测试了一次。 三:上板验证: 无遮挡,检测的应该是距离天花板的。。。 故意用纸张遮挡: 我在程序中设置了<30 的时候,beep 就一直响。

工程文件如下:

——回复可见内容——






关键词: FPGA 超声波测距

工程师
2014-10-02 21:56:39 打赏
2楼
你说说看,你怎么这么猛,什么都会啊

工程师
2014-10-02 21:59:24 打赏
3楼
一起学习,无私分享呢

院士
2014-10-03 08:40:14 打赏
4楼

南盗还是很厉害的,资料已经审核通过了


助工
2014-10-05 17:43:43 打赏
5楼
学习学习~

助工
2014-10-08 09:53:00 打赏
6楼
Mark

高工
2014-10-08 10:07:06 打赏
7楼
这得看看,希望有详细的器件选型

菜鸟
2014-10-12 11:29:18 打赏
8楼

1.带电连接会造成echo信号寄存器成为定值

2.若电压不足,同样给出错误的输出,和不接电源时情况类似


菜鸟
2014-10-12 11:34:36 打赏
9楼
楼主是否考虑将除法器换为乘法?将dictance_cnt先降低

助工
2014-10-16 13:43:45 打赏
10楼

不错的分享



共114条 1/12 1 2 3 4 5 6 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]