“信号声源定位实验”

信号声源定位分为三个部分,分别是声波测距、三位数码管显示以及延时电路的设计。通过NI my DAQ以及Labview软件实现测量距离并显示以及使LED灯延时的效果。最终在labview中通过编程将三个部分连接起来。

声波测距,通过超声测距传感器来实现。超声波传感器是根据超声波的一些特性制作的,用于完成对超声波的发射和接受,内部的换能晶片受到电压的激励产生振动发出超声波。超声测距传感器主要由发射部分。接受部分、控制部分和电源部分组成。使用NI my DAQ实现超声波测距,需要用到NI my DAQ数字接口1,用作计数器,来接受返回的信号。

声波测距的原理十分简单,由超声波的发射端发射一束超声波,在发射的同时,计时开始,发射出去的超声波在介质中传播,声波具有反射特性,当遇到障碍物时就会反射回来,当超声波的接收端接收到反射回来的超声波时,计时停止。介质为空气时,声速为340m/s,根据记录的时间t,利用公式s=340t/2计算出发射位置与障碍物之间的距离。

三位数码管显示,通过布尔数组控制NI my DAQ数字端口的输出(T为高电平,F为低电平)。三位数码管共阳极,不共阴极。三位数码管显示采用动态显示的办法,也就是说其中一位数字显示的时候,另外两位数字不显示。实现这个目的,我们可以去控制接地端,当接地端接通时,数码管亮,否则灭。译码器就是我们控制接地端的工具,其真值表如下图:

通过控制译码器的输入端可以控制输出端的接地,从而实现动态显示的目的。

动态延时电路,NI my DAQ助手具有输出高低电平的功能,这会大大简化我们的延时电路。我们通过控制输出电压的高低来实现LED灯的开灭。当输入的距离信号小于2m时,LED灯持续亮着,一旦距离信号大于2m,我们通过Labview让它持续输出5s的高电平然后转化为低电平。这样就实现了延时的功能。

最后就是将各个部分连接起来,通过时间测量可以得出超声波测距一次大约需要时间为80ms,三位数码管显示仅仅需要3ms,还有就是LED灯的延时需要5s,我们在labview中引入了队列,来确保三个循环同时进行,这样就可以实时测距,并且数码管实时显示。

二、实验相关问题列举

实验过程中我们遇到了一些问题,通过查阅文献和请教老师使得问题得到了解决。问题和解决办法如下:

  1.超声波传感器输出超声波信号。采用NI ELVIS Fcunction Generator发射信号

  2.数码管显示闪烁。将DAQ助手换成底层DAQ mx,重新编程。

  3.接受超声波传感器返回的信号。使用NI my DAQ数字接口1,通过底层DAQ mx编程输出测量的距离。

  4.LED灯延时。通过labview编程中的定时功能使它持续输出5s高电平,从而实现延时5s的目的。

  5.距离测量与LED延时的结合问题。引入队列,将超声测距模块测得的数据储存到队列中,但是每次只储存一个,然后释放掉,并且在延时模块前加上判断语句,如果值发生了改变就执行延时模块,否则不进入。

三、实验目的

1.掌握labview软件、NI multisim和NI my DAQ的操作和使用

2.培养自主实验、阅读文献、团队协作和解决问题的能力

3.熟悉电路在面包板的搭建

4.了解一些电路元器件的工作原理和使用方法

四、实验仪器及方法

实验仪器:labview 软件、 NI my DAQ助手、面包板、译码器、超声波传感器、LED灯、导线若干。

实验方法:

1.超声波测距:

  ①发射信号:采用NI ELVIS FUNCTION Generator发射10kHZ、占空比10%、Vpp=8V,偏压为4V的矩形脉冲。

  ②接收信号:利用NI my DAQ的计数器功能,将返回的信号使用数字接口1接收。

  ③输出距离:通过公式s=340t/2,输出超声波传感器与物体之间的距离。

2.数码管显示:

  关于数码管显示,这里有一个前提,因为超声波测距模块已经用掉了一个数字接口1,所以我们现在只能通过控制数字接口0、2、3、4、5、6、7来实现数码管的动态显示。关于数码管动态显示的原理前面已经介绍过了。下面介绍一下具体步骤。

  ①labview结构:因为数码管显示是一直运行的,所以我们在labview后面板拉出一个while循环,并加上布尔开关。

  ②控制数字输出:我们在labview里面拉出一个事件顺序结构,也就是先显示第一位,然后第二位第三位。每个事件帧里面加上if条件结构,在条件结构里面编写布尔数组来控制不同数字的输出。这里我们先用掉四个数字输出端口,通过译码器来实现不同数字的输出,其中译码器的原理图在前面已经展示过了。

  ③控制接地端:进行到这一步,数字接口还剩下三个,我们再使用另外一个译码器,还是通过同一个布尔数组,来实现接地端的通与断,从而实现数码管的动态显示。

  注意事项:注意这里不能使用DAQ助手,因为DAQ助手每次循环都在不停的关闭和打开,导致循环时间变慢,从而数码管会出现闪烁的问题。这个问题在前面介绍过了。

3.动态电路延时:

  ①控制输出电压:NI my DAQ的AO输出是可以控制输出电压,通过控制底层DAQ mx来实现高低电平的转换,从而控制LED灯的亮与灭。

  ②当输入的距离信号小于2m时,LED灯持续亮着,一旦距离信号大于2m,我们通过Labview让它持续输出5s的高电平然后转化为低电平。这样就实现了延时的功能。

4.labview编程使三个部分结合

  ①实行多线程运行:在循环结构中引入队列,将超声波测距得到的数据储存在队列中,三个部分同时使用队列中的数据进行循环。

  ②确保数码管显示正常:因为超声波测距一次大约需要时间为80ms,三位数码管显示仅仅需要3ms,所以如果要是数码管显示正常的话,需要增加数码管同一循环执行次数,来确保数码管的正常闪烁。

  ③LED灯延时电路接受最新数据:调整队列,让队列中储存的数据为一个,并且不断释放队列,这样就可以使到达LED循环中的数据永远是最新的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值