基于PC104的陀螺仪动态测试系统设计
扫描二维码
随时随地手机看文章
0 引 言
陀螺仪是平台稳定系统的敏感测量元件,它敏感台体的角运动信号,通过平台伺服回路,建立平台的稳定基准。因此陀螺仪的性能直接影响到平台稳定系统的性能,对严格测试其动态性能指标具有重要的意义。
传统的测试设备和手段复杂且效率低,为了便于对陀螺仪进行机内测试,改善测量效果,运用当今主要工业控制计算机技术——嵌入式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软件进行设计,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所示的单线程循环软件架构。采用单线程结构可以保证每个任务在一次数据采集循环中都能得到有效执行,既能满足数据的实时采集,又能保证数据的完整存储,增强了测试的可靠性。与此同时,采用单线程结构也简化了流程控制,避免了多线程结构中各个任务之间的调度与控制的复杂问题。