原理图
超声波测距仪的工作原理
在我们了解我们的项目如何确定远距离物体的距离之前,我们首先需要了解超声是什么。超声是一种声波,其频率超出人类听觉的频率(通常大于20kHz)。由于其听不见的频率和稀有性,超声波在许多涉及距离测量和成像的应用中发现。
超声波测距和成像工作的方式与SONAR(声音导航和测距)几乎相同,其中发出短暂的声音。该突发反射远离物体,并记录所产生的回声。由于已知声速,以及爆发传输与合成回声之间的时间,因此可以使用年龄公式D = SxT轻松计算距离。
我们的核心电路是PIC16F1516,它连接到16x2 LCD模块和超声波模块。 PIC执行的第一个代码是配置代码,用于配置内部振荡器,外设和IO端口。配置完成后,PIC进入无限循环,执行多个任务。这些任务中的第一个是告诉超声波模块进行ping操作。第二个任务是等待模块响应(它等待直到回声变高)。当回波输入为高电平时,第三个任务增加一个定时器,最后一个任务是确定距离,然后将结果打印到LCD上。
让模块发送一个引脚需要一个脉冲(低电平)至高)其宽度至少为10微秒(在PIC上非常容易)。等待回声信号变高可以通过单个while循环轻松完成。一旦回声变高,我们重置定时器1并启用它以便开始计数。当从回波引脚检测到低信号时,我们停止定时器1并开始计算。我们项目中的定时器1由Fosc/4提供时钟,由于Fosc为16MHz,因此计数器的工作频率为4MHz。这意味着我们的计数器中的值与一个不错的时基无关,需要修复。通过将定时器值除以4,我们得到一个以微秒为单位的时间,因为计数器的时钟频率为4MHz(250ns时钟脉冲)。每四个滴答对应1微秒,因此除以4给出一个以微秒计数的计数器。
我们的速度是微秒/秒(343),所以一起使用我们的速度和时间很简单 - 只记得答案必须除以2,因为信号必须传送到物体并返回。我们获得的距离答案将以微米为单位,如果以米为单位需要答案,则可以将其除以一百万。为了显示答案,我们必须将数字转换为ASCII字符串,我们通过函数longToASCII(长数字)来完成。这是一个自定义函数,用于保持内存和RAM的使用尽可能低(因为标准C库可以非常快地占用RAM和ROM),但是,它的功能将不在这里解释。 (虽然我们鼓励你去看看它并试图弄清楚它是如何工作的。)
施工
该项目使用通孔封装中可用的部件,这意味着您可以使用大多数电路板构造技术。这包括条形板,面包板,矩阵板和PCB。为了方便起见,我的7805是一个小型SOT-89,我在这个项目中使用了PCB,但是大多数部件都是插座。这意味着显示器和IC等部件可以在其他项目中重复使用。这是特别有用的,因为微控制器每个可能花费几美元。
该项目包含一个显示器,其唯一目的是显示物体和超声波模块之间的距离。然而,它不需要功能,如果移除,电路将非常小,这意味着许多便携式项目,如机器人和可穿戴设备可以包含超声波模块。这些模块面临的一个问题是来自其他超声波模块和/或超声波源的干扰;然而,这些是少之又少。如果需要多个超声波传感器,应该一次使用一个模块,在使用之前应忽略其他模块的结果。
-
超声波测距仪
+关注
关注
1文章
47浏览量
13864
发布评论请先 登录
相关推荐
评论