工程实践与科技创新4F报告

更新时间:2024-05-16 22:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

电子信息与电气工程学院

工程实践与科技创新 IV-F

项目研究论文

项目名称: _基于NI myDAQ的声控门锁的设计___ __

项目完成人:_ 邓凯鹏___嵇康___郑益辉______ ____

指导教师: 毛义梅

项目执行时间: 2013年10月28日至2013年12月7日

2013 年 12 月 8 日

1

基于NI myDAQ的声控门锁的设计

摘 要

公司基于虚拟仪器体系和Labview以及Multisim平台开发的低成本便携式数据

采集设备。NI myDAQ能方便地与LabVIEW对接,实现软件和硬件的信号读入和输出等诸多功能。本次设计主要通过NI myDAQ与PC机上的LabVIEW进行结合,通过NI myDAQ实现声音音频信号的读入和控制信号的输出的功能,而LabVIEW则起到对NI myDAQ所采集的音频信号进行处理和识别,判断音频信号序列是否正确来控制开门控制信号的输出,通过NI myDAQ的输出口与输出电路相连接,达到实现声控门锁的的设计目的。

关键词:NI myDAQ, LabVIEW,声控门锁

项目人员信息表 姓 名 学院 学号 项目分工 联系方式 18801906463 18801970716 18801900434 备注 组长 邓凯鹏 电院 5101109029 程序编写、系统调试、系统优化 嵇 康 电院 5100308082 程序编写,输出电路设计,系统调试 郑益辉 电院

2

查阅资料、硬件焊接、系统调试

1、 绪论

1.1 NI公司简介

美国国家仪器公司(National Instruments)是与20世纪70年代初期,由詹姆斯·楚查德博士、比尔·诺林和杰夫·科多斯基三个年轻人建立的一个研发手机和分析数据的计算机技术的公司。30多年来,美国国家仪器公司(NI)帮助测试、控制、设计领域的工程师与科学家解决了从设计、原型到发布过程中所遇到的种种挑战。如今,NI为遍布全球各地的30,000家不同的客户提供多种应用选择。NI总部设于美国德克萨斯州的奥斯汀市,在40个国家中设有分支机构,共拥有5,200多名员工。在过去连续十二年里,《财富》杂志评选NI为全美最适合工作的100家公司之一。 早在1986年,NI公司就提除了“软件就是仪器”的口号,开拓出“虚拟仪器”这一领域,并一直致力于在这一领域进行研发和探索,取得了非常卓著的成绩,公司旗下的LabVIEW、NI myDAQ、Multisim等都是公司这方面起到了很大程度带头意义的软硬件设备。

“虚拟仪器”技术就是利用利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用,是对传统仪器领域提出的一场大的变革。虚拟仪器将传统仪器的数据处理、计算、显示等模块集成在PC机等上,通过数据采集卡采集外界的各种调制数据,通过软件程序进行处理、显示和控制。通过这种方式,使得虚拟仪器相比于传统仪器有了很大的优势。首先虚拟仪器性能高,通过数据处理告诉的设备可以大大的提高虚拟仪器的性能;同时,虚拟仪器的思路使得仪器可以方便的集成和共用,通过软件的集成,只需要系统中配置有相应的数据采集卡,这样都可以通过PC机等机型处理和显示,不仅集成了多重仪器,同时也可让各种不同仪器共用相同的部件,如显示屏等,大大地节省了成本;第三、虚拟仪器扩展性强,不仅软件可以方便地进行扩展和升级,同时在仪器之间也可进行连接和扩展,同时可以与计算机、仪器仪表和通信方面等多领域进行扩展和开发;虚拟仪器还可以方便地建立一个虚拟测量网络,在不同的设备之间进行通信和处理,使得仪器变得更加方便整合。

1.2 NI myDAQ简介

NI myDAQ是NI公司给予虚拟仪器的理念推出的基于虚拟仪器体系和Labview以及

Multisim平台开发的低成本便携式数据采集设备,适用于电子设备和传感器测量,通过与PC机上的Labview的配合,可分析和处理获取的数据并进行即时的简单控制。

NI myDAQ硬件板上配有3个DMM香蕉线缆接头、音频输入输出接头、3组电源输出口、2组模拟信号输入通道、两组模拟信号输出通道和8为数字信号输入输出通道。

