崔老师,我想请教一下:如何在超声测距时,一发射就计时,一接收就停止呢?
1个回答
展开全部
这让我怎么说呢?前面和后续的问题还有很多啊。
首先你得确定已经做到了以下几个方面:
1、MCU工作正常;
2、超声波发射和接收电路工作正常;
3、超声波接收的信号已连接到MCU的IO口(这里我们叫它SR吧,下同);
以上3点都确定做到了以后,用程序做到以下事:
1、用程序,在超声波发射以后,对一个int16的变量L置0;
2、接着写一个循环,循环里不停的检测SR,当发现SR有回波信号时(同时L>A,常数A的解释在下面),立即将TST置为高电平,接着退出循环。
3、此时的L,就是距离,当然他的单位不是毫米,也不是厘米,它需要乘以一个系数。(这是后话,在此就不细说了)
上电测试,用示波器同时检测TST和SR脚,看看是否是你想要的结果,如果TST在一开始就是高电平,则应加大常数A的值;当目标近到一定距离就无法正确检测时,应减少A的值。其实A代表的就是《盲区》。虽然你还没问到盲区这个问题,但这是每个超声波程序都需要处理的。确定盲区以后,A的大小在你的电路和程序中是可以是固定不变的。
如果TST和SR的对应正常,那么这就是你要的效果,也是初写超声波程序必要的一个环节。
首先你得确定已经做到了以下几个方面:
1、MCU工作正常;
2、超声波发射和接收电路工作正常;
3、超声波接收的信号已连接到MCU的IO口(这里我们叫它SR吧,下同);
以上3点都确定做到了以后,用程序做到以下事:
1、用程序,在超声波发射以后,对一个int16的变量L置0;
2、接着写一个循环,循环里不停的检测SR,当发现SR有回波信号时(同时L>A,常数A的解释在下面),立即将TST置为高电平,接着退出循环。
3、此时的L,就是距离,当然他的单位不是毫米,也不是厘米,它需要乘以一个系数。(这是后话,在此就不细说了)
上电测试,用示波器同时检测TST和SR脚,看看是否是你想要的结果,如果TST在一开始就是高电平,则应加大常数A的值;当目标近到一定距离就无法正确检测时,应减少A的值。其实A代表的就是《盲区》。虽然你还没问到盲区这个问题,但这是每个超声波程序都需要处理的。确定盲区以后,A的大小在你的电路和程序中是可以是固定不变的。
如果TST和SR的对应正常,那么这就是你要的效果,也是初写超声波程序必要的一个环节。
来自:求助得到的回答
福州大禹电子科技
2024-12-16 广告
2024-12-16 广告
福州大禹电子科技有限公司成立于2008年自创办以来,专注超声产品的研发和产业化,始终坚持技术创新是企业发展动力的理念,运用最基础的物理声学原理,攻克了一系列卡脖子难题,成功打破了国外垄断,把超声技术运用到了工控、水利、市政、环保、医疗,海洋...
点击进入详情页
本回答由福州大禹电子科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询