PC104在陀螺仪动态测试系统中的应用

出处:lwjcw_cn 发布于:2011-08-29 09:31:46

  陀螺仪是一种既古老而又很有生命力的仪器,从台真正实用的陀螺仪器问世以来已有大半个世纪,但直到现也,陀螺仪仍在吸引着人们对它进行研究,这是由于它本身具有的特性所决定的。陀螺仪主要的基本特性是它的稳定性和进动性。人们从儿童玩的地陀螺中早就发现高速旋转的陀螺可以竖直不倒而保持与地面垂直,这就反映了陀螺的稳定性。研究陀螺仪运动特性的理论是绕定点运动刚体动力学的一个分支,它以物体的惯性为基础,研究旋转物体的动力学特性。对严格测试其动态测试具有重要的意义。

  传统的测试设备和手段复杂且效率低,为了便于对陀螺仪进行机内测试,改善测量效果,运用当今主要工业控制计算机技术--嵌入式PC/104总线结构来搭建测试系统,其独特的堆栈总线扩展方式,可使其具有体积小、功耗低、可靠性高等特点;其次,利用美国NI公司开发的虚拟仪器LabVIEW,为开发平台设计软件,使其人机界面友好、功能强大、开发效率高、可维护性强,且测试和可靠性能得到充分保证。

  1 测试系统硬件组成

  该测试系统由PC/104工控计算机、DMM-32-AT多功能数据采集卡、信号调理模块组成。其测试系统组成框图如图1所示。

测试系统组成框图

  (1)PC/104工控计算机。采用DIGITAL-LOG-IC AG公司的MSMP3SEV,它是一个基于PC/104(ISA总线)和PC104/Plus(PCI总线)的高可靠ALL-IN-ONE CPU模块,主板主要集成了256 MB内存、256 KB二级高速缓存、2个RS 232C 串口、1个LPT1并口、EIED硬盘接口、标准软盘接口、CRT显示器接口、平板显示器接口、鼠标接口、1个USB接口、看门狗计数/定时电路等。

  (2)DMM-32-AT多功能数据采集卡。4路12位D/A模拟输出,16位差分或32位单端16位模拟输入,24路数字I/O端口,采样速率为200 Mb/s.该多功能采集卡主要用于激励信号的产生,测试信号的采集以及控制信号的产生。

  (3)信号调理模块。主要是将计算机给定的电压控制信号变换为电压或电流信号,对动态测试的激励信号进行整形、放大、滤波,以及对测试信号进行滤波,再由数据采集卡进行采集和处理。

  系统的工作原理为:由PC/104控制,通过DMM-32-AT的D/A端口产生测试信号,经过调理,对陀螺仪力矩器施加指令电流信号,以模拟陀螺仪输入轴的角运动,使力矩器产生一个力矩,引起陀螺仪自转轴发生偏转。这时信号器输出一个电压,经放大器后转换成一个电流输入到力矩器,使力矩器内原来外加电流减小到零,使转子自转轴处于平衡状态。通过信号调理模块对信号器上的电压进行变换,由A/D采样模块进行采样,输入到PC/104工控机,系统再对采集数据进行处理、判断和显示。这整个过程是由程序控制自动完成的。

  2 软件设计

  LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW [2]的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。

  陀螺仪的动态测试软件采用LabVIEW软件进行设计,LabVIEW不仅是软件开发环境,而且是一个编程软件,它是一种适合应用于任何编程任务,具有扩展函数库的通用编程语言。它定义了数据模型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不亚于任何语言。Lab- VIEW提供了丰富的数据采集、分析和存储库函数以及包括DAQ,GPIB,PXI,VXI,RS 232在内的各种仪器通信总线标准的所有功能函数。但是LabVIEW所提供的功能仅能驱动NI公司支持的数据采集卡,DMM-32-AT是第三方数据采集模块,它需要用户自己设计开发驱动程序。

  2.1 DMM-32-AT驱动程序的实现

  LabVlEW提供了对外部代码调用的接口库函数。其中,调用库函数(Call Library Function,CLF)节点使得用户可以方便地调用标准共享库和自定义库函数。在此,设计的数据采集系统就是通过LabVIEW提供的。CLF实现对动态连接库(Dynamic Link Library,DLL)调用的方法。完成对第三方数据采集模块的驱动,实现LabVIEW与普通数据采集模块的结合。

  使用VC++生成一个dmm32driver.dll的动态链接库,通过CLF节点对其调用,以实现该数据采集卡的驱动,该程序实现的主要源代码为:

主要源代码

主要源代码

  需要注意的是,在头文件中加入extcode.h,以便在DLL程序中使用LabVIEW中的数据类型,避免在传递参数和返回值时冲突。其次,需要在导出的函数原型前添加_declspec(dllexport)关键字,指出函数的出口。由此,可从一个动态链接库文件中输出数据、函数、类以及类成员函数而不需要。def文件。

  2.2 数据采集流程

  数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。比如摄像头,麦克风,都是数据采集工具。被采集数据是已被转换为电讯号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。采集一般是采样方式,即隔一定时间(称采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。准确的数据量测是数据采集的基础。数据量测方法有接触式和非接触式,检测元件多种多样。不论哪种方法和元件,均以不影响被测对象状态和测量环境为前提,以保证数据的正确性。数据采集含义很广,包抱对面状连续物理量的采集。在计算机辅助制图、测图、设计中,对图形或图像数字化过程也可称为数据采集,此时被采集的是几何量(或包括物理量,如灰度)数据。

  该测试系统采用如图2所示的单线程循环软件架构。采用单线程结构可以保证每个任务在数据采集循环中都能得到有效执行,既能满足数据的实时采集,又能保证数据的完整存储,增强了测试的可靠性。与此同时,采用单线程结构也简化了流程控制,避免了多线程结构中各个任务之间的调度与控制的复杂问题。

 测试系统 

  2.3 系统程序设计

  虚拟测试系统的主要功能是实时接收数据采集卡采集的数据,进行数据处理(如滤波,FFT变换等)、数据存储和数据实时显示。操作者根据数据判断测试指标是否合格。

  程序设计的数据采集过程为:在开始数据采集后,DAQ卡不断地采集数据,并将它们存贮在指定的缓冲区中;然后LabVIEW每隔一段时间,将一批数据送入计算机进行处理。如果缓冲区存放已满,DAQ卡就会又重新从内存起始地址写入新数据,覆盖原来的数据。这个过程一直持续,直到采集到了指定数目的数据点,或者中止采集过程。程序方框图如图3所示。在对陀螺输出信号进行测量时,采用了多次采样取平均值的方法,以减小误差。

程序方框图

  3 结 语

  在此,提出一种基于PC/104的陀螺仪动态测试系统,并分析该测控系统的软/硬件基本构成。在系统组建过程中,由于利用了可靠的PC/104工控机和数据采集卡,以及高性能的虚拟仪器编程软件,使得系统组建效率高,性能可靠,而且可以方便地对测试结果进行判断,简单易用。

 


  
关键词:测试

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!