配合上NI ELVISmx软件和其软面板,NI myDAQ可是实现数字万用表、示波器、函数发生器、波特分析仪、动态信号分析仪、任意波形发生器、数字读取器和写入器的虚拟仪器功能。

同时NI myDAQ还提供相应功能的Labview输出输入等子vi,可方便地基于Labview编程,实现简单的控制功能。

NI myDAQ有较好的音频信号读入读出功能,不仅有单独的Audio I/O口,同时模拟信号出入通道也可分别做音频信好号左右声道的输入输出,故可以基于NI

3

myDAQ和Labview进行简单的音频控制设计。

1.3 LabVIEW简介

LabVIEW是NI公司给予虚拟仪器理念推出的一种类似于C和BASIC的程序开发环境。与其他相类似的程序开发环境不同的是LabVIEW的编程实用的是图形化的G编辑语言,产生的程序也是框图形式,LabVIEW相对复杂的程序结构用框图的形式表现出来,令操作者看起来更为直观简洁。

LabVIEW作为通用编译系统,有一个可完成任何编程任务的庞大的函数库,LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等等。同样,为保证与NI myDAQ进行简单方便的连接和数据传输,LabVIEW有单独为NI myDAQ开发的函数库,通过调用这个函数库里的各种函数,可以非常方便地通过与NI myDAQ之间互连来进行软硬件的通信和数据传输,从而实现很多虚拟仪器的功能。

自1986年以来,LabVIEW已经发展出了非常强大的功能,在诸多领域都有非常多的应用,LabVIEW也发展出了很多优点。首先,LabVIEW是基于测试测量开发的软件,这也是LabVIEW应用得最多的领域,只需要简单地电泳工具保重的几个函数,就可以了组件一个完整的测试测量应用程序。其次,LabVIEW在控制和仿真这两个领域也表现出了其突出的特点,LabVIEW有专门用于控制领域的模块LabVIEWDSC,同时有多种多样的数学运算等函数,能够方便地进行仿真和控制;另外,LabVIEW在跨平台上的性能也十分出色,LabVIEW具有良好的平台一致性,支持Windows、Mac OS、Linux和很多实时操作和嵌入式系统,使得LabVIEW进行程序开发可以方便地使用到各个平台。

1.4项目背景

门锁是我们日常生活中常见的用具,门锁也是我们每天出入家门等必须接触到的用具,在我们的日常生活中经常出现这种情况,比如要出门,将门带上之后发现自己没有带门钥匙,在不好的时机犯下这种错误可能会延误很多事情。

那么能不能采用钥匙之外的东西对门锁进行加密呢,这样可以很大程度上的避免这种烦恼。出了钥匙之外,还有些便于加密的手段有声音加密、指纹加密等等,而就目前的我们来说,比较方便实现的便是用敲门的声音对门锁进行加密。

由于NI myDAQ具有非常方便的声音音频信号的读入的结果,所以本次基于NI myDAQ的课题设计我们定位基于NI myDAQ和LabVIEW的声控门锁设计,主要是利用NI myDAQ对外界的声音读入,并通过LabVIEW进行处理后实现声控门锁的功能。

2、 设计思路及方法

本次基于NI myDAQ的声控门锁的设计,基本理论构架为首先需要对外界声音进行读入,读入后需要对读入的声音进行处理,比如消除不必要的噪音或者截取需要的频段等,其次对处理后的声音进行判断,是否符合开启门锁的声音要求,若符合要求,则开启门锁,若不符合要求,则继续监听。

4

系统的结构框图如下图1。

Labview NI myDAQ 输出电路 门锁 话筒 图1 声控门锁系统结构框图 本次设计的系统是一个连续的即时控制系统,需要对外界声音进行持续的监听,并对监听的声音进行即时地处理判断。声音的监听可以在NI myDAQ的Audio In接口处接入一个小型话筒,实现对外界声音持续转化为音频信号输入到NI myDAQ中,然后通过Labview中的DAQ Assistant函数读入。音频读入之后,需要对音频进行识别和处理,若对音频的识别满足之前设定的音频要求,则开启门锁

从结构框图可以看出,系统通过话筒连接在NI myDAQ的Audio In接口入读音频信号,通过NI myDAQ将该信号传输到LabVIEW程序中,在程序中设置算法对信号进行相应的处理和识别,通过程序的判断产生一路关于门锁开启的控制信号,控制信号传输到NI myDAQ中,通过NI myDAQ的输出口输出,对出信号通过输出电路产生符合要求的输出信号,控制门锁的通断。

