[其他ST产品] 超声波模块调试

[复制链接]
792|17
 楼主| 原来是wjc 发表于 2023-6-29 20:38 | 显示全部楼层 |阅读模式
bug1:
92058649d7b33011eb.png



对应代码


  1. void EXTI9_5_IRQHandler(void)
  2. {
  3.         if(EXTI_GetITStatus(EXTI_Line5) == SET){//由中断4触发
  4.                 TIM_SetCounter(TIM2,0);//定时器计数清零
  5.                 TIM_Cmd(TIM2,ENABLE);//开启定时器
  6.                 while(GPIO_ReadInputDataBit(GPIOA,Echo)) {flag=1;printf("%d\r\n",flag);flag=0;};
  7.                 TIM_Cmd(TIM2,DISABLE);//关闭定时器
  8.                 //Distance= TIM_GetCounter(TIM2)*340/400;// distance = t*340/2                t = count*1/20000        1m=100cm  距离计算
  9.                 //Distance= TIM_GetCounter(TIM2)*340/200.00;
  10.                 Distance= TIM_GetCounter(TIM2);
  11.                 EXTI_ClearITPendingBit(EXTI_Line5);//清除LINE4上的中断标志位  
  12.         }
  13. }


 楼主| 原来是wjc 发表于 2023-6-29 20:38 | 显示全部楼层
  1.         while(1)
  2.         {
  3.                
  4.                 Wave_SRD_Strat4();
  5.                 delay_ms(500);
  6.                 printf("distance:%.2fcm\r\n", Distance);
  7.                 printf("count:%d\r\n", TIM_GetCounter(TIM2));
  8.                 printf("\r\n");

  9.         }
 楼主| 原来是wjc 发表于 2023-6-29 20:38 | 显示全部楼层
说明定时器开了以后,一直没有接收到Echo为1(也就是一直没跳出while),导致定时器开启以后无法关闭,只是一直在计时,计满(19999)后重载初值。

且靠近听超声波模块没有听到“嚓”的声音,说明没有接收到Echo为1的原因是Trig端没有在发送超声波。

反复检查代码没问题以后……怀疑是杜邦线的接触问题,接了五根新线。

这下竟然正常工作了。

有意思的是我把pin5的地线拔掉没啥关系,但拔掉pin4地线以后就又回到了老问题(跳不出while),而且再插上去也没用了。

总结来说问题在于,要在上电之前插好线,中途别瞎jb拔。
 楼主| 原来是wjc 发表于 2023-6-29 20:39 | 显示全部楼层
bug2:在正常工作以后,开始看测距误差

在8cm的距离下,测量数据如下

30114649d7b74225ed.png

 楼主| 原来是wjc 发表于 2023-6-29 20:39 | 显示全部楼层
…这个10.34哪里来的,很奇怪啊
14843649d7b86306b6.png
 楼主| 原来是wjc 发表于 2023-6-29 20:39 | 显示全部楼层
这个也是,也存在2.7cm左右的误差。
小小蚂蚁举千斤 发表于 2023-6-30 15:19 | 显示全部楼层
超声波模块一般基本是串口通讯,不知道楼主用的哪一款超声波模块,可以分享一下链接
Undshing 发表于 2023-7-1 22:47 | 显示全部楼层
误差总是有的
帛灿灿 发表于 2023-12-30 08:11 | 显示全部楼层

MinUnit 是一个 用 C 语言编写的极其简单的单元测试框架
Bblythe 发表于 2023-12-30 09:14 | 显示全部楼层

功率开关和整流器的交流电流环路包含非常高的PWM开关电源典型的梯形电流波形
周半梅 发表于 2023-12-30 11:10 | 显示全部楼层

电源电压处于1.6V到5.5V之间
Pulitzer 发表于 2023-12-30 12:13 | 显示全部楼层

无法提供开关电源所需的脉冲电流
童雨竹 发表于 2023-12-30 14:09 | 显示全部楼层

单片机的外部都连接有象电池等电源部分
Wordsworth 发表于 2023-12-30 15:12 | 显示全部楼层

电源内部都有四个电流环路
Clyde011 发表于 2023-12-30 16:15 | 显示全部楼层

作为电路的共同电位参考点
公羊子丹 发表于 2023-12-30 17:08 | 显示全部楼层

主时钟振荡器主要用作CPU的工作时钟
万图 发表于 2023-12-30 18:11 | 显示全部楼层

传送直流信号的引线
Uriah 发表于 2023-12-30 19:14 | 显示全部楼层

Buck(或降压)变换器功率部分布局
您需要登录后才可以回帖 登录 | 注册

本版积分规则

87

主题

1250

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部