问一下大家,超声波测距接收到的回波,大家对这些混乱的回波是怎么处理的啊?

2019-08-14 19:10发布

超声波测距传感器,传感器在发射出超声波之后,一定时间之后接收到回波,回波的波形并不稳定,需要对这个回波进行处理,才可以准确的测量距离,请问这个回波是怎么处理的。就是峰值低于某个数据的波形,忽略掉它的标准是什么,是连续的多次低于,比如说3次;还是说测量10次,10次里面低于的情况出现4到5次,并不一定是连续的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
xu_zhh
1楼-- · 2019-08-14 23:10
上图上图上图上图
相思冼红豆
2楼-- · 2019-08-15 00:33
xu_zhh 发表于 2017-7-17 14:11
上图上图上图上图

额,这个我已经解决了
相思冼红豆
3楼-- · 2019-08-15 03:13
        int        End_time,times;
        static        int flag=0;
        static int Canput,Neverput;       
        Peak_value=ADC_Convert();
        if(Peak_value>5000)
                {
                        Peak_value=0;
                }
        Canput++;
        if(Peak_value>1500)
        {
               
                j++;
                if(j==1)//ÿ2éÑù10′Σ¬jÖ»·ûoÏò»′Σ¬¿aê¼ê±¼äò»Ö±2»»á±ä
                {
                        Strat_time=absolute_micro_time();//¿aê¼ê±¼ä
                }
                if(Peak_value>Max_Peak_value)
                {
                        Max_Peak_value=Peak_value;//Õò3ö×î′óμÄμÄ·åÖμ
                }
                if(Canput>=10)
                {
                        End_time=absolute_micro_time();//2éÑù10′Îoó½áêø£¬¼Ç¼½áêøê±¼ä
                        times=(End_time-Strat_time);        //·ûoÏìõ¼tμÄ2éÑùê±¼ä
                        Three_arry[index1][0]=Strat_time;//¿aê¼ê±¼ä
                        Three_arry[index1][1]=times;                        //2éÑùê±¼ä
                        Three_arry[index1][2]=Max_Peak_value;//×î′ó·åÖμ
                        index1++;
                        if(index1>19)
                        {               
                                index1=0;
                        }
                        Canput=0;//ÖØD¼Æêy
                        flag=0;
                        Neverput=0;
                        j=0;
                }
               
        }
        else
        {
                Neverput++;//ò»μ©·åÖμ1yμí£¬Neverput¾í»á×Ô¼ó
                if((Neverput-flag)==0)//′óNeverputóëflagμÄ2î¿éμÃÖaNeverputêÇ·ñ×Ô¼ó£¬ò2¾íêÇ·åÖμêÇ·ñ1yμí
                {
                        Neverput=flag=0;//èç1ûûóD±ä£¬èÃNeverputóëflag¶¼1éáã
                }
                flag=Neverput;
                if(Neverput>=3)//èç1û·åÖμ1yμí£¬2¢Çòá¬Dø3¬1yèy′Î
                {
                        Canput=0;//ÖØD¼Æêy£¬ËùóD±ê־λÇåáã
                        flag=0;
                        Neverput=0;
                        j=0;
                }
        }

}
相思冼红豆
4楼-- · 2019-08-15 03:26
 精彩回答 2  元偷偷看……
相思冼红豆
5楼-- · 2019-08-15 06:08
开发着开发着又发现了一些问题,首先是这个余震的问题,超声波的发射探头在震动的时候,也会带动接收探头的震动;在关闭发射探头之后,余震会持续一段时间,尤其是接收探头;对于这段时间,没有办法消除,只能尽量的减小这个时间;再有余震,处理方案实在是想不出来;有关最后的回波的处理,上述代码并不完全,因为波形是起伏不定的,不过手上实在没有相关的数据资料,公司也以前也没有相关的项目,只能是搁置了
xu_zhh
6楼-- · 2019-08-15 06:12
我也在弄超声波这块,但合适尺寸的没找到,可能得定制才行。

一周热门 更多>