




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
- 1 -1 前言1.1 课题来源与背景 机械工程学院测试实验室现有的转子实验台是一种用来模拟旋转机械振动的试验装置,主要用于在实验室验证扰性转子轴系的强迫振动和自激振动特性。该装置包括试验台底座、直流电机、转子、联轴器、轴承座、涡电流传感器、光电转速传感器、电容传感器、支架等组成部分,转子实验台实物图如图 1.1 所示。图 1.1 转子实验台实物图当时,该实验台只能对转子振动信号进行采集后,才能进行数据处理,不能实时的对转子振动信号进行监测。振动信号的实时监测能够对工作设备进行早期的预防和护。现代科学技术的飞速发展为解决这一系列问题提供了可能,例如,济南重工 150 吨重的铸钢件加入了 SSEON 在线评定型振动时效装置,能有效的分析有效振型,对工件准确实效。天津东正测控技术发展有限公司的 DZY-09 液压振动压实仪具有液压夹紧、液压提升、及液压脱模功能等功能。南京东大测振仪器厂开发出了振动数据采集分析系统,该系统主要用于测量、分析和诊断大型的旋转机械设备。美国 Michigan 大学化工系创 VRICHEL(Virtual Reality In Chemical Engineering Laboratory)将虚拟实验技术应在化学实验领域,设计了很多著名虚拟实验。1.2 课题的意义机械工程学院测试实验室现有的转子试验台是一种用来模拟旋转机械振动的试验装置,主要用于在实验室验证扰性转子轴系的强迫振动和自激振动特性。它能有效地再现大型旋转机械所产生的多种振动现象。生活中处处都有旋转机械,旋转机械主要由于振动故障而损坏,给社会造成了巨大的经济损失。旋转机械的管理和维护的主要手段就是对其振动信号进行监测和诊断,振动信号的频谱特性最能有效的- 2 -反应旋转机械故障的原因。因此通过对振动信号的采集和处理,可以让我们更好的维护和管理旋转机械,为社会创造巨大的经济效益 1。1.3 课题的设计内容 转子试验台是机电测控课程群测控实验建设的主要设备之一,是各大学与实验室进行教学与实验的重要工具。转子试验台可进行转速控制、振动测量等测控实验,将其用于教学实践中,可以很好地将理论与实践结合起来,加深学生对测控系统的理解。本设计基于机械学院测试实验室的转子振动模拟试验台,由于该转子实验台不能对振动信号进行实时采集和检测。本设计主要解决的问题就是设计一套合理的数据采集模块和实时数据处理软件实现振动信号的实时检测和在线软件处理。1.4 课程的主要任务课程的主要任务包括:(1)设计合理的数据采集模块;(2)数据处理软件实现数据的在线处理。(3)绘制采集卡电路原理图和 PCB 图。(4)程序流程图、程序清单、实验数据及运行性能指标。- 3 -2 数据采集系统硬件电路的设计2.1 引言数据采集系统是计算机周围环境连接的纽带,是获取外部信息的途径,数据采集技术已应用到工农业生产中,为生活和工作提供了便利,推动了社会生产自动化的进程。数据采集就是将被测物体的各种参数通过传感器做适当的转换后,在经过数据的的调理、采集、量化、标定、传输等过程,再传送到控制器进行数据的存储和处理的过程 2。在测量系统应用中,数据采集卡以其价格低廉、高性能、易组态的特点深受使用者的欢迎,成为测控系统的主流产品,各大专业测控公司都生产各种基于ISA、Pcl 的数据采集卡供用户选用。本设计的目的是要设计一个数据采集系统,将采集到的振动信号在数据采集卡中进行处理后,再通过 USB 接口送到计算机上再进行数据处理,实现对振动信号的实时监测和诊断。根据设计的要求,该硬件系统由六部分构成:(1)测振动的传感器及其外围电路, (2)数据采集卡与传感器的接口电路, (3)USB 最小系统电路,(4)电源管理电路等。2.2 数据采集卡的工作原理一个实用数据采集系统的硬件组成一般有传感器、前置放大器、滤波器、多路模拟开关、采样/保持(S/H)器、模/数(A/D)转换器和计算机系统组成,根据采集的精度、速率、通道数等诸元素选择合适的芯片,设计时应充分注意抗干扰的性能,对 A/D 采集更为重要。数据采集系统的硬件组成 如图 2.1 所示。电容传感器1前置放大器 滤波器 多路模拟开关滤波器前置放大器光电传感器 S/H A/D计算机系统滤波器前置放大器磁电传感器3- 4 -图 2.1 数据采集系统的硬件组成本文设计的数据采集卡主要想实现的功能是实现对电容传感器、磁电传感器和光电传感器的记录以及对采集的一些简单控制。2.3 采集卡选用2.3.1 数据采集的特点数据采集系统的主要特点(1)数据采集系统一般都是有计算机或单片机控制,控制器多种多样,可以根据自己的需要,选择控制器。(2)软件可以在数据采集系统代替一些硬件的功能,这样可以让用户灵活的进行设计。(3)随着科学技术的飞速发展,电路的集中度越来越高,数据采集系统也越来越小,精度也越来越高。在工业化大生产中,单片数据采集系统随处可见。(4)数据采集的目的是满足工农业生产的需要,实时采集系统在生产和生活提供了便利,被广泛的被社会所关注。(5)在测试系统中,完成数据的采集工作,采集的数据不一定为我们提供些有用的信息,只有对数据进行适当的处理,我们才能从中得到有用的信息。数据采集和数据处理的相互结合,改变了我们的生活,催动了自动化专业的进步 2。(6)数据采集系统的发展催动了接口技术的变革,USB 接口技术被广泛应用。2.3.2 数据采集的主要指标(1)系统分辨力:主要由数据采集系统的位数决定,数据采集系统的位数越高,其系统分辨力越高。(2)系统精度:数据采集系统在额定工作状态下,采集数据的转换精度。系统精度是实际值与理论值之差,是数据采集系统中各种误差的综合。当前置放大器、滤波器、模拟多路开关、功率放大器等部件的精度远大于模数转换电路的精度时,系统精度才约等于模数转换的精度 2。(3)采样速率:在满足系统精度的前提下,在单位时间内可以对输入模拟信号的采样次数。 22.3.3 采集卡的选用原则(1) 选择接口方式数据采集卡的接口方式是指该卡与计算机连接的总线方式,或者是该卡提供的接口方式。常见的接口方式有 USB,PCI , Compact PCI,PCMCIA, CAN,无线,网卡;还有较老式的方式如串口 UART/LPT/SPI,并口 COM,ISA/EISA,PC/AT 。- 5 -从数据传输可靠和速度角度考虑,首选 PCI 总线接口方式。在工业领域,为了达到高的数据可靠性,需要选择 Compact PCI 总线接口方式,常有 3U 和 5U 两种物理形式。USB 总线接口是当今的主流发展方向。PCMCIA 是便携设备中的常用接口无线技术的飞速发展,数据传输速度不断发展,给数据采集卡提供了更加方便快捷的移动传输方式。通常的传输协议有红外 IRDA,蓝牙BLUETOOTH,NFC,GPRS ,WLAN ,3G 和 HSPDA 等。GPRS 方式传输现在有很大的市场。(2)确定输入和输出指标这些指标有输入和输出的模拟量精度和速率,输入和输出的数字量电平和要求,输入和输出的数字传输协议方式。模拟量采样有高精度和高速率两个方向,有的将二者结合起来,属于较高要求。数字量有 TTL,CMOS,高压电平等,特殊场合,需要光电隔离,ESD,EMI 保护。传输协议通常 UART,也有并行方式。(3)选择接口协议处理器如果你的数据采集卡不需要处理器就能够满足要求,你就可以现在动手设计了,否则,继续努力,接下来考虑的是接口协议处理器 PCI, USB, PCMCIA,CAN,网卡都有专门的接口芯片。当然你也可以选择 FPGA 加上软件协议 IP 核,同样能实现你的目标,但是难度很大 3。(4)选择采集卡处理器对于功能强大的数据采集卡,你需要选择专用的处理器来预处理采集的数据.单片机,FPGA,DSP,ARM 都是你可以挑选的对象。单片机由于价格便宜,易于开发,开发的资料齐全,工程师众多,很适合初学者你的.FPGA 设计方便,具有速度和效率的优势,也是不错的选择。DSP 是专门为数据处理而设计,速度快,可以实现非常复杂的算法,是最好的选择。ARM 的功能过于复杂,适合于设计好的人机界面的场合。有些器件将接口协议处理器和采集卡处理器集成在一体,这些芯片应该有更好的使用价值。(5)选择数据采集电路很多公司提供采样芯片有 ADI,TI,MAXIUM 和 NS 等。(6)选择驱动软件和数据采集处理软件的编写语言。使用 WDM,win driver 等编写驱动软件,使用VB,VC,LabView,C/C+ ,Borland C+ Builder,Java 等编写数据控制处理软件。- 6 -2.4 选用的采集卡2.4.1 USB7310 的介绍基于采集卡的选用原则,本设计选用中泰研创的 USB7310 数据采集卡。USB7310 模入接口模块适用于提供了 USB 接口的 PC 系列微机,具有真正的热插拔、即插即用(PnP)功能。其操作系统可选用目前流行的 Windows 系列、高稳定性的 Unix 等多种操作系统以及专业数据采集分析系统 Lab view 等软件环境。在硬件的安装上非常简单,使用时只需将 USB7310 的 USB 接口插入计算机内任何一个 USB 接口插座中,信号电缆从模块提供的接口直接接入。USB7310 模入接口模块允许采用 16 路单端输入方式或 8 路双端输入方式。用户可根据需要选择测量单极性信号或双极性信号。其输入的模拟信号由模块的 25芯 D 型插头直接接入。2.4.2 USB7310 采集卡的主要指标(1)USB 指标处理器芯片: AN2131QC通讯方式: USB 接口通讯距离: 小于 5 米通讯协议: USB1.1通讯最大速率:1M Byte / 秒 ,即 8M bps 的波特率(2)模入部分(标*为出厂标准状态,下同)输入通道数:单端 16 路;双端 8 路输入信号范围: 0V10V;5V5V; -10V10V输入阻抗:10MAD 转换分辨率:12 位AD 转换速率:8.5SAD 启动方式:程序启动AD 转换非线性误差:1LSBAD 转换输出码制:单极性原码*双极性偏移码系统综合误差:0.1 F.S(3) 开关量部分输入路数:8 路 TTL 电平输出路数:8 路 TTL 电平(4) 电源功耗:5V(10) 500mA环境要求:工作温度: 1040相对湿度: 4080- 7 -存贮温度: -55852.4.3 数据采集系统的总电路结构简图数据采集系统的总电路结构简图如图 2.2 所示电容传感器低通滤波器光电传感器磁电传感器低通滤波器低通滤波器模拟多路选通开关AGG508差分放大电路AD620模拟转换电路ADS774AN2131QC电压调整及稳压电路USB 接口电路计算机图 2.2 数据采集系统的总电路结构简图2.5 采集卡的主要芯片2.5.1 AN2131QC 的简介AN2131QC是USB1.1的外设通讯控制芯片,其结构框图如图2.3所示,它有( 1) 4 时钟周期的8051 内核。( 2) 2 个快速存储器向存储器的数据发送指针。( 3) 数个U SB 数据传输中断。( 4) 8 kB 内部RAM , 支持外部存储器。( 5) 软件配置,方便的固件程序升级。( 6) 32 个输入输出管道,支持1KB 的同步数据等特点。- 8 -图2.3 AN2131QC结构框图USB 总线的数据传送是通过管道来完成的,当外围设备接到总线上时, 地址是由主机随机分配的,信息的交换可以通过4 种方式实现。( 1) 控制传输主要作用是建立主机和USB外设之间的联系管道和USB外设的状态反映,不能用于传输信息数据。AN2131QC的端点0 用于控制传输。( 2) 批量传输主要用于传输数据长度不大于64 个字节,而且需要周期性传输的数据块, 具有错误重发功能,可以动态地利用,可获得的USB总线带宽。( 3) 中断传输对于一个规定的时间里传输一个中等数量的数据是很有用,因为它将保证主机在最短的延迟里响应或发送数据。( 4) 同步传输可以1 次传输数据长度不超过1 KB 的数据块,主要用于传输大批量的实时数据,例如音频数据,不支持错误重发。2.5.2 模拟多路开关选通电路数据采集系统只有把模拟信号转变成数字信号才能进行数据的记录和处理,模数转换芯片价格偏高,为了节约成本,数据采集电路常常借助模拟多路开关选通电路共用一个模数转换芯片。本采集卡的模拟通道开关由 2 片 ADG508(或同类产品)及跨接器 JP3 组成,可以从 16 路单端信号或 8 路双端信号中任选一路,送入差分放大器,ADG508 芯片图如图 2.4。- 9 -图 2.4 ADG508 芯片图2.5.3 差分放大电路 差分放大器由 1 个运算放大器 AD620 以及相关的电阻组成一个标准的仪用差分放大器,用以对通道开关选中的模拟信号进行变换处理,差分放大电路如图 2.5。图 2.5 差分放大电路2.5.4 模数转换电路AD 转换器是将模拟量转变成数据量,是数据采集系统的核心部分。12 位逐次逼近式 AD 转换器 ADS774 片内自带精密基准源,并经激光修调,具有较高的转换速率和转换精度,其转换时间仅为 8.5S。A D 转换器由程序启动,其转换状态的结束可由程序查询读出或产生结束中断申请。A D 转换器的模拟输入信号幅度由跨接器 JP1 选择,AD 转换后的输出代码形式由跨接器 JP2 选择,可分别输出二进制原码或双极性偏移二进制码。电位器 W1 用于单极性零点调节,- 10 -W2 用于满量程增益调节,W3 用于双极性偏移调节, ADS774 芯片图如图 2.6。图 2.6 ADS774 芯片图2.5.5 开关量输入输出电路本模块还提供了各 8 路的开关量输入输出信号通道。使用中需注意对这些信号的要求应严格符合 TTL 电平规范。2.5.6 采集卡的电气原理图电气原理图如图2.7所示。2.5.7 USB7310 采集卡的设置(1)采集卡可调整元件位置见图 2.8(2)指示灯(LED)的用途:红灯亮 指示 3.3V 电源工作正常黄灯亮 指示模块程序工作正常- 11 -图 2.7 采集卡电气原理图图 2.8 主要可调整元件位置图(3)跨接器的使用:AD 量程选择:本卡由这两个跳线 JP1(下) 、JP2 (上)组合实现 A/D 量程及单双极性的变化,其使用方法如图 2.9- 12 -a 010V b 5V 输入 c 10V 输入图 2.9 AD 量程选择(4)单端双端方式选择:JP3 为单端双端方式选择插座,其使用方法见图 2.10。a 单端输入方式 b 双端输入方式图 2.10 单双端方式选择(5)输入输出接口定义本模块 25 芯 D 型插座(AD_J)的信号定义见表 2.1 ,用户可根据需要选择连接信号线( 单端 )或信号线组 (双端) 。为减少信号杂波串扰和保护通道开关,凡不使用的信号端应就近与模拟地短接。表 2.1 AD_J 模拟输入信号端口定义( 括号内表示双端方式)插座引脚号 信 号 定 义 插座引脚号 信 号 定 义1 模拟地 14 模拟地2 CH1(CH1+) 15 CH9(CH1-)3 CH2(CH2+) 16 CH10(CH2-)4 CH3(CH3+) 17 CH11(CH3-)5 CH4(CH4+) 18 CH12(CH4-)6 CH5(CH5+) 19 CH13(CH5-)7 CH6(CH6+) 20 CH14(CH6-)8 CH7(CH7+) 21 CH15(CH7-)9 CH8(CH8+) 22 CH16(CH8-)10 模拟地 23 模拟地11 NC(空脚) 24 NC(空脚)12 NC(空脚) 25 NC(空脚)13 NC(空脚)(6) 开关量部分:本模块 20 芯扁平线插座(IO_J)的信号定义见表 2.2 。表 2.2 IO_J 开关量输入输出信号端口定义- 13 -插座引脚号 信 号 定 义 插座引脚号 信 号 定 义1 数字地 2 数字地3 DI1 4 DI25 DI3 6 DI47 DI5 8 DI69 DI7 10 DI811 DO1 12 DO213 DO3 14 DO415 DO5 16 DO617 DO7 18 DO819 +5V 电源输出 20 +5V 电源输出- 14 -3 数据采集系统程序设计3.1 引言数据采集软件用编程软件Visual Basic所开发,通过调用动态链接库方式实现驱动程序的调用,从而实现数据采集、信号调理、数据存储和图形显示等功能。数据采集利用Usb7kC.dll 模块下的long APIENTRY OpenUSB7kC (ZT_USBBOARD* bs)和long APIENTRY CloseUSB7kC (ZT_USBBOARD* bs)来控制USB7310采集卡来实现模拟信号的数据采集,将外部模拟信号通过采集卡的A/D功能转化为数字信号,再通过USB总线连接到计算机上;信号调理是通过信号滤波;最后将滤波后的信号写入数据采集文件,进行数据的处理和图形的显示。3.2 采集卡的调试3.2.1 采集卡的调试( 1) 采集卡驱动安装 1 将 USB7310 数据采集卡的接口插入计算机 USB 插座中。2 启动计算机,操作系统将自行检测新安装的硬件,并弹出添加新硬件向导对话框,在“添加新硬件向导”对话框出现时,点击“下一步”按钮。3 选中“显示指定位置的所有驱动程序的列表”单选钮,点击“下一步按钮。4 点击“下一步” 。5 点击“从软盘安装”按钮,弹出“从磁盘安装”对话框。6 点击“浏览”按钮,选择“Usb7kC.inf ”所在的目录(光盘USB7000Usb7kC) ,点击 “确定”按钮。7 回到“添加新硬件向导” ,点击“下一步”按钮。8 点击“完成”按钮,第一块模块安装完成。9 重启计算机,安装第二块 USB7310 模块。当要安装多块模块时,应先安装第一块模块,软件安装中会出现上述 19 的步骤,按以上步骤操作安装好后关机。在安装第二块模块时,系统会自动检测安装,不再经过上述 19 的步骤,只是模块的索引值不同。索引值是 USB 板模块使用时非常重要的参数,USB7000 系列模块是靠索引值来区分的。一般情况下,第一块安装的模块的索引值为 0,以后安装的模块索引值自动依次加 1。用户通过调用动态链接库(Usb7kC.dll )中的 OpenUSB7kC 函数,将 USB 模块的索引值赋给此函数。( 2) 采集卡调试 调试程序在光盘USB7000Usb7kC7310 测试程序 7310test_vb7310test.exe 是为USB7310 专门编写的一个测试工具,它可以对 USB7310 采集模块的所有功能进行- 15 -测试,如图 3.1 所示。图 3.1 USB7310 测试程序3.2.2 采集卡的模块选择运行“USB7310 数据采集模块测试程序” ,点击“选择模块”菜单,在弹出的对话框中,输入所要操作模块的索引值,然后即可在程序的界面中进行选中的USB7310 模块的测试(倘若计算机中只有一块 USB7310 模块,可略过这步,本程序默认对索引值为 0 的模块测试) 。如图 3.2 所示:图 3.2 选择模块:点击“退出”菜单,可退出测试。- 16 -3.2.3 采集卡的开关量测试该部分程序既可测试开关量输出,亦可测试开关量输入。如图 3.3 所示:图 3.3 开关量测试在测试界面的“开关量测试”功能块中, “输入状态”后面的 8 个灯,从左至右(通道 1 至通道 8)依次指示了开关量输入通道的通断状态。该功能是自动运行的,无需用户参与。点击“输出测试”后面的灯,可进行开关量的输出测试。同样,这 8 个灯,从左至右依次对应着通道 1 至通道 8 这 8 个开关量输出通道。点击某个灯,它的状态(亮或灭)就会切换,同时输出到对应的开关量输出通道,进行相应的输出通断状态的切换操作。3.2.4 采集卡模拟量输入测试该部分程序用于模拟量输入测试,如图 3.4 所示:图 3.4 模拟量输入测试在“模拟量输入测试”功能块中,16 个文本框对应着 16 路模拟量输入通道。运行该程序,16 路模拟量输入的值(见显示设置)将自动输入到计算机,并通过相应的文本框显示出来。- 17 -在“显示设置”框架中,可进行输入模拟量的显示设置。选中“原码值(十六进制) ”单选钮,则显示十六进制 AD 转换原码值;选中“0-10000(mV) ”单选钮,则显示 0 到 10000 毫伏的单极性输入信号的电压值;选中“-5000+5000(mV)”单选钮,则显示-5000 毫伏到+5000 毫伏的双极性输入信号的电压值; 中“-10000+10000 (mV) ”单选钮,则显示-10000 毫伏到+10000 毫伏的双极性输入信号的电压值。3.3 数据处理系统的设计3.3.1 数据处理软件的介绍数据采集系统的设计主要是追求高速度和高速率。任何测试系统都具有一定的精度要求,没有精度要求,测试系统可能会失去原有的意义。高速率,即较快的反应能力,能对外界的变化快速的反应,这样就会扩大了测试系统的使用范围,为实时测试提供了可能。常用的数据处理软件主要由 VB,VC,Labview, C/C+, Borland C+ Builder, Java 等编程所开发。Visual Basic(简称 VB)是一种简单的、高效的、可视化的编程语言开发系统,基于上述特点广泛地应用于各个生产和生活领域,是很多计算机软件开发人员采用的开发工具 3。3.3.2 数据的采样方式在 进 行 A/D 信 号 的 转 换 过 程 中 , 当 采 样 频 率 大 于 采 样 信 号 中 最 高 频 率 的 2倍 时 , 采 样 之 后 的 数 字 信 号 能 整 地 保 留 原 始 信 号 中 的 信 息 , 一 般 实 际 应 用 中 保 证采 样 频 率 为 信 号 最 高 频 率 的 5 10 倍 ; 采 样 定 理 又 称 奈 奎 斯 特 定 理 。采样信号的种类形形色色,各不相同。采样方式主要分为两大类,即实时采样和等效时间采样。定时采样分为等间隔采样,变频采样,间歇采样和扫描采样。实时采样应用于对信号的分辨率要求低点的场合,因为采样时间间隔内要完成采样数据的采集,量化,存储和处理等。等效时间采样分为时序变换采样(步进采样,步退采样和差额采样)和随机采样。等效时间采样实现了以低的采样频率对高频率的信号的离散化,前提是该信号的波形可以重复出现。等效时间采样实现了高速的数据采集,但是部分模拟信号中的有些信息会采集不到 4。3.3.3 采集卡接口模块代码USB7310 采集卡为我们提供了动态链接库 Usb7kC.dll,该动态链接库是为该数据采集模块配制的工作在中西文 Windows 9598 2000/NT 环境下的一个动态链接库,它所封装的函数可以被其它应用程序在运行时直接调用。用户可以用任何一种可以使用 DLL 链接库的编程工具来编写。在本设计中用的编程软件是 VB, VB 程- 18 -序要使用 DLL 中的函数,首先必须要有特殊的声明,用 Declare 声明语句在窗体级或模块级或全局模块的代码声明段进行声明,将动态链接库中的函数声明到 VB 中,供 VB 程序调用。本程序用 Declare 声明语句在模块代码声明段进行声明,将 Usb7kC.dll 中的函数声明到 VB 中,VB 程序调用,声明如下。Public Type ZT_PCIBOARDlIndex As LonghHandle As LongnCh As IntegerlData As Longpldata As LonglCode As LongEnd TypePublic nZTPCI As ZT_PCIBOARDPublic display As LongPublic Declare Function OpenUSB7kC Lib usb7kC.dll (nZT_PCIBOARD As ZT_PCIBOARD) As LongPublic Declare Function CloseUSB7kC Lib usb7kC.dll (nZT_PCIBOARD As ZT_PCIBOARD) As LongPublic Declare Function USBRead Lib usb7kC.dll (ByVal nIndex As Integer, ByVal nEndpoint As Integer, ByVal nBufOutput_num As Integer) As LongPublic Declare Function USBWrite Lib usb7kC.dll (ByVal nIndex As Integer, ByVal nEndpoint As Integer, ByVal nBufOutput_num As Integer, ByVal nData As Byte) As LongPublic Declare Function USB7310DI Lib usb7kC.dll (nZT_PCIBOARD As ZT_PCIBOARD) As LongPublic Declare Function USB7310DO Lib usb7kC.dll (nZT_PCIBOARD As ZT_PCIBOARD) As LongPublic Declare Function USB7310AI Lib usb7kC.dll (nZT_PCIBOARD As ZT_PCIBOARD) As Long- 19 -Public Declare Function USB7310AI16 Lib usb7kC.dll (nZT_PCIBOARD As ZT_PCIBOARD) As LongPublic Declare Function GetAddress Lib usb7kC.dll (ByVal nIndex As Integer, lAdd As Long) As LongPublic Declare Function ReadUSBType Lib usb7kC.dll (nZT_PCIBOARD As ZT_PCIBOARD) As Long3.3.4 VB 对采集卡接口函数的调用(1)打开采集卡函数:Call OpenUSB7kC(nZTPCI) 功能:打开某一中泰研创USB7310模块 nZTPCI.lIndex USB7310模块索引值nZTPCI.lCode USB7310的控制字nZTPCI.nCh USB7310通道号打开采集卡的某个模块时,必须先对此模块的模块索引值,控制字和通道号先赋值,再用Call OpenUSB7kC(nZTPCI)函数打开采集卡,调用此函数时必须在VB程序中声明此动态链接库,否则会出现错误。(2)关闭采集卡函数:Call CloseUSB7kC(nZTPCI)功能:关闭某一USB7310模块 nZTPCI.lIndex USB7310模块索引值nZTPCI.lCode USB7310的控制字nZTPCI.nCh USB7310通道号关闭采集卡的某个模块时,必须先对此模块的模块索引值,控制字和通道号先赋值,再用Call CloseUSB7kC(nZTPCI)函数关闭采集卡,调用此函数时必须在VB程序中声明此动态链接库,否则会出现错误。(3)模拟量采集函数:Call USB7310AI(nZTPCI) 功能:对USB7310 某一通道(2字节/1 个数)模拟量数据采集 。nZTPCI.lIndex USB7310模块索引值nZTPCI.lCode USB7310的控制字lCode= 0 plData 中存放的数据数为原码值1 plData 中存放的数据 0-10000mv2 plData 中存放的数据-5000-5000mv- 20 -3 plData 中存放的数据-10000-10000mvnZTPCI.nCh 通道号: 1-16(单端采集)1- 8(双端采集)采集卡的某个模块进行模拟量采集时,必须先对此模块的模块索引值,控制字和通道号先赋值,再用Call USB7310AI(nZTPCI)函数进行采集卡的采集,nZTPCI.lData中的数据就是当次采集卡采集到得数据,调用此函数时必须在VB 程序中声明此动态链接库,否则会出现错误。3.3.5 数据采集的代码VB编程软件中的定时器又称为时钟控件,可以实现每隔一定的时间间隔触发一次事件,设置它的Interval属性可以调节时间间隔,单位是毫秒,取值是0-65535。这样我们可以应用此控件,设置一定的时间间隔,每隔一定的时间间隔采集一次数据,采集代码如下。Call USB7310AI(nZTPCI) 调用模拟量采集程序a1 = nZTPCI.lData 把采集卡中的数据赋值给a13.3.6 实时波形的代码在程序的开始先对图片框的坐标进行调整,并在在图片框中画出一条中线,再在定时器控件中调用画图程序,在一定的时间间隔内画一个点,并把相近的两点用线连接。Private Sub PicScale(picX As PictureBox) 调整图像框的坐标系picX.Scale (0, picX.ScaleHeight)-(picX.ScaleWidth, -picX.ScaleHeight)End SubPrivate Sub PicMidleLine(picX As PictureBox) 在图像框中画一条中线picX.Line (0, 0)-(picX.ScaleWidth, 0), vbGreen 画出中线End SubPrivate Sub DrawRealLine(picX As PictureBox, TimeCountX As Integer, DataFromComX As Integer, DataFromComLastX As Integer) 在定时器中调用此函数If TimeCountX - 1 0 ThenpicX.Line (TimeCountX - 1) * 10, DataFromComLastX)-(TimeCountX * 10, DataFromComX), vbRedEnd IfEnd Sub3.3.7 图像和数据的存储代码(1)图像存储代码- 21 -SavePicture Pic.Image, c:采集的图像.bmp(2)数据存储代码Dim StrLine As StringCancelError 为 True。On Error GoTo ErrHandler设置过滤器。CommonDialog1.Filter = 全部文件 (*.*)|*.*|文本文件 (*.txt)|*.txt|xls文件 (*.xls|*.xls指定缺省过滤器。CommonDialog1.FilterIndex = 2 显示“打开”对话框。CommonDialog1.ShowSave 调用保存文件的过程。Open c:1.txt For Input As #1Line Input #1, StrLineClose #1Open CommonDialog1.FileName For Output As #2Print #2, StrLineClose #2MsgBox CommonDialog1.FileNameErrHandler: 用户按 “取消”按钮。3.3.8 傅里叶变换和频谱绘制程序代码(1)在模块内声明的傅里叶程序代码Option ExplicitPublic Const PI = 3.1415926Type COMPLEXre As Doubleim As DoubleEnd TypePublic TD() As COMPLEXPublic FD() As COMPLEXPublic W(511) As COMPLEXPublic X1(1023) As COMPLEXPublic Ts As DoublePublic Fs As DoublePublic Function COMPLEX_ADD(C1 As COMPLEX, C2 As COMPLEX) As - 22 -COMPLEX 复数加运算Dim c As COMPLEXc.re = C1.re + C2.rec.im = C1.im + C2.imCOMPLEX_ADD.re = c.reCOMPLEX_ADD.im = c.imEnd FunctionPublic Function COMPLEX_DEC(C1 As COMPLEX, C2 As COMPLEX) As COMPLEX 复数减运算Dim c As COMPLEXc.re = C1.re - C2.rec.im = C1.im - C2.imCOMPLEX_DEC.re = c.reCOMPLEX_DEC.im = c.imEnd FunctionPublic Function COMPLEX_MUL(C1 As COMPLEX, C2 As COMPLEX) As COMPLEX 复数乘运算Dim c As COMPLEXc.re = C1.re * C2.re - C1.im * C2.imc.im = C1.re * C2.im + C1.im * C2.reCOMPLEX_MUL.re = c.reCOMPLEX_MUL.im = c.imEnd FunctionPublic Sub FFT(ByVal power As Integer, ByVal mode As Boolean)Dim count As IntegerDim angle As DoubleDim i As IntegerDim j As IntegerDim k As IntegerDim p As IntegerDim bfsize As IntegerDim wCount As Integercount = 2 power- 23 -wCount = count 2Dim X As COMPLEXDim Xa As COMPLEXDim Xb As COMPLEXFor i = 0 To count 2 - 1 计算加权系数angle = i * PI * 2 / countW(i).re = Cos(angle)W(i).im = Sin(angle)NextIf mode = True ThenFor i = 0 To count - 1X1(i).im = TD(i).imX1(i).re = TD(i).re 蝶形运算NextEnd IfFor k = 0 To power - 1 迭代次数For j = 0 To 2 k - 1 蝶形单元数bfsize = 2 (power - k)For i = 0 To bfsize 2 - 1 每个蝶形单元循环次数p = j * bfsizeXa = COMPLEX_ADD(X1(i + p), X1(i + p + bfsize 2)Xb = COMPLEX_MUL(COMPLEX_DEC(X1(i + p), X1(i + p + bfsize 2), W(i * (2 k)X1(i + p) = XaX1(i + p + bfsize 2) = XbNextNextNextIf mode = True Then 重新排序For j = 0 To count - 1p = 0k = jFor i = power - 1 To 0 Step -1 位测试运算If k = 2 i Thenp = p + 2 (power - i - 1)- 24 -k = k - 2 iEnd IfNextFD(j).im = X1(p).imFD(j).re = X1(p).reNextElseFor j = 0 To count - 1p = 0k = jFor i = power - 1 To 0 Step -1 位测试运算If k = 2 i Thenp = p + 2 (power - i - 1)k = k - 2 iEnd IfNextIf j p ThenX.im = X1(p).imX.re = X1(p).reX1(p).re = X1(j).reX1(p).im = X1(j).imX1(j).re = X.reX1(j).im = X.imEnd IfNextEnd IfEnd Sub(2)调用傅里叶变换函数和绘制频谱的程序代码Dim i As IntegerDim N As IntegerDim StrLine As String, a() As StringDim Y() As DoubleDim LenDataNov As LongDim Freq As LongFreq = 8000LenDataNov = 1024- 25 -ReDim Y(1 To LenDataNov) As DoubleOpen c:1.txt For Input As #1Line Input #1, StrLinea() = Split(StrLine, )N = UBound(a()For i = 0 To N - 1Y(i + 1) = Val(a(i)NextClose #1PlotFreq.FFTWave Y(), LenDataNov, Freq, 5 Seconds3.3.9 数据采集卡的采集流程图数据采集卡的采集流程图如图 3.5 所示3.3.10 数据采集系统的采集流程图本数据采集系统运用VB的定时器定时采集数据,定时参数可在程序中自己可以根据实际情况自己设定,在设定的时间内,程序可以从采集卡采集数据。数据采集系统的采集流程图如图3.6所示。在系统前面板菜单(如图3.7)可以对采集卡的采集参数进行设置。采集卡的采集模块选择,可以选择性的对某个采集卡进行采集。采集卡的通道选择,一个传感器对应一个通道,可以针对性的对一个传感器进行采集数据。窗体选择按钮主要用于时域和频域界面的转换。状态显示可以检测到目前正在工作的是哪个采集模块和哪个传感器在工作。小插件按钮可以显示时间和隐藏时间,可以很好的显示当时时间。抓图按钮主要是把当时在图片框中显示的波形保存起来,以为更好的研究旋转机械的工作情况。- 26 -开始开中断A/D 初始化配置 I/O等待 USB 复位启动看门狗读取通道 A/D 转化值并送到 USB 缓冲是否有 USB 的中断发送数据YN图3.5数据采集卡的采集流程图- 27 -系统前面板采集参数设置数据采集端口打开数据变换处理数据采集振动曲线显示数据保存/导出关闭数据采集口图3.6数据采集系统的采集流程图图 3.7 系统前面板- 28 -4 数据处理系统的调试4.1 引言数据处理程序已经基本完成其功能,一个好的程序需要实践的来证明其使用性。为了确保数据采集系统的可靠性,需要先对数据采集系统进行实验,在确保该系统采集系统的可靠性的前提下才能进行广泛应用。4.2 数据处理软件应用说明采集软件界面如图 4.1 所示,具体步骤如下。(1)连接导线,安装好传感器,检查无误后,取出转子支撑块。(2)把模拟调速器的调速旋钮调到最小,以防开机后,转子高速转动。(3)然后打开模拟台调速器和采集卡的电源 ,在打开电脑。(4)打开转子试验台的数据处理软件 ,调节模拟台调速器可以调节转子的转速,可以模拟旋转机械的工作过程。数据采集卡采集数据,通过 USB 接口,计算机接收采集数据,通过数据处理软件可以很好的研究旋转机械的工作过程,为旋转机械的诊断提供技术支持。(5)打开此采集软件,系统默认采集的的采集模块 0 和通道 1,在实时数据的文本框中可以看到采集卡实时采集到的数据。在图片框中看到的波形即采集到得信号的波形。(6)如果要采集数据,需要先把清除原先采集的数据,再按开始采集数据,选择采集频率,在这里要注意的是,输入的是多长时间采集一次数据,单位是毫秒,输入最小值是 1,否则程序将会出错。(7)确认采集频率后可以看到图片框中实时波形也出现了变化,因为它以你设定的采样频率进行实时绘图。在屏幕中也会出现采样字数的统计,可以按采样字数统计,采集到规定的个数的数据。这时也可以按抓图按钮将图片框中的图形保存起来,保存位置设定在 C 盘。(8)采集数据的个数已满足实验要求时,可以按停止按钮停止数据采集,会出现提示数据和图像的存储位置弹出框,如果要另外使用此数据,可以点另存为按钮,可以把数据保存在规定的位置。(9)如果要分析此数据的频谱分析,可以在按采集数据的频谱分析,可以看到采集数据的频谱图。(10)如果你要采集的数据不是采集模块 0 和通道 1 的传感器的数据,你看以通过点击采集模块选择按钮和采集通道选择按钮。- 29 -注意:采集模块的选择值与你安装的采集模块的多少有关,一般第一个安装的采集模块默认值为 0。通道号的值是 1-16 的整数。如果要进行采集数据的频谱分析,采集数据的个数不要超过 650 个,否则出现错误。- 30 -图4.1采集软件界面4.3 数据采集卡采集的数据和图像(1)当模拟台调速器的电流为 0.2 安, 对电容传感器进行采集,采集频率为 1KHZ时采样数据如表 4.1表 4.1 0.2 安采集的数据50 51 51 56 56 62 62 74 74 69 69 64 64 5858 57 57 48 48 32 32 19 19 8 8 -13 -13 -32-32 -45 -45 -55 -55 -68 -68 -82 -82 -90 -90 -98 -98 -110-110 -106 -106 -107 -107 -110 -110 -109 -109 -102 -102 -94 -94 -88-88 -76 -76 -57 -57 -42 -42 -27 -27 -11 -11 7 7 1919 29 29 45 45 53 53 58 58 62 62 66 66 7575 68 68 56 56 51 51 46 46 25 25 8 8 -1-1 -26 -26 -41 -41 -55 -55 -66 -66 -80 -80 -95 -95 -105-105 -108 -108 -107 -107 -111 -111 -109 -109 -105 -105 -98 -98 -89-89 -86 -86 -73
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年冶金工业技能鉴定高分题库含答案详解(培优A卷)
- 农发行随州市广水市2025秋招无领导小组面试案例库
- 农发行咸宁市通城县2025秋招笔试热点题型专练及答案
- 农发行云浮市郁南县2025秋招半结构化面试题库及参考答案
- 2025年小儿科学科胃病常见病症诊断试题答案及解析
- 蒹葭的考试题及答案
- 2025年执业药师之《西药学专业一》预测试题附参考答案详解(巩固)
- 农发行本溪市桓仁满族自治县2025秋招笔试热点题型专练及答案
- 河北省2025年河北省科学院事业单位选聘工作人员20名笔试历年参考题库附带答案详解
- 2025年高校教师资格证之《高等教育法规》题库试题及答案详解(基础+提升)
- 部编高教版2023·职业模块 中职语文 2.《宁夏闽宁镇:昔日干沙滩今日金沙滩》 课件
- 矿井火灾防治理论与技术课件
- 【MOOC】生命的教育-浙江大学 中国大学慕课MOOC答案
- 食品检测实验室操作规程
- 高血压个案护理案例
- 四川省三级综合医院评审标准实施细则(2023年版)
- 心肺复苏术课件2024新版
- Unit 1 Lesson1 Hello!教学设计 2024-2025学年冀教版英语七年级上册
- 2024年省食品生产监管能力大比武理论备赛试题库(含答案)
- 黑布林阅读初一5《大卫和超级神探》中文版
- 2025届高三化学一轮复习策略讲座
评论
0/150
提交评论