专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
问一下大家,超声波测距接收到的回波,大家对这些混乱的回波是怎么处理的啊?
2019-08-14 19:10
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
9691
7
1619
超声波测距传感器,传感器在发射出超声波之后,一定时间之后接收到回波,回波的波形并不稳定,需要对这个回波进行处理,才可以准确的测量距离,请问这个回波是怎么处理的。就是峰值低于某个数据的波形,忽略掉它的标准是什么,是连续的多次低于,比如说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
我也在弄超声波这块,但合适尺寸的没找到,可能得定制才行。
加载中...
1
2
下一页
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
额,这个我已经解决了
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;
}
}
}
一周热门 更多>