由于本次设计着重点是系统构架和算法实现的理论层面,所以没有用具体的门锁来实践,在系统的架构过程中采用发光二极管的亮暗来表征门锁的开启与关断。

3、输入输出模块

3.1 音频输入模块

对于设计中音频信号采集的话筒,小组查阅相关资料对比各种音频采集设备,

最终决定使用音频读入可采用日本SANWA 三和 MM-MC7-C 便携式麦克风。MM-MC7-C便携式麦克风为电容式总方向麦克风,频率响应范围为20~20000Hz,阻抗为1.5KΩ,输入灵敏度为-58±3dB,工作电压3V,尺寸W12×D16×H51mm,3.5mm立体声插头,该主要材质为ABS塑膠,麦克风可做角度调整,广角接收,信号范围大,360度接受讯号,超小型,便携方便。麦克风样式和麦克风与NI myDAQ连接展示如下图2。

5

图2 便携式麦克风实物图

MM-MC7-C 便携式麦克风参数和规格符合本次设计实验要求,经调试该麦克

风有比较快的响应速度,基本能满足本次设计实验的实时性要求,音频输读入模块性能达到设计要求。

麦克风连接到NI myDAQ的Audio IN口后,可直接在LabVIEW中调用函数将

麦克风采集到的音频信号读入进来,读入方法为在LabVIEW的Measurement I/O的NI-DAQmx中选择DAQ Assistant,DAQ Assitant的配置采用设置选择Acquire signal中的模拟输入电压(Analog Input的Voltage)读入,读入信道选择左右声道同时读入并将左右声道的读入范围限定在±2V之间,选择读入模式为连续读入,读入频率为200k,读入点数为20k,满足采样定理的要求,保证了读入的准确性。

3.2 输出电路模块

本次设计采用LabVIEW程序控制产生一路控制门锁开断的数字信号,经由NI

myDAQ输出到输出电路中控制发光二极管的点亮。若程序检测到声音信号符合要求,则将该路信号置1,NI myDAQ输出“1”,即为5V,通过后续电路点亮发光二极管。反之,若程序未检测到符合要求的音频信号,则保持控制信号路为0,NI myDAQ输出“0”,即为0V,则发光二极管为点亮。

考虑到NI myDAQ提供模拟和数字两种输出和两种不同的稳压电源输出,其中

模拟输出提供±15V的电压输出和一个模拟地AGND,数字输出提供一个+5V的电压输出和一个数字地DGND,则本次设计的输出电路采用三极管作一个简单的开关电路,用控制信号输出来控制三极管的通断,同时采用模拟电压输出的+15V和模拟地AGND供电,输出电路电路图如下图3。

6

图3 输出电路原理图

电路图中的元件参数如下表1所示。

表1. 输出电路元件参数表 序号 元件 参数 序号 元件 参数 1 R1 2 C1 0.1uF 2KΩ 在电路连接中,将程序控制信号经由NI myDAQ连接到电路的myDAQ O1接

点,将+15V模拟输出连接到电路+15V电源的位置,将myDAQ的模拟地AGND和数字地DGND与电路的地连接。则由上示电路图可知,当控制电路输出+5V,加于三极管基极,使三极管导通,+15V电压经由限流电阻R1加到发光二极管DS1两端,将DS1点亮。其中旁路电容C1起到t通交整形滤波的作用。 焊接电路板如下图4所示。

图4. 输出电路实物图

图中三个排针分别为控制信号输出、+15V电压输出和模拟数字共地输出口,采用杜邦线通NI myDAQ相连接。

3、 LabVIEW程序概述

本次LabVIEW程序设计采用两种思路设计,程序分为两种功能:第一种是声音的强度识别,当敲击的声音达到一定的强度,视为检测到开启信号,将门锁开启;第二种功能为声音的序列识别,在读入声音是,将声音以时间的函数的形式加载,分析声音在时间上的间隔和密集度,来实现序列识别的目的。

声强识别模式前面板图和序列识别模式前面板图分别如下图5和图6。

图5. 声强识别前面板图

7

图6. 序列识别前面板图

LabVIEW程序声强识别和序列识别两部分的整体结构如下图7和图8。

图7. 声强识别程序整体框图

图8. 序列识别程序整体框图

