搜索
bottom↓
回复: 24

用超声波模块测距,距离长点计算出距离跳动很大,不知...

[复制链接]

出0入8汤圆

发表于 2015-5-9 11:52:24 | 显示全部楼层 |阅读模式
几十个cm测量出量跳动很小,基本上可以接受


100多cm的距离后,计算出的数据就几十cm的跳动,啥原因啊

/*
* 函数名:UltrasonicWave_StartMeasure
* 描述  :开始测距,发送一个>10us的脉冲,然后测量返回的高电平时间
* 输入  :无
* 输出  :无       
*/
void UltrasonicWave_StartMeasure(void)
{
        DWORD dwRetry=0;
        //CPU_SR_ALLOC();
        //CPU_CRITICAL_ENTER();

        GPIO_SetBits(TRIG_PORT,TRIG_PIN);                   //送>10US的高电平
        DelayTime_us(20);                                      //延时20US
        GPIO_ResetBits(TRIG_PORT,TRIG_PIN);
       
        while(!GPIO_ReadInputDataBit(ECHO_PORT,ECHO_PIN))                     //等待高电平
        {
                if(++dwRetry>RETRY_TIMES)
                {
                                 return;
                }
               
        }
        dwRetry=0;
        TIM_SetCounter(TIM2,0);
        TIM_Cmd(TIM2, ENABLE);                                          //开启时钟
        while(GPIO_ReadInputDataBit(ECHO_PORT,ECHO_PIN))                      //等待低电平
        {
                if(++dwRetry>RETRY_TIMES)
                {
                                TIM_Cmd(TIM2, DISABLE);                                                         //定时器2失能
                                return;
                }
                       
        }
        TIM_Cmd(TIM2, DISABLE);                                                         //定时器2失能

        //CPU_CRITICAL_EXIT();

        UltrasonicWave_CalculateTime();                                                                         //计算距离
        TIM_SetCounter(TIM2,0);

        printf("\r\ndistance:%d%d cm\r\n",UltrasonicWave_Distance/256,UltrasonicWave_Distance%256);       
        //printf("\r\ndistance:%f cm\r\n",UltrasonicWave_Distance);       
            
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2015-5-9 12:22:28 | 显示全部楼层
给LZ一个小建议,可以用示波器检查一下远距离时超声波模块的接收是否稳定,还有就是感觉LZ的这个程序的思路,误差会大一些,TIM专门有功能可以测量高电平的时间长度。祝LZ调试成功。

出0入0汤圆

发表于 2015-5-9 13:16:30 | 显示全部楼层
多径反射,可以试试架高,找个空旷一点的地方,只有正前方有挡板

出0入8汤圆

 楼主| 发表于 2015-5-9 15:53:08 | 显示全部楼层
charlesg 发表于 2015-5-9 13:16
多径反射,可以试试架高,找个空旷一点的地方,只有正前方有挡板

还有角度要正,   嫁高了没用           总之长距离测不出来,发射的时候可以听到声音的,很微弱

出0入8汤圆

 楼主| 发表于 2015-5-9 15:54:15 | 显示全部楼层
时空探索者 发表于 2015-5-9 12:22
给LZ一个小建议,可以用示波器检查一下远距离时超声波模块的接收是否稳定,还有就是感觉LZ的这个程序的思路 ...

自己在家玩玩  没有示波器

还有我用的事PA1做检测   不知道可否用你说的定时器测高电平的方法   ,   程序有不   参考下

出0入0汤圆

发表于 2015-5-9 21:51:54 | 显示全部楼层
本帖最后由 yigang 于 2015-5-9 21:53 编辑

应该是回波时间捡拾的问题吧?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

 楼主| 发表于 2015-5-9 23:14:40 | 显示全部楼层
yigang 发表于 2015-5-9 21:51
应该是回波时间捡拾的问题吧?

你的意思是,回波有好几个   所以检测有问题



有没有其他好的方法或者思路

出0入0汤圆

发表于 2015-5-10 10:21:32 | 显示全部楼层
有没有检测的时候开蜂鸣器,我刚碰到开了蜂鸣器检测距离就不对,很不稳,关了就好了,2米距离跳动1cm

出0入0汤圆

发表于 2015-5-10 12:18:59 | 显示全部楼层
justdomyself 发表于 2015-5-9 15:54
自己在家玩玩  没有示波器

还有我用的事PA1做检测   不知道可否用你说的定时器测高电平的方法   ,   程 ...

程序找了一下,删掉了~~就是设置定时器为从模式的门控模式,设置比较简单

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

 楼主| 发表于 2015-5-10 13:41:50 | 显示全部楼层
cyq001 发表于 2015-5-10 10:21
有没有检测的时候开蜂鸣器,我刚碰到开了蜂鸣器检测距离就不对,很不稳,关了就好了,2米距离跳动1cm ...

额米有

有2401无线模块和W5500

出0入0汤圆

发表于 2015-5-28 23:10:45 | 显示全部楼层
本帖最后由 yigang 于 2015-5-28 23:12 编辑
justdomyself 发表于 2015-5-9 23:14
你的意思是,回波有好几个   所以检测有问题


在图中,回波的第一个相位,随着距离变远,幅度变小---相位的波散现象。
提高放大倍数,让第一个相位足够大。

出0入0汤圆

发表于 2015-5-29 09:00:21 | 显示全部楼层
yigang 发表于 2015-5-28 23:10
在图中,回波的第一个相位,随着距离变远,幅度变小---相位的波散现象。
提高放大倍数,让第一个相位足够 ...

如何动态提高放大倍数吗?

出0入0汤圆

发表于 2015-5-29 10:13:04 | 显示全部楼层
楼主直接买个串口接收的超声模块 比你这种IO口的贵点,那个简单多了

出0入0汤圆

发表于 2015-5-29 20:36:29 | 显示全部楼层
tjjack 发表于 2015-5-29 09:00
如何动态提高放大倍数吗?

动态提高放大倍数 ---   AGC 自动增益控制。
好像不用这么复杂吧? 用多远的距离?

出0入8汤圆

 楼主| 发表于 2015-5-30 18:40:04 | 显示全部楼层
sdu168_2 发表于 2015-5-29 10:13
楼主直接买个串口接收的超声模块 比你这种IO口的贵点,那个简单多了

tb  看了下  贵了好几倍呢

出0入8汤圆

 楼主| 发表于 2015-6-4 12:29:15 来自手机 | 显示全部楼层
yigang 发表于 2015-5-28 23:10
在图中,回波的第一个相位,随着距离变远,幅度变小---相位的波散现象。
提高放大倍数,让第一个相位足够 ...

软硬件应该怎样处理?

出0入8汤圆

 楼主| 发表于 2015-6-4 12:29:59 来自手机 | 显示全部楼层
sdu168_2 发表于 2015-5-29 10:13
楼主直接买个串口接收的超声模块 比你这种IO口的贵点,那个简单多了

那个模块的反射也没处理好

出0入0汤圆

发表于 2015-6-4 14:45:41 | 显示全部楼层
使用多次确认方式计算,使用扫描方式,记录全程,然后处理,连续2次或多次有效,认为是回波,否则可以认为杂讯。

出0入0汤圆

发表于 2015-6-4 20:45:09 | 显示全部楼层
本帖最后由 yigang 于 2015-6-4 21:04 编辑
justdomyself 发表于 2015-6-4 12:29
软硬件应该怎样处理?


你能让我看看 远端 和 近端 的回波图像吗?
这很重要。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

 楼主| 发表于 2015-6-10 08:59:43 来自手机 | 显示全部楼层
没有示波器~给不了图像啊

出100入101汤圆

发表于 2018-3-18 09:48:01 | 显示全部楼层
LZ问题解决了么?

出0入8汤圆

 楼主| 发表于 2018-3-20 11:22:39 | 显示全部楼层
fengyunyu 发表于 2018-3-18 09:48
LZ问题解决了么?

没有。。。。。。。。。。

出0入0汤圆

发表于 2018-3-20 20:42:23 | 显示全部楼层
没有示波器……那你怎么调……

出0入0汤圆

发表于 2018-11-16 08:23:41 | 显示全部楼层
yigang 发表于 2015-6-4 20:45
你能让我看看 远端 和 近端 的回波图像吗?
这很重要。。

找到回波的峰值,而不是用固定阈值,固定阈值肯定是不准确的。

出0入0汤圆

发表于 2018-11-17 23:50:17 | 显示全部楼层
发射强度和接收灵敏度要配合好,反射路径要唯一,用示波器看一下波形。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-18 13:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表