由于声控门锁设计需要连续地读入声音信号,所以在LabVIEW设计中采用一个大的While循环做主循环,在主循环中不断读入声音音频信号,通过一个“Stop”按钮来控制主循环的停止。在主循环中,所有程序共用的是DAQ Assistant配置的音频信号读入的模块,将音频信号读入到程序中,同时在程序处理完后,通过Digital Writer将控制信号写入到NI myDAQ的输出口。

8

为了配合程序识别的两种模式,在主循环中采用一个Tab Control看来区分两种模式,在不同的模式下采用不同的函数框架来对音频信号进行处理和识别。

4、 声强识别模块

声强识别模块对NI myDAQ读入的音频信号的幅值进行识别,主要程序原理

为,对读入的音频信号进行取一个频带的带通滤波,滤波后分别对左右声道的音频信号取振动的幅值,在幅值中寻找一个最大值,若最大的幅值超过设定的阈值,则视为检测到敲击信号,则将控制信号路置“1”,点亮发光二极管。

在主循环中,通过DAQ Assistant读入音频信号后,将读入的音频信号的幅值

与时间的图像通过“Graphic Indicator”显示在前面板的左侧。然后通过自定义的带通滤波器BPF子vi对音频信号进行滤波,BPF.vi的程序框图如下图9。

图9. 带通滤波模块程序图

该带通滤波器采用三阶巴特沃兹滤波器,通带定义采用定义中心频率和带宽的方式定义,这样的定义方法比较适合使用者在前面板操作时的选频思路。但这种选频方法存在一个缺陷是,当设定的带宽大于中心频率的两倍时,下限频率会为负数。本次设计的解决方法时,将下限频率与0进行比较,若比0小,则强制钳位在0。 对音频信号进行滤波后,将滤波后的信号的频谱图显示在前面板的右侧。同时利用后续程序对滤波后的音频信号进行处理。处理程序子vi程序框图如下图10。

图10. 幅值识别程序框图

程序调用Amplitude and Levels.vi,来处理信号,得到信号的幅值数组,鉴于音

频信号为左右声道输入,用“Index Array”函数提取前两路幅值信号,与设定值

9

Threshold比较,若两路信号均大于设定值,则视为有敲击,将输出Knock置“1”。 则在声强识别模式里,Knock信号即为输出控制路信号,将Knock信号转化为

bool数组,通过Digital Writer从NI myDAQ写出。

而另一反面,由于敲击信号持续时间较短,故直接用判断结果来点亮二极管则

二极管的点亮时间过短,不利于显示结果,所以在程序中加入一个RS触发器,同时给予一个设定时间的定时。该部分程序结构如下图11所示。

图11. RS触发器部分程序结构图

如图中所示,当检测到敲击信号时,用控制信号路knock的“1”将RS触发器的输出Q(图中Open)置1,同时用控制信号路的“1”重置定时器“Elapsed Time”的计时,而当“Elapsed Time”计时器重新记录过一定时间(该时间有图中“点亮时间(s)”输入控制)时,“Elapsed Time”的“Time Has Elapsed”端口将产生一个脉冲信号,将这个脉冲信号连接到RS触发器的R端将RS触发器的输出归为“0”,则完成对一个Knock信号的反应。用RS触发器的输出端做处理后的控制信号,则程序实际效果为,当有一个敲击信号到来时,将发光二极管点亮,等待设定的点亮时间后,将二极管熄灭,程序继续等待下一个脉冲。

从上图可知,RS出发的输入到输出的时间延迟是有While循环里的一位寄存器实现的,而在实际程序中,由于While循环较大,且控制信号生成路线较长,所以RS出发的延时会有一定的误差,所以单独用上述结构式输出会有很大跳变和闪烁,影响程序稳定性。由于RS触发器的输出Q通过移位寄存器反馈到输入,而这种反馈的延时有误差,则编程时考虑用两个一位寄存器,将上一次循环中的输出和上上次循环中的输出取或后反馈到输入,则提高了程序的稳定性。

但在实际调试中发现,这样反馈的话,由于归零信号只有一个脉冲,所以很容易就将归零信号给略过了,发光二极管会一直点亮,所以将归零信号改为一旦“Elapsed Time”的计数值大于设定值得0.9,即定时到设定时间的0.9时,则在设定时间的0.9到1.0倍之间,一直输出归零信号,则解决这一问题。

具体实现程序图见图7。

5、 序列识别模块

10

本文来源:https://www.bwwdw.com/article/fkl7.html

Top